Skip to content

Commit a847cfb

Browse files
committed
refactor: enforce tool preference and todo tracking in arc42 skill
1 parent 497b142 commit a847cfb

File tree

1 file changed

+52
-30
lines changed
  • .github/skills/arc42-documentation

1 file changed

+52
-30
lines changed

.github/skills/arc42-documentation/SKILL.md

Lines changed: 52 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ The arc42 template consists of 12 sections:
3535
## Hard Rules
3636

3737
### Must
38+
- Use the `todo` tool to track progress through the arc42 documentation workflow
39+
- Prefer `search/*`, `read/*`, and `edit/*` tools over terminal commands for file operations
3840
- Create documentation in `docs/architecture/arc42/` directory
3941
- Use the template structure provided in `templates/arc42-template.md`
4042
- Fill in all 12 sections (mark sections as "TBD" if information is not yet available)
@@ -43,12 +45,14 @@ The arc42 template consists of 12 sections:
4345
- Tailor content to the specific project context (remove boilerplate explanations)
4446
- Use Mermaid diagrams for visual representations (context, building blocks, deployment)
4547
- Keep stakeholder-focused sections (1, 3, 10) accessible to non-technical readers
46-
- Minimize terminal approvals by batching file operations
48+
- Minimize terminal approvals by using editor tools instead of shell commands
4749
- Ensure arc42 documentation stays synchronized with existing ADRs and feature specifications
4850
- Ask the user for clarification when information is missing or unclear (one question at a time)
4951
- Base all documented requirements, constraints, and quality goals on actual specifications or user input
5052

5153
### Must Not
54+
- Use terminal commands for file editing when `edit/*` tools are available
55+
- Skip using the `todo` tool for multi-step workflows
5256
- Copy arc42 help text verbatim into the final document
5357
- Create documentation that duplicates existing ADRs without adding value
5458
- Skip sections without marking them as "TBD" or "Not Applicable"
@@ -59,70 +63,88 @@ The arc42 template consists of 12 sections:
5963

6064
## Actions
6165

62-
### 1. Assess Documentation Scope
63-
Ask the maintainer:
66+
### 1. Initialize Todo Tracking
67+
Create a todo list with the `todo` tool to track your progress through the arc42 workflow:
68+
- [ ] Assess documentation scope
69+
- [ ] Create directory structure
70+
- [ ] Generate arc42 document from template
71+
- [ ] Fill core sections (1, 3, 4, 5)
72+
- [ ] Add visual diagrams
73+
- [ ] Link existing ADRs
74+
- [ ] Validate completeness
75+
- [ ] Update documentation index
76+
- [ ] Commit documentation
77+
78+
### 2. Assess Documentation Scope
79+
Ask the maintainer one question at a time:
6480
- Is this for the entire system or a specific subsystem/feature?
6581
- Are there existing ADRs that should be referenced in Section 9?
6682
- What level of detail is needed (high-level overview vs. detailed technical spec)?
6783
- Who are the primary stakeholders (developers, architects, management)?
6884

69-
### 2. Create Directory Structure
70-
```bash
71-
mkdir -p docs/architecture/arc42
72-
```
85+
### 3. Create Directory Structure
86+
Use `edit/createFile` tool (not terminal commands) to create the directory and initial file.
7387

74-
### 3. Generate arc42 Document
75-
Copy the template and customize for the project:
76-
```bash
77-
# Use the template from this skill
78-
# The template is in templates/arc42-template.md
79-
```
88+
### 4. Generate arc42 Document
89+
- Use `read/*` tool to read `templates/arc42-template.md`
90+
- Use `edit/createFile` to create the customized version at `docs/architecture/arc42/architecture.md`
91+
- Do NOT use terminal commands like `cp` or `cat` - prefer editor tools
8092

81-
Read the template file, then create the customized version at `docs/architecture/arc42/architecture.md`.
93+
### 5. Fill Core Sections (Iteratively)
94+
Update your todo list as you complete each section.
8295

83-
### 4. Fill Core Sections (Iteratively)
8496
Work through sections in recommended order:
85-
1. Start with **Section 1** (Introduction and Goals) - easiest to fill from spec.md
86-
2. Add **Section 3** (Context and Scope) - define system boundaries
87-
3. Document **Section 4** (Solution Strategy) - key architectural decisions
88-
4. Complete **Section 5** (Building Block View) - component structure
89-
5. Fill remaining sections based on available information
97+
1. Use `search/*` tools to find relevant content in `docs/spec.md` and feature specifications
98+
2. Start with **Section 1** (Introduction and Goals) - easiest to fill from spec.md
99+
3. Add **Section 3** (Context and Scope) - define system boundaries
100+
4. Document **Section 4** (Solution Strategy) - key architectural decisions
101+
5. Complete **Section 5** (Building Block View) - component structure
102+
6. Fill remaining sections based on available information
90103

91104
**Progressive approach:** It's acceptable to mark sections as "TBD" and fill them over time. The document is a living artifact.
92105

93-
### 5. Add Visual Diagrams
94-
For key sections, create Mermaid diagrams:
106+
Use `edit/editFiles` to make changes, NOT terminal text editors or sed/awk commands.
107+
108+
### 6. Add Visual Diagrams
109+
Update your todo as you add diagrams.
110+
111+
For key sections, create Mermaid diagrams using `edit/editFiles`:
95112
- **Section 3:** Context diagram (C4 Level 1)
96113
- **Section 5:** Component diagram (C4 Level 2/3)
97114
- **Section 6:** Sequence diagrams for critical scenarios
98115
- **Section 7:** Deployment diagram
99116

100117
Use the `mcp-mermaid` tool to preview diagrams before committing.
101118

102-
### 6. Link Existing ADRs
103-
In **Section 9 (Architecture Decisions)**:
104-
- List all existing ADRs from `docs/adr-*.md`
119+
### 7. Link Existing ADRs
120+
Update your todo when complete.
121+
122+
Use `search/codebase` to find all ADR files matching `adr-*.md`, then in **Section 9 (Architecture Decisions)**:
123+
- List all existing ADRs
105124
- Provide a brief summary of each decision
106125
- Link to the full ADR file
107126

108-
### 7. Validate Completeness
109-
Check that:
127+
Use `edit/editFiles` to update the section.
128+
129+
### 8. Validate Completeness
130+
Review and check your todo list:
110131
- [ ] All 12 sections exist (even if marked TBD)
111132
- [ ] At least sections 1, 3, 4, 5 are filled with meaningful content
112133
- [ ] Diagrams are included for context and building blocks
113134
- [ ] Glossary includes domain-specific terms
114135
- [ ] No arc42 help text remains in the document
115136

116-
### 8. Update Documentation Index
117-
Add reference to the arc42 document in `docs/architecture.md`:
137+
### 9. Update Documentation Index
138+
Use `edit/editFiles` to add reference to the arc42 document in `docs/architecture.md`:
118139
```markdown
119140
## Comprehensive Architecture Documentation
120141

121142
For a complete architecture overview following the arc42 standard, see:
122143
- [arc42 Architecture Documentation](architecture/arc42/architecture.md)
123144
```
124145

125-
### 9. Commit the Documentation
146+
### 10. Commit the Documentation
147+
Mark your todo complete, then use terminal for git operations only:
126148
```bash
127149
git add docs/architecture/arc42/ docs/architecture.md
128150
git commit -m "docs: add arc42 architecture documentation"

0 commit comments

Comments
 (0)