@slamb2k/mad-skills 2.0.16 → 2.0.18

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mad-skills",
3
3
  "description": "AI-assisted planning, development and governance tools",
4
- "version": "2.0.16",
4
+ "version": "2.0.18",
5
5
  "author": {
6
6
  "name": "slamb2k",
7
7
  "url": "https://github.com/slamb2k"
package/README.md CHANGED
@@ -412,29 +412,36 @@ Three methods are available. The table below shows what each delivers:
412
412
 
413
413
  ### Plugin (recommended)
414
414
 
415
+ Installs skills, agents, and session hooks from the GitHub repo into
416
+ `~/.claude/plugins/`. Updates automatically. Claude Code only.
417
+
418
+ **Step 1 — Register the marketplace (one-time):**
419
+
420
+ From the CLI:
421
+ ```bash
422
+ claude plugin marketplace add slamb2k/mad-skills
415
423
  ```
416
- /plugin install mad-skills@slamb2k
424
+
425
+ Or add manually to `~/.claude/settings.json`:
426
+ ```json
427
+ "extraKnownMarketplaces": {
428
+ "slamb2k": {
429
+ "source": { "source": "github", "repo": "slamb2k/mad-skills" }
430
+ }
431
+ }
432
+ ```
433
+
434
+ **Step 2 — Install the plugin:**
435
+
436
+ From the CLI:
437
+ ```bash
438
+ claude plugin install mad-skills@slamb2k
417
439
  ```
418
440
 
419
- Installs skills, agents, and session hooks from the GitHub repo into `~/.claude/plugins/`. Updates automatically. Claude Code only.
420
-
421
- > **First time setup — add the marketplace (one-time):**
422
- >
423
- > **Option A** — CLI (outside Claude Code):
424
- > ```bash
425
- > claude plugin marketplace add slamb2k/mad-skills
426
- > ```
427
- >
428
- > **Option B** — Manual (add to `~/.claude/settings.json`):
429
- > ```json
430
- > "extraKnownMarketplaces": {
431
- > "slamb2k": {
432
- > "source": { "source": "github", "repo": "slamb2k/mad-skills" }
433
- > }
434
- > }
435
- > ```
436
- >
437
- > Then install the plugin inside Claude Code with `/plugin install mad-skills@slamb2k`, or from the CLI with `claude plugin install mad-skills@slamb2k`.
441
+ Or inside Claude Code:
442
+ ```
443
+ /plugin install mad-skills@slamb2k
444
+ ```
438
445
 
439
446
  ### npx skills
440
447
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slamb2k/mad-skills",
3
- "version": "2.0.16",
3
+ "version": "2.0.18",
4
4
  "description": "Claude Code skills collection — planning, development and governance tools",
5
5
  "type": "module",
6
6
  "repository": {
@@ -23,14 +23,39 @@ CRITICAL: Reproduce the banner EXACTLY character-for-character. The first line o
23
23
  ```
24
24
 
25
25
  Taglines:
26
- - Bracing the structure...
27
- - Reinforcing before load!
28
- - Locking in the framework!
29
- - Preparing for heavy lifting!
30
- - Cross-bracing the foundation!
31
- - Tightening the load path!
32
- - Structural integrity confirmed!
33
- - Brace for impact!
26
+ - 🏗️ Bracing the structure...
27
+ - 💪 Reinforcing before load!
28
+ - 🔒 Locking in the framework!
29
+ - 🏋️ Preparing for heavy lifting!
30
+ - 🧱 Cross-bracing the foundation!
31
+ - 🔧 Tightening the load path!
32
+ - Structural integrity confirmed!
33
+ - 💥 Brace for impact!
34
+
35
+ ---
36
+
37
+ ## Output Formatting
38
+
39
+ After the banner, display parsed input:
40
+ ```
41
+ ┌─ Input ────────────────────────────────────────
42
+ │ {Field}: {value}
43
+ │ Flags: {parsed flags or "none"}
44
+ └────────────────────────────────────────────────
45
+ ```
46
+
47
+ Pre-flight results:
48
+ ```
49
+ ── Pre-flight ───────────────────────────────────
50
+ ✅ {dep} {version or "found"}
51
+ ⚠️ {dep} not found → {fallback detail}
52
+ ❌ {dep} missing → stopping
53
+ ──────────────────────────────────────────────────
54
+ ```
55
+
56
+ Stage/phase headers: `━━ {N} · {Name} ━━━━━━━━━━━━━━━━━━━━━━━━━`
57
+
58
+ Status icons: ✅ done · ❌ failed · ⚠️ degraded · ⏳ working · ⏭️ skipped
34
59
 
35
60
  ---
36
61
 
@@ -5,38 +5,42 @@ Present this summary after verification completes.
5
5
  ---
6
6
 
7
7
  ```
8
- Brace Complete!
9
-
10
- Project: {project_name}
11
- Directory: {cwd}
12
-
13
- Structure:
14
- {status} goals/ Goals layer
15
- {status} tools/ Tools layer
16
- {status} context/ Context layer
17
- {status} hardprompts/ Hard prompts layer
18
- {status} args/ Args layer
19
- {status} .tmp/ Temp directory
20
-
21
- Files:
22
- {status} CLAUDE.md
23
- {status} .gitignore
24
- {status} goals/manifest.md
25
- {status} goals/build_app.md
26
- {status} tools/manifest.md
27
-
28
- Removed: (only if legacy memory was cleaned up)
29
- {status} tools/memory/ Legacy memory scripts
30
- {status} memory/ Legacy memory directory
31
-
32
- Notes:
33
- {any warnings or skipped items}
34
-
35
- Next steps:
36
- 1. Review CLAUDE.md and customise for your project
37
- 2. Add domain knowledge to context/
38
- 3. Define your first goal in goals/
39
- 4. Start building with the BRACE methodology
8
+ ┌─ Brace · Report ───────────────────────────────
9
+
10
+ ✅ Brace complete
11
+
12
+ │ 📂 Project: {project_name}
13
+ 📍 Directory: {cwd}
14
+
15
+ │ 📝 Structure
16
+ {✅|⏭️} goals/ Goals layer
17
+ {✅|⏭️} tools/ Tools layer
18
+ {✅|⏭️} context/ Context layer
19
+ {✅|⏭️} hardprompts/ Hard prompts layer
20
+ │ {✅|⏭️} args/ Args layer
21
+ │ {✅|⏭️} .tmp/ Temp directory
22
+
23
+ │ 📄 Files
24
+ {✅|⏭️} CLAUDE.md
25
+ {✅|⏭️} .gitignore
26
+ {✅|⏭️} goals/manifest.md
27
+ │ {✅|⏭️} goals/build_app.md
28
+ │ {✅|⏭️} tools/manifest.md
29
+
30
+ │ 🗑️ Removed (only if legacy memory was cleaned up)
31
+ │ {✅} tools/memory/ Legacy memory scripts
32
+ │ {✅} memory/ Legacy memory directory
33
+
34
+ │ ⚠️ Notes
35
+ │ {any warnings or skipped items}
36
+
37
+ │ ⚡ Next steps
38
+ │ 1. Review CLAUDE.md and customise for your project
39
+ │ 2. Add domain knowledge to context/
40
+ │ 3. Define your first goal in goals/
41
+ │ 4. Start building with the BRACE methodology
42
+
43
+ └─────────────────────────────────────────────────
40
44
  ```
41
45
 
42
- Status indicators: [created] [exists] [merged] [upgraded] [removed] [skipped] [failed]
46
+ Status indicators: created/exists · ⏭️ skipped · ⚠️ merged/upgraded · failed
@@ -34,6 +34,31 @@ Taglines:
34
34
 
35
35
  ---
36
36
 
37
+ ## Output Formatting
38
+
39
+ After the banner, display parsed input:
40
+ ```
41
+ ┌─ Input ────────────────────────────────────────
42
+ │ {Field}: {value}
43
+ │ Flags: {parsed flags or "none"}
44
+ └────────────────────────────────────────────────
45
+ ```
46
+
47
+ Pre-flight results:
48
+ ```
49
+ ── Pre-flight ───────────────────────────────────
50
+ ✅ {dep} {version or "found"}
51
+ ⚠️ {dep} not found → {fallback detail}
52
+ ❌ {dep} missing → stopping
53
+ ──────────────────────────────────────────────────
54
+ ```
55
+
56
+ Stage/phase headers: `━━ {N} · {Name} ━━━━━━━━━━━━━━━━━━━━━━━━━`
57
+
58
+ Status icons: ✅ done · ❌ failed · ⚠️ degraded · ⏳ working · ⏭️ skipped
59
+
60
+ ---
61
+
37
62
  Execute a detailed design/plan through the full feature-dev lifecycle with
38
63
  maximum context isolation. Every heavy stage runs in a subagent so the primary
39
64
  conversation only accumulates structured reports.
@@ -295,27 +320,33 @@ Invoke the `/ship` skill:
295
320
  ## Final Report
296
321
 
297
322
  ```
298
- Build complete
299
-
300
- Plan: {first line of PLAN}
301
- Approach: {approach_summary}
302
-
303
- Files modified: {count}
304
- Files created: {count}
305
- Tests: {passed}/{total}
306
-
307
- Docs updated: {count or "none"}
308
-
309
- PR: {pr_url} (merged at {merge_commit})
310
-
311
- Key decisions:
312
- - {decision 1}
313
- - {decision 2}
314
-
315
- Review findings addressed: {count fixed} / {count found}
316
-
317
- Debrief: {count resolved} / {count surfaced} items addressed
318
- {list of items created as goals or tasks, if any}
323
+ ┌─ Build · Report ───────────────────────────────
324
+
325
+ Build complete
326
+
327
+ │ 📋 Plan: {first line of plan}
328
+ 🏗️ Approach: {approach_summary}
329
+
330
+ 📝 Changes
331
+ │ Files modified: {count}
332
+ │ Files created: {count}
333
+ │ Tests: {passed}/{total} ✅
334
+ │ Docs updated: {count or "none"}
335
+
336
+ 🔍 Review
337
+ │ Findings addressed: {count fixed} / {count found}
338
+
339
+ │ 📊 Debrief: {count resolved} / {count surfaced}
340
+ │ {list of created goals/tasks}
341
+
342
+ 🔗 Links
343
+ │ PR: {pr_url}
344
+ │ CI: {merge_commit}
345
+
346
+ │ ⚡ Next steps
347
+ │ {debrief items or "none — all clear"}
348
+
349
+ └─────────────────────────────────────────────────
319
350
  ```
320
351
 
321
352
  If any stage failed, report the failure point and what was accomplished.
@@ -23,14 +23,39 @@ CRITICAL: Reproduce the banner EXACTLY character-for-character. The first line o
23
23
  ```
24
24
 
25
25
  Taglines:
26
- - Heating up the column...
27
- - Fractioning the design space!
28
- - Condensing pure creativity!
29
- - Separating signal from noise!
30
- - Extracting the essence!
31
- - Refining through iteration!
32
- - Distilling N variations of brilliance!
33
- - From crude concept to pure design!
26
+ - 🔥 Heating up the column...
27
+ - 🧪 Fractioning the design space!
28
+ - 💎 Condensing pure creativity!
29
+ - 🔬 Separating signal from noise!
30
+ - ⚗️ Extracting the essence!
31
+ - 🔄 Refining through iteration!
32
+ - Distilling N variations of brilliance!
33
+ - 🎨 From crude concept to pure design!
34
+
35
+ ---
36
+
37
+ ## Output Formatting
38
+
39
+ After the banner, display parsed input:
40
+ ```
41
+ ┌─ Input ────────────────────────────────────────
42
+ │ {Field}: {value}
43
+ │ Flags: {parsed flags or "none"}
44
+ └────────────────────────────────────────────────
45
+ ```
46
+
47
+ Pre-flight results:
48
+ ```
49
+ ── Pre-flight ───────────────────────────────────
50
+ ✅ {dep} {version or "found"}
51
+ ⚠️ {dep} not found → {fallback detail}
52
+ ❌ {dep} missing → stopping
53
+ ──────────────────────────────────────────────────
54
+ ```
55
+
56
+ Stage/phase headers: `━━ {N} · {Name} ━━━━━━━━━━━━━━━━━━━━━━━━━`
57
+
58
+ Status icons: ✅ done · ❌ failed · ⚠️ degraded · ⏳ working · ⏭️ skipped
34
59
 
35
60
  ---
36
61
 
@@ -260,12 +285,29 @@ automatically — skip this step.
260
285
 
261
286
  ## Step 6: Present Designs
262
287
 
263
- Inform the user:
264
- - Dev server is running at `http://localhost:{PORT}`
265
- - Each design is available at `/1`, `/2`, `/3`, etc.
266
- - Briefly describe each design's unique approach (from DESIGN_REPORT)
267
- - Note which designs are new vs existing (if appending)
268
- - Remind they can iterate with `--favorites` to refine preferred designs
288
+ Present the final summary:
289
+
290
+ ```
291
+ ┌─ Distil · Report ──────────────────────────────
292
+
293
+ │ ✅ Distil complete {N} designs generated
294
+
295
+ │ 🌐 Server: http://localhost:{PORT}
296
+
297
+ │ 🎨 Designs
298
+ │ /1 {style name} — {key visual traits}
299
+ │ /2 {style name} — {key visual traits}
300
+ │ /3 {style name} — {key visual traits}
301
+ │ {mark new vs existing}
302
+
303
+ │ 📊 Total: {total designs} ({new} new + {existing} existing)
304
+
305
+ │ ⚡ Next steps
306
+ │ 1. Browse designs at http://localhost:{PORT}/1
307
+ │ 2. Use --favorites 1,3 to iterate on selected designs
308
+
309
+ └─────────────────────────────────────────────────
310
+ ```
269
311
 
270
312
  ## Context Protection Summary
271
313
 
@@ -56,6 +56,31 @@ Parse optional flags from the request:
56
56
 
57
57
  ---
58
58
 
59
+ ## Output Formatting
60
+
61
+ After the banner, display parsed input:
62
+ ```
63
+ ┌─ Input ────────────────────────────────────────
64
+ │ {Field}: {value}
65
+ │ Flags: {parsed flags or "none"}
66
+ └────────────────────────────────────────────────
67
+ ```
68
+
69
+ Pre-flight results:
70
+ ```
71
+ ── Pre-flight ───────────────────────────────────
72
+ ✅ {dep} {version or "found"}
73
+ ⚠️ {dep} not found → {fallback detail}
74
+ ❌ {dep} missing → stopping
75
+ ──────────────────────────────────────────────────
76
+ ```
77
+
78
+ Stage/phase headers: `━━ {N} · {Name} ━━━━━━━━━━━━━━━━━━━━━━━━━`
79
+
80
+ Status icons: ✅ done · ❌ failed · ⚠️ degraded · ⏳ working · ⏭️ skipped
81
+
82
+ ---
83
+
59
84
  ## Pre-flight
60
85
 
61
86
  Before starting, check dependencies:
@@ -315,24 +340,35 @@ Present the user with a summary of all generated files before writing.
315
340
  After all files are generated and verified, present:
316
341
 
317
342
  ```
318
- Dock complete
319
-
320
- Stack: {language} / {framework}
321
- Registry: {registry}
322
- Stages: {env1} {env2} → {env3}
323
-
324
- Generated files:
325
- {file list with brief descriptions}
326
-
327
- Pipeline flow:
328
- PR build + test → [push to registry]
329
- Merge → build + test → push → deploy dev → smoke tests
330
- Tag → retag (no rebuild) → deploy staging → e2e → deploy prod → smoke
331
-
332
- Next steps:
333
- 1. Review generated files
334
- 2. Configure secrets: {list of required secrets}
335
- 3. Push to trigger first pipeline run
343
+ ┌─ Dock · Report ────────────────────────────────
344
+
345
+ Dock complete
346
+
347
+ 🔧 Stack: {language} / {framework}
348
+ │ 📦 Registry: {registry}
349
+ 🌍 Stages: {env1} → {env2} → {env3}
350
+
351
+ │ 📝 Generated files
352
+ │ • {file} — {brief description}
353
+ │ • {file} {brief description}
354
+ │ • ...
355
+
356
+ │ 📊 Pipeline flow
357
+ │ PR → build + test
358
+ │ Merge build + test → push → deploy dev → smoke
359
+ │ Tag → retag (no rebuild) staging → e2e → prod
360
+
361
+ │ 🔗 Links
362
+ │ Dockerfile: {path}
363
+ │ Workflow: {path}
364
+ │ Compose: {path}
365
+
366
+ │ ⚡ Next steps
367
+ │ 1. Review generated files
368
+ │ 2. Configure secrets: {list}
369
+ │ 3. Push to trigger first pipeline run
370
+
371
+ └─────────────────────────────────────────────────
336
372
  ```
337
373
 
338
374
  ---
@@ -61,6 +61,13 @@ Parse optional flags from the request:
61
61
 
62
62
  ---
63
63
 
64
+ ## Output Formatting
65
+
66
+ Input display: `┌─ Input │ {fields} └─`. Pre-flight: `── Pre-flight ── ✅/⚠️/❌ ──`.
67
+ Stage headers: `━━ {N} · {Name} ━━━━━━━━━━━━━`. Icons: ✅ done · ❌ fail · ⚠️ warn · ⏳ work · ⏭️ skip.
68
+
69
+ ---
70
+
64
71
  ## Pre-flight
65
72
 
66
73
  Before starting, check dependencies:
@@ -446,35 +453,27 @@ Present the user with a summary of all generated files before writing.
446
453
  After all files are generated and verified, present:
447
454
 
448
455
  ```
449
- Keel complete
450
-
451
- Provider: {cloud_provider}
452
- IaC Tool: {tool}
453
- Envs: {env1} → {env2} → {env3}
454
- State: {state_backend}
455
-
456
- Components provisioned:
457
- {checklist of selected components}
458
-
459
- Generated files:
460
- {file list with brief descriptions}
461
-
462
- Pipeline flow:
463
- PR → terraform plan → comment on PR
464
- Merge → terraform apply (dev) → sync outputs
465
- Tag → terraform apply (staging) → terraform apply (prod)
466
-
467
- /dock integration:
468
- Registry URL: output from infra/outputs.tf
469
- Compute: {platform} provisioned per environment
470
- Secrets: synced via infra/sync-outputs.sh
471
-
472
- Next steps:
473
- 1. Run bootstrap script: ./infra/bootstrap.sh
474
- 2. Review generated IaC files
475
- 3. Configure CI/CD secrets: {list}
476
- 4. Push to trigger first plan
477
- 5. After apply succeeds, run /dock to set up deployment pipelines
456
+ ┌─ Keel · Report ────────────────────────────────
457
+
458
+ ✅ Keel complete
459
+
460
+ ☁️ Provider: {cloud_provider}
461
+ 🔧 IaC Tool: {tool}
462
+ │ 🌍 Envs: {env1} → {env2} → {env3}
463
+ 💾 State: {state_backend}
464
+
465
+ │ 📝 Components: {checklist of selected}
466
+
467
+ │ 📊 Pipeline: PR plan → Merge → apply dev → Tag → apply prod
468
+
469
+ 🔗 Links
470
+ │ Infra: {infra/ path}
471
+ │ Pipeline: {workflow path}
472
+ │ Bootstrap: ./infra/bootstrap.sh
473
+
474
+ ⚡ Next: 1. Run bootstrap 2. Configure secrets 3. Push 4. /dock
475
+
476
+ └─────────────────────────────────────────────────
478
477
  ```
479
478
 
480
479
  ---
@@ -492,7 +491,5 @@ If /keel detects it has been run before (existing `infra/` directory):
492
491
 
493
492
  ## Integration Points
494
493
 
495
- - **/dock**: /keel provisions what /dock deploys to. /dock pipelines consume
496
- the outputs (registry URL, compute endpoints) as deployment targets.
497
- - **/rig**: Detects `infra/` and wires IaC pipeline into CI workflow.
498
- - **/ship**: Merge triggers IaC apply → /dock deploy chain.
494
+ - **/dock**: /keel provisions what /dock deploys to. /dock consumes outputs (registry URL, compute endpoints).
495
+ - **/rig**: Detects `infra/` and wires IaC pipeline into CI. **/ship**: Merge triggers IaC apply → /dock deploy.
@@ -1,12 +1,12 @@
1
1
  {
2
- "generated": "2026-03-09T17:01:26.694Z",
2
+ "generated": "2026-03-09T17:23:53.026Z",
3
3
  "count": 10,
4
4
  "skills": [
5
5
  {
6
6
  "name": "brace",
7
7
  "directory": "brace",
8
8
  "description": "'Initialize any project directory with the GOTCHA/BRACE framework for agentic AI systems. Creates the 6-layer structure (Goals, Orchestration, Tools, Context, Hard prompts, Args), BRACE build methodology, and a project CLAUDE.md. Recommends claude-mem for persistent memory. Idempotent — safe to run on existing projects. Triggers: \"init gotcha\", \"setup brace\", \"brace\", \"initialize framework\", \"bootstrap gotcha\".'",
9
- "lines": 278,
9
+ "lines": 303,
10
10
  "hasScripts": false,
11
11
  "hasReferences": true,
12
12
  "hasAssets": true,
@@ -16,7 +16,7 @@
16
16
  "name": "build",
17
17
  "directory": "build",
18
18
  "description": "Context-isolated feature development pipeline. Takes a detailed design/plan as argument and executes the full feature-dev lifecycle (explore, question, architect, implement, review, ship) inside subagents so the primary conversation stays compact. Use when you have a well-defined plan and want autonomous execution with minimal context window consumption.",
19
- "lines": 332,
19
+ "lines": 363,
20
20
  "hasScripts": false,
21
21
  "hasReferences": true,
22
22
  "hasAssets": false,
@@ -26,7 +26,7 @@
26
26
  "name": "distil",
27
27
  "directory": "distil",
28
28
  "description": "Generate multiple unique web design variations for any website or web application. Accepts site specifications from a file (--spec path) or pasted text block. Creates a Vite + React + TypeScript + Tailwind project with Bun and produces N different creative designs accessible at /1, /2, /3, etc. Use when prototyping or exploring design directions for any web interface.",
29
- "lines": 290,
29
+ "lines": 332,
30
30
  "hasScripts": false,
31
31
  "hasReferences": true,
32
32
  "hasAssets": true,
@@ -36,7 +36,7 @@
36
36
  "name": "dock",
37
37
  "directory": "dock",
38
38
  "description": ">- Generate container-based release pipelines that build once and promote immutable artifacts through environments (dev → staging → prod). Detects your stack, interviews for infrastructure choices, then outputs deterministic CI/CD files (Dockerfile, workflows, deployment manifests) that run without an LLM. Use when setting up deployment pipelines, containerizing an app, creating release workflows, or connecting CI to container-friendly infrastructure (Azure Container Apps, AWS Fargate, Google Cloud Run, Kubernetes, Dokku, Coolify, CapRover, etc.).",
39
- "lines": 358,
39
+ "lines": 394,
40
40
  "hasScripts": false,
41
41
  "hasReferences": true,
42
42
  "hasAssets": false,
@@ -46,7 +46,7 @@
46
46
  "name": "keel",
47
47
  "directory": "keel",
48
48
  "description": ">- Generate Infrastructure as Code (IaC) pipelines that provision the cloud and container infrastructure your app deploys to. Interview-driven: detects your stack and cloud provider, then outputs deterministic IaC files (Terraform, Bicep, Pulumi, or CDK) plus CI/CD pipelines that plan on PR and apply on merge. Use when setting up cloud infrastructure, provisioning container registries, databases, networking, DNS, or any infrastructure that containers deploy onto. Designed to run before /dock — /keel lays the infrastructure, /dock deploys to it.",
49
- "lines": 499,
49
+ "lines": 496,
50
50
  "hasScripts": false,
51
51
  "hasReferences": true,
52
52
  "hasAssets": false,
@@ -56,7 +56,7 @@
56
56
  "name": "prime",
57
57
  "directory": "prime",
58
58
  "description": "\"Load project context before implementing features or making architectural decisions. Invoke proactively at the start of significant work on any project. Scans CLAUDE.md, README, goals/, specs/, docs/, and source structure to build a context summary. Supports optional domain hints to focus on specific areas of the codebase. Use when you need project conventions, architecture understanding, or domain context before coding.\"",
59
- "lines": 113,
59
+ "lines": 148,
60
60
  "hasScripts": false,
61
61
  "hasReferences": true,
62
62
  "hasAssets": false,
@@ -66,7 +66,7 @@
66
66
  "name": "rig",
67
67
  "directory": "rig",
68
68
  "description": "'Idempotently bootstrap any repository with standard development tools, hooks, and workflows. Use when starting work on a new repo, onboarding to an existing project, or ensuring a repo has proper CI/CD setup. Configures: git hooks (lefthook), commit message templates, PR templates, and GitHub Actions for lint/format/type-check/build. Prompts for user confirmation before changes. Triggers: \"bootstrap repo\", \"setup hooks\", \"configure CI\", \"rig\", \"standardize repo\".'",
69
- "lines": 206,
69
+ "lines": 231,
70
70
  "hasScripts": false,
71
71
  "hasReferences": true,
72
72
  "hasAssets": true,
@@ -76,7 +76,7 @@
76
76
  "name": "ship",
77
77
  "directory": "ship",
78
78
  "description": "\"Ship changes through the full PR lifecycle. Use after completing feature work to commit, push, create PR, wait for checks, and merge. Handles the entire workflow: syncs with main, creates feature branch if needed, groups commits logically with semantic messages, creates detailed PR, monitors CI, fixes issues, squash merges, and cleans up. Invoke when work is ready to ship.\"",
79
- "lines": 227,
79
+ "lines": 262,
80
80
  "hasScripts": false,
81
81
  "hasReferences": true,
82
82
  "hasAssets": false,
@@ -86,7 +86,7 @@
86
86
  "name": "speccy",
87
87
  "directory": "speccy",
88
88
  "description": "Deep-dive interview skill for creating comprehensive specifications. Reviews existing code and docs, then interviews the user through multiple rounds of targeted questions covering technical implementation, UI/UX, concerns, and tradeoffs. Produces a structured spec via create-specification. Use when starting a new feature, system, or major change that needs a spec.",
89
- "lines": 170,
89
+ "lines": 210,
90
90
  "hasScripts": false,
91
91
  "hasReferences": true,
92
92
  "hasAssets": false,
@@ -96,7 +96,7 @@
96
96
  "name": "sync",
97
97
  "directory": "sync",
98
98
  "description": "Sync local repository with origin/main. Use before starting new work, after completing a PR, or when needing latest upstream changes. Safely stashes uncommitted changes, fetches and pulls origin/main, restores stash, and cleans up stale local branches (merged or with deleted remotes). Invoke when switching contexts or preparing for new feature work.",
99
- "lines": 213,
99
+ "lines": 244,
100
100
  "hasScripts": false,
101
101
  "hasReferences": false,
102
102
  "hasAssets": false,
@@ -34,6 +34,31 @@ Taglines:
34
34
 
35
35
  ---
36
36
 
37
+ ## Output Formatting
38
+
39
+ After the banner, display parsed input:
40
+ ```
41
+ ┌─ Input ────────────────────────────────────────
42
+ │ {Field}: {value}
43
+ │ Flags: {parsed flags or "none"}
44
+ └────────────────────────────────────────────────
45
+ ```
46
+
47
+ Pre-flight results:
48
+ ```
49
+ ── Pre-flight ───────────────────────────────────
50
+ ✅ {dep} {version or "found"}
51
+ ⚠️ {dep} not found → {fallback detail}
52
+ ❌ {dep} missing → stopping
53
+ ──────────────────────────────────────────────────
54
+ ```
55
+
56
+ Stage/phase headers: `━━ {N} · {Name} ━━━━━━━━━━━━━━━━━━━━━━━━━`
57
+
58
+ Status icons: ✅ done · ❌ failed · ⚠️ degraded · ⏳ working · ⏭️ skipped
59
+
60
+ ---
61
+
37
62
  Load project context to inform agent decisions. Raw file contents stay in a
38
63
  subagent — the primary thread only sees a structured PRIME_REPORT.
39
64
 
@@ -100,12 +125,22 @@ PRIME_REPORT:
100
125
  Parse PRIME_REPORT and present a clean summary to the user:
101
126
 
102
127
  ```
103
- Context loaded:
104
- - Core: {status from core_files_loaded}
105
- - {Domain}: {summary from per_domain_summary}
106
-
107
- Current branch: {branch}
108
- Ready to assist with: {ready_for}
128
+ ┌─ Prime · Report ───────────────────────────────
129
+
130
+ │ ✅ Context loaded
131
+
132
+ │ 📚 Core: {count}/{total} files loaded
133
+ │ 🌐 Branch: {branch}
134
+
135
+ │ 📝 Domains
136
+ │ {domain}: {2-3 line summary}
137
+ │ {domain}: {2-3 line summary}
138
+
139
+ │ ⚠️ Missing: {list or "none"}
140
+
141
+ │ 🎯 Ready to assist with: {ready_for}
142
+
143
+ └─────────────────────────────────────────────────
109
144
  ```
110
145
 
111
146
  If CLAUDE.md was missing, warn the user and note that only domain context
@@ -23,14 +23,39 @@ CRITICAL: Reproduce the banner EXACTLY character-for-character. The first line o
23
23
  ```
24
24
 
25
25
  Taglines:
26
- - Rigging up the production line...
27
- - Bolting down the framework!
28
- - Assembling the scaffolding!
29
- - Hoisting the infrastructure!
30
- - Locking in the safety harness!
31
- - Wiring up the control panel!
32
- - Setting up the drill floor!
33
- - From blueprint to build-ready!
26
+ - 🏗️ Rigging up the production line...
27
+ - 🔩 Bolting down the framework!
28
+ - 🪜 Assembling the scaffolding!
29
+ - 🏗️ Hoisting the infrastructure!
30
+ - 🦺 Locking in the safety harness!
31
+ - Wiring up the control panel!
32
+ - 🛠️ Setting up the drill floor!
33
+ - 📐 From blueprint to build-ready!
34
+
35
+ ---
36
+
37
+ ## Output Formatting
38
+
39
+ After the banner, display parsed input:
40
+ ```
41
+ ┌─ Input ────────────────────────────────────────
42
+ │ {Field}: {value}
43
+ │ Flags: {parsed flags or "none"}
44
+ └────────────────────────────────────────────────
45
+ ```
46
+
47
+ Pre-flight results:
48
+ ```
49
+ ── Pre-flight ───────────────────────────────────
50
+ ✅ {dep} {version or "found"}
51
+ ⚠️ {dep} not found → {fallback detail}
52
+ ❌ {dep} missing → stopping
53
+ ──────────────────────────────────────────────────
54
+ ```
55
+
56
+ Stage/phase headers: `━━ {N} · {Name} ━━━━━━━━━━━━━━━━━━━━━━━━━`
57
+
58
+ Status icons: ✅ done · ❌ failed · ⚠️ degraded · ⏳ working · ⏭️ skipped
34
59
 
35
60
  ---
36
61
 
@@ -3,26 +3,29 @@
3
3
  Present this summary after all configuration is complete:
4
4
 
5
5
  ```
6
- Rig Complete!
7
-
8
- Repository: {repo_name}
9
- Branch: {branch}
10
-
11
- Configured:
12
- {status} Lefthook installed and configured
13
- {status} Pre-commit hooks: {list of hooks}
14
- {status} Pre-push hooks: {list of hooks}
15
- {status} Commit template: .gitmessage
16
- {status} PR template: {.github/pull_request_template.md | .azuredevops/pull_request_template.md}
17
- {status} CI workflow: {.github/workflows/ci.yml | azure-pipelines.yml}
18
- {if azdo and pipelines registered:}
19
- {status} Azure Pipelines registered: {list of pipeline names}
20
-
21
- Notes:
22
- {any warnings, e.g., "Branch is 'master', consider renaming to 'main'"}
23
-
24
- Next steps:
25
- 1. Review generated files and commit them
26
- 2. Push to remote to activate CI
27
- 3. Test hooks with: lefthook run pre-commit
6
+ ┌─ Rig · Report ─────────────────────────────────
7
+
8
+ │ ✅ Rig complete
9
+
10
+ │ 📂 Repository: {repo_name}
11
+ │ 🌐 Branch: {branch}
12
+
13
+ 📝 Configured
14
+ {✅|⏭️} Lefthook installed and configured
15
+ {✅|⏭️} Pre-commit hooks: {list}
16
+ {✅|⏭️} Pre-push hooks: {list}
17
+ {✅|⏭️} Commit template: .gitmessage
18
+ {✅|⏭️} PR template: {path}
19
+ {✅|⏭️} CI workflow: {path}
20
+ │ {✅|⏭️} Azure Pipelines: {list} (if applicable)
21
+
22
+ ⚠️ Notes
23
+ │ {any warnings}
24
+
25
+ Next steps
26
+ │ 1. Review generated files and commit them
27
+ │ 2. Push to remote to activate CI
28
+ │ 3. Test hooks: lefthook run pre-commit
29
+
30
+ └─────────────────────────────────────────────────
28
31
  ```
@@ -34,6 +34,31 @@ Taglines:
34
34
 
35
35
  ---
36
36
 
37
+ ## Output Formatting
38
+
39
+ After the banner, display parsed input:
40
+ ```
41
+ ┌─ Input ────────────────────────────────────────
42
+ │ {Field}: {value}
43
+ │ Flags: {parsed flags or "none"}
44
+ └────────────────────────────────────────────────
45
+ ```
46
+
47
+ Pre-flight results:
48
+ ```
49
+ ── Pre-flight ───────────────────────────────────
50
+ ✅ {dep} {version or "found"}
51
+ ⚠️ {dep} not found → {fallback detail}
52
+ ❌ {dep} missing → stopping
53
+ ──────────────────────────────────────────────────
54
+ ```
55
+
56
+ Stage/phase headers: `━━ {N} · {Name} ━━━━━━━━━━━━━━━━━━━━━━━━━`
57
+
58
+ Status icons: ✅ done · ❌ failed · ⚠️ degraded · ⏳ working · ⏭️ skipped
59
+
60
+ ---
61
+
37
62
  Ship changes through the complete PR lifecycle. Every stage runs in a subagent
38
63
  to isolate context from the primary conversation. Prompts for each stage are
39
64
  in `references/stage-prompts.md`.
@@ -211,16 +236,26 @@ Parse LAND_REPORT.
211
236
  Compile all stage reports into a summary:
212
237
 
213
238
  ```
214
- Ship complete
215
-
216
- Branch: {branch}
217
- PR: {pr_url}
218
- Merged: {merge_commit} ({merge_type})
219
-
220
- Commits:
221
- {list of commit messages, indented}
222
-
223
- Files: {count} files changed ({diff_summary})
239
+ ┌─ Ship · Report ────────────────────────────────
240
+
241
+ ✅ Ship complete
242
+
243
+ 🌿 Branch: {branch}
244
+ │ 🔗 PR: {pr_url}
245
+ 🔀 Merged: {merge_commit} ({merge_type})
246
+
247
+ │ 📝 Commits
248
+ │ • {commit message 1}
249
+ │ • {commit message 2}
250
+
251
+ │ 📊 {count} files changed ({diff_summary})
252
+
253
+ └─────────────────────────────────────────────────
224
254
  ```
225
255
 
226
- If any stage failed, report the failure point and suggested resolution.
256
+ If any stage failed, add:
257
+ ```
258
+ │ ❌ Failed at: {stage name}
259
+ │ {error description}
260
+ │ {suggested resolution}
261
+ ```
@@ -34,6 +34,31 @@ Taglines:
34
34
 
35
35
  ---
36
36
 
37
+ ## Output Formatting
38
+
39
+ After the banner, display parsed input:
40
+ ```
41
+ ┌─ Input ────────────────────────────────────────
42
+ │ {Field}: {value}
43
+ │ Flags: {parsed flags or "none"}
44
+ └────────────────────────────────────────────────
45
+ ```
46
+
47
+ Pre-flight results:
48
+ ```
49
+ ── Pre-flight ───────────────────────────────────
50
+ ✅ {dep} {version or "found"}
51
+ ⚠️ {dep} not found → {fallback detail}
52
+ ❌ {dep} missing → stopping
53
+ ──────────────────────────────────────────────────
54
+ ```
55
+
56
+ Stage/phase headers: `━━ {N} · {Name} ━━━━━━━━━━━━━━━━━━━━━━━━━`
57
+
58
+ Status icons: ✅ done · ❌ failed · ⚠️ degraded · ⏳ working · ⏭️ skipped
59
+
60
+ ---
61
+
37
62
  Interview the user through multiple rounds of targeted questions to build
38
63
  a comprehensive specification. Then hand off to the `create-specification`
39
64
  skill to produce the final structured spec document.
@@ -159,11 +184,26 @@ Once the interview is complete and decisions are confirmed:
159
184
  After the spec is created, report to the user:
160
185
 
161
186
  ```
162
- Spec complete!
163
-
164
- File: {spec file path}
165
- Sections: {count of sections written}
166
- Decisions: {count of interview decisions captured}
167
- Rounds: {count of interview rounds conducted}
168
- Questions: {total questions asked}
187
+ ┌─ Speccy · Report ──────────────────────────────
188
+
189
+ Spec complete
190
+
191
+ 📄 File: {spec file path}
192
+ 📋 Sections: {count}
193
+ 💬 Rounds: {interview rounds conducted}
194
+ │ ❓ Questions: {total questions asked}
195
+
196
+ │ 📝 Key decisions
197
+ │ • {decision 1}
198
+ │ • {decision 2}
199
+ │ • {decision 3}
200
+
201
+ │ 🔗 Links
202
+ │ Spec: {spec file path}
203
+
204
+ │ ⚡ Next steps
205
+ │ 1. Review the spec: {path}
206
+ │ 2. Run /build {spec path} to implement
207
+
208
+ └─────────────────────────────────────────────────
169
209
  ```
@@ -34,6 +34,31 @@ Taglines:
34
34
 
35
35
  ---
36
36
 
37
+ ## Output Formatting
38
+
39
+ After the banner, display parsed input:
40
+ ```
41
+ ┌─ Input ────────────────────────────────────────
42
+ │ {Field}: {value}
43
+ │ Flags: {parsed flags or "none"}
44
+ └────────────────────────────────────────────────
45
+ ```
46
+
47
+ Pre-flight results:
48
+ ```
49
+ ── Pre-flight ───────────────────────────────────
50
+ ✅ {dep} {version or "found"}
51
+ ⚠️ {dep} not found → {fallback detail}
52
+ ❌ {dep} missing → stopping
53
+ ──────────────────────────────────────────────────
54
+ ```
55
+
56
+ Stage/phase headers: `━━ {N} · {Name} ━━━━━━━━━━━━━━━━━━━━━━━━━`
57
+
58
+ Status icons: ✅ done · ❌ failed · ⚠️ degraded · ⏳ working · ⏭️ skipped
59
+
60
+ ---
61
+
37
62
  Synchronize local repository with the remote default branch using a single
38
63
  Bash subagent to isolate all git operations from the primary conversation.
39
64
 
@@ -199,14 +224,20 @@ SYNC_REPORT:
199
224
  Parse the subagent's SYNC_REPORT and present a clean summary:
200
225
 
201
226
  ```
202
- Sync complete
203
- Main: {commit} - {message}
204
- Branch: {current_branch}
205
- Stash: {status}
206
- Cleaned: {branches or "none"}
227
+ ┌─ Sync · Report ────────────────────────────────
228
+
229
+ ✅ Sync complete
230
+
231
+ 🌿 Main: {commit} {message}
232
+ │ 🔀 Branch: {current_branch}
233
+ │ 📦 Stash: {restored|none|conflict}
234
+ │ 🧹 Cleaned: {branches or "none"}
235
+
236
+ └─────────────────────────────────────────────────
207
237
  ```
208
238
 
209
- If errors occurred, report them clearly with suggested resolution:
210
- - Detached HEAD → suggest `git checkout <branch>`
211
- - Rebase conflict → suggest `git rebase {DEFAULT_BRANCH}` manually and resolve
212
- - Stash conflict → suggest `git stash show` and `git stash pop` manually
239
+ If errors occurred:
240
+ ```
241
+ │ ❌ {error description}
242
+ │ {suggested resolution}
243
+ ```