agent skills for claude code
An agent needs context to do good work.Most of it was never written down.
What shipped, why you chose it, what you tried and killed — from git, your files and your answers. And where nobody remembers why, they say so.
The decision that produced this page — including the reason, quoted as it was said rather than tidied up afterwards.
What gets written
Nine questions a project has to answer. Most of them already have an answer — it’s just nowhere you can read it.
- What did we try?today: git history, only changesadds: explorations
- Why did we choose that?today: commit messagesadds: decisions
- What is it, exactly?today: the code itselfadds: specs
- What's reusable?today: the package systemadds: system
- What actually shipped?today: git, properlyadds: changelog
- What are we trying to build?today: when someone writes itadds: concepts · briefs
- What are we still deciding?today: when someone documents itadds: prds · briefs
- What did we learn?today: nothing, by defaultadds: research
- Where did we leave off?today: nothing, by defaultadds: handoffs
Red is not styling. It marks the rows where nothing answers the question today — the same signal the records use for a reason nobody recorded.
How one skill works
Take decisions-logger. You’ve just decided something — “plain CSS Modules, not Tailwind.”
- 01It reads the evidencegit log, the config that changed, the PR thread. Never recollection.
- 02It asks what it can't find"why did Tailwind lose?" — and every question offers "I don't remember."
- 03It writes the recorddocs/decisions/0018-….md — with the option that lost named, or it isn't a decision.
- 04It registers the rulea block in CLAUDE.md, the file your agent re-reads at the start of every session.
- 05Next session, unaskedit offers to log the next one. You never have to remember the habit.
The skills
Twenty, each a separate plugin. Three worth reading properly; the rest are one line each.
decisions-loggerWhy did we choose that? — mines the project for decisions that were really made and writes each as an ADR with its evidence. Where the reasoning was never written down, it asks rather than inventing one.
Upload under Settings → Customize → Skills. On Claude.ai there is no file to write a standing rule into, so a skill that registers one prints it for you to paste instead.
repo-setupScaffolds your context stack — concepts, PRDs, decisions, handoffs, changelog. Surveys what you already have, adopts your existing folder names, and never moves or overwrites a thing.
Upload under Settings → Customize → Skills. On Claude.ai there is no file to write a standing rule into, so a skill that registers one prints it for you to paste instead.
changelog-trackerWhat actually shipped? — documents every substantive commit into a per-commit file plus a rolling index. Every fact comes from git.
handoff-generatorWhere did we leave off? — an interactive, bidirectional Chat↔Code project handoff: progress, timeline, features, decisions, changelog delta, open questions, next actions, and a near-verbatim session log. Interviews you first; on Claude Code it verifies against the repo.
Upload under Settings → Customize → Skills. On Claude.ai there is no file to write a standing rule into, so a skill that registers one prints it for you to paste instead.
branch-namingSuggests and creates a branch name that follows your project's convention — read from CLAUDE.md, or inferred from your existing branches. Always confirms before creating.
model-strategyBuilds docs/MODEL-STRATEGY.md — which Claude model for which kind of work, tailored by interview, with a mandatory review rule.
version-managerSplits the released version from the build you're testing, so a local build can never move the published number. Checks every file carrying the version agrees, and keeps a generated ledger of every build and release — npm, Claude Code plugins, Docker, PyPI, binaries, sites, extensions, mobile apps, plain exports.
Upload under Settings → Customize → Skills. On Claude.ai there is no file to write a standing rule into, so a skill that registers one prints it for you to paste instead.
design-setupScaffolds the design context stack — briefs, research, explorations, decisions, specs, system. Same rules as repo-setup: adopts your existing folder names, never moves a thing. The explorations tier is the one no design tool has: a durable record of the directions you killed, and why.
Upload under Settings → Customize → Skills. On Claude.ai there is no file to write a standing rule into, so a skill that registers one prints it for you to paste instead.
design-briefWhat are we actually solving? — interviews you into a brief: problem, who feels it, jobs to be done, constraints, success criteria, non-goals. The stated intent everything downstream cites. Marks what you couldn't answer instead of inventing it.
Upload under Settings → Customize → Skills. On Claude.ai there is no file to write a standing rule into, so a skill that registers one prints it for you to paste instead.
design-languageWhat should it look like? — interviews you into a written visual direction: the surface and whether it wears the brand, the references and the one you're explicitly not pulling from, constraints stated as rules that can be broken. Asks what you want rather than proposing a look for you.
Upload under Settings → Customize → Skills. On Claude.ai there is no file to write a standing rule into, so a skill that registers one prints it for you to paste instead.
design-exploreWhat are the options? — generates three directions that differ on named structural axes, not on hue, each with its thesis, its bet and its risk. Refuses to generate against nothing, and hands the verdict to the skills that record it.
Upload under Settings → Customize → Skills. On Claude.ai there is no file to write a standing rule into, so a skill that registers one prints it for you to paste instead.
exploration-logDid we already try that? — logs a round of iteration: what it tested, what changed, what you learned, and whether it was kept, killed or parked. Append-only, so the directions you abandoned are still readable a year later. Also answers the question back.
Upload under Settings → Customize → Skills. On Claude.ai there is no file to write a standing rule into, so a skill that registers one prints it for you to paste instead.
design-critiqueDoes this match what we said? — reviews built work against its stated intent, naming how the thing reads before proposing any fix. Delete is a first-class verdict, listed first. Refuses to critique without a written intent, because that's just taste with extra steps.
Upload under Settings → Customize → Skills. On Claude.ai there is no file to write a standing rule into, so a skill that registers one prints it for you to paste instead.
design-decisionsWhy is it like this? — records a design fork as an append-only ADR, including what you gave up and what would make you revisit. Where nobody remembers the reason, it writes (reason not stated) — in design there's no diff to catch a plausible fiction.
Upload under Settings → Customize → Skills. On Claude.ai there is no file to write a standing rule into, so a skill that registers one prints it for you to paste instead.
post-setupScaffolds the posts tier and captures how your posts sound — by interview plus real posts you paste in, because a described voice and a demonstrated one differ. Personal profiles are gitignored by default: the skill ships a template and never a voice.
Upload under Settings → Customize → Skills. On Claude.ai there is no file to write a standing rule into, so a skill that registers one prints it for you to paste instead.
post-exportWhat was postable about this? — captures material while the work is warm: the attempt that failed and why, the decision and what it cost. Git keeps the before-state of your code and nothing of the rendered before, so it snapshots that too, before it's overwritten.
Upload under Settings → Customize → Skills. On Claude.ai there is no file to write a standing rule into, so a skill that registers one prints it for you to paste instead.
post-anglesIs there a post in this? — proposes three or four angles from the backlog and the record, each with its tension, its named reader and its weakest point. Says "nothing here yet" rather than padding to three, and never ranks or predicts reach.
Upload under Settings → Customize → Skills. On Claude.ai there is no file to write a standing rule into, so a skill that registers one prints it for you to paste instead.
post-generatorDrafts per-platform copy in your captured voice and decides how the post breaks into frames — proposed, not picked, because where you cut the argument changes what each frame says. Every refusal is visible in a Not claimed section. Nothing publishes.
Upload under Settings → Customize → Skills. On Claude.ai there is no file to write a standing rule into, so a skill that registers one prints it for you to paste instead.
post-cardRenders the visual plan into self-contained HTML frames at real dimensions, from a direction you chose. A frame is where a claim stops being auditable — so it never states what the post declined to claim, and carries unverified visibly when that's the truth.
Upload under Settings → Customize → Skills. On Claude.ai there is no file to write a standing rule into, so a skill that registers one prints it for you to paste instead.
skill-scaffoldWires a new skill into this library — all eight touchpoints, from the PRD to this website's own entry. Interviews for the trigger phrases rather than inventing them, because a description that matches nothing fails silently. For authoring skill content in general, use Anthropic's skill-creator instead.
Upload under Settings → Customize → Skills. On Claude.ai there is no file to write a standing rule into, so a skill that registers one prints it for you to paste instead.
Install
Read a couple of the records above before you trust it with your repo — including the one that says it doesn’t know.
Claude Code gives you the system. Claude.ai gives you the artifact. On Claude.ai a skill interviews you and hands back a document — there is no folder to write into and no rule registered, so nothing happens next session unless you paste the block in yourself. Skills marked Chat above have that path; the rest need git.
# once
/plugin marketplace add vidhunnan/agentic-skills# start here — it builds the folders the rest fill
Upload under Settings → Customize → Skills. On Claude.ai there is no file to write a standing rule into, so a skill that registers one prints it for you to paste instead.