nazrul007

Customer Service — AI skill for Claude Code

AI community

A multi-provider AI customer service agent that automates order lookup, return-eligibility checks, and Stripe refunds with a code-enforced human confirmation gate and inventory restocking.

How to install Customer Service

This entry records only its repository, not the path inside it, so there is no exact command to give. Open nazrul007/customer-service and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Customer Service does

A multi-provider AI customer service agent that automates order lookup, return-eligibility checks, and Stripe refunds with a code-enforced human confirmation gate and inventory restocking. It also exposes the same functionality through a Claude Code plugin using MCP tools and a guided slash command.

Alternatives in AI

  • Ctxsync — ctxsync is a Python tool that automates the synchronization of local files with Claude.ai Projects 742 ★
  • ClaudeSync — ClaudeSync is a Python tool that automates the synchronization of local files with Claude.ai Projects 712 ★
  • Style Distill — style-distill skill — 三阶段 13 模板 LLM 蒸馏(style-distill-order) 669 ★

README

customer-service

A customer service agent for product returns and Stripe refunds, with a JSON flat-file backing store and a defense-in-depth human-confirmation gate before any refund is issued. Refer to the [architecture](ARCHITECTURE.md) to learn more.

Layout

  • src/customer-service/ — the standalone Python app: a CLI chat loop backed by a swappable LLM provider (Anthropic, OpenAI, Google, or DeepSeek via NVIDIA). See src/customer-service/README.md (below) for setup.
  • src/claude-plugin/ — a Claude Code plugin exposing the same tools over MCP, so Claude Code itself can act as the agent. See src/claude-plugin/README.md.

Quick start (CLI)

cd src/customer-service
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env   # fill in an LLM provider API key in .env; leave STRIPE_API_KEY blank for dry-run
customer-service --dry-run

Quick start (Claude Code plugin)

claude --plugin-dir ./src/claude-plugin

Then in-chat: `/customer-service-returns:process-return`.

Safety model

Every refund requires: (1) the model setting `confirmed=true` only after the customer affirms in chat, (2) a from-scratch eligibility re-check inside the refund handler, and (3) an explicit human confirmation step — a terminal prompt in the CLI, or Claude Code's own tool-permission dialog in the plugin. See the implementation plan for full details.

Data

  • Happy path (ORD-1001): eligibility check → chat confirmation → terminal confirmation → dry-run Stripe refund → inventory incremented 42→43
  • Outside-window rejection (ORD-1002)
  • Already-refunded rejection (ORD-1003)
  • Fail-fast when the provider's API key is missing