Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add ethanaubuchon/dossier-tradecraft --skill cleanup-artifactsgit clone --depth 1 https://github.com/ethanaubuchon/dossier-tradecraftWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ethanaubuchon/dossier-tradecraft/cleanup-artifacts)<a href="https://agentmods.dev/skills/ethanaubuchon/dossier-tradecraft/cleanup-artifacts"><img src="https://agentmods.dev/badge/skills/ethanaubuchon/dossier-tradecraft/cleanup-artifacts/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ethanaubuchon/dossier-tradecraft/cleanup-artifacts"><img src="https://agentmods.dev/badge/skills/ethanaubuchon/dossier-tradecraft/cleanup-artifacts.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00069 | $0.00473 |
| Opus 5 | $0.00034 | $0.00236 |
| Sonnet 5 | $0.00014 | $0.00095 |
| Haiku 4.5 | $0.00007 | $0.00047 |
Grade A, and why
cleanup-artifacts scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Cleanup Artifacts
Deletes this branch's transient working artifacts — the plan file and any spec scratch — at the draft→ready boundary, so they don't ship in the PR. One of /implement's two distinct cleanups:
repo-setupprunes previously-merged branches' worktrees + plan files (at setup).cleanup-artifactsdeletes this branch's plan file (at finalize).
Runs before publish-pr's squash.
Input
- branch — the current feature branch.
Steps
- Delete this branch's plan file:
rm -f .claude/plans/<branch>.md, using the/→-flattened branch name (feat/foo→.claude/plans/feat-foo.md, matchingplan-file). - Delete any other transient spec/scratch artifacts the project marks for this branch.
Output / contract
- In: the branch.
- Out: working tree with this branch's plan/spec artifacts removed.
- Side effects: deletes the plan file. With the default gitignored plan location the deletion isn't part of the diff (pure housekeeping); if a project tracks plan files, the deletion is a real change — which is why it must run before
publish-pr's squash, so it folds into the single commit (no plan file in PR history).publish-prstages this deletion withgit add -Abefore committing — without that staging thereset --softindex would re-commit the tracked plan file.
Project overrides
- Plan-artifact location — a repo that stores plans/specs elsewhere (e.g.
docs/plans/) overrides the path; keep the flatten rule consistent withplan-fileandrepo-setup.
Future scope
- (none beyond per-project artifact locations.)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 37 lines · 69 tokens per session scan A 906a96c3b879
cleanup-artifacts is a skill published in the GitHub repository ethanaubuchon/dossier-tradecraft (3 stars, last pushed 2mo ago), licensed MIT. It adds 69 tokens to every session and 473 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
aidex-worktree
Use when the user wants to create, run or tear down a git worktree with its own isolated environment (database, ports, containers), or when a project has no worktree setup yet and one needs bootstrapping by investigating the repo topology and verifying the compose stack can run twice — "set up a worktree for X"…
git-workflow
A guide for handling Git repository work safely, including status checks, branches, commits, pushes, pull requests, and rebasing. Git is a version-control system that records code changes and coordinates work between developers.
changelog-gen
A changelog generator that turns Git history into a version-by-version record of project changes. A changelog is a readable summary of new features, fixes, breaking changes, documentation, and other updates.
resolve-pr-comments
Evaluate, fix, answer, and reply to GitHub pull request review comments and conversation comments. Handles both change requests (fix or skip) and reviewer questions (explain using reasoning recalled from past Claude Code transcripts). Use when the user asks to "resolve PR comments", "fix review comments", "address PR…
create-pr
Create a GitHub pull request with a drafted title and description. Use when the user asks to "create a PR", "create a pull request", "open a PR", or "submit a PR".
update-pr
Update an existing GitHub pull request's title and description to reflect the current state of the branch. Use when the user asks to "update the PR", "update PR description", "update PR title", "refresh PR description", or "sync PR with changes".