agile-context-engineering 0.5.0 → 0.5.1

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 (102) hide show
  1. package/.claude-plugin/marketplace.json +18 -0
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +7 -1
  4. package/README.md +16 -12
  5. package/agents/ace-code-discovery-analyst.md +245 -245
  6. package/agents/ace-code-integration-analyst.md +248 -248
  7. package/agents/ace-code-reviewer.md +375 -375
  8. package/agents/ace-product-owner.md +365 -361
  9. package/agents/ace-project-researcher.md +606 -606
  10. package/agents/ace-technical-application-architect.md +315 -315
  11. package/bin/install.js +587 -173
  12. package/hooks/ace-check-update.js +15 -14
  13. package/hooks/ace-statusline.js +30 -12
  14. package/hooks/hooks.json +14 -0
  15. package/package.json +3 -2
  16. package/shared/lib/ace-core.js +53 -0
  17. package/shared/lib/ace-core.test.js +308 -308
  18. package/shared/lib/ace-story.test.js +250 -250
  19. package/skills/execute-story/SKILL.md +116 -110
  20. package/skills/execute-story/script.js +13 -27
  21. package/skills/execute-story/script.test.js +261 -261
  22. package/skills/execute-story/story-template.xml +451 -451
  23. package/skills/execute-story/workflow.xml +3 -1
  24. package/skills/help/SKILL.md +71 -69
  25. package/skills/help/script.js +32 -35
  26. package/skills/help/script.test.js +183 -183
  27. package/skills/help/workflow.xml +14 -3
  28. package/skills/init-coding-standards/SKILL.md +91 -72
  29. package/skills/init-coding-standards/coding-standards-template.xml +531 -531
  30. package/skills/init-coding-standards/script.js +50 -59
  31. package/skills/init-coding-standards/script.test.js +70 -70
  32. package/skills/init-coding-standards/workflow.xml +1 -1
  33. package/skills/map-cross-cutting/SKILL.md +126 -89
  34. package/skills/map-cross-cutting/workflow.xml +1 -1
  35. package/skills/map-guide/SKILL.md +126 -89
  36. package/skills/map-guide/workflow.xml +1 -1
  37. package/skills/map-pattern/SKILL.md +125 -89
  38. package/skills/map-pattern/workflow.xml +1 -1
  39. package/skills/map-story/SKILL.md +180 -127
  40. package/skills/map-story/templates/tech-debt-index.xml +125 -125
  41. package/skills/map-story/workflow.xml +2 -2
  42. package/skills/map-subsystem/SKILL.md +155 -111
  43. package/skills/map-subsystem/script.js +51 -60
  44. package/skills/map-subsystem/script.test.js +68 -68
  45. package/skills/map-subsystem/templates/subsystem-architecture.xml +343 -343
  46. package/skills/map-subsystem/templates/subsystem-structure.xml +234 -234
  47. package/skills/map-subsystem/workflow.xml +1173 -1173
  48. package/skills/map-sys-doc/SKILL.md +125 -90
  49. package/skills/map-sys-doc/workflow.xml +1 -1
  50. package/skills/map-system/SKILL.md +103 -85
  51. package/skills/map-system/script.js +75 -84
  52. package/skills/map-system/script.test.js +73 -73
  53. package/skills/map-system/templates/system-structure.xml +177 -177
  54. package/skills/map-system/templates/testing-framework.xml +283 -283
  55. package/skills/map-system/workflow.xml +667 -667
  56. package/skills/map-walkthrough/SKILL.md +140 -92
  57. package/skills/map-walkthrough/workflow.xml +457 -457
  58. package/skills/plan-backlog/SKILL.md +93 -75
  59. package/skills/plan-backlog/script.js +121 -136
  60. package/skills/plan-backlog/script.test.js +83 -83
  61. package/skills/plan-backlog/workflow.xml +1348 -1348
  62. package/skills/plan-feature/SKILL.md +99 -76
  63. package/skills/plan-feature/feature-template.xml +361 -361
  64. package/skills/plan-feature/script.js +131 -148
  65. package/skills/plan-feature/script.test.js +80 -80
  66. package/skills/plan-feature/workflow.xml +1 -1
  67. package/skills/plan-product-vision/SKILL.md +91 -75
  68. package/skills/plan-product-vision/product-vision-template.xml +227 -227
  69. package/skills/plan-product-vision/script.js +51 -60
  70. package/skills/plan-product-vision/script.test.js +69 -69
  71. package/skills/plan-product-vision/workflow.xml +337 -337
  72. package/skills/plan-story/SKILL.md +125 -102
  73. package/skills/plan-story/script.js +18 -49
  74. package/skills/plan-story/story-template.xml +8 -1
  75. package/skills/plan-story/workflow.xml +17 -1
  76. package/skills/research-external-solution/SKILL.md +120 -107
  77. package/skills/research-external-solution/external-solution-template.xml +832 -832
  78. package/skills/research-external-solution/script.js +229 -238
  79. package/skills/research-external-solution/script.test.js +134 -134
  80. package/skills/research-external-solution/workflow.xml +657 -657
  81. package/skills/research-integration-solution/SKILL.md +121 -98
  82. package/skills/research-integration-solution/integration-solution-template.xml +1015 -1015
  83. package/skills/research-integration-solution/script.js +223 -231
  84. package/skills/research-integration-solution/script.test.js +134 -134
  85. package/skills/research-integration-solution/workflow.xml +711 -711
  86. package/skills/research-story-wiki/SKILL.md +101 -92
  87. package/skills/research-story-wiki/script.js +223 -231
  88. package/skills/research-story-wiki/script.test.js +138 -138
  89. package/skills/research-story-wiki/story-wiki-template.xml +194 -194
  90. package/skills/research-story-wiki/workflow.xml +473 -473
  91. package/skills/research-technical-solution/SKILL.md +131 -103
  92. package/skills/research-technical-solution/script.js +223 -231
  93. package/skills/research-technical-solution/script.test.js +134 -134
  94. package/skills/research-technical-solution/technical-solution-template.xml +1025 -1025
  95. package/skills/research-technical-solution/workflow.xml +761 -761
  96. package/skills/review-story/SKILL.md +99 -100
  97. package/skills/review-story/script.js +8 -16
  98. package/skills/review-story/script.test.js +169 -169
  99. package/skills/review-story/story-template.xml +451 -451
  100. package/skills/review-story/workflow.xml +1 -1
  101. package/skills/update/SKILL.md +65 -53
  102. package/skills/update/workflow.xml +21 -5
@@ -1,110 +1,116 @@
1
- ---
2
- name: execute-story
3
- description: Execute a fully-planned story -- loads AC + Technical Solution, creates execution plan via Plan Mode, implements (solo or agent teams), runs code review, updates state, and triggers wiki mapping
4
- argument-hint: "story=<file-path|github-url> [--agent-teams-off]"
5
- disable-model-invocation: true
6
- allowed-tools: Read, Bash, Write, Edit, AskUserQuestion, Glob, Grep, Agent, EnterPlanMode, ExitPlanMode
7
- model: opus
8
- effort: max
9
- ---
10
-
11
- # Execute Story
12
-
13
- Orchestrate story execution: load a fully-planned story (with AC + Technical Solution), create an execution plan via Claude Code Plan Mode, execute the plan (solo or agent teams), run code review, present results for user verification, update state across all ACE artifacts, and trigger wiki mapping.
14
-
15
- ## When to Use
16
-
17
- - After `/ace:plan-story` -- when a story has AC + Technical Solution
18
- - Anytime -- to execute a fully-planned story specification
19
- - When a story has both Acceptance Criteria AND Technical Solution sections
20
- - When story status is "Refined" (ready for implementation)
21
-
22
- ## Input
23
-
24
- ### Required
25
-
26
- - **`story`** -- Story source:
27
- - **File path**: Path to a fully-planned story markdown file (must have AC + Technical Solution sections)
28
- - **GitHub URL or issue number**: GitHub story reference
29
- - Must be a valid, accessible file or GitHub issue.
30
- - The story MUST have been through `/ace:plan-story` (has AC + Technical Solution).
31
-
32
- ### Flags
33
-
34
- - **`--agent-teams-off`** -- Force solo execution mode regardless of agent_teams setting. Overrides the agent_teams flag in settings.json. Use when you want single-context execution even if teams are enabled.
35
-
36
- ## Environment Context (preprocessed)
37
-
38
- !`node "${CLAUDE_SKILL_DIR}/script.js" init "$ARGUMENTS" 2>/dev/null`
39
-
40
- ## Supporting Resources
41
-
42
- Read ALL of these before starting the workflow:
43
-
44
- - **Workflow**: Read [workflow.xml](workflow.xml) -- complete orchestration process with all steps
45
- - **Story template**: Read [story-template.xml](story-template.xml) -- output format for the story specification
46
- - **Walkthrough template**: Read [walkthrough-template.xml](walkthrough-template.xml) -- walkthrough format for wiki docs
47
- - **Questioning guide**: Read `${CLAUDE_SKILL_DIR}/../../shared/utils/questioning.xml` -- deep questioning techniques
48
- - **UI formatting**: Read `${CLAUDE_SKILL_DIR}/../../shared/utils/ui-formatting.md` -- ACE output formatting rules
49
-
50
- ## Process
51
-
52
- **STRICT WORKFLOW EXECUTION -- Follow the execute-story workflow STEP BY STEP.
53
- Do NOT skip steps. Do NOT improvise. Do NOT start reading code or planning
54
- until step 1 (init & validate) is fully complete with the init command output parsed.**
55
-
56
- Execute the execute-story workflow from [workflow.xml](workflow.xml) end-to-end.
57
-
58
- The Environment Context above contains the preprocessed INIT JSON -- use it directly instead of running the init script manually. The workflow's step 1 setup can skip the init bash call since that data is already available.
59
-
60
- **MANDATORY FIRST ACTION: Parse the preprocessed INIT JSON from Environment Context BEFORE doing anything else.
61
- Do NOT read the story file manually. Do NOT explore the codebase. Do NOT start planning.
62
- The init output validates the story and provides all paths and context needed.**
63
-
64
- **CRITICAL REQUIREMENTS:**
65
- - Story MUST have Acceptance Criteria -- STOP if missing
66
- - Story MUST have Technical Solution -- STOP if missing
67
- - NO intermediary commits during implementation
68
- - ONE single commit per story after user approval (code + state + docs)
69
- - Code review is MANDATORY -- blockers must be fixed before approval
70
- - Coding standards violations are BLOCKERS, not warnings
71
- - Dead code and backwards-compatible shims must be DELETED
72
-
73
- Two execution modes:
74
- - **Solo Mode** (default or --agent-teams-off): Single context, plan mode then execute
75
- - **Agent Teams Mode** (when enabled + plan recommends): Lead + teammates for parallel work
76
-
77
- ## Artifacts
78
-
79
- Story file updated with Summary & State section and Wiki Updates section.
80
- Feature file updated with story status.
81
- Product backlog updated with story (and possibly feature) status.
82
- Wiki documents updated/created based on implementation changes.
83
-
84
- ## Example Usage
85
-
86
- ```
87
- # Execute a story from a file path
88
- /ace:execute-story \
89
- story=.ace/artifacts/product/e1-auth/f3-oauth/s1-buttons/s1-buttons.md
90
-
91
- # Execute from a GitHub issue
92
- /ace:execute-story \
93
- story=https://github.com/owner/repo/issues/95
94
-
95
- # Force solo mode (no agent teams)
96
- /ace:execute-story \
97
- story=.ace/artifacts/product/e1-auth/f3-oauth/s1-buttons/s1-buttons.md \
98
- --agent-teams-off
99
-
100
- # With just an issue number
101
- /ace:execute-story story=#95
102
- ```
103
-
104
- ## Next Steps
105
-
106
- **After this command:**
107
- - `/ace:execute-story story=...` -- Execute the next story in the feature
108
- - `/ace:review-story story=...` -- Re-run code review (standalone)
109
- - `/ace:plan-story story=...` -- Plan the next story
110
- - `/ace:help` -- Check project status
1
+ ---
2
+ name: execute-story
3
+ description: Execute a fully-planned story -- loads AC + Technical Solution, creates execution plan via Plan Mode, implements (solo or agent teams), runs code review, updates state, and triggers wiki mapping
4
+ argument-hint: "story=<file-path|github-url> [--agent-teams-off]"
5
+ disable-model-invocation: true
6
+ allowed-tools: Read, Bash, Write, Edit, AskUserQuestion, Glob, Grep, Agent, EnterPlanMode, ExitPlanMode
7
+ model: opus
8
+ effort: max
9
+ ---
10
+
11
+ ## Environment Context (preprocessed)
12
+
13
+ !`node "${CLAUDE_SKILL_DIR}/script.js" init "$ARGUMENTS" 2>/dev/null`
14
+
15
+ ## Supporting Resources (auto-loaded)
16
+
17
+ !`cat "${CLAUDE_SKILL_DIR}/workflow.xml"`
18
+
19
+ !`cat "${CLAUDE_SKILL_DIR}/story-template.xml"`
20
+
21
+ !`cat "${CLAUDE_SKILL_DIR}/walkthrough-template.xml"`
22
+
23
+ !`cat "${CLAUDE_SKILL_DIR}/../../shared/utils/questioning.xml"`
24
+
25
+ !`cat "${CLAUDE_SKILL_DIR}/../../shared/utils/ui-formatting.md"`
26
+
27
+ ```xml
28
+ <command>
29
+
30
+ <execution-time>
31
+ <runs-after>
32
+ <trigger>After /ace:plan-story — once a story has AC + Technical Solution</trigger>
33
+ <trigger>Anytime — to execute a fully-planned story specification</trigger>
34
+ </runs-after>
35
+ <use-when>
36
+ <condition>A story has both Acceptance Criteria AND Technical Solution sections</condition>
37
+ <condition>Story status is "Refined" (ready for implementation)</condition>
38
+ </use-when>
39
+ </execution-time>
40
+
41
+ <input>
42
+ <flags>
43
+ <flag name="--agent-teams-off">
44
+ Force solo execution mode regardless of agent_teams setting.
45
+ Overrides the agent_teams flag in settings.json.
46
+ Use when you want single-context execution even if teams are enabled.
47
+ </flag>
48
+ </flags>
49
+
50
+ <parameters>
51
+ <required>
52
+ <param name="story" type="file | github-url">
53
+ Story source can be either:
54
+ - **File path**: Path to a fully-planned story markdown file
55
+ (must have AC + Technical Solution sections)
56
+ - **GitHub URL or issue number**: GitHub story reference
57
+ Must be a valid, accessible file or GitHub issue.
58
+ The story MUST have been through /ace:plan-story (has AC + Technical Solution).
59
+ </param>
60
+ </required>
61
+ </parameters>
62
+ </input>
63
+
64
+ <execution-context>
65
+ <!-- All supporting files are auto-loaded in the Supporting Resources section above.
66
+ The model does NOT need to Read these files — they are already in context. -->
67
+ </execution-context>
68
+
69
+ <output>
70
+ <objective>
71
+ Take a fully-planned story (with AC + Technical Solution) and:
72
+ 1. Create an execution plan via Claude Code Plan Mode
73
+ 2. Execute the plan — solo or with Agent Teams
74
+ 3. Run code review (3-level verification, anti-pattern detection, coding standards)
75
+ 4. Present results to user for verification/approval
76
+ 5. Commit implementation (single commit after approval)
77
+ 6. Update state: story file, feature file, product backlog, GitHub
78
+ 7. Trigger wiki mapping (background) with tech debt integration
79
+
80
+ Two execution modes:
81
+ - **Solo Mode** (default or --agent-teams-off): Single context, plan mode → execute
82
+ - **Agent Teams Mode** (when enabled + plan recommends): Lead + teammates for parallel work
83
+ </objective>
84
+
85
+ <artifacts>
86
+ Story file updated with Summary &amp; State section and Wiki Updates section.
87
+ Feature file updated with story status.
88
+ Product backlog updated with story (and possibly feature) status.
89
+ Wiki documents updated/created based on implementation changes.
90
+ </artifacts>
91
+ </output>
92
+
93
+ <process>
94
+ **STRICT WORKFLOW EXECUTION — Follow the execute-story workflow STEP BY STEP.
95
+ Do NOT skip steps. Do NOT improvise. Do NOT start reading code or planning
96
+ until step 1 (init &amp; validate) is fully complete with the init command output parsed.**
97
+
98
+ Execute the execute-story workflow from
99
+ `workflow.xml` end-to-end.
100
+
101
+ **MANDATORY FIRST ACTION: Run the init command (step 1.2) BEFORE doing anything else.
102
+ Do NOT read the story file manually. Do NOT explore the codebase. Do NOT start planning.
103
+ The init command validates the story and provides all paths and context needed.**
104
+
105
+ **CRITICAL REQUIREMENTS:**
106
+ - Story MUST have Acceptance Criteria — STOP if missing
107
+ - Story MUST have Technical Solution STOP if missing
108
+ - NO intermediary commits during implementation
109
+ - ONE single commit per story after user approval (code + state + docs)
110
+ - Code review is MANDATORY — blockers must be fixed before approval
111
+ - Coding standards violations are BLOCKERS, not warnings
112
+ - Dead code and backwards-compatible shims must be DELETED
113
+ </process>
114
+
115
+ <example-usage>
116
+ ```
@@ -18,7 +18,7 @@ const path = require('path');
18
18
 
19
19
  const {
20
20
  loadConfig, pathExists, safeReadFile, resolveModel,
21
- loadSettings, execCommand, output, error,
21
+ loadSettings, execCommand, output, error, runSkillScript,
22
22
  } = require('../../shared/lib/ace-core');
23
23
 
24
24
  const {
@@ -35,7 +35,7 @@ const { syncStory } = require('../../shared/lib/ace-github');
35
35
  * Detect the runtime config directory name.
36
36
  * In the plugin context, the script lives at:
37
37
  * <base>/<config-dir>/skills/execute-story/script.js
38
- * Default to '.claude' since the plugin always runs in Claude Code.
38
+ * Default to '.claude' for backwards compatibility.
39
39
  */
40
40
  function getRuntimeConfigDirName() {
41
41
  try {
@@ -43,7 +43,7 @@ function getRuntimeConfigDirName() {
43
43
  const skillsDir = path.dirname(skillDir); // <base>/<config-dir>/skills
44
44
  const configDir = path.dirname(skillsDir); // <base>/<config-dir>
45
45
  const dirName = path.basename(configDir);
46
- if (dirName === '.opencode' || dirName === '.claude') {
46
+ if (dirName === '.opencode' || dirName === '.codex' || dirName === '.claude') {
47
47
  return dirName;
48
48
  }
49
49
  } catch {}
@@ -54,31 +54,17 @@ const RUNTIME_CONFIG_DIR = getRuntimeConfigDirName();
54
54
 
55
55
  // ─── CLI Dispatch ────────────────────────────────────────────────────────────
56
56
 
57
- const cwd = process.cwd();
58
- const args = process.argv.slice(2);
59
- const raw = args.includes('--raw');
60
- const cmd = args[0];
61
-
62
- switch (cmd) {
63
- case 'init':
64
- cmdInit(cwd, raw, args.slice(1).filter(a => a !== '--raw'));
65
- break;
66
- case 'update-state':
67
- updateState(cwd, raw, args.slice(1).filter(a => a !== '--raw'));
68
- break;
69
- case 'sync-github':
70
- syncStory(cwd, raw, args.slice(1).filter(a => a !== '--raw'));
71
- break;
72
- case 'resolve-model': {
73
- const agentType = args[1];
57
+ runSkillScript({
58
+ init: cmdInit,
59
+ 'update-state': (cwd, raw, args) => updateState(cwd, raw, args),
60
+ 'sync-github': (cwd, raw, args) => syncStory(cwd, raw, args),
61
+ 'resolve-model': (cwd, raw, args, parsed) => {
62
+ const agentType = parsed._positional || args[0];
74
63
  if (!agentType) error('resolve-model requires agent-type argument');
75
64
  const model = resolveModel(cwd, agentType);
76
65
  output({ model, agent: agentType }, raw, model);
77
- break;
78
- }
79
- default:
80
- error(`Unknown command: ${cmd}\nAvailable: init, update-state, sync-github, resolve-model`);
81
- }
66
+ },
67
+ });
82
68
 
83
69
  // ─── Init: Execute Story ────────────────────────────────────────────────────
84
70
 
@@ -88,7 +74,7 @@ switch (cmd) {
88
74
  * Detects: git, gh CLI, GitHub project, agent teams, story source/content/metadata,
89
75
  * acceptance criteria, technical solution, wiki refs, coding standards, computed paths.
90
76
  */
91
- function cmdInit(cwd, raw, initArgs) {
77
+ function cmdInit(cwd, raw, args, parsed) {
92
78
  const config = loadConfig(cwd);
93
79
 
94
80
  // ── Environment detection ──
@@ -114,7 +100,7 @@ function cmdInit(cwd, raw, initArgs) {
114
100
  } catch {}
115
101
 
116
102
  // ── Parse story param ──
117
- const storyParam = initArgs.join(' ').trim() || null;
103
+ const storyParam = parsed.story || parsed._positional || null;
118
104
 
119
105
  // ── Classify the story parameter ──
120
106
  const classified = classifyStoryParam(storyParam);