implement-plan-preflight
$
npx mdskill add terrylica/cc-skills/implement-plan-preflightRuns the Preflight phase to create ADR and design spec artifacts
- Solves the task of generating ADRs and design specs for new features
- Uses Bash, Read, Write, Edit, Glob, and Grep tools to manage files
- Follows a MADR 4.0 format and global plan to structure outputs
- Delivers verified ADR and design spec files in designated directories
SKILL.md
.github/skills/implement-plan-preflightView on GitHub ↗
---
name: implement-plan-preflight
description: Run the Preflight phase of the ITP workflow to create ADR and design spec artifacts. Use whenever the user asks to create an ADR, write a design.
allowed-tools: Bash, Read, Write, Edit, Glob, Grep
---
# Implement Plan Preflight
Execute the Preflight phase of the `/itp:go` workflow. Creates ADR and Design Spec artifacts with proper cross-linking and verification.
> **Self-Evolving Skill**: This skill improves through use. If instructions are wrong, parameters drifted, or a workaround was needed — fix this file immediately, don't defer. Only update for real, reproducible issues.
## When to Use This Skill
- Invoked by `/itp:go` command during Preflight phase
- User asks to create an ADR for a feature
- User mentions "design spec" or "MADR format"
- Manual preflight verification needed
## Preflight Workflow Overview
```
P.1: Create Feature Branch (if -b flag)
│
▼
P.2: Create ADR File (MADR 4.0)
│
▼
P.3: Create Design Spec (from global plan)
│
▼
P.4: Verify Checkpoint (MANDATORY)
```
**CRITICAL**: Do NOT proceed to Phase 1 implementation until ALL preflight steps are complete and verified.
---
## Quick Reference
### ADR ID Format
```
YYYY-MM-DD-slug
```
Example: `2025-12-01-clickhouse-aws-ohlcv-ingestion`
### File Locations
| Artifact | Path |
| ----------- | ------------------------------------ |
| ADR | `/docs/adr/$ADR_ID.md` |
| Design Spec | `/docs/design/$ADR_ID/spec.md` |
| Global Plan | `~/.claude/plans/<adj-verb-noun>.md` |
### Cross-Links (MANDATORY)
**In ADR header**:
```markdown
**Design Spec**: [Implementation Spec](/docs/design/YYYY-MM-DD-slug/spec.md)
```
**In spec.md header**:
```markdown
**ADR**: [Feature Name ADR](/docs/adr/YYYY-MM-DD-slug.md)
```
---
## Execution Steps
### Step P.1: Create Feature Branch (Optional)
Only if `-b` flag specified. See [Workflow Steps](./references/workflow-steps.md) for details.
### Step P.2: Create ADR File
1. Create `/docs/adr/$ADR_ID.md`
2. Use template from [ADR Template](./references/adr-template.md)
3. Populate frontmatter from session context
4. Select perspectives from [Perspectives Taxonomy](./references/perspectives-taxonomy.md)
5. Use Skill tool to invoke `adr-graph-easy-architect` for diagrams
### Step P.3: Create Design Spec
1. Create folder: `mkdir -p docs/design/$ADR_ID`
2. Copy global plan: `cp ~/.claude/plans/<adj-verb-noun>.md docs/design/$ADR_ID/spec.md`
3. Add ADR backlink to spec header
### Step P.4: Verify Checkpoint
Run validator or manual checklist:
```bash
uv run scripts/preflight_validator.py $ADR_ID
```
**Checklist** (ALL must be true):
- [ ] ADR file exists at `/docs/adr/$ADR_ID.md`
- [ ] ADR has YAML frontmatter with all 7 required fields
- [ ] ADR has `**Design Spec**:` link in header
- [ ] **DIAGRAM CHECK 1**: ADR has **Before/After diagram** (Context section)
- [ ] **DIAGRAM CHECK 2**: ADR has **Architecture diagram** (Architecture section)
- [ ] Design spec exists at `/docs/design/$ADR_ID/spec.md`
- [ ] Design spec has `**ADR**:` backlink in header
**If any item is missing**: Create it now. Do NOT proceed to Phase 1.
---
## YAML Frontmatter Quick Reference
```yaml
---
status: proposed
date: YYYY-MM-DD
decision-maker: [User Name]
consulted: [Agent-1, Agent-2]
research-method: single-agent
clarification-iterations: N
perspectives: [Perspective1, Perspective2]
---
```
See [ADR Template](./references/adr-template.md) for full field descriptions.
---
## Diagram Requirements (2 DIAGRAMS REQUIRED)
**⛔ MANDATORY**: Every ADR must include EXACTLY 2 diagrams:
| Diagram | Location | Purpose |
| ---------------- | -------------------- | ----------------------------- |
| **Before/After** | Context section | Shows system state change |
| **Architecture** | Architecture section | Shows component relationships |
**SKILL INVOCATION**: Invoke `adr-graph-easy-architect` skill NOW to create BOTH diagrams.
**BLOCKING GATE**: Do NOT proceed to design spec until BOTH diagrams are embedded in ADR.
---
## Reference Documentation
- [ADR Template](./references/adr-template.md) - Complete MADR 4.0 template
- [Perspectives Taxonomy](./references/perspectives-taxonomy.md) - 11 perspective types
- [Workflow Steps](./references/workflow-steps.md) - Detailed step-by-step guide
---
## Validation Script
```bash
# Verify preflight artifacts
uv run scripts/preflight_validator.py <adr-id>
# Example
uv run scripts/preflight_validator.py 2025-12-01-my-feature
```
---
## Troubleshooting
| Issue | Cause | Solution |
| --------------------- | ------------------------ | -------------------------------------------- |
| Validator fails | Missing ADR or spec | Create both files before running validator |
| Frontmatter invalid | Missing required fields | Check all 7 ADR fields and 5 spec fields |
| Diagram not rendering | graph-easy not installed | Run `brew install graph-easy` |
| Spec phase mismatch | Wrong phase value | Use: preflight, phase-1, phase-2, or phase-3 |
| ADR status wrong | Manual status edit | Let workflow manage status transitions |
| Design folder missing | Wrong path structure | Use docs/design/YYYY-MM-DD-slug/spec.md |
## Post-Execution Reflection
After this skill completes, check before closing:
1. **Did the command succeed?** — If not, fix the instruction or error table that caused the failure.
2. **Did parameters or output change?** — If the underlying tool's interface drifted, update Usage examples and Parameters table to match.
3. **Was a workaround needed?** — If you had to improvise (different flags, extra steps), update this SKILL.md so the next invocation doesn't need the same workaround.
Only update if the issue is real and reproducible — not speculative.