Initial commit
This commit is contained in:
45
skills/ln-322-adr-creator/SKILL.md
Normal file
45
skills/ln-322-adr-creator/SKILL.md
Normal file
@@ -0,0 +1,45 @@
|
||||
---
|
||||
name: ln-322-adr-creator
|
||||
description: Creates ADRs (Nygard format, 7 sections, ~300-500 words) via short Q&A. Assigns next ADR number and validates standards.
|
||||
---
|
||||
|
||||
# ADR Creator
|
||||
|
||||
Captures a single architecture decision with minimal dialog and saves it to the ADR collection.
|
||||
|
||||
## Purpose & Scope
|
||||
- Assign next ADR number in `docs/reference/adrs/`.
|
||||
- Gather title/category/context/decision/rationale/alternatives/consequences/status via 5 questions.
|
||||
- Generate ADR file from template; validate standards; return path.
|
||||
|
||||
## When to Use
|
||||
- Need to document a specific architectural/technical decision (one per ADR).
|
||||
- Project already has reference docs structure (`docs/reference/adrs/`).
|
||||
- Not for broad docs creation (use ln-110/ln-114 for initial structures).
|
||||
|
||||
## Workflow (concise)
|
||||
1) **Detect number:** Scan existing ADR files, pick next zero-padded number, build slug.
|
||||
2) **Dialog (5 Qs):** Title; category (Strategic/Technical); Context; Decision + Rationale; Alternatives table (2 rows); Consequences + Related + Status.
|
||||
3) **Generate:** Copy template, fill placeholders (title/date/status/category/decision makers/context/decision/rationale/alternatives/consequences/related).
|
||||
4) **Validate:** Ensure SCOPE tags, maintenance/Last Updated, POSIX ending; apply DOCUMENTATION_STANDARDS if present; auto-fix missing bits.
|
||||
5) **Save & link:** Write `docs/reference/adrs/adr-NNN-slug.md`; optionally update `docs/reference/README.md` if placeholder found; report path and next steps.
|
||||
|
||||
## Critical Rules
|
||||
- One decision per ADR; English language per standard.
|
||||
- Include 2 alternatives with pros/cons/rejection; keep within ~300-500 words.
|
||||
- Do not create if `docs/reference/adrs/` missing (warn instead).
|
||||
- Preserve zero-padded numbering; no gaps.
|
||||
|
||||
## Definition of Done
|
||||
- Next ADR number/slug determined; placeholders filled; no leftovers.
|
||||
- File saved in adrs/ with ISO date, status, category, consequences, alternatives table.
|
||||
- Standards validated (SCOPE, maintenance, POSIX); README updated if placeholder present.
|
||||
- Path returned and user reminded to reference in architecture.md if needed.
|
||||
|
||||
## Reference Files
|
||||
- Template: `ln-322-adr-creator/references/adr_template.md`
|
||||
- Standards: `docs/DOCUMENTATION_STANDARDS.md` (if exists)
|
||||
|
||||
---
|
||||
Version: 7.0.0 (Condensed ADR creation and standards validation)
|
||||
Last Updated: 2025-11-26
|
||||
105
skills/ln-322-adr-creator/diagram.html
Normal file
105
skills/ln-322-adr-creator/diagram.html
Normal file
@@ -0,0 +1,105 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>ln-322-adr-creator - State Diagram</title>
|
||||
<script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
|
||||
<link rel="stylesheet" href="../shared/css/diagram.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<header>
|
||||
<h1>📝 ln-322-adr-creator</h1>
|
||||
<p class="subtitle">Architecture Decision Record Creator - State Diagram</p>
|
||||
</header>
|
||||
|
||||
<div class="info-box">
|
||||
<h3>📋 Workflow Overview</h3>
|
||||
<ul>
|
||||
<li><strong>Purpose:</strong> Create minimal Architecture Decision Records (ADRs) through 5-question dialog</li>
|
||||
<li><strong>Format:</strong> Nygard format with 7 sections (~300-500 words)</li>
|
||||
<li><strong>Categories:</strong> Strategic (business, patterns) or Technical (frameworks, infra)</li>
|
||||
<li><strong>Use after:</strong> ln-111-docs-creator creates project structure</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="legend">
|
||||
<div class="legend-item">
|
||||
<div class="legend-color color-discovery"></div>
|
||||
<span>ADR Discovery</span>
|
||||
</div>
|
||||
<div class="legend-item">
|
||||
<div class="legend-color color-dialog"></div>
|
||||
<span>Dialog/Generation</span>
|
||||
</div>
|
||||
<div class="legend-item">
|
||||
<div class="legend-color color-decision"></div>
|
||||
<span>Decision Point</span>
|
||||
</div>
|
||||
<div class="legend-item">
|
||||
<div class="legend-color color-action"></div>
|
||||
<span>Update/Summary</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="diagram-container">
|
||||
<div class="mermaid">
|
||||
graph TD
|
||||
Start([Start: Create ADR]) --> Phase1[Phase 1: ADR Number Detection<br/>Glob existing ADRs<br/>Calculate next number]
|
||||
|
||||
Phase1 --> Phase2[Phase 2: Interactive Dialog<br/>5 questions:<br/>Q1: Decision title<br/>Q2: Category Strategic/Technical<br/>Q3: Context<br/>Q4: Considered options<br/>Q5: Decision + consequences]
|
||||
|
||||
Phase2 --> Phase3[Phase 3: Generate ADR<br/>7 sections Nygard format<br/>300-500 words]
|
||||
|
||||
Phase3 --> ReadmeExists{README.md<br/>exists?}
|
||||
ReadmeExists -->|Yes| Phase4[Phase 4: Update Documentation Hub<br/>Add ADR link to README]
|
||||
ReadmeExists -->|No| Phase5
|
||||
Phase4 --> Phase5
|
||||
|
||||
Phase5[Phase 5: Summary<br/>Display ADR path + next steps]
|
||||
|
||||
Phase5 --> End([End])
|
||||
|
||||
%% Styling
|
||||
classDef discovery fill:#E3F2FD,stroke:#1976D2,stroke-width:2px
|
||||
classDef dialog fill:#FFF9C4,stroke:#F57C00,stroke-width:2px
|
||||
classDef decision fill:#FFE0B2,stroke:#E64A19,stroke-width:2px
|
||||
classDef action fill:#C8E6C9,stroke:#388E3C,stroke-width:2px
|
||||
|
||||
class Phase1 discovery
|
||||
class Phase2,Phase3 dialog
|
||||
class ReadmeExists decision
|
||||
class Phase4,Phase5 action
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="info-box">
|
||||
<h3>🔑 Key Features</h3>
|
||||
<ul>
|
||||
<li><strong>5 Questions:</strong> Title, Category, Context, Options, Decision</li>
|
||||
<li><strong>Minimal Format:</strong> 300-500 words, 7 sections (Nygard format)</li>
|
||||
<li><strong>Categorization:</strong> Strategic (business decisions, patterns) vs Technical (frameworks, infrastructure)</li>
|
||||
<li><strong>Auto-numbering:</strong> Automatically detects next ADR number</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
<p>Generated for ln-322-adr-creator skill | Version 3.0.0</p>
|
||||
<p>Diagram format: Mermaid.js | Last updated: 2025-11-08</p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
mermaid.initialize({
|
||||
startOnLoad: true,
|
||||
theme: 'default',
|
||||
flowchart: {
|
||||
useMaxWidth: true,
|
||||
htmlLabels: true,
|
||||
curve: 'basis'
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
70
skills/ln-322-adr-creator/references/adr_template.md
Normal file
70
skills/ln-322-adr-creator/references/adr_template.md
Normal file
@@ -0,0 +1,70 @@
|
||||
# ADR-{{NUMBER}}: {{TITLE}}
|
||||
|
||||
**Date:** {{DATE}} | **Status:** {{STATUS}} | **Category:** {{CATEGORY}} | **Decision Makers:** {{DECISION_MAKERS}}
|
||||
|
||||
<!-- SCOPE: Architecture Decision Record for ONE specific technical decision ONLY. Contains context, decision, rationale, consequences, alternatives (2 with pros/cons). -->
|
||||
<!-- DO NOT add here: Implementation code → Task descriptions, Requirements → Requirements.md, Multiple decisions → Create separate ADRs, Architecture diagrams → Architecture.md -->
|
||||
|
||||
---
|
||||
|
||||
## Context
|
||||
|
||||
{{CONTEXT}}
|
||||
|
||||
(2-3 sentences: background, problem, constraints, forces driving this decision)
|
||||
|
||||
---
|
||||
|
||||
## Decision
|
||||
|
||||
{{DECISION}}
|
||||
|
||||
(1-2 sentences: clear statement of what we decided, including version/constraints if applicable)
|
||||
|
||||
---
|
||||
|
||||
## Rationale
|
||||
|
||||
{{RATIONALE}}
|
||||
|
||||
(2-3 key reasons WHY we chose this solution)
|
||||
|
||||
---
|
||||
|
||||
## Consequences
|
||||
|
||||
**Positive:**
|
||||
{{POSITIVE_CONSEQUENCES}}
|
||||
|
||||
(2-4 bullets: benefits, advantages)
|
||||
|
||||
**Negative:**
|
||||
{{NEGATIVE_CONSEQUENCES}}
|
||||
|
||||
(2-4 bullets: trade-offs, costs, technical debt)
|
||||
|
||||
---
|
||||
|
||||
## Alternatives Considered
|
||||
|
||||
| Alternative | Pros | Cons | Why Rejected |
|
||||
|-------------|------|------|--------------|
|
||||
| {{ALT_1_NAME}} | {{ALT_1_PROS}} | {{ALT_1_CONS}} | {{ALT_1_REJECTION}} |
|
||||
| {{ALT_2_NAME}} | {{ALT_2_PROS}} | {{ALT_2_CONS}} | {{ALT_2_REJECTION}} |
|
||||
|
||||
---
|
||||
|
||||
## Related Decisions
|
||||
|
||||
{{RELATED_DECISIONS}}
|
||||
|
||||
(Optional: ADR-001, ADR-003)
|
||||
|
||||
---
|
||||
|
||||
**Last Updated:** {{DATE}}
|
||||
|
||||
---
|
||||
|
||||
**ADR Template Version:** 3.0.0 (With Categorization)
|
||||
**Template Last Updated:** 2025-11-05
|
||||
Reference in New Issue
Block a user