frugal-skills
CLAUDE.md0 starsChanged 4 months agoMITView on GitHub
Guidance for Claude Code when working in this repository. frugal-skills is a collection of reusable Claude Code skills, packaged as a Claude Code plugin so it can be installed with: Once installed, skills are namespaced by the plugin, e.g. frugal-skills:skill-creator. The skills cover authoring skills, researching, building software, and reviewing software. They are designed to be self-contained and token-frugal (see Principles below). Status: v1.4.0. All 11 skills are shipped, self-contained, and reviewed by skill-reviewer (including itself). Eval results are in…
In this repository11 other files it gives its agents.
- brainstormingSkill
- build-phaseSkill
- code-reviewSkill
- debuggingSkill
- online-researchSkill
- security-reviewSkill
- skill-creatorSkill
- skill-reviewerSkill
- software-developmentSkill
- writing-plansSkill
- writing-testsSkill
The file
We split this CLAUDE.md into the rules it gives an agent
12 rules. About 0 are common, 4 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 21
Status: v1.4.0: All 11 skills are shipped, self-contained, and reviewed by skill-reviewer (including itself).
- Very specific: line 54
Every skill in skills/ MUST follow these rules.
- Very specific: line 76
Progressive disclosure: Keep SKILL.md lean (aim < ~500 lines).
- Distinctive: line 80
Token-frugal / single context window: Do NOT mandate spawning subagents during normal skill *use*.
- Distinctive: line 85
Imperative and concrete: Write instructions to Claude, not prose about the topic.
- Very specific: line 108
baseline comparison: run the cases in a fresh session *with* the skill vs.
- Very specific: line 133
After editing a skill, run /reload-plugins to pick up changes.
- Distinctive: line 135
Before publishing, validate and test locally:
- Very specific: line 143
When creating or editing a skill, invoke skill-creator.
- Very specific: line 145
Keep the directory name and frontmatter name in sync.
- Distinctive: line 146
Do not push to a remote or create GitHub resources unless explicitly asked.
- Very specific: line 147
Update plan.md task checkboxes as work completes.
≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
CLAUDE.md
Guidance for Claude Code when working in this repository.
What this repo is
frugal-skills is a collection of reusable Claude Code skills,
packaged as a Claude Code plugin so it can be installed with:
/plugin marketplace add sxntixgo/frugal-skills
/plugin install frugal-skills@frugal-skills # plugin@marketplaceOnce installed, skills are namespaced by the plugin, e.g. frugal-skills:skill-creator.
The skills cover authoring skills, researching, building software, and reviewing software. They are designed to be self-contained and token-frugal (see Principles below).
Status: v1.4.0. All 11 skills are shipped, self-contained, and reviewed by
skill-reviewer (including itself). Eval results are in
docs/validation-2026-07-11.md. Key learning
to keep in mind when adding or changing skills: a skill earns its token cost
by encoding a process the model does not already perform (e.g. skill-reviewer
measured +0.73 lift), not by restating knowledge a frontier model already has
(security-review measured 0.00 detection lift — its value is consistency and
coverage). Prefer process/discipline over re-explaining what the model knows.
Repository layout
frugal-skills/
CLAUDE.md # this file
plan.md # roadmap and task list
README.md # install + usage docs
.claude-plugin/
plugin.json # plugin manifest
marketplace.json # marketplace listing (points at this repo)
skills/
<skill-name>/
SKILL.md # required: frontmatter + instructions
references/*.md # optional: loaded on demand (progressive disclosure)
scripts/* # optional: helper scripts a skill can run
evals/evals.json # required: hand-authored cases (skill_name, evals[])
evals/files/* # optional: input fixtures referenced by casesEval runs and their aggregated benchmark.json are generated into a gitignored
workspace (.claude-skills-work/evals/<skill>/iteration-N/), not committed.
Skill authoring conventions
Every skill in skills/ MUST follow these rules. The skill-creator and
skill-reviewer skills enforce them — use them.
- Frontmatter. Each
SKILL.mdstarts with YAML frontmatter:
The--- name: kebab-case-name # optional for plugin skills (dir name wins); # HOUSE RULE: include it and keep it == dir name description: <what it does>. Use when <concrete trigger>. # third person ---name+descriptionare what Claude sees when deciding whether to load the skill (the body is loaded only after it triggers). So thedescriptionmust carry an explicit, concrete trigger. House style is "what it does. Use when<trigger>." — matches the official docs' third-person format. - Self-contained. A skill must work with zero dependency on anything
outside this plugin (do not require
superpowersor any external skill). Cross-references within this plugin are fine — all skills ship together — but do it via the triggerdescription, not a hard "you must invoke X" step, so each skill still degrades gracefully on its own. - Progressive disclosure. Keep
SKILL.mdlean (aim < ~500 lines). Push detail intoreferences/*.mdthat the skill tells Claude to read only when needed. This keeps the default context small. - Token-frugal / single context window. Do NOT mandate spawning subagents during normal skill use. Skills should be executable in a single context window. Agents are allowed only when explicitly worth it, never as a hard requirement. (The one sanctioned exception is dev-time evals — see rule 8.)
- Imperative and concrete. Write instructions to Claude, not prose about the topic. Prefer checklists, tables, decision trees, and short examples.
- Checkpointed / resumable. Any multi-step skill MUST write its
intermediate outputs to disk (a predictable working file/dir, e.g.
./.claude-skills-work/<skill>/<step>.mdor a path the user names) as it goes — not only a final answer. Each step states where it wrote its output and how to resume from it, so work can be paused and continued from any intermediate step in a later session. This also keeps the live context small (write it down, don't hold it in context). - Guardrails against drift. Each skill MUST keep Claude on the expected task. Include: an explicit scope ("what this skill does / does NOT do"), a checklist of the required steps (surfaced as TodoWrite items so progress is tracked and visible), STOP/checkpoint gates where Claude pauses for the user instead of expanding scope, and a short "red flags" list of common ways to deviate (e.g. skipping tests, inventing requirements, over-engineering) with the correction. When in doubt, the skill tells Claude to stop and ask rather than guess.
- Eval-backed (baseline comparison). Each skill MUST ship an
evals/evals.jsonwith realistic test cases (prompt, optional input files, expected behavior). Before a skill is considered done, prove it helps by a baseline comparison: run the cases in a fresh session with the skill vs. with it disabled, and compare pass rate against the token/time overhead (aggregate into a workspacebenchmark.json; see below). This is the ONLY place isolated / subagent runs are expected — it is a dev-time verification step, never part of normal skill use.skill-reviewerdrives this loop. Eval file format and workflow: https://agentskills.io/skill-creation/evaluating-skills.
Core principles baked into the skills
- DRY / YAGNI / KISS drive the
software-developmentskill. - Tests are first-class —
writing-testsis a dedicated skill; the dev skill points to it rather than duplicating it. - Review is layered —
code-review(correctness + quality) andsecurity-review(vuln classes, authz, secrets) are separate skills.
Developing skills in this repo
Claude Code does not auto-load a bare skills/ directory at a repo root —
only .claude/skills/ and installed plugins load. So to exercise the skills
while building them (e.g. running skill-reviewer on skill-creator):
- Launch Claude Code with this repo as a live plugin dir:
claude --plugin-dir . - After editing a skill, run
/reload-pluginsto pick up changes. - Skills are namespaced: invoke
frugal-skills:skill-reviewer, etc. - Before publishing, validate and test locally:
claude plugin validate . # check plugin.json / marketplace.json /plugin marketplace add ./ # add this repo as a local marketplace
Working agreements for Claude in this repo
- When creating or editing a skill, invoke
skill-creator; when finishing one, invokeskill-reviewer. They are meant to be used in tandem. - Keep the directory
nameand frontmatternamein sync. - Do not push to a remote or create GitHub resources unless explicitly asked.
- Update
plan.mdtask checkboxes as work completes.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

