From close-gaps
At the end of a working session (a Stop hook runs this) — or the moment you hit a gap mid-work — analyse where you lacked knowledge, a tool to validate your work as the project's real user, or a way to reach external systems, and close each gap by creating or improving one of three kinds of project skill: a docs skill, a validation-tool skill, or an external-context tool skill.
How this skill is triggered — by the user, by Claude, or both
Slash command
/close-gaps:close-gapsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
When you finish work, look back and ask: **what knowledge did I have to re-derive,
When you finish work, look back and ask: what knowledge did I have to re-derive,
what couldn't I validate the way the project's real user would, and what external
system did I struggle to reach? Close each gap by creating or improving a skill in
the project's .claude/skills/ (never global). Do it yourself — don't ask permission,
don't fake validation with a proxy (build / lint / typecheck / unit tests all pass
while the real thing is broken), and improve a near-match before adding a new one. The
one thing you may need from the user is a credential for an external-context tool (#3).
There are three kinds of skill to create.
A skill whose SKILL.md is an index (a table of contents) of documents. The index is always loaded (it's the skill's description + TOC), so the knowledge is always known; each document is read on demand. This is how a project's knowledge — how to use its libraries, its conventions, the gotchas you hit — grows without bloating context.
The anchor docs skill is project-overview — every project gets one: what the
project does, where code lives in the folder structure, how to run / build / test it,
and its core dependencies. Write its description so a fresh session loads it first
("Read at the start of any task in this project"); it's the orientation the agent
always picks up. A wrong or missing overview is itself a knowledge gap, so every
session corrects and extends it — it converges to accurate over time.
---
name: <domain>-docs
description: Knowledge about <domain>. Load before assuming how <domain> works or researching it.
---
# <Domain>
| doc | covers |
|-----|--------|
| token-refresh.md | the 401 retry gotcha + the working pattern |
<topic>.md file beside the SKILL.md.project-overview usually starts inline and grows a TOC as the project does.)project-overview current: whenever the structure, dependencies, or purpose differ from what it says, fix it — the gap healing itself.A skill wrapping a generic CLI that drives the project's real interface (UI, command, endpoint, public API) so you can confirm a result the way its consumer would — the only real proof. Build a reusable surface, not a hardcoded one-off check; the SKILL.md documents how to drive it.
---
name: drive-<app>
description: Drive <app> as its real user to validate behaviour end-to-end. Use to confirm a change works.
---
# Drive <app>
A CLI that exercises the real interface — grow it, don't write one-off checks.
`node drive.mjs <cmd>`: navigate <url> | click <sel> | read <sel> | assert <sel> <text>
e.g. navigate / && click "#inc" && assert "#count" "1"
A skill wrapping a CLI/API that reads or operates on an external system the project
depends on — a database, an issue tracker, a third-party API, a cloud service — so the
next run queries it directly instead of re-deriving the access path. Like the
validation tool it's a generic surface, usually built over an existing CLI (gh,
psql, a vendor CLI) or a thin wrapper on the API.
---
name: <system>-context
description: Query/operate <system> (e.g. the issue tracker, the prod read-replica). Needs <ENV_VAR>. Use to pull external context instead of guessing.
---
# <System>
Wraps `<cli>` to reach <system>. Auth: set `<ENV_VAR>` (the user provides it).
`<cli> <cmd>`: list <filter> | get <id> | query "<read-only request>"
e.g. list "label:bug state:open"
Report at the end: name each skill you created or improved, or say in one line that there was nothing durable.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Applies a firm's KYC/AML rules grid to parsed onboarding records: assigns risk rating, checks required documents, outputs rule outcomes with citations, and routes for escalation.
Generates daily or weekly digests of activity from connected sources (chat, email, docs, tasks, CRM), highlighting action items, decisions, mentions, and project updates.
npx claudepluginhub christianalfoni/claude-plugins --plugin close-gaps