Convert all 24 remaining keeper .md plans in docs/plans/ to HTML format using the implementation-plan SKELETON.html template, delete the .md originals, rebuild the plans gallery to show all 43 active plans, and register a scheduled retention check for the six-month archival rule.
Read and implement all steps in the plan at docs/plans/convert-keeper-plans-to-html.html — Convert 24 keeper .md plans to HTML and add retention routine
Run as workflow — launch parallel subagents
Run a workflow to implement the plan at docs/plans/convert-keeper-plans-to-html.html — Convert 24 keeper .md plans to HTML and add retention routine
convert-keeper-plans-to-html.html
docs/plans/convert-keeper-plans-to-html.html
Context
The docs cleanup workflow (PR #242) triaged 179 files across docs/: 60 developer guides relocated to docs/guides/, 95 shipped/stale plans archived to docs/plans/archive/, and statuses normalized to three canonical values. Two items from the parent plan (docs/plans/clean-up-docs-and-plans.html) remain incomplete:
- Step 4 — Convert 24 keeper .md plans to HTML using the implementation-plan template styles. Each conversion requires populating the 1,420-line SKELETON.html template with content extracted from the markdown source.
- AC7 — Set up a scheduled retention routine for the six-month archival rule defined in
docs/plans/README.md. The policy is written but has no automated enforcement.
The 24 .md plans are active keepers that need HTML twins so they appear in the plans gallery (docs/plans/index.html) and follow the project’s HTML-first plan convention. Currently the gallery shows only 19 of the 43 active plans.
Steps
Verify
/plan-agent:implementation-plan ensures visual and structural consistency.Verify
find docs/plans -maxdepth 1 -name "*.html" ! -name "index.html" | wc -l returns at least 43 (19 existing + 24 new). Each new .html has valid <meta name="plan-status">, <meta name="plan-type">, <meta name="plan-created">, and <meta name="plan-repo"> tags.Verify
find docs/plans -maxdepth 1 -name "*.md" ! -name "README.md" | wc -l returns 0. Only README.md remains as a non-HTML file in docs/plans/.docs/plans/index.html only indexes .html files and currently shows 19 cards. After conversion it must reflect the full set of 43 active plans.Verify
docs/plans/index.html in a browser. The header shows “43 plans”. All 43 cards render with correct title, status chip, type chip, and created date. Search and filter controls work.docs/plans/README.md defines a six-month archival window for completed plans, but has no automated enforcement. A scheduled check prevents stale plans from accumulating again.Verify
docs/plans/ for plans with status: completed and created date older than 6 months, then reports eligible plans for archival.Verify
docs/plans/clean-up-docs-and-plans.html. Step 4 has class completed and chip shows “done”. AC7 checkbox is checked. If all other ACs are also checked, the plan status is updated to completed.Acceptance Criteria
Verification
Run find docs/plans -maxdepth 1 -name "*.html" ! -name "index.html" | wc -l to confirm 43 HTML plans. Run find docs/plans -maxdepth 1 -name "*.md" ! -name "README.md" | wc -l to confirm 0 remaining .md plans. Open docs/plans/index.html in a browser and verify 43 cards render with correct status/type badges. Spot-check 3 converted plans for correct meta tags and content fidelity against the original .md. Verify the parent plan’s Step 4 and AC7 are marked done.
Completion Checklist
Completion Report
No items to report — all requirements met.