skills

agent
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 6 GitHub stars
Code Gecti
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

Personal Claude Code skills, installable as a plugin marketplace

README.md

skills

skills.sh
ci
license: MIT

Skills I use with Claude and
Claude Code, plus the validator, tests, and
CI around them — scaffolding that transfers to any skill repo. The format is
documented at agentskills.io.

Two of these ask for real numbers about your life. Those numbers go into the Claude
conversation you are already having, and nowhere else: the bundled simulators are
standard-library Python with no network imports, so they compute locally and send
nothing anywhere.

Each folder under skills/ is one skill:

Skill What it does
life-paths Maps realistic long-term life and career paths from a person's actual record and finances.
financial-planning Builds and stress-tests a long-horizon financial plan: saving schedule, retirement timing, drawdown.
writing-axes Routes any writing or review task through reader, goal, and axis before drafting, then applies that axis's rules.

The financial-planning skill produces analysis for you to check, not financial advice.
Its checks target a measured failure: asked about retirement, LLMs herd to the 4% rule.
Choukhmane, de Silva, Lin, and Akuzawa found 98.3% of withdrawal recommendations sat at
or below 4% of assets, where a life-cycle model puts almost none — so the advice tells
retirees to spend down too slowly. Their 2026 paper is distilled in
references/llm-advice.md.

What a skill contains

A skill is a directory with a SKILL.md: YAML frontmatter (name, description) followed
by the instructions Claude reads (Claude's docs:
What are skills? and
Creating custom skills).
When a skill needs more, it adds:

  • references/ for background docs the skill opens only when relevant
  • scripts/ for code the skill runs (here, standard-library Python simulators)
  • tests/ for those scripts' tests

Claude decides when to load a skill by matching a request against the description, so
each one spells out its trigger cases.

values/ at the repo root is not a skill: it holds the operating-values text my global
CLAUDE.md starts with.

Install

The plugin route installs every skill at once and works in every Claude surface. The
symlink and ZIP routes are per-skill — repeat them for each one you want.

Claude apps (web, desktop, Cowork)

This repo carries the marketplace metadata Claude needs, so it installs without a
download. Open Customize → Plugins, click + under Personal plugins, choose
Add marketplace, and enter matt-w-horn/skills. Install the plugin and all three
skills appear under the + in any chat.

Plugins added this way work in chat on the web, the Chat tab in Claude Desktop, and
Cowork.

Claude Code plugin

The same marketplace, from the CLI:

/plugin marketplace add matt-w-horn/skills
/plugin install skills@matt-horn-skills

The owner/repo shorthand clones over SSH, so the first command needs a GitHub key
loaded in ssh-agent. Without one, set CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1 to clone over
HTTPS instead, or pass the URL: /plugin marketplace add https://github.com/matt-w-horn/skills.git.

Pull later changes with /plugin marketplace update, then /plugin update. The plugin
declares no pinned version, so it is versioned by commit and every push is picked up; a
pinned version would freeze existing installs until the string changed.

A new session loads the skills automatically; in a running session, run /reload-plugins.
Claude picks a skill when your request matches its description (say, "check my retirement
math" for financial-planning), and the skills also appear as /skills:<name>.

Claude Code manual (symlink)

To track the repo directly instead, clone it and link a skill into your Claude skills
directory. Linking into ~/.claude/skills/ makes it available in every project:

git clone https://github.com/matt-w-horn/skills.git
cd skills
ln -s "$PWD/skills/life-paths" ~/.claude/skills/life-paths   # one per skill you want

Edits to the repo take effect the next time Claude loads the skill, with no copy to keep in
sync. To scope a skill to a single project, link it into that project's .claude/skills/
instead.

One skill as a ZIP

To take a single skill without adding the marketplace, zip its folder with
cd skills && zip -r life-paths.zip life-paths. Then in Claude go to Customize →
Skills
, click + Create skill, choose Upload a skill, and upload the ZIP. This
needs "Code execution and file creation" turned on, and uploaded skills stay private to
your account.

Operating values

values/CLAUDE.md is not a skill and the plugin cannot carry it: a
CLAUDE.md inside a plugin is never loaded as context, by design. It installs by hand
instead. Linking it into ~/.claude/rules/ applies it to every project, and a rule with no
paths frontmatter loads at launch like a CLAUDE.md would:

ln -s "$PWD/values/CLAUDE.md" ~/.claude/rules/values.md

That directory takes symlinks, so a git pull is again the whole update. If you would
rather keep it visible in one file, import it from your own ~/.claude/CLAUDE.md with
@~/path/to/values/CLAUDE.md — user-scope imports load without the approval prompt an
external import in a project file would raise.

Either way it is 124 lines in every session, on top of whatever you already load, so read
it before you wire it in. They are principles for a coding agent rather than rules, and
they are opinionated: skills are the useful part of this repo, and this is the part worth
arguing with.

Developing

Two checks run in CI and gate every change:

python3 tools/validate_skills.py   # frontmatter parses and every referenced path exists
tools/run_tests.sh                 # each skill's test suite, and the eval corpus linter

Install the git hook once to run both (plus a gitleaks secret scan) on every commit:
sh tools/install-hooks.sh, or pre-commit install if you use pre-commit.

Evals

life-paths and financial-planning each ship an eval corpus in evals/, and
tools/eval/ has the harness that runs it. Two questions get measured
separately: does Claude reach for the skill when it should, and is the deliverable
worth having.

python3 tools/eval/lint_evals.py          # corpus quality gate, also run by the tests
python3 tools/eval/grade.py --calibrate   # check the judge separates good from bad
python3 tools/eval/run_trigger.py --split graded
python3 tools/eval/run_exec.py --runs 2

The linter and its tests need nothing but the standard library, so CI gates them. The
sweeps shell out to the claude CLI and cost time and money, so they are run by
hand.
tools/eval/README.md covers how the two configurations are kept
apart, what the numbers do and don't support, and where the design came from.

License

MIT; see LICENSE and NOTICE.

Yorumlar (0)

Sonuc bulunamadi