mustard-claude 3.1.5 → 3.1.7
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/package.json +1 -1
- package/templates/.claude/commands/stack.md +86 -86
- package/templates/.claude/skills/templates-command-authoring/SKILL.md +88 -88
- package/templates/.claude/skills/templates-command-authoring/references/examples.md +83 -83
- package/templates/CLAUDE.md +1 -1
- package/templates/commands/mustard/approve/SKILL.md +2 -2
- package/templates/commands/mustard/bugfix/SKILL.md +2 -2
- package/templates/commands/mustard/complete/SKILL.md +2 -2
- package/templates/commands/mustard/feature/SKILL.md +8 -8
- package/templates/commands/mustard/knowledge/SKILL.md +1 -1
- package/templates/commands/mustard/maint/SKILL.md +68 -68
- package/templates/commands/mustard/resume/SKILL.md +7 -7
- package/templates/commands/mustard/scan/SKILL.md +36 -6
- package/templates/commands/mustard/scan-format/SKILL.md +1 -1
- package/templates/scripts/registry/file-utils.js +126 -0
- package/templates/scripts/registry/pluralize.js +167 -0
- package/templates/scripts/registry/scanner-contract.js +188 -0
- package/templates/scripts/registry/scanner-loader.js +120 -0
- package/templates/scripts/registry/scanners/.gitkeep +0 -0
- package/templates/scripts/registry/scanners/dart-scanner.js +694 -0
- package/templates/scripts/registry/scanners/dotnet-scanner.js +1093 -0
- package/templates/scripts/registry/scanners/go-scanner.js +837 -0
- package/templates/scripts/registry/scanners/java-scanner.js +977 -0
- package/templates/scripts/registry/scanners/php-scanner.js +757 -0
- package/templates/scripts/registry/scanners/python-scanner.js +774 -0
- package/templates/scripts/registry/scanners/rust-scanner.js +872 -0
- package/templates/scripts/registry/scanners/typescript-scanner.js +1259 -0
- package/templates/scripts/registry/schema-builder.js +145 -0
- package/templates/scripts/skill-generator.js +2090 -0
- package/templates/scripts/sync-registry.js +100 -378
- package/templates/skills/pipeline-execution/SKILL.md +1 -1
package/package.json
CHANGED
|
@@ -1,86 +1,86 @@
|
|
|
1
|
-
<!-- mustard:generated at:2026-03-25T00:00:00.000Z role:general -->
|
|
2
|
-
# Stack: Templates
|
|
3
|
-
|
|
4
|
-
> Technology stack and tooling for the Mustard templates subproject.
|
|
5
|
-
|
|
6
|
-
## Runtime
|
|
7
|
-
|
|
8
|
-
| Component | Version | Notes |
|
|
9
|
-
|-----------|---------|-------|
|
|
10
|
-
| Node.js | >=18 | All hooks/scripts use CommonJS (`require`) |
|
|
11
|
-
| JavaScript | ES2020+ | Optional chaining, nullish coalescing, `Set`, `Map` |
|
|
12
|
-
|
|
13
|
-
## Dependencies
|
|
14
|
-
|
|
15
|
-
None. All template files are dependency-free — they use only Node.js built-in modules:
|
|
16
|
-
|
|
17
|
-
| Module | Used In |
|
|
18
|
-
|--------|---------|
|
|
19
|
-
| `fs` | All hooks, all scripts |
|
|
20
|
-
| `path` | All hooks, all scripts |
|
|
21
|
-
| `child_process` | `auto-format.js`, `pre-compact.js`, `statusline.js`, `sync-detect.js`, `sync-registry.js` |
|
|
22
|
-
| `crypto` | `sync-detect.js` (SHA-256 hashing) |
|
|
23
|
-
| `os` | `statusline.js`, `session-cleanup.js` |
|
|
24
|
-
|
|
25
|
-
## File Categories
|
|
26
|
-
|
|
27
|
-
| Category | Path | Count | Purpose |
|
|
28
|
-
|----------|------|-------|---------|
|
|
29
|
-
| Hooks | `hooks/*.js` | 8 | PreToolUse/PostToolUse/Session lifecycle guards |
|
|
30
|
-
| Scripts | `scripts/*.js` | 3 | Sync-detect, sync-registry, statusline |
|
|
31
|
-
| Commands | `commands/mustard/*/SKILL.md` | 14 | Slash command definitions |
|
|
32
|
-
| Skills | `skills/*/SKILL.md` | 6 | Foundation skills (design-craft, react-best-practices, etc.) |
|
|
33
|
-
| Config | `settings.json` | 1 | Hook wiring, permissions, statusline |
|
|
34
|
-
| Config |
|
|
35
|
-
| Template | `CLAUDE.md` | 1 | Orchestrator rules template |
|
|
36
|
-
|
|
37
|
-
## Commands
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
# Run hook tests
|
|
41
|
-
node --test hooks/__tests__/hooks.test.js
|
|
42
|
-
|
|
43
|
-
# Run sync-detect (outputs JSON)
|
|
44
|
-
node scripts/sync-detect.js
|
|
45
|
-
node scripts/sync-detect.js --no-cache
|
|
46
|
-
|
|
47
|
-
# Run sync-registry
|
|
48
|
-
node scripts/sync-registry.js
|
|
49
|
-
node scripts/sync-registry.js --force
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## Structure
|
|
53
|
-
|
|
54
|
-
```
|
|
55
|
-
templates/
|
|
56
|
-
├── CLAUDE.md # Orchestrator rules (copied to .claude/CLAUDE.md)
|
|
57
|
-
├── settings.json # Hook wiring + permissions
|
|
58
|
-
├── pipeline-config.md # Agent/wave/model config
|
|
59
|
-
├── commands/mustard/ # 14 slash commands
|
|
60
|
-
│ ├── feature/SKILL.md
|
|
61
|
-
│ ├── bugfix/SKILL.md
|
|
62
|
-
│ ├── scan/SKILL.md
|
|
63
|
-
│ ├── git/SKILL.md
|
|
64
|
-
│ └── ... (approve, complete, resume, status, task, etc.)
|
|
65
|
-
├── hooks/ # 8 lifecycle hooks
|
|
66
|
-
│ ├── bash-safety.js # PreToolUse — block dangerous commands
|
|
67
|
-
│ ├── file-guard.js # PreToolUse — block sensitive files
|
|
68
|
-
│ ├── enforce-registry.js # PreToolUse — require entity-registry
|
|
69
|
-
│ ├── auto-format.js # PostToolUse — prettier/dotnet format
|
|
70
|
-
│ ├── guard-verify.js # PostToolUse — architectural rules
|
|
71
|
-
│ ├── subagent-tracker.js # Pre/SubagentStart/Stop — agent state
|
|
72
|
-
│ ├── pre-compact.js # PreCompact — snapshot before compaction
|
|
73
|
-
│ ├── session-cleanup.js # SessionEnd — prune stale state
|
|
74
|
-
│ └── __tests__/hooks.test.js # Tests (node:test + node:assert)
|
|
75
|
-
├── scripts/
|
|
76
|
-
│ ├── sync-detect.js # Subproject discovery + role detection
|
|
77
|
-
│ ├── sync-registry.js # Entity registry generation
|
|
78
|
-
│ └── statusline.js # ANSI statusline renderer
|
|
79
|
-
└── skills/ # Foundation skills
|
|
80
|
-
├── commit-workflow/
|
|
81
|
-
├── design-craft/
|
|
82
|
-
├── pipeline-execution/
|
|
83
|
-
├── react-best-practices/
|
|
84
|
-
├── senior-architect/
|
|
85
|
-
└── skill-creator/
|
|
86
|
-
```
|
|
1
|
+
<!-- mustard:generated at:2026-03-25T00:00:00.000Z role:general -->
|
|
2
|
+
# Stack: Templates
|
|
3
|
+
|
|
4
|
+
> Technology stack and tooling for the Mustard templates subproject.
|
|
5
|
+
|
|
6
|
+
## Runtime
|
|
7
|
+
|
|
8
|
+
| Component | Version | Notes |
|
|
9
|
+
|-----------|---------|-------|
|
|
10
|
+
| Node.js | >=18 | All hooks/scripts use CommonJS (`require`) |
|
|
11
|
+
| JavaScript | ES2020+ | Optional chaining, nullish coalescing, `Set`, `Map` |
|
|
12
|
+
|
|
13
|
+
## Dependencies
|
|
14
|
+
|
|
15
|
+
None. All template files are dependency-free — they use only Node.js built-in modules:
|
|
16
|
+
|
|
17
|
+
| Module | Used In |
|
|
18
|
+
|--------|---------|
|
|
19
|
+
| `fs` | All hooks, all scripts |
|
|
20
|
+
| `path` | All hooks, all scripts |
|
|
21
|
+
| `child_process` | `auto-format.js`, `pre-compact.js`, `statusline.js`, `sync-detect.js`, `sync-registry.js` |
|
|
22
|
+
| `crypto` | `sync-detect.js` (SHA-256 hashing) |
|
|
23
|
+
| `os` | `statusline.js`, `session-cleanup.js` |
|
|
24
|
+
|
|
25
|
+
## File Categories
|
|
26
|
+
|
|
27
|
+
| Category | Path | Count | Purpose |
|
|
28
|
+
|----------|------|-------|---------|
|
|
29
|
+
| Hooks | `hooks/*.js` | 8 | PreToolUse/PostToolUse/Session lifecycle guards |
|
|
30
|
+
| Scripts | `scripts/*.js` | 3 | Sync-detect, sync-registry, statusline |
|
|
31
|
+
| Commands | `commands/mustard/*/SKILL.md` | 14 | Slash command definitions |
|
|
32
|
+
| Skills | `skills/*/SKILL.md` | 6 | Foundation skills (design-craft, react-best-practices, etc.) |
|
|
33
|
+
| Config | `settings.json` | 1 | Hook wiring, permissions, statusline |
|
|
34
|
+
| Config | `.claude/pipeline-config.md` | 1 | Agent dispatch rules, wave system, model selection |
|
|
35
|
+
| Template | `CLAUDE.md` | 1 | Orchestrator rules template |
|
|
36
|
+
|
|
37
|
+
## Commands
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Run hook tests
|
|
41
|
+
node --test hooks/__tests__/hooks.test.js
|
|
42
|
+
|
|
43
|
+
# Run sync-detect (outputs JSON)
|
|
44
|
+
node scripts/sync-detect.js
|
|
45
|
+
node scripts/sync-detect.js --no-cache
|
|
46
|
+
|
|
47
|
+
# Run sync-registry
|
|
48
|
+
node scripts/sync-registry.js
|
|
49
|
+
node scripts/sync-registry.js --force
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Structure
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
templates/
|
|
56
|
+
├── CLAUDE.md # Orchestrator rules (copied to .claude/CLAUDE.md)
|
|
57
|
+
├── settings.json # Hook wiring + permissions
|
|
58
|
+
├── pipeline-config.md # Agent/wave/model config
|
|
59
|
+
├── commands/mustard/ # 14 slash commands
|
|
60
|
+
│ ├── feature/SKILL.md
|
|
61
|
+
│ ├── bugfix/SKILL.md
|
|
62
|
+
│ ├── scan/SKILL.md
|
|
63
|
+
│ ├── git/SKILL.md
|
|
64
|
+
│ └── ... (approve, complete, resume, status, task, etc.)
|
|
65
|
+
├── hooks/ # 8 lifecycle hooks
|
|
66
|
+
│ ├── bash-safety.js # PreToolUse — block dangerous commands
|
|
67
|
+
│ ├── file-guard.js # PreToolUse — block sensitive files
|
|
68
|
+
│ ├── enforce-registry.js # PreToolUse — require entity-registry
|
|
69
|
+
│ ├── auto-format.js # PostToolUse — prettier/dotnet format
|
|
70
|
+
│ ├── guard-verify.js # PostToolUse — architectural rules
|
|
71
|
+
│ ├── subagent-tracker.js # Pre/SubagentStart/Stop — agent state
|
|
72
|
+
│ ├── pre-compact.js # PreCompact — snapshot before compaction
|
|
73
|
+
│ ├── session-cleanup.js # SessionEnd — prune stale state
|
|
74
|
+
│ └── __tests__/hooks.test.js # Tests (node:test + node:assert)
|
|
75
|
+
├── scripts/
|
|
76
|
+
│ ├── sync-detect.js # Subproject discovery + role detection
|
|
77
|
+
│ ├── sync-registry.js # Entity registry generation
|
|
78
|
+
│ └── statusline.js # ANSI statusline renderer
|
|
79
|
+
└── skills/ # Foundation skills
|
|
80
|
+
├── commit-workflow/
|
|
81
|
+
├── design-craft/
|
|
82
|
+
├── pipeline-execution/
|
|
83
|
+
├── react-best-practices/
|
|
84
|
+
├── senior-architect/
|
|
85
|
+
└── skill-creator/
|
|
86
|
+
```
|
|
@@ -1,88 +1,88 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: templates-command-authoring
|
|
3
|
-
description: "Pattern for writing slash command SKILL.md files with trigger, procedure,
|
|
4
|
-
and rules. Use when creating a new mustard command, adding a pipeline command,
|
|
5
|
-
writing a /command, or the user says 'new command', 'add slash command',
|
|
6
|
-
'create /feature-like command', 'write command template'."
|
|
7
|
-
---
|
|
8
|
-
<!-- mustard:generated at:2026-03-25T00:00:00.000Z role:general -->
|
|
9
|
-
|
|
10
|
-
# Command Authoring Pattern
|
|
11
|
-
|
|
12
|
-
Slash commands are SKILL.md files in `commands/mustard/{command-name}/SKILL.md` that define orchestrator behavior.
|
|
13
|
-
|
|
14
|
-
## Pattern
|
|
15
|
-
|
|
16
|
-
### File Convention
|
|
17
|
-
- Location: `commands/mustard/{command-name}/SKILL.md`
|
|
18
|
-
- No YAML frontmatter (commands are not auto-loaded by description)
|
|
19
|
-
- End with `ULTRATHINK` keyword **only for `/feature` and `/bugfix` commands** — do NOT add it to other commands
|
|
20
|
-
|
|
21
|
-
### Structure
|
|
22
|
-
|
|
23
|
-
```markdown
|
|
24
|
-
# /{command-name} - Title
|
|
25
|
-
|
|
26
|
-
> Advisory note (optional)
|
|
27
|
-
|
|
28
|
-
## Trigger
|
|
29
|
-
`/{command-name} <args>`
|
|
30
|
-
|
|
31
|
-
## Description
|
|
32
|
-
What the command does and when to use it.
|
|
33
|
-
|
|
34
|
-
## Procedure / ## Action
|
|
35
|
-
Step-by-step process. Use:
|
|
36
|
-
- Tables for signal → action mappings
|
|
37
|
-
- Numbered steps for sequential flow
|
|
38
|
-
- Code blocks for bash commands
|
|
39
|
-
- `### Phase` headers for multi-phase pipelines
|
|
40
|
-
|
|
41
|
-
## Rules
|
|
42
|
-
- Explicit constraints (NEVER, ALWAYS, MUST)
|
|
43
|
-
- Budget limits (max reads, max API calls)
|
|
44
|
-
- Delegation requirements
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
> Note: Add `ULTRATHINK` at the end only for `/feature` and `/bugfix` commands. All other commands end after the last rule/section.
|
|
48
|
-
|
|
49
|
-
### Key Rules
|
|
50
|
-
- Commands NEVER implement code directly — they orchestrate via Task tool
|
|
51
|
-
- Pipeline commands create spec files and pipeline state JSON
|
|
52
|
-
- Git commands read `mustard.json` for branch flow configuration
|
|
53
|
-
- Zero-confirmation: most commands execute without asking user
|
|
54
|
-
|
|
55
|
-
### Command Categories
|
|
56
|
-
|
|
57
|
-
| Category | Examples | Characteristic |
|
|
58
|
-
|----------|----------|---------------|
|
|
59
|
-
| Pipeline | `/feature`, `/bugfix`, `/approve`, `/complete`, `/resume` | Multi-phase, creates spec, state tracking |
|
|
60
|
-
| Task | `/task-analyze`, `/task-review`, `/task-refactor` | Single delegation, no spec |
|
|
61
|
-
| Git | `/git sync`, `/git commit`, `/git push`, `/git merge` | Reads `mustard.json`, submodule-aware |
|
|
62
|
-
| Scan | `/scan`, `/scan-format` | Discovery + analysis + generation |
|
|
63
|
-
| Status | `/status`, `/validate` | Read-only, reporting |
|
|
64
|
-
|
|
65
|
-
## Example
|
|
66
|
-
|
|
67
|
-
```markdown
|
|
68
|
-
# /my-command - Do Something
|
|
69
|
-
|
|
70
|
-
## Trigger
|
|
71
|
-
`/my-command <name>`
|
|
72
|
-
|
|
73
|
-
## Procedure
|
|
74
|
-
1. Read
|
|
75
|
-
2. Dispatch Task agent with context
|
|
76
|
-
3. Collect results and report
|
|
77
|
-
|
|
78
|
-
## Rules
|
|
79
|
-
- NEVER implement code directly
|
|
80
|
-
- ALWAYS delegate via Task tool
|
|
81
|
-
- Budget: max 5 API calls
|
|
82
|
-
```
|
|
83
|
-
Ref: `commands/mustard/feature/SKILL.md`, `commands/mustard/status/SKILL.md`
|
|
84
|
-
|
|
85
|
-
## References
|
|
86
|
-
|
|
87
|
-
For full code examples with variants:
|
|
88
|
-
> Read `references/examples.md`
|
|
1
|
+
---
|
|
2
|
+
name: templates-command-authoring
|
|
3
|
+
description: "Pattern for writing slash command SKILL.md files with trigger, procedure,
|
|
4
|
+
and rules. Use when creating a new mustard command, adding a pipeline command,
|
|
5
|
+
writing a /command, or the user says 'new command', 'add slash command',
|
|
6
|
+
'create /feature-like command', 'write command template'."
|
|
7
|
+
---
|
|
8
|
+
<!-- mustard:generated at:2026-03-25T00:00:00.000Z role:general -->
|
|
9
|
+
|
|
10
|
+
# Command Authoring Pattern
|
|
11
|
+
|
|
12
|
+
Slash commands are SKILL.md files in `commands/mustard/{command-name}/SKILL.md` that define orchestrator behavior.
|
|
13
|
+
|
|
14
|
+
## Pattern
|
|
15
|
+
|
|
16
|
+
### File Convention
|
|
17
|
+
- Location: `commands/mustard/{command-name}/SKILL.md`
|
|
18
|
+
- No YAML frontmatter (commands are not auto-loaded by description)
|
|
19
|
+
- End with `ULTRATHINK` keyword **only for `/feature` and `/bugfix` commands** — do NOT add it to other commands
|
|
20
|
+
|
|
21
|
+
### Structure
|
|
22
|
+
|
|
23
|
+
```markdown
|
|
24
|
+
# /{command-name} - Title
|
|
25
|
+
|
|
26
|
+
> Advisory note (optional)
|
|
27
|
+
|
|
28
|
+
## Trigger
|
|
29
|
+
`/{command-name} <args>`
|
|
30
|
+
|
|
31
|
+
## Description
|
|
32
|
+
What the command does and when to use it.
|
|
33
|
+
|
|
34
|
+
## Procedure / ## Action
|
|
35
|
+
Step-by-step process. Use:
|
|
36
|
+
- Tables for signal → action mappings
|
|
37
|
+
- Numbered steps for sequential flow
|
|
38
|
+
- Code blocks for bash commands
|
|
39
|
+
- `### Phase` headers for multi-phase pipelines
|
|
40
|
+
|
|
41
|
+
## Rules
|
|
42
|
+
- Explicit constraints (NEVER, ALWAYS, MUST)
|
|
43
|
+
- Budget limits (max reads, max API calls)
|
|
44
|
+
- Delegation requirements
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
> Note: Add `ULTRATHINK` at the end only for `/feature` and `/bugfix` commands. All other commands end after the last rule/section.
|
|
48
|
+
|
|
49
|
+
### Key Rules
|
|
50
|
+
- Commands NEVER implement code directly — they orchestrate via Task tool
|
|
51
|
+
- Pipeline commands create spec files and pipeline state JSON
|
|
52
|
+
- Git commands read `mustard.json` for branch flow configuration
|
|
53
|
+
- Zero-confirmation: most commands execute without asking user
|
|
54
|
+
|
|
55
|
+
### Command Categories
|
|
56
|
+
|
|
57
|
+
| Category | Examples | Characteristic |
|
|
58
|
+
|----------|----------|---------------|
|
|
59
|
+
| Pipeline | `/feature`, `/bugfix`, `/approve`, `/complete`, `/resume` | Multi-phase, creates spec, state tracking |
|
|
60
|
+
| Task | `/task-analyze`, `/task-review`, `/task-refactor` | Single delegation, no spec |
|
|
61
|
+
| Git | `/git sync`, `/git commit`, `/git push`, `/git merge` | Reads `mustard.json`, submodule-aware |
|
|
62
|
+
| Scan | `/scan`, `/scan-format` | Discovery + analysis + generation |
|
|
63
|
+
| Status | `/status`, `/validate` | Read-only, reporting |
|
|
64
|
+
|
|
65
|
+
## Example
|
|
66
|
+
|
|
67
|
+
```markdown
|
|
68
|
+
# /my-command - Do Something
|
|
69
|
+
|
|
70
|
+
## Trigger
|
|
71
|
+
`/my-command <name>`
|
|
72
|
+
|
|
73
|
+
## Procedure
|
|
74
|
+
1. Read `.claude/pipeline-config.md` for agent config
|
|
75
|
+
2. Dispatch Task agent with context
|
|
76
|
+
3. Collect results and report
|
|
77
|
+
|
|
78
|
+
## Rules
|
|
79
|
+
- NEVER implement code directly
|
|
80
|
+
- ALWAYS delegate via Task tool
|
|
81
|
+
- Budget: max 5 API calls
|
|
82
|
+
```
|
|
83
|
+
Ref: `commands/mustard/feature/SKILL.md`, `commands/mustard/status/SKILL.md`
|
|
84
|
+
|
|
85
|
+
## References
|
|
86
|
+
|
|
87
|
+
For full code examples with variants:
|
|
88
|
+
> Read `references/examples.md`
|
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
<!-- mustard:generated at:2026-03-25T00:00:00.000Z role:general -->
|
|
2
|
-
# Command Authoring Examples
|
|
3
|
-
|
|
4
|
-
## Example 1: Simple Status Command
|
|
5
|
-
|
|
6
|
-
```markdown
|
|
7
|
-
# /status - Consolidated Status
|
|
8
|
-
|
|
9
|
-
## Trigger
|
|
10
|
-
`/status`
|
|
11
|
-
|
|
12
|
-
## Description
|
|
13
|
-
Shows consolidated project status.
|
|
14
|
-
|
|
15
|
-
## Information
|
|
16
|
-
1. **Git Status** — branch, modified files, pending push
|
|
17
|
-
2. **Pipeline** — active pipeline, current phase
|
|
18
|
-
3. **Build** — last validation result
|
|
19
|
-
4. **Entity Registry** — entity count, last update
|
|
20
|
-
|
|
21
|
-
ULTRATHINK
|
|
22
|
-
```
|
|
23
|
-
Ref: `commands/mustard/status/SKILL.md`
|
|
24
|
-
|
|
25
|
-
## Example 2: Pipeline Command (Feature)
|
|
26
|
-
|
|
27
|
-
Key sections from the feature command:
|
|
28
|
-
|
|
29
|
-
```markdown
|
|
30
|
-
# /feature - Feature Pipeline
|
|
31
|
-
|
|
32
|
-
## Trigger
|
|
33
|
-
`/feature <feature-name>`
|
|
34
|
-
|
|
35
|
-
### ANALYZE Phase
|
|
36
|
-
1. Read
|
|
37
|
-
2. Read `entity-registry.json` via Grep
|
|
38
|
-
3. Determine layers from signals
|
|
39
|
-
|
|
40
|
-
#### Scope Detection
|
|
41
|
-
| Signal | Scope |
|
|
42
|
-
|--------|-------|
|
|
43
|
-
| 1-2 layers, ≤5 files | Light |
|
|
44
|
-
| 3+ layers, 5+ files | Full |
|
|
45
|
-
|
|
46
|
-
### PLAN Phase
|
|
47
|
-
Create `.claude/spec/active/{date}-{name}/spec.md`
|
|
48
|
-
|
|
49
|
-
## Rules
|
|
50
|
-
- NEVER implement code in Full scope
|
|
51
|
-
- ALWAYS create pipeline state at PLAN phase
|
|
52
|
-
- Light scope + user chose "implement now" → EXECUTE inline
|
|
53
|
-
|
|
54
|
-
ULTRATHINK
|
|
55
|
-
```
|
|
56
|
-
Ref: `commands/mustard/feature/SKILL.md`
|
|
57
|
-
|
|
58
|
-
## Example 3: Git Command with Action Dispatch
|
|
59
|
-
|
|
60
|
-
```markdown
|
|
61
|
-
# /git - Git Operations
|
|
62
|
-
|
|
63
|
-
## Trigger
|
|
64
|
-
`/git <action>`
|
|
65
|
-
|
|
66
|
-
## Actions
|
|
67
|
-
| Action | Description |
|
|
68
|
-
|--------|-------------|
|
|
69
|
-
| `sync` | Pull parent into current |
|
|
70
|
-
| `commit` | Create commit (no push) |
|
|
71
|
-
| `push` | Sync + commit + push |
|
|
72
|
-
|
|
73
|
-
## Step 0 — Resolve Parent
|
|
74
|
-
cat mustard.json → match branch against flow patterns
|
|
75
|
-
|
|
76
|
-
## Behavior
|
|
77
|
-
- ZERO confirmations
|
|
78
|
-
- Minimize Bash calls — chain with &&
|
|
79
|
-
- Submodules BEFORE parent
|
|
80
|
-
|
|
81
|
-
ULTRATHINK
|
|
82
|
-
```
|
|
83
|
-
Ref: `commands/mustard/git/SKILL.md`
|
|
1
|
+
<!-- mustard:generated at:2026-03-25T00:00:00.000Z role:general -->
|
|
2
|
+
# Command Authoring Examples
|
|
3
|
+
|
|
4
|
+
## Example 1: Simple Status Command
|
|
5
|
+
|
|
6
|
+
```markdown
|
|
7
|
+
# /status - Consolidated Status
|
|
8
|
+
|
|
9
|
+
## Trigger
|
|
10
|
+
`/status`
|
|
11
|
+
|
|
12
|
+
## Description
|
|
13
|
+
Shows consolidated project status.
|
|
14
|
+
|
|
15
|
+
## Information
|
|
16
|
+
1. **Git Status** — branch, modified files, pending push
|
|
17
|
+
2. **Pipeline** — active pipeline, current phase
|
|
18
|
+
3. **Build** — last validation result
|
|
19
|
+
4. **Entity Registry** — entity count, last update
|
|
20
|
+
|
|
21
|
+
ULTRATHINK
|
|
22
|
+
```
|
|
23
|
+
Ref: `commands/mustard/status/SKILL.md`
|
|
24
|
+
|
|
25
|
+
## Example 2: Pipeline Command (Feature)
|
|
26
|
+
|
|
27
|
+
Key sections from the feature command:
|
|
28
|
+
|
|
29
|
+
```markdown
|
|
30
|
+
# /feature - Feature Pipeline
|
|
31
|
+
|
|
32
|
+
## Trigger
|
|
33
|
+
`/feature <feature-name>`
|
|
34
|
+
|
|
35
|
+
### ANALYZE Phase
|
|
36
|
+
1. Read `.claude/pipeline-config.md`
|
|
37
|
+
2. Read `entity-registry.json` via Grep
|
|
38
|
+
3. Determine layers from signals
|
|
39
|
+
|
|
40
|
+
#### Scope Detection
|
|
41
|
+
| Signal | Scope |
|
|
42
|
+
|--------|-------|
|
|
43
|
+
| 1-2 layers, ≤5 files | Light |
|
|
44
|
+
| 3+ layers, 5+ files | Full |
|
|
45
|
+
|
|
46
|
+
### PLAN Phase
|
|
47
|
+
Create `.claude/spec/active/{date}-{name}/spec.md`
|
|
48
|
+
|
|
49
|
+
## Rules
|
|
50
|
+
- NEVER implement code in Full scope
|
|
51
|
+
- ALWAYS create pipeline state at PLAN phase
|
|
52
|
+
- Light scope + user chose "implement now" → EXECUTE inline
|
|
53
|
+
|
|
54
|
+
ULTRATHINK
|
|
55
|
+
```
|
|
56
|
+
Ref: `commands/mustard/feature/SKILL.md`
|
|
57
|
+
|
|
58
|
+
## Example 3: Git Command with Action Dispatch
|
|
59
|
+
|
|
60
|
+
```markdown
|
|
61
|
+
# /git - Git Operations
|
|
62
|
+
|
|
63
|
+
## Trigger
|
|
64
|
+
`/git <action>`
|
|
65
|
+
|
|
66
|
+
## Actions
|
|
67
|
+
| Action | Description |
|
|
68
|
+
|--------|-------------|
|
|
69
|
+
| `sync` | Pull parent into current |
|
|
70
|
+
| `commit` | Create commit (no push) |
|
|
71
|
+
| `push` | Sync + commit + push |
|
|
72
|
+
|
|
73
|
+
## Step 0 — Resolve Parent
|
|
74
|
+
cat mustard.json → match branch against flow patterns
|
|
75
|
+
|
|
76
|
+
## Behavior
|
|
77
|
+
- ZERO confirmations
|
|
78
|
+
- Minimize Bash calls — chain with &&
|
|
79
|
+
- Submodules BEFORE parent
|
|
80
|
+
|
|
81
|
+
ULTRATHINK
|
|
82
|
+
```
|
|
83
|
+
Ref: `commands/mustard/git/SKILL.md`
|
package/templates/CLAUDE.md
CHANGED
|
@@ -87,4 +87,4 @@ RTK (Rust Token Killer) is integrated as core infrastructure. A PreToolUse hook
|
|
|
87
87
|
- If RTK is not installed, the hook silently passes through (zero impact)
|
|
88
88
|
|
|
89
89
|
## Full Reference
|
|
90
|
-
Rules, pipeline, naming:
|
|
90
|
+
Rules, pipeline, naming: `.claude/pipeline-config.md`
|
|
@@ -18,7 +18,7 @@ Approves the active spec and prepares the implementation phase. Does NOT execute
|
|
|
18
18
|
1. **Step 0: AUTO-SYNC (MANDATORY)** — Run via Bash tool BEFORE any other action:
|
|
19
19
|
- `node .claude/scripts/sync-registry.js`
|
|
20
20
|
- Do NOT proceed to step 2 without running this command
|
|
21
|
-
2. **Read**
|
|
21
|
+
2. **Read** `.claude/pipeline-config.md` — agents, model selection
|
|
22
22
|
3. Locate active spec in `.claude/spec/active/`
|
|
23
23
|
4. **Spec Checkpoint — update spec header:**
|
|
24
24
|
- `### Status: approved`
|
|
@@ -29,7 +29,7 @@ Approves the active spec and prepares the implementation phase. Does NOT execute
|
|
|
29
29
|
- Parse Tasks from spec to extract tasks per agent (DB, Backend, Frontend, etc.)
|
|
30
30
|
- Create `.claude/.pipeline-states/` directory if it doesn't exist
|
|
31
31
|
- Write state file with `specName`, `status: "approved"`, `phaseName: "PLAN"`, `tasks` with names and agents, `model`, `updatedAt`
|
|
32
|
-
6. **Model selection** — read `Model Selection` from
|
|
32
|
+
6. **Model selection** — read `Model Selection` from `.claude/pipeline-config.md` and record `"model"` field in state:
|
|
33
33
|
- Count total estimated files in spec
|
|
34
34
|
- Apply rule: ≤5 files/known patterns → `"model": "sonnet"`, 5+ files/new patterns → `"model": "opus"`
|
|
35
35
|
7. **Task Tracking — create TaskCreate for each agent:**
|
|
@@ -87,7 +87,7 @@ Rules:
|
|
|
87
87
|
### EXECUTE (fix + validate)
|
|
88
88
|
|
|
89
89
|
Every agent prompt dispatched in Fast Path MUST include:
|
|
90
|
-
`Return format cap: ≤50 lines. Apply compact Return Format from pipeline-config.md strictly.`
|
|
90
|
+
`Return format cap: ≤50 lines. Apply compact Return Format from .claude/pipeline-config.md strictly.`
|
|
91
91
|
|
|
92
92
|
Dispatch bugfix agent with:
|
|
93
93
|
- Root cause from ANALYZE
|
|
@@ -110,7 +110,7 @@ After the bugfix agent returns, check for an escalation status before closing:
|
|
|
110
110
|
- `PARTIAL` — agent fixed some but not all reported issues; resume from the last incomplete fix step (max 2 retries)
|
|
111
111
|
- `DEFERRED` — agent intentionally left a related issue unfixed with justification; confirm with user before closing
|
|
112
112
|
|
|
113
|
-
See
|
|
113
|
+
See `.claude/pipeline-config.md` Escalation Statuses for the full status table.
|
|
114
114
|
|
|
115
115
|
#### Retry Compact Advisory
|
|
116
116
|
If an agent fails and requires >2 retry attempts during EXECUTE:
|
|
@@ -11,7 +11,7 @@ Finalizes the current pipeline, either completing or canceling.
|
|
|
11
11
|
## Verification Gate (MANDATORY)
|
|
12
12
|
|
|
13
13
|
1. **Review completed**: Check pipeline state — review agent MUST have run and returned APPROVED. If not → dispatch review first (see resume.md step 19)
|
|
14
|
-
2. **Build passes**: run build command for each affected subproject (from pipeline-config.md)
|
|
14
|
+
2. **Build passes**: run build command for each affected subproject (from .claude/pipeline-config.md)
|
|
15
15
|
3. **Changes match spec**: each `[x]` corresponds to a real file
|
|
16
16
|
4. **Zero CRITICAL issues**: review report shows zero CRITICAL violations (SOLID, design system, patterns, i18n, integration)
|
|
17
17
|
5. **No regressions**: existing features still work
|
|
@@ -41,7 +41,7 @@ Before finalizing, scan the active spec for any `## Concerns` section written du
|
|
|
41
41
|
- If all concerns are `CONCERN` or `DEFERRED` (non-blocking): note them and proceed
|
|
42
42
|
- This step is a read-only scan — do NOT alter or dismiss concerns during CLOSE
|
|
43
43
|
|
|
44
|
-
See
|
|
44
|
+
See `.claude/pipeline-config.md` Escalation Statuses for concern classification rules.
|
|
45
45
|
|
|
46
46
|
## Action
|
|
47
47
|
|
|
@@ -53,7 +53,7 @@ Prepend the following to EVERY subagent prompt dispatched during the pipeline:
|
|
|
53
53
|
|
|
54
54
|
If the diff file is empty or missing, skip the Git State header entirely. Never dispatch an agent without attempting interpolation.
|
|
55
55
|
|
|
56
|
-
1. Read
|
|
56
|
+
1. Read `.claude/pipeline-config.md` — agents, wave transitions, model selection
|
|
57
57
|
2. Read `entity-registry.json` via Grep for the specific entity name (e.g. `"Contract":`) — NEVER read the full JSON. Entity found? infer layers. Not found? all layers.
|
|
58
58
|
3. Determine layers from signals:
|
|
59
59
|
|
|
@@ -166,13 +166,13 @@ Rules:
|
|
|
166
166
|
When user chooses "Approve and implement now":
|
|
167
167
|
1. Update spec: `Status: implementing`, `Phase: EXECUTE`
|
|
168
168
|
Every agent prompt dispatched in Light scope MUST include:
|
|
169
|
-
`Return format cap: ≤50 lines. Apply compact Return Format from pipeline-config.md strictly.`
|
|
169
|
+
`Return format cap: ≤50 lines. Apply compact Return Format from .claude/pipeline-config.md strictly.`
|
|
170
170
|
2. Update pipeline state: `status: "implementing"`, `phase: 3`
|
|
171
|
-
3. Read
|
|
171
|
+
3. Read `.claude/pipeline-config.md` for agent config. For `entity-registry.json`: Grep for specific entity block only
|
|
172
172
|
4. Match recipes by title via Grep on `{subproject}/.claude/commands/recipes.md` — do NOT read full file. Extract recipe number + pattern refs
|
|
173
173
|
5. Identify relevant skills for `{recommended_skills}`: list skill names most relevant to the task (e.g., `api-endpoint-wiring, api-dto-validation`). Agents use these as hints — Claude natively decides which to load based on descriptions
|
|
174
|
-
6. Dispatch agents (wave rules: DB+Backend parallel, Frontend after Backend UNLESS spec marks task as `(parallel-safe)` — see
|
|
175
|
-
7. Wave transitions between waves (from
|
|
174
|
+
6. Dispatch agents (wave rules: DB+Backend parallel, Frontend after Backend UNLESS spec marks task as `(parallel-safe)` — see `.claude/pipeline-config.md` Parallel Rules). Agent prompt includes `{recommended_skills}` as skill hints — agents read SKILL.md of relevant skills before implementing
|
|
175
|
+
7. Wave transitions between waves (from `.claude/pipeline-config.md`)
|
|
176
176
|
8. On return: validate (build/type-check), update spec `[ ]` → `[x]` (line-by-line edits, NEVER copy entire spec blocks as old_string)
|
|
177
177
|
8b. **Agent Memory:** After agents return and spec is updated, write agent memory: `node .claude/scripts/memory-write.js --json '{"agent_type":"{type}","wave":{N},"pipeline":"{spec-name}","summary":"{what agent did}","details":{...}}'` — one per agent. Skip if single-wave pipeline (no downstream agents to benefit).
|
|
178
178
|
|
|
@@ -186,7 +186,7 @@ After each agent returns, check the return value for an escalation status before
|
|
|
186
186
|
- `PARTIAL` — apply Granular Retry Protocol from the last completed step; do NOT restart from step 1
|
|
187
187
|
- `DEFERRED` — note in spec with agent justification; ask user if the deferred item is load-bearing before closing
|
|
188
188
|
|
|
189
|
-
If two or more agents in the same wave return `CONCERN`, surface all concerns together before starting the next wave. See
|
|
189
|
+
If two or more agents in the same wave return `CONCERN`, surface all concerns together before starting the next wave. See `.claude/pipeline-config.md` Escalation Statuses and Diagnostic Failure Routing for the full status table.
|
|
190
190
|
|
|
191
191
|
9. **REVIEW** — dispatch review agent for each affected subproject (reads guards + relevant skills, runs 7-category checklist: SOLID, Design System, Patterns, i18n, Integration, Build, Elegance). REJECTED → fix + re-review (max 2 loops)
|
|
192
192
|
10. All passed + APPROVED → CLOSE flow inline (sync registry, move spec, cleanup state)
|
|
@@ -208,13 +208,13 @@ Progress: `[v] ANALYZE [>] PLAN [ ] EXECUTE [ ] CLOSE`
|
|
|
208
208
|
Scope tag: `[LIGHT]` or `[FULL]` after progress line.
|
|
209
209
|
|
|
210
210
|
## Rules
|
|
211
|
-
- This command is self-contained — reads
|
|
211
|
+
- This command is self-contained — reads `.claude/pipeline-config.md` directly
|
|
212
212
|
- NEVER implement code in Full scope — only PLAN. EXECUTE via `/approve` + `/resume`
|
|
213
213
|
- NEVER launch Explore agent when entity already exists in registry — read 2-3 files directly
|
|
214
214
|
- NEVER read additional files after Explore agent returns — its output is final
|
|
215
215
|
- NEVER exceed 5 file reads in ANALYZE phase (registry + pipeline-config are free)
|
|
216
216
|
- Light scope + user chose "implement now" → proceed to EXECUTE inline
|
|
217
|
-
- ALWAYS read
|
|
217
|
+
- ALWAYS read `.claude/pipeline-config.md` for agent/wave/model info
|
|
218
218
|
- ALWAYS create pipeline state at PLAN phase
|
|
219
219
|
- ALWAYS record `scope` in spec header AND pipeline state
|
|
220
220
|
- ALWAYS go straight to PLAN once you understand the change — more reads ≠ better spec
|
|
@@ -103,7 +103,7 @@ Manages persistent project observations injected into agent context during pipel
|
|
|
103
103
|
| (no argument) | — | Lists all notes files |
|
|
104
104
|
| `{subproject}` | `{subproject}/.claude/commands/notes.md` | Subproject agent context |
|
|
105
105
|
|
|
106
|
-
**Monorepo**: discover targets from
|
|
106
|
+
**Monorepo**: discover targets from `.claude/pipeline-config.md` Agents table or Glob `*/.claude/commands/notes.md`.
|
|
107
107
|
**Single repo**: target is root → `.claude/commands/notes.md`.
|
|
108
108
|
|
|
109
109
|
### Flow — List (`/knowledge notes`)
|