Skip to content

Commit 48e1ac9

Browse files
jwaldripclaude
andcommitted
update README, skill definitions, and website layout
Rewrite README with comprehensive AI-DLC documentation covering installation, terminology, unit model, workflows, and conventions. Update skill SKILL.md files for construct, elaborate, fail, operate, reflect, resume, and setup with refined instructions. Fix website layout.tsx and inject-context hook. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 25e747b commit 48e1ac9

File tree

11 files changed

+573
-34
lines changed

11 files changed

+573
-34
lines changed

README.md

Lines changed: 415 additions & 20 deletions
Large diffs are not rendered by default.

plugin/hooks/inject-context.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -554,7 +554,7 @@ fi
554554
# Display Agent Teams status if enabled
555555
if [ -n "${CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS:-}" ]; then
556556
TEAM_NAME="ai-dlc-${INTENT_SLUG}"
557-
TEAM_CONFIG="$HOME/.claude/teams/${TEAM_NAME}/config.json"
557+
TEAM_CONFIG="${CLAUDE_CONFIG_DIR}/teams/${TEAM_NAME}/config.json"
558558
if [ -f "$TEAM_CONFIG" ]; then
559559
echo "### Agent Teams"
560560
echo ""

plugin/skills/construct/SKILL.md

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,10 @@ if ! grep -q '\.ai-dlc/worktrees/' "${REPO_ROOT}/.gitignore" 2>/dev/null; then
154154
fi
155155

156156
if [ ! -d "$INTENT_WORKTREE" ]; then
157-
git worktree add -B "$INTENT_BRANCH" "$INTENT_WORKTREE"
157+
# Always branch off the default branch
158+
source "${CLAUDE_PLUGIN_ROOT}/lib/config.sh"
159+
DEFAULT_BRANCH=$(resolve_default_branch "auto" "$REPO_ROOT")
160+
git worktree add -B "$INTENT_BRANCH" "$INTENT_WORKTREE" "$DEFAULT_BRANCH"
158161
fi
159162

160163
cd "$INTENT_WORKTREE"
@@ -372,7 +375,7 @@ Check if the team already exists before creating:
372375

373376
```bash
374377
TEAM_NAME="ai-dlc-${INTENT_SLUG}"
375-
TEAM_CONFIG="$HOME/.claude/teams/${TEAM_NAME}/config.json"
378+
TEAM_CONFIG="${CLAUDE_CONFIG_DIR}/teams/${TEAM_NAME}/config.json"
376379
```
377380

378381
If team config does NOT exist:
@@ -421,7 +424,10 @@ UNIT_BRANCH="ai-dlc/${INTENT_SLUG}/${UNIT_SLUG}"
421424
WORKTREE_PATH="${REPO_ROOT}/.ai-dlc/worktrees/${INTENT_SLUG}-${UNIT_SLUG}"
422425

423426
if [ ! -d "$WORKTREE_PATH" ]; then
424-
git worktree add -B "$UNIT_BRANCH" "$WORKTREE_PATH"
427+
# Always branch off the default branch
428+
source "${CLAUDE_PLUGIN_ROOT}/lib/config.sh"
429+
DEFAULT_BRANCH=$(resolve_default_branch "auto" "$REPO_ROOT")
430+
git worktree add -B "$UNIT_BRANCH" "$WORKTREE_PATH" "$DEFAULT_BRANCH"
425431
fi
426432
```
427433

@@ -1052,7 +1058,10 @@ WORKTREE_PATH="${REPO_ROOT}/.ai-dlc/worktrees/${intentSlug}-${UNIT_SLUG}"
10521058

10531059
# Create worktree if it doesn't exist
10541060
if [ ! -d "$WORKTREE_PATH" ]; then
1055-
git worktree add -B "$UNIT_BRANCH" "$WORKTREE_PATH"
1061+
# Always branch off the default branch
1062+
source "${CLAUDE_PLUGIN_ROOT}/lib/config.sh"
1063+
DEFAULT_BRANCH=$(resolve_default_branch "auto" "$REPO_ROOT")
1064+
git worktree add -B "$UNIT_BRANCH" "$WORKTREE_PATH" "$DEFAULT_BRANCH"
10561065
fi
10571066
```
10581067

plugin/skills/elaborate-discover/SKILL.md

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@ Agent({
166166

167167
Spawn one subagent per design file, in parallel with codebase Explore agents. When results return:
168168
- Append to `discovery.md` under `## Design Analysis: {file name}`
169+
- **Commit immediately:**
170+
```bash
171+
git add .ai-dlc/${INTENT_SLUG}/discovery.md && git commit -m "elaborate(${INTENT_SLUG}): discover design analysis for {file name}"
172+
```
169173
- If no design MCP tools are discoverable, the subagent reports unavailability — log a warning and continue without design analysis
170174

171175
5. **UI Mockups**: If the intent involves user-facing interfaces (frontend, CLI, TUI, etc.), generate mockups for every distinct screen or view. This step is **mandatory** for any intent with a UI component:
@@ -231,6 +235,11 @@ Spawn one subagent per design file, in parallel with codebase Explore agents. Wh
231235
- {UI region} ← {domain entity}.{field}
232236
```
233237
238+
**Commit immediately after each mockup:**
239+
```bash
240+
git add .ai-dlc/${INTENT_SLUG}/discovery.md && git commit -m "elaborate(${INTENT_SLUG}): discover UI mockup for {View Name}"
241+
```
242+
234243
**Skip mockups only if:** the intent has no user-facing interface (pure backend, API, data pipeline, infrastructure, etc.).
235244

236245
**Spawn multiple research paths in parallel.** Don't serialize explorations that are independent — launch all of them at once and synthesize when results return.
@@ -253,6 +262,11 @@ After each significant finding (API schema mapped, codebase pattern identified,
253262
- `## Technology Choice: {name}` — For greenfield/early projects: technology selection rationale
254263
- `## Reference Implementation: {name}` — For greenfield/early projects: external reference implementations or prior art informing the design
255264

265+
**Commit immediately after each append to discovery.md:**
266+
```bash
267+
git add .ai-dlc/${INTENT_SLUG}/discovery.md && git commit -m "elaborate(${INTENT_SLUG}): discover {topic}"
268+
```
269+
256270
**After appending to discovery.md, keep only a brief summary in your context** — the full details are safely on disk and will be available to builders. This is the key benefit: your context stays lean for continued exploration while nothing is lost.
257271

258272
**CRITICAL**: Do not summarize or skip exploration. The exploration results directly determine whether the spec is accurate. If you explore a GraphQL API, report every type. If you read source code, report the actual architecture, not your guess about it.
@@ -283,6 +297,11 @@ Structure the domain model as:
283297
- {description of any gap between what's needed and what's available}
284298
- {proposed solution for each gap}
285299

300+
**Commit the domain model immediately after appending it to discovery.md:**
301+
```bash
302+
git add .ai-dlc/${INTENT_SLUG}/discovery.md && git commit -m "elaborate(${INTENT_SLUG}): discover domain model"
303+
```
304+
286305
---
287306

288307
## Step 4: Write Results
@@ -332,12 +351,21 @@ error_message: ""
332351
- {path to mockup 2} — {description}
333352
```
334353

354+
**Commit the results file immediately after writing:**
355+
```bash
356+
git add .ai-dlc/${INTENT_SLUG}/.briefs/elaborate-discover-results.md && git commit -m "elaborate(${INTENT_SLUG}): write discovery results"
357+
```
358+
335359
---
336360

337361
## Error Handling
338362

339363
If any critical error occurs during exploration (e.g., worktree path doesn't exist, discovery.md not found):
340364

341365
1. Write the results file with `status: error` and `error_message` describing what went wrong
342-
2. Include any partial findings that were gathered before the error
343-
3. Exit — the main elaborate skill will read the error status and handle it
366+
2. **Commit the error results file immediately:**
367+
```bash
368+
git add .ai-dlc/${INTENT_SLUG}/.briefs/elaborate-discover-results.md && git commit -m "elaborate(${INTENT_SLUG}): write discovery results (error)"
369+
```
370+
3. Include any partial findings that were gathered before the error
371+
4. Exit — the main elaborate skill will read the error status and handle it

plugin/skills/elaborate/SKILL.md

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,10 @@ if ! grep -q '\.ai-dlc/worktrees/' "${REPO_ROOT}/.gitignore" 2>/dev/null; then
252252
exit 1
253253
fi
254254

255-
git worktree add -B "$INTENT_BRANCH" "$INTENT_WORKTREE"
255+
# Always branch off the default branch
256+
source "${CLAUDE_PLUGIN_ROOT}/lib/config.sh"
257+
DEFAULT_BRANCH=$(resolve_default_branch "auto" "$REPO_ROOT")
258+
git worktree add -B "$INTENT_BRANCH" "$INTENT_WORKTREE" "$DEFAULT_BRANCH"
256259
cd "$INTENT_WORKTREE"
257260
```
258261

@@ -340,6 +343,13 @@ provider_config: {JSON of PROVIDERS object}
340343
{absolute path to discovery.md}
341344
```
342345

346+
Commit the discovery brief immediately after writing it:
347+
348+
```bash
349+
git add .ai-dlc/${INTENT_SLUG}/.briefs/elaborate-discover.md
350+
git commit -m "elaborate(${INTENT_SLUG}): write discovery brief"
351+
```
352+
343353
### Step 3: Invoke discovery subagent
344354

345355
```
@@ -1165,6 +1175,13 @@ design_provider_type: {DESIGN_TYPE or empty}
11651175
{Abbreviated domain model from intent.md}
11661176
```
11671177

1178+
Commit the wireframes brief immediately after writing it:
1179+
1180+
```bash
1181+
git add .ai-dlc/${INTENT_SLUG}/.briefs/elaborate-wireframes.md
1182+
git commit -m "elaborate(${INTENT_SLUG}): write wireframes brief"
1183+
```
1184+
11681185
### Step 4: Invoke wireframes subagent
11691186

11701187
```
@@ -1181,6 +1198,13 @@ Read `.ai-dlc/${INTENT_SLUG}/.briefs/elaborate-wireframes-results.md`.
11811198
- If `status: error` — report the error to the user and discuss how to proceed
11821199
- If `status: success` — list the generated wireframes for the user
11831200

1201+
Commit the wireframe artifacts and results brief:
1202+
1203+
```bash
1204+
git add .ai-dlc/${INTENT_SLUG}/mockups/ .ai-dlc/${INTENT_SLUG}/.briefs/elaborate-wireframes-results.md
1205+
git commit -m "elaborate(${INTENT_SLUG}): generate frontend wireframes"
1206+
```
1207+
11841208
### Step 6: Product review gate
11851209

11861210
Present all generated wireframes to product for review using `AskUserQuestion`:
@@ -1201,7 +1225,11 @@ Present all generated wireframes to product for review using `AskUserQuestion`:
12011225
```
12021226

12031227
- **Approved**: Proceed to Phase 6.5.
1204-
- **Needs revision**: Discuss feedback, update the wireframe HTML files directly, and re-present for review. Loop until approved.
1228+
- **Needs revision**: Discuss feedback, update the wireframe HTML files directly, commit the revision, and re-present for review. Loop until approved.
1229+
```bash
1230+
git add .ai-dlc/${INTENT_SLUG}/mockups/
1231+
git commit -m "elaborate(${INTENT_SLUG}): revise wireframes"
1232+
```
12051233
- **Skip wireframes**: Delete the `mockups/` directory, remove `wireframe:` fields from unit frontmatter, and proceed to Phase 6.5.
12061234

12071235
---
@@ -1260,6 +1288,13 @@ plugin_root: {CLAUDE_PLUGIN_ROOT}
12601288
- **Wireframe:** {wireframe path from frontmatter, if any}
12611289
```
12621290

1291+
Commit the ticket sync brief immediately after writing it:
1292+
1293+
```bash
1294+
git add .ai-dlc/${INTENT_SLUG}/.briefs/elaborate-ticket-sync.md
1295+
git commit -m "elaborate(${INTENT_SLUG}): write ticket sync brief"
1296+
```
1297+
12631298
### Step 3: Invoke ticket sync subagent
12641299

12651300
```
@@ -1276,6 +1311,13 @@ Read `.ai-dlc/${INTENT_SLUG}/.briefs/elaborate-ticket-sync-results.md`.
12761311
- If `status: error` — report the errors to the user. If `validation_passed: false`, the subagent already retried. Log the failures and proceed to Phase 7 (never block elaboration on ticket sync failure)
12771312
- If `status: success` — log the epic key and ticket keys, confirm validation passed, proceed to Phase 7
12781313

1314+
Commit the ticket sync artifacts (updated intent.md and unit files with ticket keys, plus the results brief):
1315+
1316+
```bash
1317+
git add .ai-dlc/${INTENT_SLUG}/
1318+
git commit -m "elaborate(${INTENT_SLUG}): sync tickets to provider"
1319+
```
1320+
12791321
---
12801322

12811323
## Phase 7: Handoff

plugin/skills/fail/SKILL.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,17 @@ REASON="Reviewer found issues: [describe issues]"
6161
han keep save blockers.md "$REASON"
6262
```
6363
64+
### Step 3a: Commit Blocker Documentation
65+
66+
If any blocker documentation was written to the working tree (not han keep), commit immediately:
67+
68+
```bash
69+
if [ -n "$(git status --porcelain)" ]; then
70+
git add -A
71+
git commit -m "ai-dlc(${INTENT_SLUG}): document blocker"
72+
fi
73+
```
74+
6475
### Step 4: Update State
6576
6677
```bash

plugin/skills/operate/SKILL.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,17 @@ if [ -n "$TASK_COMMAND" ]; then
131131
fi
132132
```
133133

134+
### Step 4a: Commit Agent Task Changes
135+
136+
If any agent-owned task execution modified files in the working tree, commit immediately after the task completes:
137+
138+
```bash
139+
if [ -n "$(git status --porcelain)" ]; then
140+
git add -A
141+
git commit -m "operate(${INTENT_SLUG}): execute ${TASK_NAME}"
142+
fi
143+
```
144+
134145
### Step 5: Handle Human-Owned Tasks
135146

136147
For tasks where `owner: human`:

plugin/skills/reflect/SKILL.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ Session transcripts are stored as JSONL files. Find sessions associated with thi
9999

100100
```bash
101101
# Claude Code session logs location
102-
PROJECT_HASH_DIR="$HOME/.claude/projects/"
102+
PROJECT_HASH_DIR="${CLAUDE_CONFIG_DIR}/projects/"
103103

104104
# Find the project hash directory for the current repo
105105
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
@@ -228,6 +228,12 @@ status: complete
228228
{What v2 should focus on, if the user chooses to iterate}
229229
```
230230

231+
Commit the reflection artifact immediately after writing:
232+
233+
```bash
234+
git add .ai-dlc/${INTENT_SLUG}/reflection.md && git commit -m "reflect(${INTENT_SLUG}): capture reflection"
235+
```
236+
231237
### Step 4b: Produce settings-recommendations.md
232238

233239
Based on session analysis and execution patterns, produce concrete settings changes. Write to `.ai-dlc/{intent-slug}/settings-recommendations.md`:
@@ -275,6 +281,12 @@ Example:
275281
- Success criteria should specify test coverage thresholds numerically (units with "adequate coverage" criteria caused 2x reviewer cycles vs units with "80% line coverage")
276282
```
277283

284+
Commit the settings recommendations artifact immediately after writing:
285+
286+
```bash
287+
git add .ai-dlc/${INTENT_SLUG}/settings-recommendations.md && git commit -m "reflect(${INTENT_SLUG}): document settings recommendations"
288+
```
289+
278290
### Step 5: Present Findings for Validation
279291

280292
Output the reflection summary and settings recommendations. Ask the user to:
@@ -394,6 +406,12 @@ If user chooses to close:
394406
- {Process improvement that applies broadly}
395407
```
396408

409+
Commit the learnings immediately after writing:
410+
411+
```bash
412+
git add .claude/memory/learnings.md && git commit -m "reflect(${INTENT_SLUG}): capture learnings"
413+
```
414+
397415
3. **Sync to HAIKU organizational memory** (if workspace configured):
398416

399417
```bash

plugin/skills/resume/SKILL.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,10 @@ if ! grep -q '\.ai-dlc/worktrees/' "${REPO_ROOT}/.gitignore" 2>/dev/null; then
127127
fi
128128

129129
if [ ! -d "$INTENT_WORKTREE" ]; then
130-
git worktree add -B "$INTENT_BRANCH" "$INTENT_WORKTREE"
130+
# Always branch off the default branch
131+
source "${CLAUDE_PLUGIN_ROOT}/lib/config.sh"
132+
DEFAULT_BRANCH=$(resolve_default_branch "auto" "$REPO_ROOT")
133+
git worktree add -B "$INTENT_BRANCH" "$INTENT_WORKTREE" "$DEFAULT_BRANCH"
131134
fi
132135
cd "$INTENT_WORKTREE"
133136
```
@@ -151,7 +154,7 @@ When `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` is enabled:
151154
```bash
152155
AGENT_TEAMS_ENABLED="${CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS:-}"
153156
TEAM_NAME="ai-dlc-${SLUG}"
154-
TEAM_CONFIG="$HOME/.claude/teams/${TEAM_NAME}/config.json"
157+
TEAM_CONFIG="${CLAUDE_CONFIG_DIR}/teams/${TEAM_NAME}/config.json"
155158
```
156159

157160
If `AGENT_TEAMS_ENABLED` is set:

plugin/skills/setup/SKILL.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -229,15 +229,25 @@ For each **confirmed provider**, offer to customize how AI-DLC interacts with it
229229
{contents of built-in default, body only (after frontmatter)}
230230
```
231231
- Tell the user: "Created `.ai-dlc/providers/{type}.md` with defaults as a starting point. Edit this file to customize how AI-DLC interacts with {type} for this project."
232+
- Commit the new override file immediately:
233+
```bash
234+
git add .ai-dlc/providers/{type}.md && git commit -m "ai-dlc: configure {type} provider"
235+
```
232236

233237
5. **If "Use defaults"** → skip, no file created. The built-in defaults apply automatically.
234238

235239
6. **If an override file already exists** from a previous `/setup` run, change the question to:
236240
- "Project override exists at `.ai-dlc/providers/{type}.md`. Want to keep it, reset to defaults, or remove it?"
237241
- Options:
238242
- **"Keep as-is"** — Don't touch the existing override
239-
- **"Reset to defaults"** — Overwrite with current built-in defaults
240-
- **"Remove override"** — Delete the file, revert to built-in defaults only
243+
- **"Reset to defaults"** — Overwrite with current built-in defaults, then commit:
244+
```bash
245+
git add .ai-dlc/providers/{type}.md && git commit -m "ai-dlc: reset {type} provider to defaults"
246+
```
247+
- **"Remove override"** — Delete the file, revert to built-in defaults only, then commit the removal:
248+
```bash
249+
git rm .ai-dlc/providers/{type}.md && git commit -m "ai-dlc: remove {type} provider override"
250+
```
241251
242252
**Skip** this phase for any provider category that has no confirmed provider.
243253
@@ -307,6 +317,11 @@ Rules:
307317
308318
3. Write the file using the `Write` tool to `.ai-dlc/settings.yml`.
309319
320+
4. Commit the settings file immediately:
321+
```bash
322+
git add .ai-dlc/settings.yml && git commit -m "ai-dlc: configure project settings"
323+
```
324+
310325
---
311326
312327
## Phase 7: Confirmation

0 commit comments

Comments
 (0)