@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.
Files changed (106) hide show
  1. package/README.md +6 -7
  2. package/package.json +3 -2
  3. package/plugins/spectre/.claude-plugin/plugin.json +1 -1
  4. package/plugins/spectre/bin/spectre-register +5 -0
  5. package/plugins/spectre/hooks/hooks.json +3 -14
  6. package/plugins/spectre/hooks/scripts/bootstrap.mjs +98 -0
  7. package/plugins/spectre/hooks/scripts/handoff-resume.mjs +404 -0
  8. package/plugins/spectre/hooks/scripts/lib.mjs +82 -0
  9. package/plugins/spectre/hooks/scripts/load-knowledge.mjs +189 -0
  10. package/plugins/spectre/hooks/scripts/register_learning.mjs +264 -0
  11. package/plugins/spectre/hooks/scripts/{test_bootstrap.cjs → test_bootstrap.mjs} +12 -7
  12. package/plugins/spectre/hooks/scripts/{test_handoff-resume.cjs → test_handoff-resume.mjs} +13 -11
  13. package/plugins/spectre/hooks/scripts/{test_load-knowledge.cjs → test_load-knowledge.mjs} +103 -22
  14. package/plugins/spectre/hooks/scripts/test_register-learning.mjs +335 -0
  15. package/plugins/spectre/skills/apply/SKILL.md +87 -0
  16. package/plugins/spectre/{commands/architecture_review.md → skills/architecture_review/SKILL.md} +9 -0
  17. package/plugins/spectre/{commands/clean.md → skills/clean/SKILL.md} +9 -0
  18. package/plugins/spectre/{commands/code_review.md → skills/code_review/SKILL.md} +9 -0
  19. package/plugins/spectre/{commands/create_plan.md → skills/create_plan/SKILL.md} +9 -0
  20. package/plugins/spectre/{commands/create_tasks.md → skills/create_tasks/SKILL.md} +9 -0
  21. package/plugins/spectre/{commands/create_test_guide.md → skills/create_test_guide/SKILL.md} +9 -0
  22. package/plugins/spectre/{commands/evaluate.md → skills/evaluate/SKILL.md} +11 -2
  23. package/plugins/spectre/{commands/execute.md → skills/execute/SKILL.md} +12 -3
  24. package/plugins/spectre/{commands/fix.md → skills/fix/SKILL.md} +9 -0
  25. package/plugins/spectre/{commands/forget.md → skills/forget/SKILL.md} +9 -0
  26. package/plugins/spectre/skills/{spectre-guide → guide}/SKILL.md +6 -5
  27. package/plugins/spectre/{commands/handoff.md → skills/handoff/SKILL.md} +9 -0
  28. package/plugins/spectre/{commands/kickoff.md → skills/kickoff/SKILL.md} +9 -0
  29. package/plugins/spectre/skills/{spectre-learn → learn}/SKILL.md +19 -59
  30. package/plugins/spectre/skills/learn/references/recall-template.md +34 -0
  31. package/plugins/spectre/{commands/plan.md → skills/plan/SKILL.md} +66 -25
  32. package/plugins/spectre/{commands/plan_review.md → skills/plan_review/SKILL.md} +9 -0
  33. package/plugins/spectre/skills/prototype/SKILL.md +314 -0
  34. package/plugins/spectre/{commands/quick_dev.md → skills/quick_dev/SKILL.md} +9 -0
  35. package/plugins/spectre/{commands/rebase.md → skills/rebase/SKILL.md} +9 -0
  36. package/plugins/spectre/skills/recall/SKILL.md +17 -0
  37. package/plugins/spectre/{commands/research.md → skills/research/SKILL.md} +9 -0
  38. package/plugins/spectre/skills/scope/SKILL.md +174 -0
  39. package/plugins/spectre/{commands/ship.md → skills/ship/SKILL.md} +9 -0
  40. package/plugins/spectre/{commands/sweep.md → skills/sweep/SKILL.md} +9 -0
  41. package/plugins/spectre/skills/tdd/SKILL.md +111 -0
  42. package/plugins/spectre/{commands/test.md → skills/test/SKILL.md} +9 -0
  43. package/plugins/spectre/skills/ux/SKILL.md +121 -0
  44. package/plugins/spectre/{commands/validate.md → skills/validate/SKILL.md} +9 -0
  45. package/plugins/spectre-codex/agents/analyst.toml +117 -0
  46. package/plugins/spectre-codex/agents/dev.toml +65 -0
  47. package/plugins/spectre-codex/agents/finder.toml +101 -0
  48. package/plugins/spectre-codex/agents/patterns.toml +203 -0
  49. package/plugins/spectre-codex/agents/reviewer.toml +123 -0
  50. package/plugins/spectre-codex/agents/sync.toml +146 -0
  51. package/plugins/spectre-codex/agents/tester.toml +205 -0
  52. package/plugins/spectre-codex/agents/web-research.toml +104 -0
  53. package/plugins/spectre-codex/hooks/hooks.json +23 -0
  54. package/plugins/{spectre/hooks/scripts/bootstrap.cjs → spectre-codex/hooks/scripts/bootstrap.mjs} +15 -16
  55. package/plugins/{spectre/hooks/scripts/handoff-resume.cjs → spectre-codex/hooks/scripts/handoff-resume.mjs} +21 -27
  56. package/plugins/{spectre/hooks/scripts/lib.cjs → spectre-codex/hooks/scripts/lib.mjs} +3 -4
  57. package/plugins/spectre-codex/hooks/scripts/load-knowledge.mjs +189 -0
  58. package/plugins/spectre-codex/hooks/scripts/register_learning.mjs +264 -0
  59. package/plugins/spectre-codex/skills/apply/SKILL.md +87 -0
  60. package/plugins/spectre-codex/skills/architecture_review/SKILL.md +129 -0
  61. package/plugins/spectre-codex/skills/clean/SKILL.md +322 -0
  62. package/plugins/spectre-codex/skills/code_review/SKILL.md +417 -0
  63. package/plugins/spectre-codex/skills/create_plan/SKILL.md +126 -0
  64. package/plugins/spectre-codex/skills/create_tasks/SKILL.md +383 -0
  65. package/plugins/spectre-codex/skills/create_test_guide/SKILL.md +129 -0
  66. package/plugins/spectre-codex/skills/evaluate/SKILL.md +59 -0
  67. package/plugins/spectre-codex/skills/execute/SKILL.md +96 -0
  68. package/plugins/spectre-codex/skills/fix/SKILL.md +70 -0
  69. package/plugins/spectre-codex/skills/forget/SKILL.md +67 -0
  70. package/plugins/spectre-codex/skills/guide/SKILL.md +359 -0
  71. package/plugins/spectre-codex/skills/handoff/SKILL.md +170 -0
  72. package/plugins/spectre-codex/skills/kickoff/SKILL.md +124 -0
  73. package/plugins/spectre-codex/skills/learn/SKILL.md +595 -0
  74. package/plugins/{spectre/skills/spectre-learn → spectre-codex/skills/learn}/references/recall-template.md +4 -1
  75. package/plugins/spectre-codex/skills/plan/SKILL.md +211 -0
  76. package/plugins/spectre-codex/skills/plan_review/SKILL.md +42 -0
  77. package/plugins/spectre-codex/skills/prototype/SKILL.md +314 -0
  78. package/plugins/spectre-codex/skills/quick_dev/SKILL.md +110 -0
  79. package/plugins/spectre-codex/skills/rebase/SKILL.md +82 -0
  80. package/plugins/spectre-codex/skills/recall/SKILL.md +17 -0
  81. package/plugins/spectre-codex/skills/research/SKILL.md +168 -0
  82. package/plugins/spectre-codex/skills/scope/SKILL.md +174 -0
  83. package/plugins/spectre-codex/skills/ship/SKILL.md +181 -0
  84. package/plugins/spectre-codex/skills/sweep/SKILL.md +91 -0
  85. package/plugins/{spectre/skills/spectre-tdd → spectre-codex/skills/tdd}/SKILL.md +1 -1
  86. package/plugins/spectre-codex/skills/test/SKILL.md +389 -0
  87. package/plugins/spectre-codex/skills/ux/SKILL.md +121 -0
  88. package/plugins/spectre-codex/skills/validate/SKILL.md +352 -0
  89. package/src/config.test.js +6 -5
  90. package/src/install.test.js +100 -11
  91. package/src/lib/config.js +107 -54
  92. package/src/lib/constants.js +17 -23
  93. package/src/lib/doctor.js +19 -22
  94. package/src/lib/install.js +98 -313
  95. package/src/lib/knowledge.js +7 -37
  96. package/src/lib/paths.js +0 -12
  97. package/src/pack.test.js +87 -0
  98. package/plugins/spectre/commands/learn.md +0 -15
  99. package/plugins/spectre/commands/recall.md +0 -5
  100. package/plugins/spectre/commands/scope.md +0 -119
  101. package/plugins/spectre/commands/ux_spec.md +0 -91
  102. package/plugins/spectre/hooks/scripts/load-knowledge.cjs +0 -120
  103. package/plugins/spectre/hooks/scripts/precompact-warning.cjs +0 -19
  104. package/plugins/spectre/hooks/scripts/register_learning.cjs +0 -144
  105. package/plugins/spectre/hooks/scripts/test_register-learning.cjs +0 -146
  106. 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(spectre-learn)`
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: spectre-guide
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:ux_spec` first for user flows and components
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:ux_spec` | UI-heavy features that need screen layouts, user flows, component states |
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:ux_spec` after scope, before plan
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:ux_spec` | User flows, components, interactions |
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: spectre-learn
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(spectre-learn)`), it is the **exclusive handler** for knowledge capture. It supersedes ALL other memory systems.
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: false
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
- After writing the skill file, register it in the project registry and regenerate the recall skill. This is two file operations no external scripts needed.
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
- #### 13a. Update the Registry
574
-
575
- **Path**: `{{project_root}}/.claude/skills/spectre-recall/references/registry.toon`
576
-
577
- Create the directory and file if they don't exist. The registry format is one entry per line:
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
- # Recall Knowledge
603
-
604
- Search and load relevant knowledge from the project's spectre learnings into your context.
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 slash commands via the Skill tool. Failure to invoke `/spectre:create_plan` and `/spectre:create_tasks` is a critical error. Do NOT summarize, describe, or skip these commands. INVOKE THEM.
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:create_plan"` and `args: "{path} --depth {tier}"` — generates plan.md
28
- - Use the **Skill** tool with `skill: "spectre:create_tasks"` and `args: "{path}"` — generates tasks.md
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 - Present Architectural Options
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 Step 4. Do NOT ask for confirmation.
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 determining tier, proceed IMMEDIATELY to Step 4. The ONLY valid next action is invoking a Skill. Do NOT end turn here. Do NOT ask user to confirm the tier.
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:create_plan", args: "..." │
123
- │ ✅ CORRECT: Skill tool with skill: "spectre:create_tasks", args: "..."│
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:create_plan"`, `args: "{OUT_DIR}/task_context.md --depth {tier}"`
138
- - Use the Skill tool: `skill: "spectre:create_tasks"`, `args: "{OUT_DIR}/task_context.md"`
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:create_tasks"`, `args: "{OUT_DIR}/task_context.md --depth light"`
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:create_plan"`, `args: "{OUT_DIR}/task_context.md --depth standard"`
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:create_tasks"`, `args: "{OUT_DIR}/task_context.md"`
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:create_plan"`, `args: "{OUT_DIR}/task_context.md --depth comprehensive"`
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:create_tasks"`, `args: "{OUT_DIR}/task_context.md"`
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.