Ship a GitHub Actions pipeline that publishes the entire docs/ tree to GitHub Pages, so every developer can browse all 32 HTML plans from one public URL — landing straight on the filterable plans gallery — instead of cloning the repo and opening files by hand.
Read and implement all steps in the plan at docs/plans/publish-plans-to-github-pages.md — Publish HTML plans to GitHub Pages. Verify against the plan's Tests, Verification, and Acceptance Criteria before reporting done. If everything passed, mark completion in docs/plans/publish-plans-to-github-pages.md — tick each step's [x] marker and each criterion's - [x], set status: completed — and re-render the HTML from the spec. If any check failed, leave status: in-progress and say which.
More ways to run this plan — goal & workflow prompts, file path
Achieve this goal: Publish HTML plans to GitHub Pages. The plan at docs/plans/publish-plans-to-github-pages.md describes one approach — use it as reference, but optimize for the outcome. Fan out across parallel subagents where that serves the outcome. Verify against the plan's Tests, Verification, and Acceptance Criteria before reporting done. If everything passed, mark completion in docs/plans/publish-plans-to-github-pages.md — tick each step's [x] marker and each criterion's - [x], set status: completed — and re-render the HTML from the spec. If any check failed, leave status: in-progress and say which.
Run a workflow to implement the plan at docs/plans/publish-plans-to-github-pages.md — Publish HTML plans to GitHub Pages. Brief subagents with the plan file at docs/plans/publish-plans-to-github-pages.md. Reserve a final verification phase for the lead agent, not a subagent. Verify against the plan's Tests, Verification, and Acceptance Criteria before reporting done. If everything passed, mark completion in docs/plans/publish-plans-to-github-pages.md — tick each step's [x] marker and each criterion's - [x], set status: completed — and re-render the HTML from the spec. If any check failed, leave status: in-progress and say which.
publish-plans-to-github-pages.html
docs/plans/publish-plans-to-github-pages.html
docs/plans/publish-plans-to-github-pages.md
Context
The story behind this plan — what prompted the work and why it matters now.
The repo already generates rich, self-contained HTML plans into docs/plans/ (32 of them today), and a PostToolUse hook ( rebuild-plans-index.py ) keeps docs/plans/index.html — a filterable gallery — current after every plan write. The one missing piece is reach: those files only exist on disk, so a developer has to clone the repo and open them in a local browser to read them.
GitHub Pages closes that gap. The repo ( shawn-sandy/agentics ) already runs GitHub Actions, so the cleanest fit is a dedicated Pages deploy workflow using the official actions/upload-pages-artifact + actions/deploy-pages pair, publishing the whole docs/ directory on every push to main . Two known footguns shape the approach: GitHub Pages runs Jekyll by default (which can mangle hand-built HTML and ignores _ -prefixed paths) — neutralised with a .nojekyll marker; and a project Pages site is served under a base path ( /agentics/ ), so the landing page must use a relative redirect. The gallery's own links are already relative, so they survive the base path unchanged.
Per the decisions taken while drafting: deploy via a GitHub Actions workflow (not branch/folder), and make the existing plans gallery the site's landing page via a root redirect, keeping docs/plans/index.html as the single hook-maintained source of truth.
Files that change
Every file this plan touches, and what happens to each one.
.github/workflows/deploy-pages.ymlnew Actions workflow that deploys docs/ to Pages- docs/
.nojekyllnew disable Jekyll processing of hand-built HTMLindex.htmlnew root redirect to the plans galleryREADME.mdmodified add a link/badge to the published site
Steps
The step-by-step work, in order — each step says what to do, why it matters, and how to check it worked.
Tests
The tests that prove the change does what it promises.
Definition of done
The plan counts as done when every statement below is true — check each one off as you verify it.
Final check
One last pass to confirm the whole change works end to end.
End-to-end: after the change merges to main , confirm the deploy-pages.yml run completes successfully ( gh run list --workflow=deploy-pages.yml shows success ). Then load https://shawn-sandy.github.io/agentics/ in a browser — it should redirect to and display the plans gallery with all plan cards and working filter chips. Click into at least two plans (e.g. a normal plan and one ending in -review.html ) and confirm they render with full styling, working checkboxes, and the sidebar table of contents. Spot-check that deep links work directly (paste a .../plans/<name>.html URL fresh). Finally, run the smoke test ( bash tests/pages/test-pages-smoke.sh https://shawn-sandy.github.io/agentics ) and confirm it passes for the root, the gallery, and all plan files; and verify the README link resolves to the live site.
Troubleshooting: If the first deploy fails, check: (1) GitHub Pages is enabled with build_type=workflow (Step 4), (2) the workflow has correct permissions ( pages: write , id-token: write ), (3) the artifact path is docs , not ./docs . If the site returns 404 after a green deploy, wait 60–90 seconds for Pages propagation. If the smoke test times out, verify the URL base path ( /agentics/ ) matches the repo name.
Wrapping up
Three gates that must all pass before this plan is marked completed.
Completion Report
No items to report — all requirements met.