claude-all-hands 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/code-simplifier.md +52 -0
- package/.claude/agents/curator.md +186 -246
- package/.claude/agents/documentation-taxonomist.md +255 -0
- package/.claude/agents/documentation-writer.md +366 -0
- package/.claude/agents/planner.md +123 -166
- package/.claude/agents/researcher.md +58 -41
- package/.claude/agents/surveyor.md +81 -0
- package/.claude/agents/worker.md +74 -0
- package/.claude/commands/continue.md +122 -0
- package/.claude/commands/create-skill.md +107 -0
- package/.claude/commands/create-specialist.md +111 -0
- package/.claude/commands/curator-audit.md +4 -0
- package/.claude/commands/debug.md +183 -0
- package/.claude/commands/docs-adjust.md +214 -0
- package/.claude/commands/docs-audit.md +172 -0
- package/.claude/commands/docs-init.md +210 -0
- package/.claude/commands/plan.md +199 -102
- package/.claude/commands/validate.md +11 -0
- package/.claude/commands/whats-next.md +106 -134
- package/.claude/envoy/README.md +5 -5
- package/.claude/envoy/envoy +11 -14
- package/.claude/envoy/package-lock.json +1594 -0
- package/.claude/envoy/package.json +38 -0
- package/.claude/envoy/src/cli.ts +126 -0
- package/.claude/envoy/src/commands/base.ts +216 -0
- package/.claude/envoy/src/commands/docs.ts +881 -0
- package/.claude/envoy/src/commands/gemini.ts +999 -0
- package/.claude/envoy/src/commands/git.ts +639 -0
- package/.claude/envoy/src/commands/index.ts +73 -0
- package/.claude/envoy/src/commands/knowledge.ts +178 -0
- package/.claude/envoy/src/commands/perplexity.ts +129 -0
- package/.claude/envoy/src/commands/plan/core.ts +134 -0
- package/.claude/envoy/src/commands/plan/findings.ts +446 -0
- package/.claude/envoy/src/commands/plan/gates.ts +672 -0
- package/.claude/envoy/src/commands/plan/index.ts +135 -0
- package/.claude/envoy/src/commands/plan/lifecycle.ts +648 -0
- package/.claude/envoy/src/commands/plan/plan-file.ts +138 -0
- package/.claude/envoy/src/commands/plan/prompts.ts +285 -0
- package/.claude/envoy/src/commands/plan/protocols.ts +166 -0
- package/.claude/envoy/src/commands/repomix.ts +99 -0
- package/.claude/envoy/src/commands/tavily.ts +220 -0
- package/.claude/envoy/src/commands/xai.ts +168 -0
- package/.claude/envoy/src/lib/ast-queries.ts +261 -0
- package/.claude/envoy/src/lib/design.ts +41 -0
- package/.claude/envoy/src/lib/feedback-schemas.ts +154 -0
- package/.claude/envoy/src/lib/findings.ts +215 -0
- package/.claude/envoy/src/lib/gates.ts +572 -0
- package/.claude/envoy/src/lib/git.ts +132 -0
- package/.claude/envoy/src/lib/index.ts +188 -0
- package/.claude/envoy/src/lib/knowledge.ts +646 -0
- package/.claude/envoy/src/lib/markdown.ts +75 -0
- package/.claude/envoy/src/lib/observability.ts +262 -0
- package/.claude/envoy/src/lib/paths.ts +130 -0
- package/.claude/envoy/src/lib/plan-io.ts +117 -0
- package/.claude/envoy/src/lib/prompts.ts +231 -0
- package/.claude/envoy/src/lib/protocols.ts +314 -0
- package/.claude/envoy/src/lib/repomix.ts +133 -0
- package/.claude/envoy/src/lib/retry.ts +138 -0
- package/.claude/envoy/src/lib/tree-sitter-utils.ts +301 -0
- package/.claude/envoy/src/lib/watcher.ts +167 -0
- package/.claude/envoy/src/types/tree-sitter.d.ts +76 -0
- package/.claude/envoy/tsconfig.json +21 -0
- package/.claude/hooks/scripts/enforce_research_fetch.py +1 -1
- package/.claude/hooks/scripts/scan_agents.py +62 -0
- package/.claude/hooks/scripts/scan_commands.py +50 -0
- package/.claude/hooks/scripts/scan_skills.py +46 -70
- package/.claude/hooks/scripts/validate_artifacts.py +128 -0
- package/.claude/hooks/startup.sh +26 -24
- package/.claude/protocols/bug-discovery.yaml +55 -0
- package/.claude/protocols/debugging.yaml +51 -0
- package/.claude/protocols/discovery.yaml +53 -0
- package/.claude/protocols/implementation.yaml +84 -0
- package/.claude/settings.json +38 -97
- package/.claude/skills/brainstorming/SKILL.md +54 -0
- package/.claude/skills/commands-development/SKILL.md +630 -0
- package/.claude/skills/commands-development/references/arguments.md +252 -0
- package/.claude/skills/commands-development/references/patterns.md +796 -0
- package/.claude/skills/commands-development/references/tool-restrictions.md +376 -0
- package/.claude/skills/discovery-mode/SKILL.md +108 -0
- package/.claude/skills/documentation-taxonomy/SKILL.md +287 -0
- package/.claude/skills/hooks-development/SKILL.md +332 -0
- package/.claude/skills/hooks-development/references/command-vs-prompt.md +269 -0
- package/.claude/skills/hooks-development/references/examples.md +658 -0
- package/.claude/skills/hooks-development/references/hook-types.md +463 -0
- package/.claude/skills/hooks-development/references/input-output-schemas.md +469 -0
- package/.claude/skills/hooks-development/references/matchers.md +470 -0
- package/.claude/skills/hooks-development/references/troubleshooting.md +587 -0
- package/.claude/skills/implementation-mode/SKILL.md +171 -0
- package/.claude/skills/knowledge-discovery/SKILL.md +178 -0
- package/.claude/skills/research-tools/SKILL.md +35 -33
- package/.claude/skills/skills-development/SKILL.md +192 -0
- package/.claude/skills/skills-development/references/api-security.md +226 -0
- package/.claude/skills/skills-development/references/be-clear-and-direct.md +531 -0
- package/.claude/skills/skills-development/references/common-patterns.md +595 -0
- package/.claude/skills/skills-development/references/core-principles.md +437 -0
- package/.claude/skills/skills-development/references/executable-code.md +175 -0
- package/.claude/skills/skills-development/references/iteration-and-testing.md +474 -0
- package/.claude/skills/skills-development/references/recommended-structure.md +168 -0
- package/.claude/skills/skills-development/references/skill-structure.md +372 -0
- package/.claude/skills/skills-development/references/use-xml-tags.md +466 -0
- package/.claude/skills/skills-development/references/using-scripts.md +113 -0
- package/.claude/skills/skills-development/references/using-templates.md +112 -0
- package/.claude/skills/skills-development/references/workflows-and-validation.md +510 -0
- package/.claude/skills/skills-development/templates/router-skill.md +73 -0
- package/.claude/skills/skills-development/templates/simple-skill.md +33 -0
- package/.claude/skills/skills-development/workflows/add-reference.md +96 -0
- package/.claude/skills/skills-development/workflows/add-script.md +93 -0
- package/.claude/skills/skills-development/workflows/add-template.md +74 -0
- package/.claude/skills/skills-development/workflows/add-workflow.md +120 -0
- package/.claude/skills/skills-development/workflows/audit-skill.md +138 -0
- package/.claude/skills/skills-development/workflows/create-domain-expertise-skill.md +605 -0
- package/.claude/skills/skills-development/workflows/create-new-skill.md +191 -0
- package/.claude/skills/skills-development/workflows/get-guidance.md +121 -0
- package/.claude/skills/skills-development/workflows/upgrade-to-router.md +161 -0
- package/.claude/skills/skills-development/workflows/verify-skill.md +204 -0
- package/.claude/skills/subagents-development/SKILL.md +325 -0
- package/.claude/skills/subagents-development/references/context-management.md +567 -0
- package/.claude/skills/subagents-development/references/debugging-agents.md +714 -0
- package/.claude/skills/subagents-development/references/error-handling-and-recovery.md +502 -0
- package/.claude/skills/subagents-development/references/evaluation-and-testing.md +374 -0
- package/.claude/skills/subagents-development/references/orchestration-patterns.md +591 -0
- package/.claude/skills/subagents-development/references/subagents.md +508 -0
- package/.claude/skills/subagents-development/references/writing-subagent-prompts.md +517 -0
- package/.claude/statusline.sh +24 -0
- package/bin/cli.js +150 -72
- package/package.json +1 -1
- package/.claude/agents/explorer.md +0 -62
- package/.claude/agents/parallel-worker.md +0 -121
- package/.claude/commands/curation-fix.md +0 -92
- package/.claude/commands/new-branch.md +0 -36
- package/.claude/commands/parallel-discovery.md +0 -69
- package/.claude/commands/parallel-orchestration.md +0 -99
- package/.claude/commands/plan-checkpoint.md +0 -37
- package/.claude/envoy/commands/__init__.py +0 -1
- package/.claude/envoy/commands/base.py +0 -95
- package/.claude/envoy/commands/parallel.py +0 -439
- package/.claude/envoy/commands/perplexity.py +0 -86
- package/.claude/envoy/commands/plans.py +0 -451
- package/.claude/envoy/commands/tavily.py +0 -156
- package/.claude/envoy/commands/vertex.py +0 -358
- package/.claude/envoy/commands/xai.py +0 -124
- package/.claude/envoy/envoy.py +0 -122
- package/.claude/envoy/pyrightconfig.json +0 -4
- package/.claude/envoy/requirements.txt +0 -2
- package/.claude/hooks/capture-queries.sh +0 -3
- package/.claude/hooks/scripts/enforce_planning.py +0 -118
- package/.claude/hooks/scripts/enforce_rg.py +0 -34
- package/.claude/hooks/scripts/validate_skill.py +0 -81
- package/.claude/skills/claude-envoy-curation/SKILL.md +0 -162
- package/.claude/skills/claude-envoy-usage/SKILL.md +0 -46
- package/.claude/skills/command-development/SKILL.md +0 -206
- package/.claude/skills/command-development/examples/simple-commands.md +0 -212
- package/.claude/skills/command-development/references/frontmatter-reference.md +0 -221
- package/.claude/skills/hook-development/SKILL.md +0 -127
- package/.claude/skills/hook-development/examples/command-hooks.md +0 -301
- package/.claude/skills/hook-development/examples/prompt-hooks.md +0 -114
- package/.claude/skills/hook-development/references/event-reference.md +0 -226
- package/.claude/skills/repomix-extraction/SKILL.md +0 -91
- package/.claude/skills/skill-development/SKILL.md +0 -168
- package/.claude/skills/skill-development/examples/complete-skill-examples.md +0 -281
- package/.claude/skills/skill-development/references/progressive-disclosure.md +0 -141
- package/.claude/skills/skill-development/references/writing-style.md +0 -180
- package/.claude/skills/skill-development/scripts/validate-skill.sh +0 -144
- package/.claude/skills/specialist-builder/SKILL.md +0 -327
- package/.claude/skills/specialist-builder/docs/agent-catalog.md +0 -28
- package/.claude/skills/specialist-builder/examples/complete-agent-examples.md +0 -206
- package/.claude/skills/specialist-builder/references/system-prompt-patterns.md +0 -281
- package/.claude/skills/specialist-builder/references/triggering-examples.md +0 -162
- package/.claude/skills/specialist-builder/scripts/validate-agent.sh +0 -137
- /package/.claude/{envoy/claude-envoy.py → skills/claude-envoy-patterns/SKILL.md} +0 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Continue implementation of current plan prompts
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<objective>
|
|
6
|
+
Loop through plan prompts, delegate to specialists for implementation, extract documentation, and complete when all prompts done. Handles parallel execution for independent prompts and variants.
|
|
7
|
+
</objective>
|
|
8
|
+
|
|
9
|
+
<context>
|
|
10
|
+
Plan status: !`envoy plan check`
|
|
11
|
+
</context>
|
|
12
|
+
|
|
13
|
+
<process>
|
|
14
|
+
<step name="get_next_prompts">
|
|
15
|
+
Call `envoy plan next [-n <count>]`
|
|
16
|
+
|
|
17
|
+
Returns next available prompts respecting dependencies:
|
|
18
|
+
- If count > 1: returns independent prompts that can run in parallel
|
|
19
|
+
- Variants of same prompt MUST all be returned together for parallel execution
|
|
20
|
+
|
|
21
|
+
Each prompt includes:
|
|
22
|
+
- prompt_num, variant (if applicable)
|
|
23
|
+
- description
|
|
24
|
+
- relevant files
|
|
25
|
+
- is_debug flag
|
|
26
|
+
</step>
|
|
27
|
+
|
|
28
|
+
<step name="delegate_implementation">
|
|
29
|
+
For each prompt from next:
|
|
30
|
+
|
|
31
|
+
1. **Determine specialist**:
|
|
32
|
+
- If no suitable specialist found:
|
|
33
|
+
* AskUserQuestion: "No specialist for [domain]. Create one? (/create-specialist)"
|
|
34
|
+
* If user declines: use "worker" agent
|
|
35
|
+
|
|
36
|
+
2. **Delegate based on type**:
|
|
37
|
+
- If prompt is debug type:
|
|
38
|
+
* "Run `envoy plan protocol debugging` and follow the steps. INPUTS: `{ prompt_num: <N>, variant: <V>, feature_branch: <current_branch> }`"
|
|
39
|
+
- Otherwise:
|
|
40
|
+
* "Run `envoy plan protocol implementation` and follow the steps. INPUTS: `{ prompt_num: <N>, variant: <V>, feature_branch: <current_branch> }`"
|
|
41
|
+
|
|
42
|
+
3. **Parallel execution**: If multiple prompts/variants returned, delegate all in parallel
|
|
43
|
+
</step>
|
|
44
|
+
|
|
45
|
+
<step name="extract_documentation">
|
|
46
|
+
After each specialist returns (prompt merged):
|
|
47
|
+
|
|
48
|
+
Call `/docs adjust --diff` to update documentation based on changes.
|
|
49
|
+
* Uses taxonomy-based approach to identify changed areas
|
|
50
|
+
* Writers update relevant documentation with symbol references
|
|
51
|
+
* Returns: `{ success: true }`
|
|
52
|
+
</step>
|
|
53
|
+
|
|
54
|
+
<step name="loop">
|
|
55
|
+
Repeat steps 1-3 until:
|
|
56
|
+
- No more prompts returned from next
|
|
57
|
+
- No prompts in_progress status
|
|
58
|
+
</step>
|
|
59
|
+
|
|
60
|
+
<step name="full_review">
|
|
61
|
+
Call `envoy gemini review --full`
|
|
62
|
+
|
|
63
|
+
Returns: `{ verdict, thoughts?, answered_questions?, suggested_fixes? }`
|
|
64
|
+
|
|
65
|
+
Full review examines:
|
|
66
|
+
- All prompts
|
|
67
|
+
- curator.md
|
|
68
|
+
- user_input.md
|
|
69
|
+
- Feature branch git diff
|
|
70
|
+
</step>
|
|
71
|
+
|
|
72
|
+
<step name="handle_review_failure">
|
|
73
|
+
If verdict = "failed" OR suggested_fixes exist:
|
|
74
|
+
|
|
75
|
+
1. Parse suggested_fixes for affected areas
|
|
76
|
+
2. Delegate to relevant specialists:
|
|
77
|
+
* Pass `thoughts` and `answered_questions` as context
|
|
78
|
+
* Use implementation protocol
|
|
79
|
+
3. Commit changes
|
|
80
|
+
4. Rerun full review (repeat until passes)
|
|
81
|
+
</step>
|
|
82
|
+
|
|
83
|
+
<step name="mandatory_doc_audit">
|
|
84
|
+
Call `/docs audit` to validate all documentation symbol references.
|
|
85
|
+
* Checks for stale (hash changed) and invalid (symbol deleted) references
|
|
86
|
+
* If issues found: fix automatically or present to user
|
|
87
|
+
* Returns: `{ success: true }`
|
|
88
|
+
</step>
|
|
89
|
+
|
|
90
|
+
<step name="complete_plan">
|
|
91
|
+
Call `envoy plan complete`
|
|
92
|
+
|
|
93
|
+
This:
|
|
94
|
+
- Generates summary.md
|
|
95
|
+
- Creates PR
|
|
96
|
+
- Marks plan as completed
|
|
97
|
+
</step>
|
|
98
|
+
|
|
99
|
+
<step name="handoff">
|
|
100
|
+
Call /whats-next command
|
|
101
|
+
</step>
|
|
102
|
+
</process>
|
|
103
|
+
|
|
104
|
+
<success_criteria>
|
|
105
|
+
- All prompts implemented via specialist delegation
|
|
106
|
+
- Variants executed in parallel
|
|
107
|
+
- Documentation extracted for each prompt
|
|
108
|
+
- Full review passes
|
|
109
|
+
- Documentation audit completed
|
|
110
|
+
- Plan marked complete with PR created
|
|
111
|
+
- Control passed to /whats-next
|
|
112
|
+
</success_criteria>
|
|
113
|
+
|
|
114
|
+
<constraints>
|
|
115
|
+
- MUST respect prompt dependencies (use envoy next)
|
|
116
|
+
- MUST run all variants in parallel
|
|
117
|
+
- MUST extract documentation after each prompt
|
|
118
|
+
- MUST loop until no prompts remain
|
|
119
|
+
- MUST pass full review before completing
|
|
120
|
+
- MUST run doc audit before completion
|
|
121
|
+
- All delegations MUST follow INPUTS/OUTPUTS format
|
|
122
|
+
</constraints>
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a new skill for agent capabilities
|
|
3
|
+
argument-hint: [user prompt]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<objective>
|
|
7
|
+
Create a new skill that provides domain expertise or workflow capabilities to agents. Gathers requirements via input gate, delegates to curator for implementation, runs audit, and manages testing/merge workflow.
|
|
8
|
+
</objective>
|
|
9
|
+
|
|
10
|
+
<context>
|
|
11
|
+
Current branch: !`git branch --show-current`
|
|
12
|
+
Existing skills: !`ls -la .claude/skills/`
|
|
13
|
+
</context>
|
|
14
|
+
|
|
15
|
+
<process>
|
|
16
|
+
<step name="setup_branch">
|
|
17
|
+
Create curator branch on top of current branch:
|
|
18
|
+
- Infer name from user prompt (e.g., `curator/create-api-patterns-skill`)
|
|
19
|
+
- This branch will NOT follow any planning material
|
|
20
|
+
</step>
|
|
21
|
+
|
|
22
|
+
<step name="input_gate">
|
|
23
|
+
Gather skill requirements:
|
|
24
|
+
|
|
25
|
+
1. **Goals**:
|
|
26
|
+
AskUserQuestion: "What are the goals of this skill? What should agents be able to do with it?"
|
|
27
|
+
|
|
28
|
+
2. **Users**:
|
|
29
|
+
AskUserQuestion: "Which agents will use this skill? (Important for understanding use case)"
|
|
30
|
+
|
|
31
|
+
3. **Reference URLs**:
|
|
32
|
+
AskUserQuestion: "Any URLs to store as references? (documentation, examples, patterns)"
|
|
33
|
+
|
|
34
|
+
4. **Directory scope**:
|
|
35
|
+
AskUserQuestion: "Which codebase directory should this skill serve as documentation for? (optional)"
|
|
36
|
+
</step>
|
|
37
|
+
|
|
38
|
+
<step name="curator_create">
|
|
39
|
+
Delegate to **curator agent** with curation-workflow:
|
|
40
|
+
* INPUTS: `{ mode: 'create', artifact_type: 'skill', initial_context: '<input_gate_summary>' }`
|
|
41
|
+
* OUTPUTS: `{ success: true, clarifying_questions?: [string] }`
|
|
42
|
+
|
|
43
|
+
If clarifying_questions returned:
|
|
44
|
+
- Present each question to user via AskUserQuestion
|
|
45
|
+
- Gather answers and re-delegate with additional context
|
|
46
|
+
</step>
|
|
47
|
+
|
|
48
|
+
<step name="commit_creation">
|
|
49
|
+
Commit changes with descriptive message
|
|
50
|
+
</step>
|
|
51
|
+
|
|
52
|
+
<step name="curator_audit">
|
|
53
|
+
Delegate to **curator agent** with curation-audit-workflow:
|
|
54
|
+
* INPUTS: `{ mode: 'audit', branch_name: '<current_branch>' }`
|
|
55
|
+
* OUTPUTS: `{ success: true, amendments_made: boolean }`
|
|
56
|
+
</step>
|
|
57
|
+
|
|
58
|
+
<step name="testing">
|
|
59
|
+
AskUserQuestion: "How would you like to test this skill?"
|
|
60
|
+
Options: ["Invoke from an agent", "Read through content", "Skip testing", "Custom test"]
|
|
61
|
+
|
|
62
|
+
Based on selection:
|
|
63
|
+
- If invoke: guide user through having an agent use the skill
|
|
64
|
+
- If read: display skill content for review
|
|
65
|
+
- If custom: let user describe and run test
|
|
66
|
+
- If skip: proceed to feedback
|
|
67
|
+
</step>
|
|
68
|
+
|
|
69
|
+
<step name="feedback_loop">
|
|
70
|
+
AskUserQuestion: "Testing complete. How to proceed?"
|
|
71
|
+
Options: ["Good to merge", "Need changes", "Abandon"]
|
|
72
|
+
|
|
73
|
+
If "Need changes":
|
|
74
|
+
- Gather feedback
|
|
75
|
+
- Re-delegate to curator with amendments
|
|
76
|
+
- Commit and repeat testing
|
|
77
|
+
</step>
|
|
78
|
+
|
|
79
|
+
<step name="commit_and_merge">
|
|
80
|
+
Commit any final changes.
|
|
81
|
+
|
|
82
|
+
Check branch status:
|
|
83
|
+
- Call `envoy git is-base-branch` on parent branch
|
|
84
|
+
- If parent is base branch: Create PR via `envoy git create-pr --title "<title>" --body "<body>"`
|
|
85
|
+
- If parent has plan matter: Merge back to parent, add updates to curator.md
|
|
86
|
+
|
|
87
|
+
Report completion with next steps.
|
|
88
|
+
</step>
|
|
89
|
+
</process>
|
|
90
|
+
|
|
91
|
+
<success_criteria>
|
|
92
|
+
- Curator branch created
|
|
93
|
+
- Skill requirements gathered via input gate
|
|
94
|
+
- Curator agent created skill directory and SKILL.md
|
|
95
|
+
- Audit completed with any amendments
|
|
96
|
+
- User testing completed
|
|
97
|
+
- Changes committed and merged/PR created
|
|
98
|
+
</success_criteria>
|
|
99
|
+
|
|
100
|
+
<constraints>
|
|
101
|
+
- MUST create curator/ branch (not follow planning material)
|
|
102
|
+
- MUST gather which agents will use the skill
|
|
103
|
+
- MUST run curator audit after creation
|
|
104
|
+
- MUST allow user testing before merge
|
|
105
|
+
- MUST handle both base branch and feature branch parents
|
|
106
|
+
- All delegations MUST follow INPUTS/OUTPUTS format
|
|
107
|
+
</constraints>
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a new specialist agent for domain expertise
|
|
3
|
+
argument-hint: [initial context]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<objective>
|
|
7
|
+
Create a new specialist agent tailored to a specific domain. Gathers requirements via input gate, delegates to curator for implementation, runs audit, and manages testing/merge workflow.
|
|
8
|
+
</objective>
|
|
9
|
+
|
|
10
|
+
<context>
|
|
11
|
+
Current branch: !`git branch --show-current`
|
|
12
|
+
Available envoy commands: !`envoy --help`
|
|
13
|
+
Existing agents: !`ls -la .claude/agents/`
|
|
14
|
+
</context>
|
|
15
|
+
|
|
16
|
+
<process>
|
|
17
|
+
<step name="setup_branch">
|
|
18
|
+
Create curator branch on top of current branch:
|
|
19
|
+
- Infer name from initial context (e.g., `curator/create-auth-specialist`)
|
|
20
|
+
- This branch will NOT follow any planning material
|
|
21
|
+
</step>
|
|
22
|
+
|
|
23
|
+
<step name="input_gate">
|
|
24
|
+
Gather specialist requirements:
|
|
25
|
+
|
|
26
|
+
1. **Responsibility**:
|
|
27
|
+
AskUserQuestion: "What is this agent's primary responsibility? (This infers which skills it uses)"
|
|
28
|
+
|
|
29
|
+
2. **Area of expertise**:
|
|
30
|
+
AskUserQuestion: "Which codebase files/areas does this agent specialize in?"
|
|
31
|
+
|
|
32
|
+
3. **Existing skills**:
|
|
33
|
+
Show available skills, ask: "Which existing skills should this agent have access to?"
|
|
34
|
+
|
|
35
|
+
4. **New skills needed**:
|
|
36
|
+
AskUserQuestion: "Any new skills needed? If yes, provide: skill name, purpose, reference URLs"
|
|
37
|
+
- If new skills: will need to run /create-skill after specialist creation
|
|
38
|
+
|
|
39
|
+
5. **Envoy usage**:
|
|
40
|
+
Show envoy commands (from context), ask: "Which envoy commands should this agent use?"
|
|
41
|
+
</step>
|
|
42
|
+
|
|
43
|
+
<step name="curator_create">
|
|
44
|
+
Delegate to **curator agent** with curation-workflow:
|
|
45
|
+
* INPUTS: `{ mode: 'create', artifact_type: 'specialist', initial_context: '<input_gate_summary>' }`
|
|
46
|
+
* OUTPUTS: `{ success: true, clarifying_questions?: [string] }`
|
|
47
|
+
|
|
48
|
+
If clarifying_questions returned:
|
|
49
|
+
- Present each question to user via AskUserQuestion
|
|
50
|
+
- Gather answers and re-delegate with additional context
|
|
51
|
+
</step>
|
|
52
|
+
|
|
53
|
+
<step name="commit_creation">
|
|
54
|
+
Commit changes with descriptive message
|
|
55
|
+
</step>
|
|
56
|
+
|
|
57
|
+
<step name="curator_audit">
|
|
58
|
+
Delegate to **curator agent** with curation-audit-workflow:
|
|
59
|
+
* INPUTS: `{ mode: 'audit', branch_name: '<current_branch>' }`
|
|
60
|
+
* OUTPUTS: `{ success: true, amendments_made: boolean }`
|
|
61
|
+
</step>
|
|
62
|
+
|
|
63
|
+
<step name="testing">
|
|
64
|
+
AskUserQuestion: "How would you like to test this agent?"
|
|
65
|
+
Options: ["Run a sample task", "Skip testing", "Custom test"]
|
|
66
|
+
|
|
67
|
+
Based on selection:
|
|
68
|
+
- If sample task: guide user through invoking the agent
|
|
69
|
+
- If custom: let user describe and run test
|
|
70
|
+
- If skip: proceed to feedback
|
|
71
|
+
</step>
|
|
72
|
+
|
|
73
|
+
<step name="feedback_loop">
|
|
74
|
+
AskUserQuestion: "Testing complete. How to proceed?"
|
|
75
|
+
Options: ["Good to merge", "Need changes", "Abandon"]
|
|
76
|
+
|
|
77
|
+
If "Need changes":
|
|
78
|
+
- Gather feedback
|
|
79
|
+
- Re-delegate to curator with amendments
|
|
80
|
+
- Commit and repeat testing
|
|
81
|
+
</step>
|
|
82
|
+
|
|
83
|
+
<step name="commit_and_merge">
|
|
84
|
+
Commit any final changes.
|
|
85
|
+
|
|
86
|
+
Check branch status:
|
|
87
|
+
- Call `envoy git is-base-branch` on parent branch
|
|
88
|
+
- If parent is base branch: Create PR via `envoy git create-pr --title "<title>" --body "<body>"`
|
|
89
|
+
- If parent has plan matter: Merge back to parent, add updates to curator.md
|
|
90
|
+
|
|
91
|
+
Report completion with next steps.
|
|
92
|
+
</step>
|
|
93
|
+
</process>
|
|
94
|
+
|
|
95
|
+
<success_criteria>
|
|
96
|
+
- Curator branch created
|
|
97
|
+
- Specialist requirements gathered via input gate
|
|
98
|
+
- Curator agent created specialist file
|
|
99
|
+
- Audit completed with any amendments
|
|
100
|
+
- User testing completed
|
|
101
|
+
- Changes committed and merged/PR created
|
|
102
|
+
</success_criteria>
|
|
103
|
+
|
|
104
|
+
<constraints>
|
|
105
|
+
- MUST create curator/ branch (not follow planning material)
|
|
106
|
+
- MUST show available skills and envoy commands during input gate
|
|
107
|
+
- MUST run curator audit after creation
|
|
108
|
+
- MUST allow user testing before merge
|
|
109
|
+
- MUST handle both base branch and feature branch parents
|
|
110
|
+
- All delegations MUST follow INPUTS/OUTPUTS format
|
|
111
|
+
</constraints>
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Debug workflow for bug investigation and fix
|
|
3
|
+
argument-hint: [bug-description] [--quick | --create | --refine]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<objective>
|
|
7
|
+
Orchestrate the debugging workflow: gather bug context, delegate to specialists for investigation, create fix plan with observability, and hand off to /continue.
|
|
8
|
+
|
|
9
|
+
Modes:
|
|
10
|
+
- `--quick`: No questions, no observability prompt, direct to planner
|
|
11
|
+
- `--create`: New debugging session (default if no existing plan)
|
|
12
|
+
- `--refine`: Add bug fix to existing plan
|
|
13
|
+
</objective>
|
|
14
|
+
|
|
15
|
+
<context>
|
|
16
|
+
Plan status: !`envoy plan check`
|
|
17
|
+
</context>
|
|
18
|
+
|
|
19
|
+
<process>
|
|
20
|
+
<step name="parse_mode">
|
|
21
|
+
Parse $ARGUMENTS for mode flags and bug description:
|
|
22
|
+
- If `--quick` present: quick_mode = true
|
|
23
|
+
- If `--create` present: mode = "create"
|
|
24
|
+
- If `--refine` present: mode = "refine"
|
|
25
|
+
- Everything else = bug_description
|
|
26
|
+
</step>
|
|
27
|
+
|
|
28
|
+
<step name="quick_mode" condition="quick_mode = true">
|
|
29
|
+
**Quick Mode - No questions, no observability**
|
|
30
|
+
|
|
31
|
+
1. Call `envoy plan check` to get status
|
|
32
|
+
2. If no plan: Create branch from bug description (infer name)
|
|
33
|
+
3. Append bug description: `envoy plan append-user-input "<bug_description>"`
|
|
34
|
+
4. Delegate to **planner agent**:
|
|
35
|
+
* "Run the planning-workflow. INPUTS: `{ mode: 'quick', workflow_type: 'debug', feature_branch: <current_branch>, plan_status: <status> }`"
|
|
36
|
+
* OUTPUTS: `{ success: true }`
|
|
37
|
+
5. Call /continue command
|
|
38
|
+
6. **Exit** - quick mode complete
|
|
39
|
+
</step>
|
|
40
|
+
|
|
41
|
+
<step name="check_status" condition="quick_mode = false">
|
|
42
|
+
Call `envoy plan check` and determine mode:
|
|
43
|
+
|
|
44
|
+
| Condition | Action |
|
|
45
|
+
|-----------|--------|
|
|
46
|
+
| No plan, user_input.md has content | Read user_input.md, continue to input_gate |
|
|
47
|
+
| No plan, fresh start | Create branch (infer name from bug), set mode = "create" |
|
|
48
|
+
| Plan exists, bug unrelated | AskUserQuestion: "Existing plan found. Continue with it or start fresh?" |
|
|
49
|
+
| Plan exists, bug likely from current work | Set mode = "refine" |
|
|
50
|
+
|
|
51
|
+
If user chooses "start fresh": create new branch off base, set mode = "create"
|
|
52
|
+
</step>
|
|
53
|
+
|
|
54
|
+
<step name="input_gate">
|
|
55
|
+
**Progressive disclosure for debugging**
|
|
56
|
+
|
|
57
|
+
1. **Observability** (always ask - critical for debug):
|
|
58
|
+
AskUserQuestion: "How should we monitor for this bug recurring once fixed?"
|
|
59
|
+
Options: ["Add logging", "Add metrics/alerts", "Add test coverage only", "Skip observability"]
|
|
60
|
+
|
|
61
|
+
2. **Error details** (if not in description):
|
|
62
|
+
AskUserQuestion: "Can you share the exact error message and steps to reproduce?"
|
|
63
|
+
|
|
64
|
+
3. **Timeline** (if not clear):
|
|
65
|
+
AskUserQuestion: "When did this start? (recent deploy, always, after specific change)"
|
|
66
|
+
|
|
67
|
+
4. **Suspected area** (if not inferred):
|
|
68
|
+
AskUserQuestion: "Any suspected code area or recent changes?"
|
|
69
|
+
|
|
70
|
+
5. **Severity**:
|
|
71
|
+
AskUserQuestion: "What's the severity?"
|
|
72
|
+
Options: ["Blocks release", "Can workaround", "Nice to fix"]
|
|
73
|
+
|
|
74
|
+
6. **Domain-specific questions** (progressive):
|
|
75
|
+
Build questions from Debugging Knowledge Bank below. Ask 3 at a time, offer "continue with current context" option.
|
|
76
|
+
</step>
|
|
77
|
+
|
|
78
|
+
<step name="write_user_input">
|
|
79
|
+
Append all gathered context to user_input.md:
|
|
80
|
+
`envoy plan append-user-input "<all_gathered_context>"`
|
|
81
|
+
</step>
|
|
82
|
+
|
|
83
|
+
<step name="specialist_delegation">
|
|
84
|
+
1. Extract bug symptoms, suspected areas, reproduction context
|
|
85
|
+
2. Cluster by primary domain
|
|
86
|
+
3. For each cluster, determine specialist:
|
|
87
|
+
- If confidence lacking: AskUserQuestion: "Should I create a new specialist for [domain]? (/create-specialist)"
|
|
88
|
+
- If no specialist and user declines: use "surveyor" agent
|
|
89
|
+
4. Delegate to specialists:
|
|
90
|
+
* "Run `envoy plan protocol bug-discovery` and follow the steps. INPUTS: `{ agent_name: '<specialist_name>[_N]', segment_context: '<bug_context_for_segment>' }`"
|
|
91
|
+
* Add `_N` suffix if multiple segments for same specialist
|
|
92
|
+
* OUTPUTS: `{ success: true }`
|
|
93
|
+
</step>
|
|
94
|
+
|
|
95
|
+
<step name="get_findings">
|
|
96
|
+
Call `envoy plan get-findings` to get bug hypotheses/approaches
|
|
97
|
+
</step>
|
|
98
|
+
|
|
99
|
+
<step name="research_delegation">
|
|
100
|
+
For each research objective (known library issues, similar errors, anti-patterns):
|
|
101
|
+
* Delegate to **researcher agent**:
|
|
102
|
+
* "Run `envoy plan protocol bug-discovery` and follow the steps. INPUTS: `{ agent_name: 'researcher[_N]', segment_context: '<research_objectives_with_approach_references>' }`"
|
|
103
|
+
* OUTPUTS: `{ success: true }`
|
|
104
|
+
</step>
|
|
105
|
+
|
|
106
|
+
<step name="findings_gate">
|
|
107
|
+
1. Present all clarifying questions from approach documents (bug hypotheses) to user
|
|
108
|
+
2. AskUserQuestion: "Want to redirect investigation with specific requirements? (clears all findings)"
|
|
109
|
+
- If yes: clear findings, return to specialist_delegation step
|
|
110
|
+
3. Call `envoy plan block-findings-gate`
|
|
111
|
+
- Returns: `{ thoughts, affected_approaches: [{ specialist_name, approach_number }] }`
|
|
112
|
+
4. If affected_approaches exist:
|
|
113
|
+
- Re-delegate to affected specialists with thoughts context
|
|
114
|
+
- Rerun findings gate
|
|
115
|
+
</step>
|
|
116
|
+
|
|
117
|
+
<step name="planner_delegation">
|
|
118
|
+
Delegate to **planner agent**:
|
|
119
|
+
* "Run the planning-workflow. INPUTS: `{ mode: '<create|refine>', workflow_type: 'debug', feature_branch: '<current_branch>' }`"
|
|
120
|
+
* OUTPUTS: `{ success: true }`
|
|
121
|
+
|
|
122
|
+
Note: Planner creates debug prompts (use debugging protocol) and observability prompt (use implementation protocol) based on input_gate answers.
|
|
123
|
+
</step>
|
|
124
|
+
|
|
125
|
+
<step name="handoff">
|
|
126
|
+
Call /continue command
|
|
127
|
+
</step>
|
|
128
|
+
</process>
|
|
129
|
+
|
|
130
|
+
<knowledge_bank name="debugging_input_gate">
|
|
131
|
+
**Bug characterization:**
|
|
132
|
+
- Exact observed behavior (error messages, incorrect output, crash)
|
|
133
|
+
- Expected behavior
|
|
134
|
+
- Reproduction steps (numbered)
|
|
135
|
+
- Frequency (always, sometimes, specific conditions)
|
|
136
|
+
- When it started (recent deploy, always, after specific change)
|
|
137
|
+
- Environment details (device, browser, OS, app version, user type)
|
|
138
|
+
|
|
139
|
+
**Investigation context:**
|
|
140
|
+
- Any logs, errors, or stack traces already captured
|
|
141
|
+
- Suspected area of code (if any)
|
|
142
|
+
- Recent changes to related areas
|
|
143
|
+
- Related features that DO work correctly
|
|
144
|
+
- Data conditions that trigger it (specific user, specific input)
|
|
145
|
+
|
|
146
|
+
**Constraints:**
|
|
147
|
+
- Severity/urgency (blocks release, can workaround, nice to fix)
|
|
148
|
+
- Areas of code that CANNOT be changed
|
|
149
|
+
- Deadline pressure (quick patch vs proper fix)
|
|
150
|
+
|
|
151
|
+
**Observability planning:**
|
|
152
|
+
- How should we monitor for this bug recurring?
|
|
153
|
+
- What signals would indicate the fix worked?
|
|
154
|
+
- Any existing monitoring that should have caught this?
|
|
155
|
+
|
|
156
|
+
**Informational context for LLM:**
|
|
157
|
+
- Reproduction steps are critical - push for specifics
|
|
158
|
+
- "When did it start" often reveals the cause
|
|
159
|
+
- Stack traces/error messages are gold - ask if user has them
|
|
160
|
+
- Frequency hints at race conditions vs logic errors
|
|
161
|
+
- If user has a hypothesis, capture it even if uncertain
|
|
162
|
+
- For --refine, only ask about NEW information
|
|
163
|
+
- Combine related bullets into single questions
|
|
164
|
+
</knowledge_bank>
|
|
165
|
+
|
|
166
|
+
<success_criteria>
|
|
167
|
+
- Mode correctly determined from arguments and context
|
|
168
|
+
- Bug context gathered via progressive disclosure
|
|
169
|
+
- Observability approach determined (except in quick mode)
|
|
170
|
+
- Specialists delegated with bug-discovery protocol
|
|
171
|
+
- Findings gate reviewed with user
|
|
172
|
+
- Debug plan created with fix + observability prompts
|
|
173
|
+
- Control passed to /continue
|
|
174
|
+
</success_criteria>
|
|
175
|
+
|
|
176
|
+
<constraints>
|
|
177
|
+
- MUST ask observability question (except quick mode)
|
|
178
|
+
- MUST use bug-discovery protocol for specialists
|
|
179
|
+
- MUST NOT proceed without user confirmation at gates
|
|
180
|
+
- MUST append all user context to user_input.md via envoy
|
|
181
|
+
- Quick mode MUST skip all questions and observability
|
|
182
|
+
- All delegations MUST follow INPUTS/OUTPUTS format
|
|
183
|
+
</constraints>
|