liteagents 2.24.1 → 3.5.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 (160) hide show
  1. package/CHANGELOG.md +206 -0
  2. package/README.md +120 -160
  3. package/installer/cli.js +40 -5
  4. package/installer/installation-engine.js +8 -0
  5. package/package.json +4 -3
  6. package/packages/ampcode/AGENT.md +11 -20
  7. package/packages/ampcode/agents/code-developer.md +11 -17
  8. package/packages/ampcode/agents/orchestrator.md +3 -3
  9. package/packages/ampcode/agents/quality-assurance.md +3 -1
  10. package/packages/ampcode/{commands/brainstorming.md → skills/brainstorming/SKILL.md} +2 -3
  11. package/packages/ampcode/{commands/branch-review.md → skills/branch-review/SKILL.md} +13 -13
  12. package/packages/{claude/commands/docs-builder.md → ampcode/skills/docs-builder/SKILL.md} +1 -1
  13. package/packages/ampcode/{commands/live-canvas.md → skills/live-canvas/SKILL.md} +8 -4
  14. package/packages/ampcode/{commands/refactor.md → skills/refactor/SKILL.md} +57 -9
  15. package/packages/ampcode/{commands/release.md → skills/release/SKILL.md} +4 -4
  16. package/packages/{claude/commands → ampcode/skills}/remember/AGENT_RULES.md +44 -84
  17. package/packages/ampcode/{commands/remember.md → skills/remember/SKILL.md} +86 -13
  18. package/packages/ampcode/{commands → skills}/remember/friction.cjs +0 -0
  19. package/packages/ampcode/skills/remember/stub-check.cjs +206 -0
  20. package/packages/ampcode/skills/remember/sync-rules.cjs +178 -0
  21. package/packages/ampcode/skills/remember/version-check.cjs +214 -0
  22. package/packages/ampcode/skills/root-cause/SKILL.md +220 -0
  23. package/packages/ampcode/{commands/trace-back → skills/root-cause}/find-polluter.sh +0 -0
  24. package/packages/{claude/commands/security.md → ampcode/skills/security/SKILL.md} +1 -1
  25. package/packages/{claude/commands/ship.md → ampcode/skills/ship/SKILL.md} +1 -1
  26. package/packages/ampcode/skills/skill-creator/LICENSE.txt +202 -0
  27. package/packages/ampcode/{commands/skill-creator.md → skills/skill-creator/SKILL.md} +1 -2
  28. package/packages/ampcode/{commands → skills}/skill-creator/scripts/init_skill.py +0 -0
  29. package/packages/ampcode/{commands → skills}/skill-creator/scripts/package_skill.py +0 -0
  30. package/packages/ampcode/{commands → skills}/skill-creator/scripts/quick_validate.py +0 -0
  31. package/packages/ampcode/{commands/stash.md → skills/stash/SKILL.md} +2 -1
  32. package/packages/{claude/commands/test-generate.md → ampcode/skills/test-generate/SKILL.md} +2 -2
  33. package/packages/ampcode/variants.json +2 -2
  34. package/packages/claude/CLAUDE.md +11 -19
  35. package/packages/claude/agents/code-developer.md +11 -17
  36. package/packages/claude/agents/orchestrator.md +4 -5
  37. package/packages/claude/agents/quality-assurance.md +3 -1
  38. package/packages/claude/skills/brainstorming/SKILL.md +1 -2
  39. package/packages/claude/{commands/branch-review.md → skills/branch-review/SKILL.md} +1 -1
  40. package/packages/{ampcode/commands/docs-builder.md → claude/skills/docs-builder/SKILL.md} +7 -7
  41. package/packages/claude/skills/live-canvas/SKILL.md +5 -1
  42. package/packages/claude/{commands/refactor.md → skills/refactor/SKILL.md} +53 -5
  43. package/packages/claude/{commands/release.md → skills/release/SKILL.md} +1 -1
  44. package/packages/{ampcode/commands → claude/skills}/remember/AGENT_RULES.md +38 -78
  45. package/packages/claude/{commands/remember.md → skills/remember/SKILL.md} +86 -13
  46. package/packages/claude/{commands → skills}/remember/friction.cjs +0 -0
  47. package/packages/claude/skills/remember/stub-check.cjs +206 -0
  48. package/packages/claude/skills/remember/sync-rules.cjs +178 -0
  49. package/packages/claude/skills/remember/version-check.cjs +214 -0
  50. package/packages/claude/skills/root-cause/SKILL.md +220 -0
  51. package/packages/{ampcode/commands/security.md → claude/skills/security/SKILL.md} +2 -2
  52. package/packages/{ampcode/commands/ship.md → claude/skills/ship/SKILL.md} +2 -2
  53. package/packages/claude/skills/skill-creator/SKILL.md +1 -2
  54. package/packages/claude/{commands/stash.md → skills/stash/SKILL.md} +2 -1
  55. package/packages/{ampcode/commands/test-generate.md → claude/skills/test-generate/SKILL.md} +3 -3
  56. package/packages/claude/variants.json +1 -2
  57. package/packages/droid/AGENTS.md +10 -16
  58. package/packages/droid/commands/brainstorming.md +1 -4
  59. package/packages/droid/commands/branch-review.md +11 -14
  60. package/packages/droid/commands/docs-builder.md +0 -3
  61. package/packages/droid/commands/live-canvas.md +7 -5
  62. package/packages/droid/commands/refactor.md +55 -10
  63. package/packages/droid/commands/release.md +2 -5
  64. package/packages/droid/commands/remember/AGENT_RULES.md +38 -78
  65. package/packages/droid/commands/remember/stub-check.cjs +206 -0
  66. package/packages/droid/commands/remember/sync-rules.cjs +178 -0
  67. package/packages/droid/commands/remember/version-check.cjs +214 -0
  68. package/packages/droid/commands/remember.md +84 -14
  69. package/packages/droid/commands/root-cause.md +218 -0
  70. package/packages/droid/commands/security.md +0 -3
  71. package/packages/droid/commands/ship.md +0 -3
  72. package/packages/droid/commands/skill-creator/LICENSE.txt +202 -0
  73. package/packages/droid/commands/skill-creator.md +0 -4
  74. package/packages/droid/commands/stash.md +0 -2
  75. package/packages/droid/commands/test-generate.md +1 -4
  76. package/packages/droid/droids/1-create-prd.md +6 -2
  77. package/packages/droid/droids/2-generate-tasks.md +1 -2
  78. package/packages/droid/droids/3-process-task-list.md +1 -2
  79. package/packages/droid/droids/code-developer.md +12 -19
  80. package/packages/droid/droids/feature-planner.md +1 -2
  81. package/packages/droid/droids/market-researcher.md +1 -2
  82. package/packages/droid/droids/orchestrator.md +3 -4
  83. package/packages/droid/droids/quality-assurance.md +4 -3
  84. package/packages/droid/droids/system-architect.md +1 -2
  85. package/packages/droid/droids/ui-designer.md +1 -2
  86. package/packages/opencode/AGENTS.md +10 -16
  87. package/packages/opencode/agent/code-developer.md +11 -17
  88. package/packages/opencode/agent/orchestrator.md +2 -2
  89. package/packages/opencode/agent/quality-assurance.md +3 -1
  90. package/packages/opencode/command/brainstorming.md +1 -4
  91. package/packages/opencode/command/branch-review.md +11 -15
  92. package/packages/opencode/command/docs-builder.md +0 -4
  93. package/packages/opencode/command/live-canvas.md +7 -5
  94. package/packages/opencode/command/refactor.md +55 -11
  95. package/packages/opencode/command/release.md +2 -5
  96. package/packages/opencode/command/remember/AGENT_RULES.md +38 -78
  97. package/packages/opencode/command/remember/stub-check.cjs +206 -0
  98. package/packages/opencode/command/remember/sync-rules.cjs +178 -0
  99. package/packages/opencode/command/remember/version-check.cjs +214 -0
  100. package/packages/opencode/command/remember.md +84 -14
  101. package/packages/opencode/command/root-cause.md +218 -0
  102. package/packages/opencode/command/security.md +0 -4
  103. package/packages/opencode/command/ship.md +0 -3
  104. package/packages/opencode/command/skill-creator/LICENSE.txt +202 -0
  105. package/packages/opencode/command/skill-creator.md +0 -4
  106. package/packages/opencode/command/stash.md +0 -3
  107. package/packages/opencode/command/test-generate.md +1 -5
  108. package/packages/opencode/opencode.jsonc +4 -34
  109. package/packages/subagentic-manual.md +147 -314
  110. package/packages/ampcode/agents/context-builder.md +0 -144
  111. package/packages/ampcode/commands/debug-method.md +0 -297
  112. package/packages/ampcode/commands/live-canvas/README.md +0 -264
  113. package/packages/ampcode/commands/optimize.md +0 -61
  114. package/packages/ampcode/commands/tdd-flow.md +0 -390
  115. package/packages/ampcode/commands/test-traps/example.ts +0 -158
  116. package/packages/ampcode/commands/test-traps.md +0 -378
  117. package/packages/ampcode/commands/trace-back.md +0 -176
  118. package/packages/ampcode/commands/verify-done.md +0 -152
  119. package/packages/claude/agents/context-builder.md +0 -145
  120. package/packages/claude/commands/optimize.md +0 -61
  121. package/packages/claude/plugins/live-canvas-marketplace/plugins/live-canvas-channel/README.md +0 -89
  122. package/packages/claude/skills/debug-method/CREATION-LOG.md +0 -119
  123. package/packages/claude/skills/debug-method/SKILL.md +0 -296
  124. package/packages/claude/skills/debug-method/test-academic.md +0 -14
  125. package/packages/claude/skills/debug-method/test-pressure-1.md +0 -58
  126. package/packages/claude/skills/debug-method/test-pressure-2.md +0 -68
  127. package/packages/claude/skills/debug-method/test-pressure-3.md +0 -69
  128. package/packages/claude/skills/live-canvas/README.md +0 -269
  129. package/packages/claude/skills/tdd-flow/SKILL.md +0 -392
  130. package/packages/claude/skills/test-traps/SKILL.md +0 -378
  131. package/packages/claude/skills/test-traps/example.ts +0 -158
  132. package/packages/claude/skills/trace-back/SKILL.md +0 -176
  133. package/packages/claude/skills/verify-done/SKILL.md +0 -152
  134. package/packages/droid/commands/debug-method.md +0 -297
  135. package/packages/droid/commands/live-canvas/README.md +0 -264
  136. package/packages/droid/commands/optimize.md +0 -61
  137. package/packages/droid/commands/tdd-flow.md +0 -390
  138. package/packages/droid/commands/test-traps/example.ts +0 -158
  139. package/packages/droid/commands/test-traps.md +0 -378
  140. package/packages/droid/commands/trace-back.md +0 -176
  141. package/packages/droid/commands/verify-done.md +0 -152
  142. package/packages/droid/droids/context-builder.md +0 -144
  143. package/packages/opencode/agent/context-builder.md +0 -148
  144. package/packages/opencode/command/debug-method.md +0 -297
  145. package/packages/opencode/command/live-canvas/README.md +0 -264
  146. package/packages/opencode/command/optimize.md +0 -61
  147. package/packages/opencode/command/tdd-flow.md +0 -390
  148. package/packages/opencode/command/test-traps/example.ts +0 -158
  149. package/packages/opencode/command/test-traps.md +0 -378
  150. package/packages/opencode/command/trace-back.md +0 -176
  151. package/packages/opencode/command/verify-done.md +0 -152
  152. /package/packages/ampcode/{commands → skills}/docs-builder/docs-builder.cjs +0 -0
  153. /package/packages/ampcode/{commands → skills}/live-canvas/DESIGN_PRINCIPLES.md +0 -0
  154. /package/packages/ampcode/{commands → skills}/live-canvas/dev/post-variants.html +0 -0
  155. /package/packages/ampcode/{commands → skills}/live-canvas/templates/lab-banner.html +0 -0
  156. /package/packages/ampcode/{commands → skills}/live-canvas/templates/overlay-vanilla.js +0 -0
  157. /package/packages/claude/{commands → skills}/docs-builder/docs-builder.cjs +0 -0
  158. /package/packages/claude/skills/{trace-back → root-cause}/find-polluter.sh +0 -0
  159. /package/packages/droid/commands/{trace-back → root-cause}/find-polluter.sh +0 -0
  160. /package/packages/opencode/command/{trace-back → root-cause}/find-polluter.sh +0 -0
@@ -7,6 +7,11 @@
7
7
  const fs = require('fs');
8
8
  const path = require('path');
9
9
 
10
+ // Same single source of truth as installer/cli.js: UPDATE_VERSION.sh bumps
11
+ // only package.json. Stamped into every manifest so version-check.cjs can read
12
+ // the installed version without shelling out to `npm ls -g` (~500ms per run).
13
+ const LITEAGENTS_VERSION = require('../package.json').version;
14
+
10
15
  class InstallationEngine {
11
16
  constructor(pathManager, packageManager) {
12
17
  this.pathManager = pathManager;
@@ -448,7 +453,10 @@ class InstallationEngine {
448
453
  const manifest = {
449
454
  ...template,
450
455
  variant,
456
+ // `version` is the MANIFEST SCHEMA version and always has been; the
457
+ // liteagents release that wrote it is a separate field. Do not merge them.
451
458
  version: '1.1.0',
459
+ liteagents_version: LITEAGENTS_VERSION,
452
460
  installed_at: new Date().toISOString(),
453
461
  variantInfo: {
454
462
  name: variantMetadata.name,
package/package.json CHANGED
@@ -1,14 +1,15 @@
1
1
  {
2
2
  "name": "liteagents",
3
- "version": "2.24.1",
4
- "description": "AI development toolkit with 11 specialized agents and 18 commands including live-canvas UI design with click-to-annotate feedback. Simple one-question installer for Claude, Opencode, Ampcode, and Droid.",
3
+ "version": "3.5.0",
4
+ "description": "AI development toolkit with 10 specialized agents and 13 capabilities including live-canvas UI design with click-to-annotate feedback. Simple one-question installer for Claude, Opencode, Ampcode, and Droid.",
5
5
  "main": "index.js",
6
6
  "bin": {
7
7
  "liteagents": "./installer/cli.js",
8
8
  "liteag": "./cli.js"
9
9
  },
10
10
  "scripts": {
11
- "test": "node tests/run-all-tests.js",
11
+ "test": "node scripts/mirror.cjs check && node tests/run-all-tests.js && node ./scripts/validate-package.js",
12
+ "mirror": "node scripts/mirror.cjs",
12
13
  "test-installer": "node tests/installer/integration.test.js",
13
14
  "install-interactive": "node installer/cli.js",
14
15
  "uninstall-tool": "node installer/cli.js --uninstall",
@@ -6,7 +6,7 @@ Ampcode is a lightweight CLI tool that provides workflow automation commands.
6
6
 
7
7
  These subagents are available when using Ampcode CLI.
8
8
 
9
- ### Subagents (11 total)
9
+ ### Subagents (10 total)
10
10
 
11
11
  | ID | Title | When To Use |
12
12
  |---|---|---|
@@ -14,7 +14,6 @@ These subagents are available when using Ampcode CLI.
14
14
  | 2-generate-tasks | 2-Generate Tasks | Detailed Planning - use to break down the PRD into a granular, actionable task list |
15
15
  | 3-process-task-list | 3-Process Task List | Iterative Implementation - use to guide the AI to tackle one task at a time, allowing you to review and approve each change |
16
16
  | code-developer | Full Stack Developer | Use for code implementation, debugging, refactoring, and development best practices |
17
- | context-builder | Context Initializer | Use to initialize project context for new/existing projects, discover and organize documentation, create AGENT.md and KNOWLEDGE_BASE.md for optimal token-efficient memory |
18
17
  | feature-planner | Product Manager | Use for creating epics and user stories, prioritization, backlog navigation, story refinement, and retrospectives |
19
18
  | market-researcher | Business Analyst | Use for market research, brainstorming, competitive analysis, project briefs, and initial project discovery |
20
19
  | orchestrator | Master Orchestrator | Use for workflow coordination, multi-agent tasks, role switching guidance, and when unsure which specialist to consult |
@@ -22,26 +21,16 @@ These subagents are available when using Ampcode CLI.
22
21
  | system-architect | Architect | Use for system design, architecture documents, technology selection, API design, and infrastructure planning |
23
22
  | ui-designer | UX Expert | Use for UI/UX design, wireframes, prototypes, front-end specifications, and user experience optimization |
24
23
 
25
- ### Skills (9 total)
26
-
27
- | ID | Description | Usage | Auto |
28
- |---|---|---|---|
29
- | brainstorming | Refines rough ideas into fully-formed designs through collaborative questioning | /brainstorming <session-type> <topic> | false |
30
- | docs-builder | Reorg a docs corpus, split an oversized doc, search it, keep pages current, index them | /docs-builder [reorg \| cleanup <file.md>] | false |
31
- | live-canvas | Design UI variations and collect click-to-annotate feedback from the browser (batch mode only on Amp) | /live-canvas | false |
32
- | trace-back | Systematically traces bugs backward through call stack to identify source | /trace-back <issue-description> | false |
33
- | skill-creator | Guide for creating effective skills and extending Claude capabilities | /skill-creator <skill-type> <skill-description> | false |
34
- | debug-method | Four-phase debugging framework - investigate root cause before any fixes | /debug-method <bug-or-error-description> | false |
35
- | tdd-flow | Write test first, watch it fail, write minimal code to pass | /tdd-flow <feature-or-behavior-to-test> | true |
36
- | test-traps | Prevents testing mock behavior and production pollution with test-only methods | /test-traps <testing-scenario> | true |
37
- | verify-done | Requires running verification commands before making any success claims | /verify-done <work-to-verify> | true |
38
-
39
- ### Commands (9 total)
24
+ ### Skills (13 total)
40
25
 
41
26
  | ID | Description | Usage |
42
27
  |---|---|---|
43
- | optimize | Analyze and optimize performance issues | /optimize <target-area> |
44
- | refactor | Refactor code while maintaining behavior and tests | /refactor <code-section> |
28
+ | brainstorming | Refines rough ideas into fully-formed designs through collaborative questioning | /brainstorming <session-type> <topic> |
29
+ | live-canvas | Design UI variations and collect click-to-annotate feedback from the browser (batch mode only on Amp) | /live-canvas |
30
+ | root-cause | Find the cause before changing code - evidence, backward trace, one hypothesis, fix at the source | /root-cause <bug-or-error-description> |
31
+ | skill-creator | Guide for creating effective skills and extending Claude capabilities | /skill-creator <skill-type> <skill-description> |
32
+ | docs-builder | Reorg a docs corpus, split an oversized doc, search it, keep pages current, index them | /docs-builder [reorg \| cleanup <file.md>] |
33
+ | refactor | Refactor and optimize code while maintaining behavior and tests | /refactor <code-section> |
45
34
  | remember | Consolidate stashes + friction into project memory | /remember |
46
35
  | branch-review | Pre-merge review: general review + full security audit, verify pass, no fixes | /branch-review [target] [level] |
47
36
  | security | Security audit — recurring six, injection, auth, trust boundaries; reports, never fixes | /security [target] |
@@ -53,4 +42,6 @@ These subagents are available when using Ampcode CLI.
53
42
  All resources are auto-discovered from frontmatter in their respective directories:
54
43
  - **Agents**: `./agents/*.md`
55
44
  - **Skills**: `./skills/*/SKILL.md`
56
- - **Commands**: `./commands/*.md`
45
+
46
+ Amp removed custom commands in favour of skills, so every capability ships as
47
+ `skills/<name>/SKILL.md` here — the same shape Claude Code uses.
@@ -37,29 +37,26 @@ digraph CodeDeveloper {
37
37
  work_type [label="Work type?", shape=diamond];
38
38
 
39
39
  // Context discovery (conditional)
40
- needs_context [label="Debug/refactor/\noptimize?", shape=diamond];
40
+ needs_context [label="Debug or\nrefactor?", shape=diamond];
41
41
  context_discovery [label="Context Discovery\n(search related code,\ndeps, usages)", fillcolor=lightyellow];
42
42
 
43
43
  // Debug path
44
- use_debug [label="Use /debug-method\nor /trace-back"];
44
+ use_debug [label="Use /root-cause"];
45
45
 
46
46
  // Refactor path
47
47
  use_refactor [label="Use /refactor"];
48
48
 
49
- // Optimize path
50
- use_optimize [label="Use /optimize"];
51
-
52
49
  // Implement path
53
50
  implement [label="Implement changes"];
54
51
 
55
52
  // Conditional testing
56
53
  tdd_needed [label="TDD specified\nor tests needed?", shape=diamond];
57
- use_tdd [label="Use /tdd-flow\nor /test-generate"];
54
+ use_tdd [label="Use /test-generate"];
58
55
 
59
56
  // Validation
60
57
  run_validations [label="Run validations\n(lint, build, tests)"];
61
58
  validations_pass [label="Pass?", shape=diamond];
62
- fix_issues [label="Fix issues\n(use /debug-method if needed)"];
59
+ fix_issues [label="Fix issues\n(use /root-cause if needed)"];
63
60
  failure_count [label="3+ failures?", shape=diamond];
64
61
 
65
62
  // Security check
@@ -76,7 +73,7 @@ digraph CodeDeveloper {
76
73
 
77
74
  // Review and complete
78
75
  code_review [label="Run /branch-review"];
79
- verification [label="Run /verify-done", fillcolor=orange];
76
+ verification [label="Run the proof", fillcolor=orange];
80
77
 
81
78
  // Story-specific
82
79
  update_story [label="Update story\n(checkbox, changelog)"];
@@ -100,12 +97,10 @@ digraph CodeDeveloper {
100
97
 
101
98
  work_type -> use_debug [label="debug"];
102
99
  work_type -> use_refactor [label="refactor"];
103
- work_type -> use_optimize [label="optimize"];
104
100
  work_type -> implement [label="implement"];
105
101
 
106
102
  use_debug -> implement;
107
103
  use_refactor -> implement;
108
- use_optimize -> implement;
109
104
 
110
105
  implement -> tdd_needed;
111
106
  tdd_needed -> use_tdd [label="YES"];
@@ -184,14 +179,13 @@ All require `*` prefix. Invocation commands in table above. Additional:
184
179
 
185
180
  | Situation | Delegate To |
186
181
  |-----------|-------------|
187
- | Bug encountered | `/debug-method` (use `/trace-back` when the error is deep in the stack) |
188
- | Error deep in stack | `/trace-back` |
189
- | Refactoring code | `/refactor` |
190
- | Need tests (when required) | `/test-generate` or `/tdd-flow` |
191
- | Writing any test | `/test-traps` (avoid mocks, production pollution) |
192
- | Before completion | `/verify-done` |
182
+ | Bug encountered | `/root-cause` |
183
+ | Error deep in stack | `/root-cause` (Phase 1, step 5) |
184
+ | Refactoring code, or a perf problem | `/refactor` (its perf pass is on by default) |
185
+ | Need tests (when required) | `/test-generate` |
186
+ | Writing any test | AGENT_RULES.md Testing Standards |
187
+ | Before completion | Run the proof and read its output |
193
188
  | After code changes | `/security` |
194
189
  | Task complete / general review | `/branch-review` (reviews the branch + full security audit, verifies claims, reports findings — never fixes) |
195
- | Performance issues | `/optimize` |
196
190
 
197
191
  You are an autonomous implementation specialist. Execute with precision, delegate appropriately, and communicate clearly when you need guidance or encounter blockers.
@@ -66,7 +66,7 @@ On-demand, read from these locations:
66
66
  | Resource | Global Paths | Local Path |
67
67
  |----------|--------------|------------|
68
68
  | Agents | `~/.config/amp/agents/*.md`, | `./.amp/agents/*.md` |
69
- | Commands | `~/.config/amp/commands/*.md` |`./.amp/commands/*.md` |
69
+ | Skills | `~/.config/amp/skills/*/SKILL.md` | `./.amp/skills/*/SKILL.md` |
70
70
 
71
71
  Parse frontmatter for `name`, `description`, `when_to_use`. Present as numbered list.
72
72
 
@@ -77,7 +77,7 @@ Predefined multi-agent sequences:
77
77
  | Workflow | Sequence | When |
78
78
  |----------|----------|------|
79
79
  | **Greenfield** | market-researcher → feature-planner → 1-create-prd → 2-generate-tasks → 3-process-task-list | New product/feature from scratch |
80
- | **Brownfield** | context-builder → system-architect → feature-planner | Understand existing codebase |
80
+ | **Brownfield** | system-architect → feature-planner | Understand existing codebase |
81
81
  | **Feature** | feature-planner → 1-create-prd → 2-generate-tasks → 3-process-task-list | Add feature to existing product |
82
82
  | **Bug Fix** | code-developer → quality-assurance | Fix and verify |
83
83
  | **Sprint** | feature-planner (*sprint-plan) → 2-generate-tasks | Plan sprint from backlog |
@@ -96,7 +96,7 @@ Quick routing when user has clear intent:
96
96
  | review, quality, test | quality-assurance |
97
97
  | design, UI, wireframe | ui-designer |
98
98
  | architecture, tech, design doc | system-architect |
99
- | understand, document, brownfield | context-builder |
99
+ | understand, brownfield, existing codebase | system-architect |
100
100
 
101
101
  ## Commands
102
102
 
@@ -59,13 +59,15 @@ digraph QualityAssurance {
59
59
 
60
60
  Before any analysis, read (if exists):
61
61
  - `AGENT.md` - Project instructions, patterns, conventions
62
+ <!-- mirror:literal:start — names every tool's config file on purpose -->
62
63
  - `AGENT.md` / `AGENTS.md` - Agent configurations
64
+ <!-- mirror:literal:end -->
63
65
  - `README.md` - Project overview
64
66
  - Test config files (`jest.config`, `pytest.ini`, etc.)
65
67
 
66
68
  ## Slash Commands Available
67
69
 
68
- Use these during analysis: `/branch-review`, `/security`, `/verify-done`
70
+ Use these during analysis: `/branch-review`, `/security`
69
71
 
70
72
  ## Analysis Areas
71
73
 
@@ -1,8 +1,7 @@
1
1
  ---
2
2
  name: brainstorming
3
3
  description: Use when creating or developing, before writing code or implementation plans - refines rough ideas into fully-formed designs through collaborative questioning, alternative exploration, and incremental validation. Don't use during clear 'mechanical' processes
4
- usage: /brainstorming <session-type> <topic>
5
- auto_trigger: false
4
+ allowed-tools: Read, Grep, Glob
6
5
  ---
7
6
 
8
7
  # Brainstorming Ideas Into Designs
@@ -43,7 +42,7 @@ Start by understanding the current project context, then ask questions one at a
43
42
 
44
43
  **Implementation (if continuing):**
45
44
  - Ask: "Ready to set up for implementation?"
46
- - Create isolated workspace (use git worktrees if needed)
45
+ - Create isolated workspace for implementation
47
46
  - Create detailed implementation plan
48
47
 
49
48
  ## Key Principles
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: branch-review
3
3
  description: Review a branch before merge [target] [level]
4
- usage: /branch-review [target] [low|medium|high|max]
5
4
  argument-hint: [file, branch (e.g. main), range (main..HEAD), or empty] [effort level]
6
- allowed-tools: Read, Grep, Glob, Agent, Bash(git diff *), Bash(git log *), Bash(git show *), Bash(git status *), Bash(git grep *), Bash(git rev-parse *), Bash(git merge-base *), Bash(rg *)
5
+ allowed-tools: Read, Grep, Glob, Agent, Bash(git diff:*), Bash(git log:*), Bash(git show:*), Bash(git status:*), Bash(git grep:*), Bash(git rev-parse:*), Bash(git merge-base:*), Bash(rg:*)
6
+ disable-model-invocation: true
7
7
  ---
8
8
  Pre-merge review gate. Two stages — **general review** then a **full security
9
9
  audit** — followed by an adversarial verify pass. It **never edits code**: it
@@ -11,7 +11,7 @@ reports findings and hands them back. Fixing is a separate, separately
11
11
  authorized action.
12
12
 
13
13
  Only **Critical** and **High** findings block the merge. Everything else is
14
- appended to the **fix ledger** (`.claude/remember/fix-ledger.md`) — a local,
14
+ appended to the **fix ledger** (`.amp/remember/fix-ledger.md`) — a local,
15
15
  cumulative list, living beside `MEMORY.md`, that `/refactor` (no arguments)
16
16
  works through between features. Like its neighbours it is a private working
17
17
  artifact, usually gitignored; it persists across reviews, it is not a
@@ -44,17 +44,17 @@ at the current HEAD SHA.
44
44
  review of a report. (Same rule `/security` carries inside stage 2.)
45
45
  - **No edits — two exceptions.** You have no authorization to change code,
46
46
  even for a finding you are certain about. Report it. The only files you may
47
- write are `.claude/remember/fix-ledger.md` (append bullets; never rewrite or
48
- delete) and `.claude/remember/last-review.md` (overwrite; the review record
47
+ write are `.amp/remember/fix-ledger.md` (append bullets; never rewrite or
48
+ delete) and `.amp/remember/last-review.md` (overwrite; the review record
49
49
  described at the end of this file).
50
50
  - **Prove it with two checks, because neither sees what the other does.**
51
51
  `git status --porcelain`, at start and again before you report, proves no
52
52
  **tracked** file changed — that is the "never edits code" guarantee, and it
53
- is the one that matters. It cannot police your own two writes: `.claude/`
53
+ is the one that matters. It cannot police your own two writes: `.amp/`
54
54
  is normally gitignored, so porcelain stays empty whether you wrote the
55
55
  allowed files, wrote nothing, or overwrote `MEMORY.md`. `git status
56
- --ignored` does not close it either — it collapses to `!! .claude/`, the
57
- directory, not the files. So also take `md5sum .claude/remember/*` before
56
+ --ignored` does not close it either — it collapses to `!! .amp/`, the
57
+ directory, not the files. So also take `md5sum .amp/remember/*` before
58
58
  you start and again before you report, and show the comparison: only
59
59
  `fix-ledger.md` and `last-review.md` may differ.
60
60
 
@@ -95,7 +95,7 @@ Record the **HEAD SHA** you reviewed, and **report the target you resolved**
95
95
  (the literal range or path) in your output, so the orchestrator can see what
96
96
  was actually read rather than assuming.
97
97
 
98
- **Re-review after fixes: read `.claude/remember/last-review.md` first.** Its
98
+ **Re-review after fixes: read `.amp/remember/last-review.md` first.** Its
99
99
  `sha:` line is the previously-reviewed commit and its `blockers:` list is what
100
100
  you owe an answer on — take both from the file, never from the orchestrator's
101
101
  recollection, for the same reason `/release` does. Then:
@@ -231,7 +231,7 @@ check before escalating.
231
231
 
232
232
  ### Ledger (non-blocking — medium / low)
233
233
  Not in the report. **Append** each one as a single bullet to
234
- `.claude/remember/fix-ledger.md` (create the file with the header below if
234
+ `.amp/remember/fix-ledger.md` (create the file with the header below if
235
235
  missing):
236
236
 
237
237
  ```
@@ -256,7 +256,7 @@ with `UNVERIFIED:` so `/refactor` retests before acting.
256
256
  The **snippet is the anchor**: 20–60 verbatim characters from the line,
257
257
  unique enough for `git grep -F` to find it after lines shift. No line
258
258
  numbers, no TODO comments in code — the ledger is the single writer. Before
259
- appending, dedupe with **plain `grep -F "<snippet>" .claude/remember/fix-ledger.md`**;
259
+ appending, dedupe with **plain `grep -F "<snippet>" .amp/remember/fix-ledger.md`**;
260
260
  if it is already there, skip it. Do not touch existing bullets.
261
261
 
262
262
  **A bullet you disprove is deleted, not annotated.** If you establish that an
@@ -280,7 +280,7 @@ Then a coverage line: stage 1 at level `<level>`, stage 2 full, stage 3 —
280
280
  each `ran ✓/✗` with its evidence. A stage you did not actually run is a **✗**, never an
281
281
  assumed pass.
282
282
 
283
- **Write the review record** to `.claude/remember/last-review.md`, overwriting
283
+ **Write the review record** to `.amp/remember/last-review.md`, overwriting
284
284
  it. `/release` reads this file; a SHA that lives only in a chat message is
285
285
  gone after a compaction or a handover, and the only remaining source is the
286
286
  orchestrator — the one party this command already refuses to take a review's
@@ -326,7 +326,7 @@ does not move — which means nothing was fixed, which is the correct outcome.
326
326
 
327
327
  End with:
328
328
  - **Reviewed at HEAD `<sha>` on `<branch>`, target `<resolved range or path>`,
329
- tree clean at start; at exit clean or the two `.claude/remember/` paths
329
+ tree clean at start; at exit clean or the two `.amp/remember/` paths
330
330
  only.**
331
331
  - **Fix ledger: N open, M added this run** (N = bullet count). When N > 0,
332
332
  add: "N fixes waiting — run `/refactor` between features." The ledger is a
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: docs-builder
3
3
  description: Reorg a docs corpus, split an oversized doc, search it, keep pages current, index them
4
- usage: /docs-builder [reorg | cleanup <file.md> | search <query words...>]
5
4
  argument-hint: [reorg | cleanup <file.md> | search <query words...> — empty asks first run vs. drift]
6
5
  allowed-tools: Read, Write, Edit, Grep, Glob, Task, AskUserQuestion, Bash(node:*), Bash(git:*), Bash(rg:*)
6
+ disable-model-invocation: true
7
7
  ---
8
8
 
9
9
  # docs-builder
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: live-canvas
3
3
  description: Conduct design interviews, generate UI variations, and collect live click-to-annotate feedback that streams into the session so edits land without leaving the browser. Use when the user wants rapid iterative UI refinement, not just batched feedback.
4
+ allowed-tools: Read, Grep, Glob
4
5
  ---
5
6
 
6
7
  # Live Canvas Skill
@@ -26,7 +27,7 @@ Live Canvas supports two feedback transports. **The user picks every time** —
26
27
 
27
28
  ### Host detection — do this first
28
29
 
29
- This SKILL.md is the Claude Code variant of the skill. Same content is mirrored as docs for Droid/Amp/Opencode under `packages/<tool>/commands/live-canvas/`, but those tools don't support the MCP channel.
30
+ This SKILL.md is the Claude Code variant of the skill. Same content is mirrored as docs for Droid/Amp/Opencode under `packages/<tool>/` beside the other capabilities, but those tools don't support the MCP channel.
30
31
 
31
32
  **If running under Droid, Amp, or Opencode (not Claude Code):**
32
33
  - Skip the mode question entirely.
@@ -109,6 +110,8 @@ Or pick JSON now to stay in this session — feedback gets written to a file
109
110
  you paste back here. No relaunch needed.
110
111
  ```
111
112
 
113
+ <!-- mirror:literal:start — Live mode is the Claude Code MCP plugin; these are
114
+ Claude's real paths in every kit, because no other tool can install it -->
112
115
  **Case C — first-time setup block:**
113
116
 
114
117
  ```
@@ -125,6 +128,7 @@ Live mode needs a one-time install. Two steps:
125
128
  That's it — once the plugin is installed, /live-canvas in any session can
126
129
  claim the channel. Re-run /live-canvas and pick Live.
127
130
  ```
131
+ <!-- mirror:literal:end -->
128
132
 
129
133
  Do not try to run any of these commands yourself. Three reasons:
130
134
  1. The `/plugin` steps are Claude Code slash commands — not doable from inside a running session.
@@ -418,7 +422,7 @@ Create all files under `.claude-design/`:
418
422
 
419
423
  ### The overlay
420
424
 
421
- **One template, every framework:** `~/.claude/skills/live-canvas/templates/overlay-vanilla.js`. Single file, zero dependencies, plain DOM. Works in vanilla JS, Vue, Svelte, Rails, Django, Phoenix, plain HTML, Next.js, Vite-React, Remix — anywhere a `<script>` tag runs.
425
+ **One template, every framework:** `~/.config/amp/skills/live-canvas/templates/overlay-vanilla.js`. Single file, zero dependencies, plain DOM. Works in vanilla JS, Vue, Svelte, Rails, Django, Phoenix, plain HTML, Next.js, Vite-React, Remix — anywhere a `<script>` tag runs.
422
426
 
423
427
  Copy it into a directory served by the dev server (e.g. `public/overlay-vanilla.js` for Next.js, `static/overlay-vanilla.js` for Vite, the public dir for Rails/Django). Reference it from the lab page.
424
428
 
@@ -545,7 +549,7 @@ The Live Canvas page must include:
545
549
  1. **Header** with:
546
550
  - Design Brief summary (target, scope, key requirements)
547
551
  - Instructions for reviewing
548
- - **Lab banner (REQUIRED)** — paste `~/.claude/skills/live-canvas/templates/lab-banner.html` at the top of the lab page. Same text in any mode. For React/TSX labs, translate the inline style to a JS object: camelCase keys, string values. E.g. `style="border-radius:8px; padding:10px 14px; font-size:13px"` → `style={{ borderRadius: '8px', padding: '10px 14px', fontSize: '13px' }}`. Keep the text and `role="note"`.
552
+ - **Lab banner (REQUIRED)** — paste `~/.config/amp/skills/live-canvas/templates/lab-banner.html` at the top of the lab page. Same text in any mode. For React/TSX labs, translate the inline style to a JS object: camelCase keys, string values. E.g. `style="border-radius:8px; padding:10px 14px; font-size:13px"` → `style={{ borderRadius: '8px', padding: '10px 14px', fontSize: '13px' }}`. Keep the text and `role="note"`.
549
553
 
550
554
  2. **Variant Grid** with:
551
555
  - Clear labels (A, B, C, D, E)
@@ -568,7 +572,7 @@ The Live Canvas page must include:
568
572
 
569
573
  The overlay (`overlay-vanilla.js`) enables users to click on elements and leave comments. Without it, the Live Canvas is just a static page with no way to collect structured feedback.
570
574
 
571
- - Copy `~/.claude/skills/live-canvas/templates/overlay-vanilla.js` into a directory served by the dev server (e.g. `public/`, `static/`, or wherever the framework serves static assets).
575
+ - Copy `~/.config/amp/skills/live-canvas/templates/overlay-vanilla.js` into a directory served by the dev server (e.g. `public/`, `static/`, or wherever the framework serves static assets).
572
576
  - Reference it from the lab page via `<script>` tag and call `LiveCanvas.init({...})` once with `target`, `channelUrl` (Live mode), and optional `batchEndpoint`. See "Wiring the overlay" above for the exact snippets per framework.
573
577
  - Every variant container in the lab page MUST have a `data-variant="X"` attribute (A, B, C, D, E, or F). The overlay uses this to route comments to the right variant file.
574
578
 
@@ -1,11 +1,12 @@
1
1
  ---
2
2
  name: refactor
3
- description: Refactor [code]
4
- usage: /refactor <code-section> | /refactor (no args = fix-ledger mode)
3
+ description: Refactor and optimize [code]
5
4
  argument-hint: [file-or-function, or empty for the fix ledger]
6
- allowed-tools: Read, Edit, Grep, Glob, Bash(npm test *), Bash(npx jest *), Bash(npx vitest *), Bash(pnpm test *), Bash(yarn test *), Bash(pytest *), Bash(python *), Bash(go test *), Bash(cargo test *), Bash(make test *), Bash(git diff *), Bash(git grep *), Bash(git status *), Bash(git rev-parse *), Bash(git switch *)
5
+ allowed-tools: Read, Edit, Grep, Glob, Bash(npm test:*), Bash(npx jest:*), Bash(npx vitest:*), Bash(pnpm test:*), Bash(yarn test:*), Bash(pytest:*), Bash(python:*), Bash(go test:*), Bash(cargo test:*), Bash(make test:*), Bash(git diff:*), Bash(git grep:*), Bash(git status:*), Bash(git rev-parse:*), Bash(git switch:*)
6
+ disable-model-invocation: true
7
7
  ---
8
- Refactor $ARGUMENTS.
8
+ Refactor $ARGUMENTS. A targeted refactor includes the performance pass
9
+ below — it is on by default, not a separate command.
9
10
 
10
11
  ## Guardrails
11
12
  - **Spawn a worker and explicitly select your tool's mid tier.** State the
@@ -44,15 +45,15 @@ Refactor $ARGUMENTS.
44
45
  other does.** `git status --porcelain` at exit must list only files a
45
46
  surviving bullet named — that is this command's scope guarantee, and unlike
46
47
  `/branch-review` it is not expected to be empty. It cannot police the
47
- memory directory: `.claude/` is normally gitignored, so porcelain stays
48
+ memory directory: `.amp/` is normally gitignored, so porcelain stays
48
49
  empty whether you deleted a fixed bullet, wrote nothing, or overwrote
49
- `MEMORY.md`. So also take `md5sum .claude/remember/*` before you start and
50
+ `MEMORY.md`. So also take `md5sum .amp/remember/*` before you start and
50
51
  again before you report, and show the comparison: only `fix-ledger.md` may
51
52
  differ. `last-review.md` in particular is `/branch-review`'s to write —
52
53
  a fixer that touches it forges the gate that judges its own work.
53
54
 
54
55
  ## Ledger mode — `$ARGUMENTS` empty
55
- Work through `.claude/remember/fix-ledger.md`, the non-blocking findings
56
+ Work through `.amp/remember/fix-ledger.md`, the non-blocking findings
56
57
  `/branch-review` has accumulated. Everything below (goals, constraints,
57
58
  verification, HITL gates) still applies; this section only says what to
58
59
  refactor and how to close each item.
@@ -72,8 +73,14 @@ refactor and how to close each item.
72
73
  behaviour change is not a refactor — leave the bullet, note it in the report.
73
74
  5. Run the tests as described below. Then report: **fixed / dropped / left**
74
75
  with the reason per left item, and the remaining bullet count.
75
- 6. Say plainly: **commit, then run `/branch-review`** on this branch — ledger
76
- mode is a fixer, not a review, and its diff gets the ordinary gate.
76
+ 6. **Hand it back; do not chain it.** Say plainly: **commit, then run
77
+ `/branch-review`** on this branch — ledger mode is a fixer, not a review,
78
+ and its diff gets the ordinary gate. That is a sentence you *say*, not a
79
+ sequence you *run*. They are two separate calls and both are the user's:
80
+ an answer of "commit", "yes" or "go" authorizes the commit and nothing
81
+ after it. Never start `/branch-review` off the back of it. Observed in the
82
+ field: a run chained the review onto the owner's "commit" and the owner
83
+ objected.
77
84
 
78
85
  ## Goals
79
86
  - Reduce complexity
@@ -81,6 +88,35 @@ refactor and how to close each item.
81
88
  - Apply DRY
82
89
  - Better naming
83
90
  - Smaller functions (single responsibility)
91
+ - Remove needless work — the performance pass below
92
+
93
+ ## Performance — part of every targeted refactor
94
+ When `$ARGUMENTS` names a target, look for wasted work as well as messy
95
+ work: time and space complexity, N+1 queries, I/O inside a loop, needless
96
+ allocations, the same value recomputed repeatedly.
97
+
98
+ **Ground every finding before you touch it.** Performance claims are easy
99
+ to invent. A finding counts as **confirmed** only with at least one of:
100
+ - a profile, benchmark or log line showing call frequency or duration,
101
+ - the path sits on an obvious hot loop or per-request handler with real
102
+ volume,
103
+ - the user supplied evidence in the request.
104
+
105
+ Without one of those it is **uncertain — report it, do not optimise it.**
106
+ Speculative optimisation is scope creep with a stopwatch.
107
+
108
+ Fix confirmed findings under the same constraints as any other refactor:
109
+ minimal change, one obvious shape, no behaviour change, no API change.
110
+ After each such edit, re-read the changed region and confirm it still
111
+ computes the same answer — a perf change that quietly alters semantics is
112
+ the worst kind. Report per finding: **location** (`file:line`), **cost**
113
+ (concrete — "N+1 over ~1k rows on every page load", not "could be
114
+ faster"), **change**, **expected improvement**, **trade-off**
115
+ (readability / memory / consistency).
116
+
117
+ In ledger mode the surviving bullets are the whole scope — do not add
118
+ perf findings of your own. One you notice goes back to the orchestrator
119
+ as a new bullet, like any other side finding.
84
120
 
85
121
  ## Constraints
86
122
  - **NO behavior changes**
@@ -114,8 +150,20 @@ honest way to know is to run them.
114
150
  - the change is **bigger than the user asked for** (scope creep —
115
151
  unrelated cleanups, formatting, comment edits). Confirm before
116
152
  applying.
153
+ - a perf fix has **multiple reasonable shapes** (cache vs precompute vs
154
+ batch vs paginate vs index) — present the options with trade-offs, not
155
+ a chosen path.
156
+ - a perf fix trades **correctness for speed** (lossy approximation,
157
+ weaker or eventual consistency) — even when it is "obviously" faster.
158
+ - a perf fix touches **concurrency primitives** (locks, atomics,
159
+ ordering) — easy to introduce a race.
160
+ - a perf fix changes a **DB schema, response shape or caller contract**.
117
161
 
118
162
  Final report:
119
163
  - **refactor done, tests N pass / 0 fail** — ready, OR
120
164
  - **refactor done, but K tests fail** — awaiting direction (revert /
121
165
  patch / update test).
166
+
167
+ Plus the performance pass: **confirmed-and-fixed** · **confirmed-but-asking**
168
+ (why + options) · **uncertain** (what profiling or data would settle it) ·
169
+ **none found**.
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  name: release
3
3
  description: Verify, sweep docs, cut a version — then hand the release sequence back
4
- usage: /release
5
- allowed-tools: Read, Grep, Glob, Edit, Write, Agent, Bash(git status *), Bash(git diff *), Bash(git log *), Bash(git show *), Bash(git fetch *), Bash(git add *), Bash(git commit *), Bash(git rev-parse *), Bash(git merge-base *), Bash(npm *), Bash(pnpm *), Bash(yarn *), Bash(pytest *), Bash(python *), Bash(go *), Bash(cargo *), Bash(make *)
4
+ allowed-tools: Read, Grep, Glob, Edit, Write, Agent, Bash(git status:*), Bash(git diff:*), Bash(git log:*), Bash(git show:*), Bash(git fetch:*), Bash(git add:*), Bash(git commit:*), Bash(git rev-parse:*), Bash(git merge-base:*), Bash(npm:*), Bash(pnpm:*), Bash(yarn:*), Bash(pytest:*), Bash(python:*), Bash(go:*), Bash(cargo:*), Bash(make:*)
5
+ disable-model-invocation: true
6
6
  ---
7
7
  Release **preparation** orchestrator for the **current branch**. It runs your
8
8
  existing pre-deploy gate, sweeps the docs, bumps the version and commits —
@@ -57,7 +57,7 @@ A review must have run on this branch **at the current HEAD SHA**.
57
57
 
58
58
  **Compare the SHAs yourself; do not settle for an answer.** Run `git rev-parse
59
59
  HEAD` and compare it against the `sha:` line in
60
- `.claude/remember/last-review.md`, which `/branch-review` writes. Asking the
60
+ `.amp/remember/last-review.md`, which `/branch-review` writes. Asking the
61
61
  orchestrator "did a review run?" puts the question to the one party with an
62
62
  incentive to say yes, so its word is not evidence — and neither is a SHA
63
63
  quoted from a chat message, which is the same claim in another costume and is
@@ -72,7 +72,7 @@ that predates this file's introduction has no record, so it does not count.
72
72
  is what makes "all findings fixed" checkable instead of promised.
73
73
  **No exceptions — including the fix ledger.** It is normally gitignored, so
74
74
  appending to it moves nothing and this never comes up. A repo that tracks
75
- `.claude/` instead will see a ledger commit land after the review and make
75
+ `.amp/` instead will see a ledger commit land after the review and make
76
76
  it stale. That is the rule working, not a case to carve out: re-review, or
77
77
  leave the ledger uncommitted until after the release.
78
78
  - **`coverage:` naming any stage `NOT RUN`** → **stop**. A `ready` from a run