Skip to content

Repository files navigation

stonematt-skills

Cross-surface Claude Code / Codex / opencode / claude.ai skills authored by Matt Stone.

All skills are namespaced stone-* so they install into a shared central store (~/.agents/skills) without colliding with same-named skills from other packs. The prefix only changes the explicit slash command (/stone-commit) — natural-language triggers ("commit this", "write a journal") are unaffected.

Install

Pick your path by the app you run. There are two mechanisms: a filesystem install (one command, covers every coding agent) and a manual zip upload (for the claude.ai chat app, which has no filesystem).

Two different "desktop apps" — don't conflate them. The Claude Code desktop app (Anthropic's coding tool, Mac/Windows) is a filesystem agent — use the npx path. The claude.ai desktop app (the chat app, same as the iOS/Android app) has no filesystem — use the zip path.

Your app Path
Claude Code — terminal CLI npx, or the plugin marketplace
Claude Code — desktop app (Mac/Win) plugin marketplace (no terminal), or npx — shares ~/.claude/skills with the CLI
Codex / opencode npx (filesystem)
claude.ai — desktop app / web / mobile zip upload

Filesystem agents — Claude Code (CLI or desktop app), Codex, opencode

npx skills@latest add stonematt/stonematt-skills

Pick the skills and agents in the interactive prompt. The CLI copies them into ~/.agents/skills and symlinks them into each agent. Re-run to update.

The Claude Code desktop app reads the same user-scope ~/.claude/skills/ as the terminal CLI, so a single install on a machine serves both. If a skill doesn't appear in the desktop app after installing, restart it (or re-run the command) so it re-scans the skills directory.

Developing this repo? Live-symlink the working copy into ~/.claude/skills instead:

./scripts/link-skills.sh

This links the working-copy skills into both ~/.claude/skills and ~/.agents/skills for Claude Code and Codex dogfooding.

Claude Code — plugin marketplace (no terminal needed)

Claude Code (CLI or desktop app) can install the whole pack as a plugin straight from this repo — handy if you'd rather not run npx in a terminal:

/plugin marketplace add stonematt/stonematt-skills
/plugin install stonematt-skills@stonematt-skills

Skills load namespaced as /stonematt-skills:stone-commit (natural-language triggers like "commit this" are unchanged). Claude Code only — Codex and opencode have no plugin system, so use the npx path above for those.

claude.ai chat app — desktop, web, mobile

claude.ai (the chat app — not the Claude Code desktop app above) has no CLI or filesystem install. Upload a zip by hand via Settings → Customize → Skills. Uploaded skills are tied to your claude.ai account, so one upload is available wherever you're signed in (web, desktop, mobile). This path is best-effort for the MVP until bundle compatibility is validated against the current uploader. Build one per skill:

./scripts/build-claudeai-zip.sh stone-commit   # → stone-commit.zip

Skills

engineering/ — stone-commit, stone-merge, stone-promote-settings

productivity/ — stone-ai-sniff-test, stone-client-report

personal/ — stone-journal, stone-journal-status

The generic persona skills (voice, email, define-voice) and their tooling are parked on the feat/voice-personas branch for future re-integration.

Versioning

The pack is versioned with SemVer. The canonical number lives in .claude-plugin/plugin.json; every release tag (vMAJOR.MINOR.PATCH) on main matches it, and each is published as a GitHub Release. See CHANGELOG.md for what changed.

Am I on the latest?

./scripts/check-latest.sh

Compares your installed version against the newest release (curl only — no gh or jq needed). Works for plugin-marketplace installs and repo clones. The npx skills add path copies individual skill dirs without the pack manifest, so it has no local anchor yet — per-skill frontmatter stamping is the planned follow-up. claude.ai zips carry a VERSION file at the zip root.

Cutting a release (maintainer): bump version in plugin.json and add a CHANGELOG.md section on the dev→main release PR, then once it lands on main:

./scripts/release.sh            # tag + push + GitHub Release; --dry-run to preview

It refuses unless run from a clean main, the tag is new, and the CHANGELOG has a matching section — so the version number, the tag, and the release never drift.

Repository conventions

  • See CLAUDE.md for agent skill configuration (issue tracker, triage labels, domain docs)
  • See CONTEXT.md for the project's vocabulary
  • See docs/adr/ for architectural decisions

Test

Run the lightweight pre-merge gate before merging to main:

./scripts/test.sh

This validates skill naming/index consistency, the claude.ai zip smoke test, and the release-script guards.

License

MIT — see LICENSE.

About

Cross-surface Claude Code / Codex / opencode / claude.ai skills by Matt Stone

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages