| name | axon-ivy-implement-story |
| description | Implement a story generated by axon-ivy-requirements-creation. Maps story types to skills, handles dependencies, and tracks progress. |
When to Use
- User selects a story to implement from
[project]/documents/stories/
- User says "implement story N" or "work on story N"
Workflow
Step 1: Read the Story
Read the selected story file from [project]/documents/stories/story_NN.md.
Extract:
- Story type — identify from title/content (see Story Type → Skill Mapping below)
- Dependencies — which stories must be completed first
- Implementation parts — each
### Part X: section is a unit of work
- Acceptance criteria — the checklist at the bottom
Step 2: Check Dependencies
Read each dependency story file. Verify the artifacts it produces actually exist in the project:
| Story Type | Check for |
|---|
| Data Model | .d.json files in dataclasses/, enum .java files in src/ |
| Entity + Repository | Entity .java and Repository .java in src/ |
| Extraction | Subprocess .p.json and data class in dataclasses/ |
| UI Component | .xhtml file in expected component directory |
| Tag Library | .taglib.xml file in webContent/WEB-INF/ |
| Form | Dialog .xhtml, .p.json, and data class |
| Main Process | .p.json in processes/ |
| Roles + Config | roles.yaml and users.yaml in config/ |
If a dependency artifact is missing, warn the user and suggest implementing that story first.
Step 3: Map Story Type to Skills
Load the appropriate skill(s) based on story type:
| Story Type | Primary Skill | Also Load |
|---|
| Data Model (enums + data classes) | axon-ivy-java-data + axon-ivy-data | — |
| Entity + Repository | axon-ivy-java-data | — |
| Smart Workflow Extraction | axon-ivy-process + axon-ivy-data | axon-ivy-smart-workflow |
| Reusable UI Component | axon-ivy-html | axon-ivy-cms |
| Tag Library Registration | axon-ivy-html | — |
| Form Composition | axon-ivy-html | axon-ivy-cms, axon-ivy-process |
| Main Process | axon-ivy-process | axon-ivy-workflow-guide |
| Roles + Config | axon-ivy-user-role-config | — |
When loading axon-ivy-html for a UI creation task:
- Creating a full-page user task dialog → also load
axon-ivy-html/dialog-template.md
- Creating a reusable composite component → also load
axon-ivy-html/dialog-component.md
Step 4: Implement Part by Part
Work through each ### Part X: section in the story sequentially:
- Read the part's specification (field tables, layout descriptions, etc.)
- Load the mapped skill(s) for guidance
- Create/modify the artifacts
- Run the appropriate verify skill before moving to the next part
Step 5: Run Verification
After implementing ALL parts, run axon-ivy-verify-story to validate the implementation against the story's acceptance criteria and cross-cutting concerns.
Step 6: Mark Completion
After verification passes, update the acceptance criteria checkboxes in the story file to [x].
Story Type Detection
Determine the story type from its title and content:
| If title/content contains... | Story Type |
|---|
| "Data Classes", "Enumerations", "Data Model" | Data Model |
| "Entity", "Repository", "Persistence" | Entity + Repository |
| "Extract", "Smart Workflow", "AI Extraction" | Smart Workflow Extraction |
| "Reusable Component", "Composite Component" | Reusable UI Component |
| "Tag Library", "Taglib" | Tag Library Registration |
| "Form", "Dialog" + user task context | Form Composition |
| "Process", "Orchestration", "Main Process" | Main Process |
| "Roles", "Users", "Config" | Roles + Config |
Verify Skill Mapping
After creating artifacts, run the correct verify skill:
| Artifact Created | Run Verify Skill |
|---|
.p.json (process file) | axon-ivy-process-verify |
cms_*.yaml (CMS entries) | axon-ivy-cms-verify |
.xhtml (dialog/component) | axon-ivy-verify-story (UI checks) |
.d.json (data class) | Check against story field table |
.java (enum/entity/model) | Check against story specification |
Implementation Order Guidance
If the user wants to implement multiple stories, suggest this order:
1. Story: Data Model (enums + data classes) — no dependencies
2. Story: Entity + Repository — depends on #1
3. Story: Smart Workflow Extractions (each) — depends on #1
4. Story: Reusable UI Components (each) — depends on #1
5. Story: Tag Library Registration — depends on #4
6. Story: Form Compositions (each) — depends on #4, #5
7. Story: Main Process — depends on #2, #3, #6
8. Story: Roles + Config — depends on #7
9. Story: CMS / Translations — can run in parallel with #4-#8
Example Session
User: implement story 5
→ Read story_05.md
→ Detect type: "Reusable Component" → UI Component
→ Check dependencies: story_01 (Data Model) → verify EmployeeData.d.json exists ✓
→ Load skills: axon-ivy-html, axon-ivy-cms
→ Implement: create EmployeeInfoDisplay.xhtml composite component
→ Run: axon-ivy-cms-verify on any CMS changes
→ Run: axon-ivy-verify-story for UI behavior checks
→ Mark acceptance criteria [x] in story_05.md