agentleFS
rlajousrlajous/claude-code-commands/skills/close-customer-loop/SKILL.md

close-customer-loop

Skill30 starsChanged 3 months agoMITView on GitHub

Close the loop with a customer or partner after their reported bug/request ships. Use whenever a customer/partner-reported fix reaches production, a ticket that came from a customer report is about to be marked Done/closed, or you're deciding whether follow-up is still owed. Enforces verify-in-prod-then-reply-in-the-original-thread, and adds the two acceptance-criteria lines when creating customer/partner tickets.

The file

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 6 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈6

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If you (the agent) can't post to the thread yourself, hand the user a ready-to-send draft and explicitly flag the reply as *still owed* — …

    line 21
  2. Distinctive:

    Do the prod verification first (step 1).

    line 25
  3. Distinctive:

    Only then move the ticket to the terminal/Done state.

    line 27
  4. Distinctive:

    Never batch-close customer tickets on merge — each needs its own prod check + reply.

    line 28
  5. Distinctive:

    Add these two lines to the ticket's Acceptance Criteria so the loop can't be forgotten:

    line 32
  6. Distinctive:

    If the tracker (e.g. Linear) has a bug/issue template, the same two lines belong there — but templates are usually UI-only and not editable …

    line 37
  7. Very specific:

    If the current repo has its own ticket-workflow skill (e.g.

    line 46

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Cross-runtime: follow runtime compatibility for invocation, delegation, configuration precedence, state paths, and permissions.

Close the customer loop

When work originates from a customer or partner report (a Slack/Telegram thread, a shared doc, a support ticket, an email), the job is not done when the fix ships — it's done when the reporter has been told, in the original thread, that it's live. A silent prod fix reads as no progress and is exactly how follow-ups get dropped and partners go cold.

The rule

A customer/partner-reported item is only truly closed when both are true:

  1. Verified live in prod — a real check against production, not "the release tag went out" or "it merged." Actually exercise the changed behavior (curl the endpoint, run the flow, query live data). Staging passing is not prod.
  2. Reply sent in the original thread — confirm it's live and say what to re-test. If some of the report is still not addressed, say so honestly rather than implying everything is done.

If you (the agent) can't post to the thread yourself, hand the user a ready-to-send draft and explicitly flag the reply as still owed — do not present the ticket as closed until it's actually sent.

When marking a customer/partner ticket Done

  • Do the prod verification first (step 1). If it fails, don't close it — reopen/diagnose.
  • Draft or send the thread reply (step 2).
  • Only then move the ticket to the terminal/Done state.
  • Never batch-close customer tickets on merge — each needs its own prod check + reply.

When creating a customer/partner-reported ticket

Add these two lines to the ticket's Acceptance Criteria so the loop can't be forgotten:

  • Fix verified live in prod
  • Reply in the original customer thread once live in prod (link the thread)

If the tracker (e.g. Linear) has a bug/issue template, the same two lines belong there — but templates are usually UI-only and not editable via API/MCP, so add the lines to the issue body yourself when creating.

Honesty guardrails

  • Never tell a customer something is fixed/live that you haven't verified against prod. If you're inferring from a release tag, verify before you claim it (some prod routes are auth/tier-gated and a default key won't reach them — use a valid key to actually hit the endpoint).
  • Separate what shipped from what's still backlog. Tell the customer both, plus a real next step or timeline for the open items rather than a vague "soon."

Project-specific notes

If the current repo has its own ticket-workflow skill (e.g. a linear-workflow skill), follow that for column names, projects/cycles, and any repo-specific prod-verification details (like which key reaches gated routes). This skill is the general principle; the repo skill wins on repo specifics.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.