@codename_inc/spectre 3.7.0 → 5.0.0
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/README.md +6 -7
- package/package.json +3 -2
- package/plugins/spectre/.claude-plugin/plugin.json +1 -1
- package/plugins/spectre/bin/spectre-register +5 -0
- package/plugins/spectre/hooks/hooks.json +3 -14
- package/plugins/spectre/hooks/scripts/bootstrap.mjs +98 -0
- package/plugins/spectre/hooks/scripts/handoff-resume.mjs +404 -0
- package/plugins/spectre/hooks/scripts/lib.mjs +82 -0
- package/plugins/spectre/hooks/scripts/load-knowledge.mjs +189 -0
- package/plugins/spectre/hooks/scripts/register_learning.mjs +264 -0
- package/plugins/spectre/hooks/scripts/{test_bootstrap.cjs → test_bootstrap.mjs} +12 -7
- package/plugins/spectre/hooks/scripts/{test_handoff-resume.cjs → test_handoff-resume.mjs} +13 -11
- package/plugins/spectre/hooks/scripts/{test_load-knowledge.cjs → test_load-knowledge.mjs} +103 -22
- package/plugins/spectre/hooks/scripts/test_register-learning.mjs +335 -0
- package/plugins/spectre/skills/apply/SKILL.md +87 -0
- package/plugins/spectre/{commands/architecture_review.md → skills/architecture_review/SKILL.md} +9 -0
- package/plugins/spectre/{commands/clean.md → skills/clean/SKILL.md} +9 -0
- package/plugins/spectre/{commands/code_review.md → skills/code_review/SKILL.md} +9 -0
- package/plugins/spectre/{commands/create_plan.md → skills/create_plan/SKILL.md} +9 -0
- package/plugins/spectre/{commands/create_tasks.md → skills/create_tasks/SKILL.md} +9 -0
- package/plugins/spectre/{commands/create_test_guide.md → skills/create_test_guide/SKILL.md} +9 -0
- package/plugins/spectre/{commands/evaluate.md → skills/evaluate/SKILL.md} +11 -2
- package/plugins/spectre/{commands/execute.md → skills/execute/SKILL.md} +12 -3
- package/plugins/spectre/{commands/fix.md → skills/fix/SKILL.md} +9 -0
- package/plugins/spectre/{commands/forget.md → skills/forget/SKILL.md} +9 -0
- package/plugins/spectre/skills/{spectre-guide → guide}/SKILL.md +6 -5
- package/plugins/spectre/{commands/handoff.md → skills/handoff/SKILL.md} +9 -0
- package/plugins/spectre/{commands/kickoff.md → skills/kickoff/SKILL.md} +9 -0
- package/plugins/spectre/skills/{spectre-learn → learn}/SKILL.md +19 -59
- package/plugins/spectre/skills/learn/references/recall-template.md +34 -0
- package/plugins/spectre/{commands/plan.md → skills/plan/SKILL.md} +66 -25
- package/plugins/spectre/{commands/plan_review.md → skills/plan_review/SKILL.md} +9 -0
- package/plugins/spectre/skills/prototype/SKILL.md +314 -0
- package/plugins/spectre/{commands/quick_dev.md → skills/quick_dev/SKILL.md} +9 -0
- package/plugins/spectre/{commands/rebase.md → skills/rebase/SKILL.md} +9 -0
- package/plugins/spectre/skills/recall/SKILL.md +17 -0
- package/plugins/spectre/{commands/research.md → skills/research/SKILL.md} +9 -0
- package/plugins/spectre/skills/scope/SKILL.md +174 -0
- package/plugins/spectre/{commands/ship.md → skills/ship/SKILL.md} +9 -0
- package/plugins/spectre/{commands/sweep.md → skills/sweep/SKILL.md} +9 -0
- package/plugins/spectre/skills/tdd/SKILL.md +111 -0
- package/plugins/spectre/{commands/test.md → skills/test/SKILL.md} +9 -0
- package/plugins/spectre/skills/ux/SKILL.md +121 -0
- package/plugins/spectre/{commands/validate.md → skills/validate/SKILL.md} +9 -0
- package/plugins/spectre-codex/agents/analyst.toml +117 -0
- package/plugins/spectre-codex/agents/dev.toml +65 -0
- package/plugins/spectre-codex/agents/finder.toml +101 -0
- package/plugins/spectre-codex/agents/patterns.toml +203 -0
- package/plugins/spectre-codex/agents/reviewer.toml +123 -0
- package/plugins/spectre-codex/agents/sync.toml +146 -0
- package/plugins/spectre-codex/agents/tester.toml +205 -0
- package/plugins/spectre-codex/agents/web-research.toml +104 -0
- package/plugins/spectre-codex/hooks/hooks.json +23 -0
- package/plugins/{spectre/hooks/scripts/bootstrap.cjs → spectre-codex/hooks/scripts/bootstrap.mjs} +15 -16
- package/plugins/{spectre/hooks/scripts/handoff-resume.cjs → spectre-codex/hooks/scripts/handoff-resume.mjs} +21 -27
- package/plugins/{spectre/hooks/scripts/lib.cjs → spectre-codex/hooks/scripts/lib.mjs} +3 -4
- package/plugins/spectre-codex/hooks/scripts/load-knowledge.mjs +189 -0
- package/plugins/spectre-codex/hooks/scripts/register_learning.mjs +264 -0
- package/plugins/spectre-codex/skills/apply/SKILL.md +87 -0
- package/plugins/spectre-codex/skills/architecture_review/SKILL.md +129 -0
- package/plugins/spectre-codex/skills/clean/SKILL.md +322 -0
- package/plugins/spectre-codex/skills/code_review/SKILL.md +417 -0
- package/plugins/spectre-codex/skills/create_plan/SKILL.md +126 -0
- package/plugins/spectre-codex/skills/create_tasks/SKILL.md +383 -0
- package/plugins/spectre-codex/skills/create_test_guide/SKILL.md +129 -0
- package/plugins/spectre-codex/skills/evaluate/SKILL.md +59 -0
- package/plugins/spectre-codex/skills/execute/SKILL.md +96 -0
- package/plugins/spectre-codex/skills/fix/SKILL.md +70 -0
- package/plugins/spectre-codex/skills/forget/SKILL.md +67 -0
- package/plugins/spectre-codex/skills/guide/SKILL.md +359 -0
- package/plugins/spectre-codex/skills/handoff/SKILL.md +170 -0
- package/plugins/spectre-codex/skills/kickoff/SKILL.md +124 -0
- package/plugins/spectre-codex/skills/learn/SKILL.md +595 -0
- package/plugins/{spectre/skills/spectre-learn → spectre-codex/skills/learn}/references/recall-template.md +4 -1
- package/plugins/spectre-codex/skills/plan/SKILL.md +211 -0
- package/plugins/spectre-codex/skills/plan_review/SKILL.md +42 -0
- package/plugins/spectre-codex/skills/prototype/SKILL.md +314 -0
- package/plugins/spectre-codex/skills/quick_dev/SKILL.md +110 -0
- package/plugins/spectre-codex/skills/rebase/SKILL.md +82 -0
- package/plugins/spectre-codex/skills/recall/SKILL.md +17 -0
- package/plugins/spectre-codex/skills/research/SKILL.md +168 -0
- package/plugins/spectre-codex/skills/scope/SKILL.md +174 -0
- package/plugins/spectre-codex/skills/ship/SKILL.md +181 -0
- package/plugins/spectre-codex/skills/sweep/SKILL.md +91 -0
- package/plugins/{spectre/skills/spectre-tdd → spectre-codex/skills/tdd}/SKILL.md +1 -1
- package/plugins/spectre-codex/skills/test/SKILL.md +389 -0
- package/plugins/spectre-codex/skills/ux/SKILL.md +121 -0
- package/plugins/spectre-codex/skills/validate/SKILL.md +352 -0
- package/src/config.test.js +6 -5
- package/src/install.test.js +100 -11
- package/src/lib/config.js +107 -54
- package/src/lib/constants.js +17 -23
- package/src/lib/doctor.js +19 -22
- package/src/lib/install.js +98 -313
- package/src/lib/knowledge.js +7 -37
- package/src/lib/paths.js +0 -12
- package/src/pack.test.js +87 -0
- package/plugins/spectre/commands/learn.md +0 -15
- package/plugins/spectre/commands/recall.md +0 -5
- package/plugins/spectre/commands/scope.md +0 -119
- package/plugins/spectre/commands/ux_spec.md +0 -91
- package/plugins/spectre/hooks/scripts/load-knowledge.cjs +0 -120
- package/plugins/spectre/hooks/scripts/precompact-warning.cjs +0 -19
- package/plugins/spectre/hooks/scripts/register_learning.cjs +0 -144
- package/plugins/spectre/hooks/scripts/test_register-learning.cjs +0 -146
- package/plugins/spectre/skills/spectre-apply/SKILL.md +0 -189
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: create_plan
|
|
2
3
|
description: 👻 | Create implementation plan from PRD - primary agent
|
|
4
|
+
user-invocable: true
|
|
3
5
|
---
|
|
6
|
+
|
|
7
|
+
# create_plan
|
|
8
|
+
|
|
9
|
+
## Input Handling
|
|
10
|
+
|
|
11
|
+
Treat the current command arguments as this workflow's input. When invoked from a slash command, use the forwarded `$ARGUMENTS` value.
|
|
12
|
+
|
|
4
13
|
# create_plan: Transform PRD into Technical Implementation Plan
|
|
5
14
|
|
|
6
15
|
## Description
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: create_tasks
|
|
2
3
|
description: 👻 | Transform requirements into executable tasks - primary agent
|
|
4
|
+
user-invocable: true
|
|
3
5
|
---
|
|
4
6
|
|
|
7
|
+
# create_tasks
|
|
8
|
+
|
|
9
|
+
## Input Handling
|
|
10
|
+
|
|
11
|
+
Treat the current command arguments as this workflow's input. When invoked from a slash command, use the forwarded `$ARGUMENTS` value.
|
|
12
|
+
|
|
13
|
+
|
|
5
14
|
# create_tasks: Unified Task Breakdown
|
|
6
15
|
|
|
7
16
|
## Description
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: create_test_guide
|
|
2
3
|
description: 👻 | Generate right-sized manual test guides - primary agent
|
|
4
|
+
user-invocable: true
|
|
3
5
|
---
|
|
4
6
|
|
|
7
|
+
# create_test_guide
|
|
8
|
+
|
|
9
|
+
## Input Handling
|
|
10
|
+
|
|
11
|
+
Treat the current command arguments as this workflow's input. When invoked from a slash command, use the forwarded `$ARGUMENTS` value.
|
|
12
|
+
|
|
13
|
+
|
|
5
14
|
# create_test_guide: Right-sized manual testing documentation
|
|
6
15
|
|
|
7
16
|
### Description
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: evaluate
|
|
2
3
|
description: "\ud83d\udc7b | Architecture review + knowledge capture"
|
|
4
|
+
user-invocable: true
|
|
3
5
|
---
|
|
4
6
|
|
|
7
|
+
# evaluate
|
|
8
|
+
|
|
9
|
+
## Input Handling
|
|
10
|
+
|
|
11
|
+
Treat the current command arguments as this workflow's input. When invoked from a slash command, use the forwarded `$ARGUMENTS` value.
|
|
12
|
+
|
|
13
|
+
|
|
5
14
|
# evaluate: Review architecture and capture learnings
|
|
6
15
|
|
|
7
16
|
## Description
|
|
@@ -18,7 +27,7 @@ $ARGUMENTS
|
|
|
18
27
|
|
|
19
28
|
This command runs two activities in parallel:
|
|
20
29
|
|
|
21
|
-
1. **Architecture Review** — dispatched as a background Opus 4.6 subagent via `/spectre:architecture_review`
|
|
30
|
+
1. **Architecture Review** — dispatched as a background Opus 4.6 subagent via `Skill(architecture_review)` (Claude slash route: `/spectre:architecture_review`)
|
|
22
31
|
2. **Learn** — run directly by loading the `spectre-learn` skill
|
|
23
32
|
|
|
24
33
|
## Step (1/2) - Dispatch Architecture Review
|
|
@@ -35,7 +44,7 @@ This command runs two activities in parallel:
|
|
|
35
44
|
## Step (2/2) - Capture Learnings
|
|
36
45
|
|
|
37
46
|
- **Action** — Learn: Load the spectre-learn skill and follow its workflow
|
|
38
|
-
- Load skill: `Skill(
|
|
47
|
+
- Load skill: `Skill(learn)`
|
|
39
48
|
- **If** ARGUMENTS is provided: use it as the learning topic
|
|
40
49
|
- **If** ARGUMENTS is empty: the skill will analyze recent conversation to identify what's worth capturing
|
|
41
50
|
- Follow the full learning workflow from the skill (categorize, propose, write, register)
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: execute
|
|
2
3
|
description: 👻 | Adaptive Wave-Based Build -> Code_Review -> Validate Flow
|
|
4
|
+
user-invocable: true
|
|
3
5
|
---
|
|
4
6
|
|
|
7
|
+
# execute
|
|
8
|
+
|
|
9
|
+
## Input Handling
|
|
10
|
+
|
|
11
|
+
Treat the current command arguments as this workflow's input. When invoked from a slash command, use the forwarded `$ARGUMENTS` value.
|
|
12
|
+
|
|
13
|
+
|
|
5
14
|
# execute: Adaptive Task Execution with Quality Gates
|
|
6
15
|
|
|
7
16
|
Execute tasks in parallel waves with full scope context, adapt based on learnings, code review loop, validate requirements. Outcome: complete implementation with verified quality and E2E requirement coverage.
|
|
@@ -60,7 +69,7 @@ $ARGUMENTS
|
|
|
60
69
|
|
|
61
70
|
- **Action** — ExecutedeveviewLoop: Until no critical/high feedback:
|
|
62
71
|
|
|
63
|
-
1. **Spawn Review**: @dev subagent runs `/spectre:code_review`
|
|
72
|
+
1. **Spawn Review**: @dev subagent runs `Skill(code_review)` (Claude slash route: `/spectre:code_review`)
|
|
64
73
|
2. **Analyze**: Identify critical/high items
|
|
65
74
|
- **If** none → exit loop
|
|
66
75
|
3. **Address**: Parallel @dev subagents fix feedback
|
|
@@ -68,12 +77,12 @@ $ARGUMENTS
|
|
|
68
77
|
|
|
69
78
|
## Step 3 - Validate Requirements
|
|
70
79
|
|
|
71
|
-
- **Action** — SpawnValidation: @reviewer runs `/spectre:validate` with task list
|
|
80
|
+
- **Action** — SpawnValidation: @reviewer runs `Skill(validate)` (Claude slash route: `/spectre:validate`) with task list
|
|
72
81
|
- **Action** — AddressGaps: If high priority gaps → dispatch @dev subagents to fix
|
|
73
82
|
|
|
74
83
|
## Step 4 - Prepare for QA
|
|
75
84
|
|
|
76
|
-
- **Action** — GenerateTestGuide: @dev runs `/spectre:create_test_guide`
|
|
85
|
+
- **Action** — GenerateTestGuide: @dev runs `Skill(create_test_guide)` (Claude slash route: `/spectre:create_test_guide`)
|
|
77
86
|
- Save to `{OUT_DIR}/test_guide.md`
|
|
78
87
|
|
|
79
88
|
## Step 5 - Report
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: fix
|
|
2
3
|
description: Investigate bugs & implement fixes - primary agent
|
|
4
|
+
user-invocable: true
|
|
3
5
|
---
|
|
6
|
+
|
|
7
|
+
# fix
|
|
8
|
+
|
|
9
|
+
## Input Handling
|
|
10
|
+
|
|
11
|
+
Treat the current command arguments as this workflow's input. When invoked from a slash command, use the forwarded `$ARGUMENTS` value.
|
|
12
|
+
|
|
4
13
|
# fix: Analyze bug and recommend fix
|
|
5
14
|
|
|
6
15
|
## Description
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: forget
|
|
2
3
|
description: Clear session memory - archive all session files so next session starts fresh
|
|
4
|
+
user-invocable: true
|
|
3
5
|
---
|
|
4
6
|
|
|
7
|
+
# forget
|
|
8
|
+
|
|
9
|
+
## Input Handling
|
|
10
|
+
|
|
11
|
+
Treat the current command arguments as this workflow's input. When invoked from a slash command, use the forwarded `$ARGUMENTS` value.
|
|
12
|
+
|
|
13
|
+
|
|
5
14
|
# forget: Clear Session Memory
|
|
6
15
|
|
|
7
16
|
## Description
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: guide
|
|
3
3
|
description: Use when rendering the Next Steps footer after any spectre command, suggesting next actions, or when users need guidance on which SPECTRE command to run.
|
|
4
|
+
user-invocable: false
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
# SPECTRE Guide
|
|
@@ -93,7 +94,7 @@ This is how the creator of SPECTRE uses it daily:
|
|
|
93
94
|
### Building a Feature (the main loop)
|
|
94
95
|
|
|
95
96
|
1. **`/spectre:scope`** — Get crisp on what's in/out. Non-negotiable unless it's a one-liner.
|
|
96
|
-
- If UX is unclear: run `/spectre:
|
|
97
|
+
- If UX is unclear: run `/spectre:ux` first for user flows and components
|
|
97
98
|
|
|
98
99
|
2. **`/spectre:plan`** — Build a well-researched technical design or task set
|
|
99
100
|
- Once you have scope/plan/tasks, run `/spectre:handoff` for a fresh context window
|
|
@@ -146,7 +147,7 @@ Brain dump context, walk away, review the PR. Zero confirmation gates — scope,
|
|
|
146
147
|
| `/spectre:scope` | Starting any new feature — interactive scoping with IN/OUT boundaries |
|
|
147
148
|
| `/spectre:kickoff` | High-ambiguity projects — includes web research for best practices |
|
|
148
149
|
| `/spectre:research` | Need deep codebase understanding before planning |
|
|
149
|
-
| `/spectre:
|
|
150
|
+
| `/spectre:ux` | UI-heavy features that need screen layouts, user flows, component states |
|
|
150
151
|
|
|
151
152
|
### Phase: Plan — Research & Task Breakdown
|
|
152
153
|
|
|
@@ -212,7 +213,7 @@ Brain dump context, walk away, review the PR. Zero confirmation gates — scope,
|
|
|
212
213
|
-> `/spectre:scope` (always start here unless it's trivial)
|
|
213
214
|
|
|
214
215
|
**Feature has complex UI?**
|
|
215
|
-
-> `/spectre:
|
|
216
|
+
-> `/spectre:ux` after scope, before plan
|
|
216
217
|
|
|
217
218
|
**High ambiguity / new project?**
|
|
218
219
|
-> `/spectre:kickoff` (includes web research)
|
|
@@ -282,7 +283,7 @@ SPECTRE generates these documents in `docs/tasks/{branch_name}/`:
|
|
|
282
283
|
| Document | Generated By | Purpose |
|
|
283
284
|
|----------|-------------|---------|
|
|
284
285
|
| `concepts/scope.md` | `/spectre:scope` | What's IN and OUT |
|
|
285
|
-
| `specs/ux.md` | `/spectre:
|
|
286
|
+
| `specs/ux.md` | `/spectre:ux` | User flows, components, interactions |
|
|
286
287
|
| `specs/plan.md` | `/spectre:create_plan` | Technical design and phasing |
|
|
287
288
|
| `specs/tasks.md` | `/spectre:create_tasks` | Concrete tasks with acceptance criteria |
|
|
288
289
|
| `reviews/code_review.md` | `/spectre:code_review` | Severity-based code review findings |
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: handoff
|
|
2
3
|
description: Save state snapshot to session_logs for session resume
|
|
4
|
+
user-invocable: true
|
|
3
5
|
---
|
|
4
6
|
|
|
7
|
+
# handoff
|
|
8
|
+
|
|
9
|
+
## Input Handling
|
|
10
|
+
|
|
11
|
+
Treat the current command arguments as this workflow's input. When invoked from a slash command, use the forwarded `$ARGUMENTS` value.
|
|
12
|
+
|
|
13
|
+
|
|
5
14
|
# handoff: Fast Session State Snapshot
|
|
6
15
|
|
|
7
16
|
Generate progress update, gather context, output structured JSON for session resume. Output: `{timestamp}_handoff.json` in session_logs.
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: kickoff
|
|
2
3
|
description: 👻 | Project kickoff with deep research & MVP pathfinding - primary agent
|
|
4
|
+
user-invocable: true
|
|
3
5
|
---
|
|
4
6
|
|
|
7
|
+
# kickoff
|
|
8
|
+
|
|
9
|
+
## Input Handling
|
|
10
|
+
|
|
11
|
+
Treat the current command arguments as this workflow's input. When invoked from a slash command, use the forwarded `$ARGUMENTS` value.
|
|
12
|
+
|
|
13
|
+
|
|
5
14
|
# kickoff: Deep Codebase Research + MVP Path Discovery
|
|
6
15
|
|
|
7
16
|
Comprehensive codebase research, external best practices, and MVP implementation path with file:line evidence. Output: kickoff document with architecture insights, gap analysis, and implementation options saved to `docs/tasks/{task_name}/kickoff/`.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: learn
|
|
3
3
|
description: Use when user invokes /learn or wants to save patterns, decisions, gotchas, procedures, or feature knowledge from a conversation for later re-use. Look for user requests like "please remember" or "what did we learn from this?".
|
|
4
|
+
user-invocable: true
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
# Learning Agent
|
|
@@ -10,7 +11,7 @@ You capture durable project knowledge into Skills that Claude Code loads on-dema
|
|
|
10
11
|
<CRITICAL>
|
|
11
12
|
## Exclusive Knowledge Handler
|
|
12
13
|
|
|
13
|
-
When this skill is invoked (via `/learn`, `/spectre:learn`, or `Skill(
|
|
14
|
+
When this skill is invoked (via `/learn`, `/spectre:learn`, or `Skill(learn)`), it is the **exclusive handler** for knowledge capture. It supersedes ALL other memory systems.
|
|
14
15
|
|
|
15
16
|
**Do NOT**:
|
|
16
17
|
- Write to `MEMORY.md` or any auto-memory directory
|
|
@@ -128,6 +129,8 @@ Format: `{skill-name}|{category}|{triggers}|{description}` (one learning per lin
|
|
|
128
129
|
|
|
129
130
|
Example: `feature-spectre-plugin|feature|spectre, /learn, /recall|Use when modifying spectre plugin or debugging hooks`
|
|
130
131
|
|
|
132
|
+
Triggers are also embedded in each skill's frontmatter `description` field as a `TRIGGER when:` line. This makes triggers visible in the session skill list without needing to read the registry file. The `register_learning.cjs` script handles this automatically during registration.
|
|
133
|
+
|
|
131
134
|
## Workflow
|
|
132
135
|
|
|
133
136
|
### 1. Parse Input
|
|
@@ -513,8 +516,8 @@ Always show FULL proposed content, not summaries. The user needs to see exactly
|
|
|
513
516
|
```markdown
|
|
514
517
|
---
|
|
515
518
|
name: {skill-name}
|
|
516
|
-
description: Use when {triggering conditions - MUST start with "Use when"}
|
|
517
|
-
user-invocable:
|
|
519
|
+
description: Use when {triggering conditions - MUST start with "Use when"} TRIGGER when: {comma-separated trigger keywords}
|
|
520
|
+
user-invocable: true
|
|
518
521
|
---
|
|
519
522
|
|
|
520
523
|
# {Title}
|
|
@@ -553,7 +556,7 @@ user-invocable: false
|
|
|
553
556
|
|
|
554
557
|
### 13. Register the Learning
|
|
555
558
|
|
|
556
|
-
|
|
559
|
+
Run `spectre-register` (on PATH via the plugin bin/ directory) to update the registry, regenerate the recall skill, and inject `TRIGGER when:` into all skill frontmatter descriptions.
|
|
557
560
|
|
|
558
561
|
<CRITICAL>
|
|
559
562
|
**Registry description format:**
|
|
@@ -570,62 +573,19 @@ The description is used to MATCH knowledge to tasks. It must describe WHEN to us
|
|
|
570
573
|
**Bad**: `"Authentication system overview"` (too vague, no triggering conditions)
|
|
571
574
|
</CRITICAL>
|
|
572
575
|
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
576
|
+
```bash
|
|
577
|
+
spectre-register \
|
|
578
|
+
--project-root "{{project_root}}" \
|
|
579
|
+
--skill-name "{skill-name}" \
|
|
580
|
+
--category "{category}" \
|
|
581
|
+
--triggers "{triggers}" \
|
|
582
|
+
--description "{description}"
|
|
579
583
|
```
|
|
580
|
-
# SPECTRE Knowledge Registry
|
|
581
|
-
# Format: skill-name|category|triggers|description
|
|
582
|
-
|
|
583
|
-
{skill-name}|{category}|{triggers}|{description}
|
|
584
|
-
```
|
|
585
|
-
|
|
586
|
-
- If the skill-name already exists on a line, **replace** that line with the updated entry
|
|
587
|
-
- If it's new, **append** the entry
|
|
588
|
-
- Preserve existing entries and comments
|
|
589
|
-
|
|
590
|
-
#### 13b. Regenerate the Recall Skill
|
|
591
|
-
|
|
592
|
-
**Path**: `{{project_root}}/.claude/skills/spectre-recall/SKILL.md`
|
|
593
|
-
|
|
594
|
-
Read the full registry content from `registry.toon`, then write the recall skill with this exact structure:
|
|
595
|
-
|
|
596
|
-
```markdown
|
|
597
|
-
---
|
|
598
|
-
name: spectre-recall
|
|
599
|
-
description: Use when user wants to search for existing knowledge, recall a specific learning, or discover what knowledge is available.
|
|
600
|
-
---
|
|
601
584
|
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
## Registry
|
|
607
|
-
|
|
608
|
-
{full registry content here}
|
|
609
|
-
|
|
610
|
-
## How to Use
|
|
611
|
-
|
|
612
|
-
1. **Scan registry above** — match triggers/description against your current task
|
|
613
|
-
2. **Load matching skills**: `Skill({skill-name})`
|
|
614
|
-
3. **Apply knowledge** — use it to guide your approach
|
|
615
|
-
|
|
616
|
-
## Search Commands
|
|
617
|
-
|
|
618
|
-
- `/recall {query}` — search registry for matches
|
|
619
|
-
- `/recall` — show all available knowledge by category
|
|
620
|
-
|
|
621
|
-
## Workflow
|
|
622
|
-
|
|
623
|
-
**Single match** → Load automatically via `Skill({skill-name})`
|
|
624
|
-
|
|
625
|
-
**Multiple matches** → List options, ask user which to load
|
|
626
|
-
|
|
627
|
-
**No matches** → Suggest `/learn` to capture new knowledge
|
|
628
|
-
```
|
|
585
|
+
This single command handles:
|
|
586
|
+
- Creating/updating the registry entry in `registry.toon`
|
|
587
|
+
- Regenerating the `spectre-recall/SKILL.md` skill
|
|
588
|
+
- Injecting `TRIGGER when:` lines into ALL registered skills' frontmatter descriptions (so triggers are visible in the session skill list without reading the registry)
|
|
629
589
|
|
|
630
590
|
### 14. Confirm
|
|
631
591
|
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spectre-recall
|
|
3
|
+
description: Use when user wants to search for existing knowledge, recall a specific learning, or discover what knowledge is available.
|
|
4
|
+
user-invocable: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Recall Knowledge
|
|
8
|
+
|
|
9
|
+
Search and load relevant knowledge from the project's spectre learnings into your context.
|
|
10
|
+
|
|
11
|
+
## Registry
|
|
12
|
+
|
|
13
|
+
{{REGISTRY}}
|
|
14
|
+
|
|
15
|
+
## How to Use
|
|
16
|
+
|
|
17
|
+
1. **Scan available skills** in your context — trigger keywords are visible in each skill's description
|
|
18
|
+
2. **Load matching skills**: `Skill({skill-name})`
|
|
19
|
+
3. **Apply knowledge** — use it to guide your approach
|
|
20
|
+
|
|
21
|
+
The registry above is a fallback reference. For session-start discovery, triggers are embedded in each skill's frontmatter description.
|
|
22
|
+
|
|
23
|
+
## Search Commands
|
|
24
|
+
|
|
25
|
+
- `/recall {query}` — search registry for matches
|
|
26
|
+
- `/recall` — show all available knowledge by category
|
|
27
|
+
|
|
28
|
+
## Workflow
|
|
29
|
+
|
|
30
|
+
**Single match** → Load automatically via `Skill({skill-name})`
|
|
31
|
+
|
|
32
|
+
**Multiple matches** → List options, ask user which to load
|
|
33
|
+
|
|
34
|
+
**No matches** → Suggest `/learn` to capture new knowledge
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: plan
|
|
2
3
|
description: 👻 | Unified planning entry point - researches, assesses complexity, routes to workflow - primary agent
|
|
4
|
+
user-invocable: true
|
|
3
5
|
---
|
|
6
|
+
|
|
7
|
+
# plan
|
|
8
|
+
|
|
9
|
+
## Input Handling
|
|
10
|
+
|
|
11
|
+
Treat the current command arguments as this workflow's input. When invoked from a slash command, use the forwarded `$ARGUMENTS` value.
|
|
12
|
+
|
|
4
13
|
# plan: Intelligent Planning Router
|
|
5
14
|
|
|
6
15
|
## Description
|
|
@@ -14,7 +23,7 @@ description: 👻 | Unified planning entry point - researches, assesses complexi
|
|
|
14
23
|
|
|
15
24
|
## MANDATORY COMPLIANCE RULES
|
|
16
25
|
|
|
17
|
-
> **⚠️ NON-NEGOTIABLE**: This workflow MUST invoke
|
|
26
|
+
> **⚠️ NON-NEGOTIABLE**: This workflow MUST invoke nested workflows via the Skill tool. Failure to invoke `Skill(create_plan)` and `Skill(create_tasks)` (Claude slash route: `/spectre:create_plan` and `/spectre:create_tasks`) is a critical error. Do NOT summarize, describe, or skip these workflows. INVOKE THEM.
|
|
18
27
|
|
|
19
28
|
**After ANY user conversation or questions:**
|
|
20
29
|
|
|
@@ -24,8 +33,8 @@ description: 👻 | Unified planning entry point - researches, assesses complexi
|
|
|
24
33
|
|
|
25
34
|
**You MUST call these skills (not describe them):**
|
|
26
35
|
|
|
27
|
-
- Use the **Skill** tool with `skill: "spectre
|
|
28
|
-
- Use the **Skill** tool with `skill: "spectre
|
|
36
|
+
- Use the **Skill** tool with `skill: "spectre-create_plan"` and `args: "{path} --depth {tier}"` — generates plan.md
|
|
37
|
+
- Use the **Skill** tool with `skill: "spectre-create_tasks"` and `args: "{path}"` — generates tasks.md
|
|
29
38
|
|
|
30
39
|
## Instructions
|
|
31
40
|
|
|
@@ -71,16 +80,7 @@ description: 👻 | Unified planning entry point - researches, assesses complexi
|
|
|
71
80
|
|
|
72
81
|
- **Action** — SaveResearch: Merge all findings (existing artifacts + new agent results) into `{OUT_DIR}/task_context.md` with sections: Architecture Patterns, Dependencies, Implementation Approaches, Impact Summary, and External Research (best practices, recommended libraries/frameworks, prior art, common pitfalls)
|
|
73
82
|
|
|
74
|
-
## Step 2 -
|
|
75
|
-
|
|
76
|
-
- **Action** — PresentOptions: 2-4 strategies (simplest to most robust)
|
|
77
|
-
- Each: core approach, trade-offs, when it makes sense
|
|
78
|
-
- **Wait** — User selects strategy
|
|
79
|
-
- **Action** — UpdateContext: Document selection in task_context.md
|
|
80
|
-
|
|
81
|
-
> **CHECKPOINT**: After architecture discussion, proceed IMMEDIATELY to Step 3. Do NOT end turn without continuing the workflow.
|
|
82
|
-
|
|
83
|
-
## Step 3 - Assess Complexity
|
|
83
|
+
## Step 2 - Assess Complexity
|
|
84
84
|
|
|
85
85
|
Use research findings from Step 1 to determine appropriate planning depth.
|
|
86
86
|
|
|
@@ -103,9 +103,50 @@ Use research findings from Step 1 to determine appropriate planning depth.
|
|
|
103
103
|
- **STANDARD**: Mix of Low/Med signals, multi-file but contained scope, no hard-stops
|
|
104
104
|
- **COMPREHENSIVE**: Any High signal, multiple Med signals, or any hard-stop triggered
|
|
105
105
|
|
|
106
|
-
- **Action** — LogTier: Note the assessed tier in your response for transparency, then proceed immediately to
|
|
106
|
+
- **Action** — LogTier: Note the assessed tier in your response for transparency, then proceed immediately to the next step. Do NOT ask for confirmation.
|
|
107
|
+
|
|
108
|
+
> **CHECKPOINT**: After determining tier, proceed IMMEDIATELY to the next step — Step 3 (High-Level Design) for STANDARD/COMPREHENSIVE, or Step 4 (Route) for LIGHT. Do NOT end turn here. Do NOT ask user to confirm the tier.
|
|
109
|
+
|
|
110
|
+
## Step 3 - High-Level Design
|
|
111
|
+
|
|
112
|
+
**SKIP IF LIGHT** — proceed directly to Step 4.
|
|
113
|
+
|
|
114
|
+
Goal: align on the *shape* of the solution before generating a full plan. This catches misalignments early and gives the user a chance to redirect before reading a long plan doc.
|
|
115
|
+
|
|
116
|
+
- **Action** — PresentDesign: Synthesize research from Step 1 into a single proposed approach with open questions. Present inline (do not write a separate design file).
|
|
117
|
+
|
|
118
|
+
**Format**:
|
|
119
|
+
|
|
120
|
+
> Here's the high-level design I'd take. Scan the shape, then resolve any open questions or push back on the approach.
|
|
121
|
+
>
|
|
122
|
+
> **Approach**: [1-2 paragraph summary of the solution shape — what changes structurally, not file-by-file]
|
|
123
|
+
>
|
|
124
|
+
> **Key components touched**:
|
|
125
|
+
> - `path/file.ts` — [what shifts and why]
|
|
126
|
+
> - `path/other.ts` — [what shifts and why]
|
|
127
|
+
>
|
|
128
|
+
> **Key decisions**:
|
|
129
|
+
> - [decision] — [rationale; alternative considered]
|
|
130
|
+
> - [decision] — [rationale; alternative considered]
|
|
131
|
+
>
|
|
132
|
+
> **Open questions** (with default assumption):
|
|
133
|
+
> 1. [question] — *default: [assumption]*
|
|
134
|
+
> 2. [question] — *default: [assumption]*
|
|
135
|
+
>
|
|
136
|
+
> Reply with answers, edits to the approach, or 'looks good' to continue.
|
|
137
|
+
|
|
138
|
+
**CRITICAL**:
|
|
139
|
+
- **Single proposed approach**, not a menu. If a true fork exists, surface it as an open question with your recommendation — not as parallel options.
|
|
140
|
+
- Stay at the *shape* level: components, key decisions, structural changes. Defer file-by-file detail to `create_plan`.
|
|
141
|
+
- Open questions should be specific and answerable; pair each with a default assumption so the user can skip if the default is fine.
|
|
142
|
+
|
|
143
|
+
- **Action** — IterateDesign: If the user replies with answers, edits, or pushback, update the design and re-present. Loop until user says 'looks good' (or equivalent).
|
|
144
|
+
|
|
145
|
+
- **Wait** — User signals alignment.
|
|
146
|
+
|
|
147
|
+
- **Action** — PersistDesign: Append a "Selected Design" section to `{OUT_DIR}/task_context.md` capturing the agreed approach, key decisions, and resolved questions. This is what `create_plan` consumes.
|
|
107
148
|
|
|
108
|
-
> **CHECKPOINT**: After
|
|
149
|
+
> **CHECKPOINT**: After alignment, proceed IMMEDIATELY to Step 4. The ONLY valid next action is invoking a Skill.
|
|
109
150
|
|
|
110
151
|
## Step 4 - Route to Workflow
|
|
111
152
|
|
|
@@ -119,8 +160,8 @@ Use research findings from Step 1 to determine appropriate planning depth.
|
|
|
119
160
|
│ ❌ WRONG: "The next step would be to run /spectre:create_plan" │
|
|
120
161
|
│ ❌ WRONG: Ending turn without invoking Skill tool │
|
|
121
162
|
│ │
|
|
122
|
-
│ ✅ CORRECT: Skill tool with skill: "spectre
|
|
123
|
-
│ ✅ CORRECT: Skill tool with skill: "spectre
|
|
163
|
+
│ ✅ CORRECT: Skill tool with skill: "spectre-create_plan", args: "..." │
|
|
164
|
+
│ ✅ CORRECT: Skill tool with skill: "spectre-create_tasks", args: "..."│
|
|
124
165
|
└────────────────────────────────────────────────────────────────────────┘
|
|
125
166
|
```
|
|
126
167
|
|
|
@@ -134,8 +175,8 @@ Use research findings from Step 1 to determine appropriate planning depth.
|
|
|
134
175
|
|
|
135
176
|
**YOU MUST:**
|
|
136
177
|
|
|
137
|
-
- Use the Skill tool: `skill: "spectre
|
|
138
|
-
- Use the Skill tool: `skill: "spectre
|
|
178
|
+
- Use the Skill tool: `skill: "spectre-create_plan"`, `args: "{OUT_DIR}/task_context.md --depth {tier}"`
|
|
179
|
+
- Use the Skill tool: `skill: "spectre-create_tasks"`, `args: "{OUT_DIR}/task_context.md"`
|
|
139
180
|
|
|
140
181
|
---
|
|
141
182
|
|
|
@@ -143,28 +184,28 @@ Use research findings from Step 1 to determine appropriate planning depth.
|
|
|
143
184
|
|
|
144
185
|
- **If LIGHT**:
|
|
145
186
|
|
|
146
|
-
- **INVOKE NOW** → Skill tool with `skill: "spectre
|
|
187
|
+
- **INVOKE NOW** → Skill tool with `skill: "spectre-create_tasks"`, `args: "{OUT_DIR}/task_context.md --depth light"`
|
|
147
188
|
- **Wait** — Returns task breakdown with brief implementation approach
|
|
148
189
|
- Skip to footer
|
|
149
190
|
|
|
150
191
|
- **ElseIf STANDARD**:
|
|
151
192
|
|
|
152
|
-
- **INVOKE NOW** → Skill tool with `skill: "spectre
|
|
193
|
+
- **INVOKE NOW** → Skill tool with `skill: "spectre-create_plan"`, `args: "{OUT_DIR}/task_context.md --depth standard"`
|
|
153
194
|
- **Wait** — Returns focused plan (Overview, Approach, Out of Scope)
|
|
154
195
|
- **Action** — PromptUser: "Review plan. Reply 'Approved' or provide feedback."
|
|
155
196
|
- **Wait** — User approval
|
|
156
|
-
- **INVOKE NOW** → Skill tool with `skill: "spectre
|
|
197
|
+
- **INVOKE NOW** → Skill tool with `skill: "spectre-create_tasks"`, `args: "{OUT_DIR}/task_context.md"`
|
|
157
198
|
- **Wait** — Returns task breakdown
|
|
158
199
|
|
|
159
200
|
- **ElseIf COMPREHENSIVE**:
|
|
160
201
|
|
|
161
|
-
- **INVOKE NOW** → Skill tool with `skill: "spectre
|
|
202
|
+
- **INVOKE NOW** → Skill tool with `skill: "spectre-create_plan"`, `args: "{OUT_DIR}/task_context.md --depth comprehensive"`
|
|
162
203
|
- **Wait** — Returns full plan (all sections: Architecture, Phases, API Design, Testing Strategy, etc.)
|
|
163
204
|
- **Action** — PromptUser: "Review plan. Reply 'Approved' or provide feedback."
|
|
164
205
|
- **Wait** — User approval
|
|
165
|
-
- **INVOKE NOW** → Skill tool with `skill: "spectre
|
|
206
|
+
- **INVOKE NOW** → Skill tool with `skill: "spectre-create_tasks"`, `args: "{OUT_DIR}/task_context.md"`
|
|
166
207
|
- **Wait** — Returns task breakdown
|
|
167
208
|
|
|
168
209
|
---
|
|
169
210
|
|
|
170
|
-
- **Action** — RenderFooter: Use `@skill-spectre:spectre-guide` skill for Next Steps
|
|
211
|
+
- **Action** — RenderFooter: Use `@skill-spectre:spectre-guide` skill for Next Steps
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: plan_review
|
|
2
3
|
description: 👻 | Find simplifications in a plan or tasks
|
|
4
|
+
user-invocable: true
|
|
3
5
|
---
|
|
4
6
|
|
|
7
|
+
# plan_review
|
|
8
|
+
|
|
9
|
+
## Input Handling
|
|
10
|
+
|
|
11
|
+
Treat the current command arguments as this workflow's input. When invoked from a slash command, use the forwarded `$ARGUMENTS` value.
|
|
12
|
+
|
|
13
|
+
|
|
5
14
|
You are a senior staff engineer with deep expertise in system design, architecture, and pragmatic problem-solving. Your specialty is finding the simplest path to meet all requirements.
|
|
6
15
|
|
|
7
16
|
Review the following [plan/document/tasks/context] and identify opportunities to simplify while ensuring all requirements and functionality are delivered.
|