delegation-check
Skill2.1k starsChanged 7 months agoMITArchived repositoryView on GitHub
Check workflow delegation prompts against agent role definitions for content separation violations. Detects conflicts, duplication, boundary leaks, and missing contracts. Triggers on "check delegation", "delegation conflict", "prompt vs role check".
1 other project uses a version of this.
Adopted by
Most recently taken up by
- zhao-wuyan/ccw-command-explorerword for word, first seen May 8, 2026
Other versions1 project uses a version of this.
Word for word · 1
- zhao-wuyan/ccw-command-explorer★ 45100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository59 other files it gives its agents.
- .codex/AGENTS.mdAGENTS.md
- brainstormSkill
- ccw-chainSkill
- ccw-helpSkill
- investigateSkill
- issue-manageSkill
- memory-captureSkill
- memory-manageSkill
- prompt-generatorSkill
- review-codeSkill
- review-cycleSkill
- security-auditSkill
- shipSkill
- skill-generatorSkill
- skill-iter-tuneSkill
- skill-simplifySkill
- skill-tuningSkill
- spec-generatorSkill
- team-arch-optSkill
- team-brainstormSkill
- team-coordinateSkill
- team-designerSkill
- team-executorSkill
- team-frontend-debugSkill
- team-frontendSkill
- team-interactive-craftSkill
- team-issueSkill
- team-lifecycle-v4Skill
- team-motion-designSkill
- team-perf-optSkill
- team-planexSkill
- team-quality-assuranceSkill
- team-reviewSkill
- team-roadmap-devSkill
- team-tech-debtSkill
- team-testingSkill
- team-uidesignSkill
- team-ui-polishSkill
- team-ultra-analyzeSkill
- team-ux-improveSkill
- team-visual-a11ySkill
- wf-composerSkill
- wf-playerSkill
- workflow-executeSkill
- workflow-lite-executeSkill
- workflow-lite-planSkill
- workflow-lite-test-reviewSkill
- workflow-multi-cli-planSkill
- workflow-planSkill
- workflow-skill-designerSkill
- workflow-tdd-plan-planSkill
- workflow-test-fixSkill
- brainstormSkill
- investigateSkill
- review-cycleSkill
- spec-generatorSkill
- workflow-planSkill
- workflow-tdd-planSkill
- workflow-test-fixSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 81
If an agent file cannot be found, record as MISSING_AGENT — this is itself a finding.
- Very specific: line 153
Question: Do the prompt's quality checks overlap or conflict with the agent's own <quality_gate>?
- Distinctive: line 246
Example: before/after snippet if applicable
≈ “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.
Files
<purpose>
Validate that command delegation prompts (Agent() calls) and agent role definitions respect GSD content separation boundaries. Detects 7 conflict dimensions: role re-definition, domain expertise leaking into prompts, quality gate duplication, output format conflicts, process override, scope authority conflicts, and missing contracts.Invoked when user requests "check delegation", "delegation conflict", "prompt vs role check", or when reviewing workflow skill quality.
</purpose>
<required_reading>
- @.claude/skills/delegation-check/specs/separation-rules.md </required_reading>
<process>1. Determine Scan Scope
Parse $ARGUMENTS to identify what to check.
| Signal | Scope |
File path to command .md | Single command + its agents |
File path to agent .md | Single agent + commands that spawn it |
Directory path (e.g., .claude/skills/team-*/) | All commands + agents in that skill |
| "all" or no args | Scan all .claude/commands/, .claude/skills/*/, .claude/agents/ |
If ambiguous, ask:
AskUserQuestion(
header: "Scan Scope",
question: "What should I check for delegation conflicts?",
options: [
{ label: "Specific skill", description: "Check one skill directory" },
{ label: "Specific command+agent pair", description: "Check one command and its spawned agents" },
{ label: "Full scan", description: "Scan all commands, skills, and agents" }
]
)2. Discover Command-Agent Pairs
For each command file in scope:
2a. Extract Agent() calls from commands:
# Search both Agent() (current) and Task() (legacy GSD) patterns
grep -n "Agent(\|Task(" "$COMMAND_FILE"
grep -n "subagent_type" "$COMMAND_FILE"For each Agent() call, extract:
subagent_type→ agent name- Full prompt content between the prompt markers (the string passed as
prompt=) - Line range of the delegation prompt
2b. Locate agent definitions:
For each subagent_type found:
# Check standard locations
ls .claude/agents/${AGENT_NAME}.md 2>/dev/null
ls .claude/skills/*/agents/${AGENT_NAME}.md 2>/dev/null2c. Build pair map:
$PAIRS = [
{
command: { path, agent_calls: [{ line, subagent_type, prompt_content }] },
agent: { path, role, sections, quality_gate, output_contract }
}
]If an agent file cannot be found, record as MISSING_AGENT — this is itself a finding.
3. Parse Delegation Prompts
For each Agent() call, extract structured blocks from the prompt content:
| Block | What It Contains |
<objective> | What to accomplish |
<files_to_read> | Input file paths |
<additional_context> / <planning_context> / <verification_context> | Runtime parameters |
<output> / <expected_output> | Output format/location expectations |
<quality_gate> | Per-invocation quality checklist |
<deep_work_rules> / <instructions> | Cross-cutting policy or revision instructions |
<downstream_consumer> | Who consumes the output |
<success_criteria> | Success conditions |
| Free-form text | Unstructured instructions |
Also detect ANTI-PATTERNS in prompt content:
- Role identity statements ("You are a...", "Your role is...")
- Domain expertise (decision tables, heuristics, comparison examples)
- Process definitions (numbered steps, step-by-step instructions beyond scope)
- Philosophy statements ("always prefer...", "never do...")
- Anti-pattern lists that belong in agent definition
4. Parse Agent Definitions
For each agent file, extract:
| Section | Key Content |
<role> | Identity, spawner, responsibilities, mandatory read |
<philosophy> | Guiding principles |
<upstream_input> | How agent interprets input |
<output_contract> | Return markers (COMPLETE/BLOCKED/CHECKPOINT) |
<quality_gate> | Self-check criteria |
| Domain sections | All <section_name> tags with their content |
| YAML frontmatter | name, description, tools |
5. Run Conflict Checks (7 Dimensions)
Dimension 1: Role Re-definition
Question: Does the delegation prompt redefine the agent's identity?
Check: Scan prompt content for:
- "You are a..." / "You are the..." / "Your role is..."
- "Your job is to..." / "Your responsibility is..."
- "Core responsibilities:" lists
- Any content that contradicts agent's
<role>section
Allowed: References to mode ("standard mode", "revision mode") that the agent's <role> already lists in "Spawned by:".
Severity: error if prompt redefines role; warning if prompt adds responsibilities not in agent's <role>.
Dimension 2: Domain Expertise Leak
Question: Does the delegation prompt embed domain knowledge that belongs in the agent?
Check: Scan prompt content for:
- Decision/routing tables (
| Condition | Action |) - Good-vs-bad comparison examples (
| TOO VAGUE | JUST RIGHT |) - Heuristic rules ("If X then Y", "Always prefer Z")
- Anti-pattern lists ("DO NOT...", "NEVER...")
- Detailed process steps beyond task scope
Exception: <deep_work_rules> is an acceptable cross-cutting policy pattern from GSD — flag as info only.
Severity: error if prompt contains domain tables/examples that duplicate agent content; warning if prompt contains heuristics not in agent.
Dimension 3: Quality Gate Duplication
Question: Do the prompt's quality checks overlap or conflict with the agent's own <quality_gate>?
Check: Compare prompt <quality_gate> / <success_criteria> items against agent's <quality_gate> items:
- Duplicate: Same check appears in both →
warning(redundant, may diverge) - Conflict: Contradictory criteria (e.g., prompt says "max 3 tasks", agent says "max 5 tasks") →
error - Missing: Prompt expects quality checks agent doesn't have →
info
Severity: error for contradictions; warning for duplicates; info for gaps.
Dimension 4: Output Format Conflict
Question: Does the prompt's expected output format conflict with the agent's <output_contract>?
Check:
- Prompt
<expected_output>markers vs agent's<output_contract>return markers - Prompt expects specific format agent doesn't define
- Prompt expects file output but agent's contract only defines markers (or vice versa)
- Return marker names differ (prompt expects
## DONE, agent returns## TASK COMPLETE)
Severity: error if return markers conflict; warning if format expectations unspecified on either side.
Dimension 5: Process Override
Question: Does the delegation prompt dictate HOW the agent should work?
Check: Scan prompt for:
- Numbered step-by-step instructions ("Step 1:", "First..., Then..., Finally...")
- Process flow definitions beyond
<objective>scope - Tool usage instructions ("Use grep to...", "Run bash command...")
- Execution ordering that conflicts with agent's own execution flow
Allowed: <instructions> block for revision mode (telling agent what changed, not how to work).
Severity: error if prompt overrides agent's process; warning if prompt suggests process hints.
Dimension 6: Scope Authority Conflict
Question: Does the prompt make decisions that belong to the agent's domain?
Check:
- Prompt specifies implementation choices (library selection, architecture patterns) when agent's
<philosophy>or domain sections own these decisions - Prompt overrides agent's discretion areas
- Prompt locks decisions that agent's
<context_fidelity>says are "Claude's Discretion"
Allowed: Passing through user-locked decisions from CONTEXT.md — this is proper delegation, not authority conflict.
Severity: error if prompt makes domain decisions agent should own; info if prompt passes through user decisions (correct behavior).
Dimension 7: Missing Contracts
Question: Are the delegation handoff points properly defined?
Check:
- Agent has
<output_contract>with return markers → command handles all markers? - Command's return handling covers COMPLETE, BLOCKED, CHECKPOINT
- Agent lists "Spawned by:" — does command actually spawn it?
- Agent expects
<files_to_read>— does prompt provide it? - Agent has
<upstream_input>— does prompt provide matching input structure?
Severity: error if return marker handling is missing; warning if agent expects input the prompt doesn't provide.
6. Aggregate and Report
6a. Per-pair summary
For each command-agent pair, aggregate findings:
{command_path} → {agent_name}
Agent() at line {N}:
D1 (Role Re-def): {PASS|WARN|ERROR} — {detail}
D2 (Domain Leak): {PASS|WARN|ERROR} — {detail}
D3 (Quality Gate): {PASS|WARN|ERROR} — {detail}
D4 (Output Format): {PASS|WARN|ERROR} — {detail}
D5 (Process Override): {PASS|WARN|ERROR} — {detail}
D6 (Scope Authority): {PASS|WARN|ERROR} — {detail}
D7 (Missing Contract): {PASS|WARN|ERROR} — {detail}6b. Overall verdict
| Verdict | Condition |
| CLEAN | 0 errors, 0-2 warnings |
| REVIEW | 0 errors, 3+ warnings |
| CONFLICT | 1+ errors |
6c. Fix recommendations
For each finding, provide:
- Location: file:line
- What's wrong: concrete description
- Fix: move content to correct owner (command or agent)
- Example: before/after snippet if applicable
7. Present Results
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DELEGATION-CHECK ► SCAN COMPLETE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Scope: {description}
Pairs checked: {N} command-agent pairs
Findings: {E} errors, {W} warnings, {I} info
Verdict: {CLEAN | REVIEW | CONFLICT}
| Pair | D1 | D2 | D3 | D4 | D5 | D6 | D7 |
|------|----|----|----|----|----|----|-----|
| {cmd} → {agent} | ✅ | ⚠️ | ✅ | ✅ | ❌ | ✅ | ✅ |
| ... | | | | | | | |
{If CONFLICT: detailed findings with fix recommendations}
───────────────────────────────────────────────────────
## Fix Priority
1. {Highest severity fix}
2. {Next fix}
...
───────────────────────────────────────────────────────</process><success_criteria>
- Scan scope determined and all files discovered
- All Agent() calls extracted from commands with full prompt content
- All corresponding agent definitions located and parsed
- 7 conflict dimensions checked for each command-agent pair
- No false positives on legitimate patterns (mode references, user decision passthrough,
<deep_work_rules>) - Fix recommendations provided for every error/warning
- Summary table with per-pair dimension results displayed
- Overall verdict determined (CLEAN/REVIEW/CONFLICT) </success_criteria>
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
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.

