Ship a self-contained docs/plans/index.html that renders every .html plan file in docs/plans/ as a status-badged card with title, type, created date, and a direct link — plus client-side filters by status and type — all regenerated from a single bash script.
create-plans-index-page.html
docs/plans/create-plans-index-page.html
Context
Superseded 2026-05-30 — the plans-library skill added in plan-agent v0.11.0 implements this as a reusable plugin skill. Use plans-library instead. See plan add-plans-library-to-plan-agent.html.
The plan-agent plugin generates .html plan files in docs/plans/. With over 100 plan files now in that directory, there is no way to browse or navigate them without knowing exact filenames. An index page that reads each plan's <meta> tags (plan-status, plan-type, plan-created, plan-repo) and renders them as filterable, sortable cards would make the plan archive discoverable without requiring a server or build toolchain.
The page will be pre-rendered at build time by a bash script that greps meta tags from each .html file and inlines the data, keeping it openable directly from the filesystem at a file:// URL.
Steps
docs/plans/*.html files to verify the meta-tag schema
plan-status, plan-type, plan-created, plan-repo, <title>); gaps cause blank or broken cards. Knowing actual coverage first lets the build script apply correct fallback values.Verify
.html plan files; confirm all five meta fields are present in each. Note any missing fields so the build script can handle them.docs/plans/build-index.sh — the bash script that extracts meta tags and emits the embedded JSON block
Verify
title, status, type, created, and repo values for each. The script must skip index.html itself.docs/plans/index.html — a single self-contained file with pre-rendered plan cards, status badges, and filter controls
file:// URL without a server and stays consistent with plan-agent's single-file philosophy. Embedding JSON rather than hard-coding card HTML makes the build script output trivially diffable and the template reusable.Verify
docs/plans/index.html directly in a browser (no server). Confirm: all current .html plan cards render with correct title, status badge, type chip, and created date; filter by status shows/hides cards correctly; each card's "Open plan" link navigates to the correct file.Verify
docs/plans/index.html in a browser; confirm a visible "Regenerate" instruction block showing bash docs/plans/build-index.sh is present on the page (not hidden in HTML comments or source only).Acceptance Criteria
Verification
Delete docs/plans/index.html, run bash docs/plans/build-index.sh from the repo root, then open the output in a browser. Confirm: all current .html plan cards render with correct metadata; status filter controls show/hide cards correctly; "Open plan" links navigate to the correct files. Add one new .html plan file, re-run the script, and confirm the new card appears.