Skip to content

feat(respond): skill to enforce complete implementation#46

Open
paulnsorensen wants to merge 2 commits intomainfrom
claude/respond-skill
Open

feat(respond): skill to enforce complete implementation#46
paulnsorensen wants to merge 2 commits intomainfrom
claude/respond-skill

Conversation

@paulnsorensen
Copy link
Owner

Summary

  • New /respond skill that enforces complete implementation with zero deferrals, shortcuts, or evasion
  • Based on analysis of 269 conversation logs (8651+ assistant messages) from the tern project
  • Identifies and bans 7 recurring evasion patterns: "leave it for now", "I'll skip", "out of scope", "can be done later", "deferred", "would need to", "you can add"
  • Includes self-check protocol — Claude scans own output for evasion language before presenting

Companion (local-only, not in PR)

Three hookify rules created locally (gitignored):

  • warn-deferred-stop — completion gate on stop event
  • warn-placeholder-code — catches TODO/FIXME/unimplemented!() in written code
  • warn-ellipsis-code — catches // ... and "rest is similar" in written code

Test plan

  • Invoke /respond on a multi-step implementation task
  • Verify skill triggers on "complete this", "finish this", "no shortcuts"
  • Verify evasion language in output triggers self-check
  • Verify hookify rules warn on placeholder code and ellipsis comments

🤖 Generated with Claude Code

…vasion

Based on analysis of 269 conversation logs (8651+ assistant messages),
identified 7 recurring patterns where Claude defers, skips, or hand-waves
instead of completing specs. The /respond skill bans these patterns and
includes a self-check protocol before presenting output.

Companion hookify rules (warn-deferred-stop, warn-placeholder-code,
warn-ellipsis-code) are local-only and not committed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings March 10, 2026 09:01
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a new respond skill for Claude Code that enforces complete, zero-deferral implementation behavior. It is the "antidote" to Claude's tendency to skip, defer, or hand-wave instead of writing actual code — built from an analysis of 269 real conversation logs. The skill defines 7 evasion patterns to avoid, a set of rules, and a mandatory self-check protocol before output is presented.

Changes:

  • New claude/skills/respond/SKILL.md defining the skill's frontmatter, evasion pattern taxonomy, rules of engagement, self-check protocol, and usage examples.

Comment on lines +132 to +140
## How to Use This Skill

The user invokes `/respond` followed by their task:

```
/respond implement the auth module from the spec
/respond finish the remaining 3 items from the plan
/respond complete the test suite — all cases, no stubs
```
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Every other user-invokable skill in this codebase has a corresponding command file in claude/commands/ that wires the slash-command to the skill (e.g., claude/commands/diff.mdclaude/commands/worktree.md). The respond skill describes /respond as its primary invocation mechanism (line 134), but no claude/commands/respond.md file exists in this PR.

Without a command file, /respond will not be discoverable via /agents and cannot be invoked as a slash command. A minimal command file following the established pattern (e.g., claude/commands/diff.md) should be added alongside this skill.

Copilot uses AI. Check for mistakes.
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 82d18f5 — added claude/commands/respond.md following the same pattern as diff.md and other commands.

- "for now" / "for the time being"
- "I'll skip" / "skipping"
- "out of scope" / "beyond scope"
- "later" / "separately" / "follow-up" / "next step"
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The self-check scan list (line 115) bans "separately" as an evasion word, but Rule 6 (line 101–104) explicitly recommends asking: "Should I stub the interface and implement it, or do you want to handle auth separately?" The word "separately" appears in the prescribed example output that Claude should produce when correctly following this skill.

This same issue affects the word "handle" in "handle separately" (banned at line 115 via the "separately" ban). The Exception clause doesn't cover user-facing questions, so the self-check would incorrectly block the exact phrasing the rules recommend using.

Copilot uses AI. Check for mistakes.
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch — fixed in 82d18f5. Broadened the Exception clause to explicitly cover clarifying questions posed to the user, so the Rule 6 example ("Should I stub the interface and implement it, or do you want to handle auth separately?") is no longer flagged by the self-check.

Comment on lines +1 to +13
---
name: respond
description: >
Enforce complete implementation with zero deferrals, shortcuts, or evasion.
Use this skill when the user invokes /respond, says "complete this", "finish this",
"no shortcuts", "implement fully", "do it all", "no half measures", or when
they express frustration about incomplete work ("why didn't you finish",
"you skipped", "that's not complete"). Also trigger when the user asks to
"implement" something and the task involves a spec, plan, or multi-step
checklist — the user expects every item done, not a subset.
This skill is the antidote to Claude's tendency to defer, skip, or hand-wave
instead of writing the actual code.
---
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The claude/README.md skills table (lines 122–134) lists every skill in claude/skills/ by name and purpose. The respond skill is not listed there, leaving the skills registry out of sync with the actual directory contents. The README.md is the canonical reference for "what skills exist and what they do" — it should be updated to include this new entry.

Copilot uses AI. Check for mistakes.
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 82d18f5 — added respond to the skills table in claude/README.md. Also backfilled de-slop and tdd-assertions which were missing from the same table.

Comment on lines +1 to +13
---
name: respond
description: >
Enforce complete implementation with zero deferrals, shortcuts, or evasion.
Use this skill when the user invokes /respond, says "complete this", "finish this",
"no shortcuts", "implement fully", "do it all", "no half measures", or when
they express frustration about incomplete work ("why didn't you finish",
"you skipped", "that's not complete"). Also trigger when the user asks to
"implement" something and the task involves a spec, plan, or multi-step
checklist — the user expects every item done, not a subset.
This skill is the antidote to Claude's tendency to defer, skip, or hand-wave
instead of writing the actual code.
---
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Skill Delegation table in claude/CLAUDE.md (lines 124–136) enumerates every skill and its canonical invocation. Skills de-slop and tdd-assertions are listed there, meaning Claude knows to invoke them proactively. The respond skill is not listed, so Claude won't know to use it when the described trigger conditions fire (user says "complete this", "finish this", expresses frustration about incomplete work, etc.). The table should be updated to include respond.

Copilot uses AI. Check for mistakes.
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 82d18f5 — added respond to both the Key Skills table (under Cleanup) and the Skill Delegation table in claude/CLAUDE.md.

Comment on lines +121 to +130
- "placeholder" / "stub" / "skeleton"

**If you find any of these in your output:**
1. Stop before presenting
2. Go back and do the work you were about to defer
3. Re-scan after completing

**Exception:** These phrases are fine when used in analysis, discussion, or when
quoting existing code — the ban applies to your own implementation decisions, not
to describing what you observe in the codebase.
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Self-Check Protocol (line 121) bans the word "stub" from any output, but Rule 6 (line 103) explicitly suggests using "stub" as a legitimate communication pattern when asking the user about scope: "Should I stub the interface and implement it, or do you want to handle auth separately?"

The Exception clause at lines 128–130 covers quoting existing code and analysis of the codebase, but does not cover this third category: asking the user a clarifying question about how to proceed. As written, the self-check would flag the phrase from Rule 6's own example as a violation, creating an internal contradiction.

The exception should be broadened to also cover clarifying questions posed to the user, or the word "stub" should be removed from the banned-word list and replaced with more targeted patterns like "placeholder stub" or "empty stub" that only catch unimplemented placeholders rather than legitimate interface-first design discussions.

Copilot uses AI. Check for mistakes.
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 82d18f5 — same fix as the "separately" comment. Broadened the Exception clause to cover clarifying questions posed to the user, which is the third category you identified. The banned-word list stays as-is (catches implementation evasion) but the exception now explicitly permits using these words when asking the user how to proceed.

- Add claude/commands/respond.md for slash-command discoverability
- Broaden self-check exception to cover clarifying questions (fixes
  contradiction where "stub"/"separately" were banned but used in
  the recommended question template)
- Add respond to CLAUDE.md skill delegation table and key skills
- Add respond, de-slop, tdd-assertions to README.md skills table

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
paulnsorensen added a commit that referenced this pull request Mar 11, 2026
Replace the evasion-prevention /respond skill (PR #46) with a
PR review comment triage skill that confidence-rates each suggestion
(0-100), fixes obvious ones (>=75) immediately, and asks about
uncertain ones while work is underway.

Promote three hookify rules from local-only to committed source:
warn-deferred-stop, warn-placeholder-code, warn-ellipsis-code.
These are symlinked to ~/.claude/ by dots sync, making them
global across all clones and worktrees.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants