Ship the Save as PDF button in every plan-agent generated HTML plan — port the window.print() export that landed in plan-interview (PR #272) into plan-agent's skeleton and SKILL.md output contract, so each new plan exposes one-click PDF export with zero external dependencies.
Read and implement all steps in the plan at docs/plans/port-pdf-export-button-to-plan-agent.md — Port the PDF Export Button to plan-agent Plans. Verify against the plan's Tests, Verification, and Acceptance Criteria before reporting done. If everything passed, mark completion in docs/plans/port-pdf-export-button-to-plan-agent.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: Port the PDF Export Button to plan-agent Plans. The plan at docs/plans/port-pdf-export-button-to-plan-agent.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/port-pdf-export-button-to-plan-agent.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/port-pdf-export-button-to-plan-agent.md — Port the PDF Export Button to plan-agent Plans. Brief subagents with the plan file at docs/plans/port-pdf-export-button-to-plan-agent.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/port-pdf-export-button-to-plan-agent.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.
port-pdf-export-button-to-plan-agent.html
docs/plans/port-pdf-export-button-to-plan-agent.html
docs/plans/port-pdf-export-button-to-plan-agent.md
Context
The story behind this plan — what prompted the work and why it matters now.
PR #272 (2026-06-07) added a Save as PDF button to HTML plans — but only inside the plan-interview plugin's markdown-to-html assets. Plans are actually generated by plan-agent's implementation-plan skill, which keeps its own independent reference/SKELETON.html, and that pipeline never received the button: 53 of 54 plans in docs/plans/ lacked it, including every plan generated since. Markdown plan conversion also moved into plan-agent (2.2.0), so no current generation path produced the export button. This plan ports the button markup, CSS, savePDF() function, and print-hide rule into the skeleton, and pins the requirement in the SKILL.md HTML output contract plus a smoke test so the two pipelines cannot silently diverge again.
Files that change
Every file this plan touches, and what happens to each one.
kit/plugins/plan-agent/skills/implementation-plan/reference/SKELETON.htmlmodified button markup, CSS, savePDF(), print hidekit/plugins/plan-agent/skills/implementation-plan/SKILL.mdmodified Save as PDF bullet in HTML Output Requirementskit/plugins/plan-agent/CHANGELOG.mdmodified 2.4.0 release entry.claude-plugin/marketplace.jsonmodified plan-agent 2.4.0 plus description mentiontests/plugins/test-save-pdf.shnew six-assertion smoke testdocs/plans/index.htmlgenerated gallery index rebuild
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.
Run bash tests/plugins/test-save-pdf.sh — all six assertions pass. Open this plan file in a browser: the header shows the Save as PDF button between the title and the completed badge; clicking it opens the native print dialog with a Save as PDF destination, and the button itself is absent from the print preview. Existing suites stay green: bash tests/plugins/test-plan-digest.sh.
Wrapping up
Three gates that must all pass before this plan is marked completed.
Completion Report
No items to report — all requirements met.