Give artifacts a first-class, separately-browsable home: move the save-artifact save target to a clean local inbox at .claude/artifacts/ , add a generator that publishes those files into docs/artifacts/ and builds a standalone Artifacts gallery — reusing the exact same template, chips, and theme — then surface it as its own card on the docs hub.
Read and implement all steps in the plan at docs/plans/split-artifacts-into-own-gallery.md — Split artifacts into their own gallery. Verify against the plan's Tests, Verification, and Acceptance Criteria before reporting done. If everything passed, mark completion in docs/plans/split-artifacts-into-own-gallery.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: Split artifacts into their own gallery. The plan at docs/plans/split-artifacts-into-own-gallery.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/split-artifacts-into-own-gallery.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/split-artifacts-into-own-gallery.md — Split artifacts into their own gallery. Brief subagents with the plan file at docs/plans/split-artifacts-into-own-gallery.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/split-artifacts-into-own-gallery.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.
split-artifacts-into-own-gallery.html
docs/plans/split-artifacts-into-own-gallery.html
docs/plans/split-artifacts-into-own-gallery.md
Context
The story behind this plan — what prompted the work and why it matters now.
The deployed docs site ( docs/ on GitHub Pages) has a hub at docs/index.html linking to a Plans gallery, a Social Media library, and a Prototypes gallery. HTML artifacts — saved by the social-media-tools:save-artifact skill — currently land in docs/plans/artifacts/ , where the plans-gallery generator ( build-index.sh , which os.walk s the whole plans tree) sweeps them into the Plans gallery as cards. That conflates two different kinds of content and clutters the plans list.
The fix separates authoring from publishing. Artifacts move to a clean, gitignored local inbox at .claude/artifacts/ — outside the deployed tree. A new generator then publishes them: it copies each artifact into docs/artifacts/ (committed, deployed) and builds docs/artifacts/index.html , a standalone gallery reusing the plans-gallery template. The hub links to it. Because artifacts no longer live under docs/plans/ , the plans generator needs no change — the two content types now occupy physically separate trees, so nothing conflates them.
Files that change
Every file this plan touches, and what happens to each one.
kit/plugins/plan-agent/hooks/build-artifacts-index.shnew publish .claude/artifacts → docs/artifacts + gallerykit/plugins/plan-agent/templates/plans-gallery.htmlmodified add GALLERY_TITLE + ITEM_NOUN placeholderskit/plugins/plan-agent/hooks/build-index.shmodified remove artifact handling; substitute GALLERY_TITLE=Plans; prefer project template; prune artifacts/kit/plugins/plan-agent/skills/plans-library/SKILL.mdmodified drop artifact scanning; document GALLERY_TITLE substitutionkit/plugins/plan-agent/CHANGELOG.mdmodified add 2.15.0 entrykit/plugins/social-media-tools/skills/save-artifact/SKILL.mdmodified save to .claude/artifacts; publish via build-artifacts-index.shkit/plugins/social-media-tools/CHANGELOG.mdmodified add 2.17.0 entry.claude-plugin/marketplace.jsonmodified bump plan-agent 2.15.0, social-media-tools 2.17.0.gitignoremodified ignore .claude/artifacts/ (local inbox)tests/pages/test-artifacts-gallery.shnew objective smoke test for the splitdocs/index.htmlmodified add Artifacts hub carddocs/plans/artifacts/deleted 2 existing artifacts migrated to .claude/artifacts/docs/artifacts/index.htmlgenerated new standalone artifacts gallery (published)
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.
Seed a fixture artifact in the inbox at .claude/artifacts/demo.html (a minimal self-contained HTML file with a <title> ), then run the publisher: bash kit/plugins/plan-agent/hooks/build-artifacts-index.sh "$PWD" .
Confirm, in order: (1) docs/artifacts/demo.html was copied from the inbox; (2) docs/artifacts/index.html exists and contains a card for demo.html with the heading reading "Artifacts"; (3) grep 'artifacts/index.html' docs/index.html matches the hub card; (4) docs/plans/index.html is unchanged and carries no artifact cards; (5) the objective smoke test bash tests/pages/test-artifacts-gallery.sh exits 0. Then open docs/index.html , docs/artifacts/index.html , and docs/plans/index.html in the browser and confirm the hub Artifacts card resolves and the artifacts gallery renders with the same styling as the plans gallery. Finally, remove the demo.html inbox fixture and its published copy under docs/artifacts/ so no throwaway artifact ships.
Wrapping up
Three gates that must all pass before this plan is marked completed.
Completion Report
No items to report — all requirements met.