agent-skills
A collection of Agent Skills; structured markdown that extends LLM agent capabilities through a standardised format.
Available Skills
Refer to Β§ Token stats for a detailed breakdown of each skill's token count, plus overall metadata usage. I've used and tested them most with Crush, Amp, and Shelley, and to a lesser degree, Octofriend and Pi.
- addressing-code-review-comments:
Finds
CR:comments in code, gathers feedback, and carries out requested changes. - amoliths-opinions: Applies Amolith's opinions across project setup, tooling, licensing, dependencies, mise tasks, CLIs, TUIs, MCP servers, web apps, packaging/releases, testing, and Go-specific ecosystem defaults.
- ast-grep: Writes ast-grep rules for structural code search and modification.
- auditing-repositories: Audits open source repositories for security, privacy, and unexpected behavior.
- authoring-skills: Creates and reviews Agent Skills following best practices. Covers skill structure, frontmatter, and progressive disclosure patterns.
- backing-up-with-keld: Writes and
manages keld configuration for restic backups. Covers TOML preset structure,
split preset composition (
home@cloud), config file discovery, environment variables, and systemd timer setup. - collaborating-through-pr-pico-sh:
Collaborates on git patches via pr.pico.sh, a minimal patchbin service.
Covers both contributing and reviewing patch requests using
git format-patchandgit am. - computing-golden-ratio-typography: Computes Golden Ratio Typography line heights, spacing units, type scales, and readable measures from a font file or explicit font metrics.
- cooking: Guides home cooking as a technically grounded collaborator. Helps plan meals, use odds and ends, troubleshoot techniques, handle substitutions, and reason through cuisine-specific flavor logic without flattening regional traditions.
- creating-tasks-through-lunatask: Creates tasks and handoffs in Lunatask via lune. Tasks are just tasks. Handoffs capture work to resume later across sessions without filling context windows.
- fallback-code-review: Provides a fallback-only external review flow via CLI tools like Amp, CodeRabbit, or Kodus.
- formatting-commits: Detects a project's commit style from recent history and formats messages accordingly. Supports Conventional Commits and kernel-style imperative commits.
- frontend-accessibility: Strives to generate accessible HTML, React, and frontend code following WCAG 2.2 AA. Prioritizes semantic HTML over ARIA, keyboard navigation, and screen reader compatibility.
- handling-customer-data: Queries customer data responsiblyβthe agent answers questions about the data without ever seeing it directly.
- humanize: Removes AI-generated patterns from text like promotional fluff, weasel words, and mechanical sentence structures. Based on Wikipedia's AI Cleanup research. Originally from blader/humanizer.
- ideating-with-bdd: Guides collaborative discovery of behaviour through structured conversation, iterating with the user to refine ideas into user stories and Gherkin scenarios. Works for any language or framework.
- initialising-and-updating-agents-md:
Analyses a codebase and creates or updates
AGENTS.mdto help future agents work effectively. Discovers commands, conventions, patterns, and gotchas from the project's source and config files. - invoking-subagents: Spawns subagents with restricted tool access for parallel tasks across repositories. Requires the Pi coding agent. Useful for summarizing git history or processing large diffs without filling the main context window.
- licensing-with-reuse: Manages
REUSE-compliant licensing with the
reuseCLI. Coversreuse annotate,.licensesidecars for prompt files, customLicenseRef-...identifiers,LICENSES/, project conventions, andreuse lint. - maintaining-aur-packages: Creates
and updates AUR packages following Arch packaging standards. Covers PKGBUILDs
for source,
-bin, and-gitpackage types, checksums withupdpkgsums, linting withnamcap, and.SRCINFOgeneration. - managing-personal-knowledge: Works inside a personal knowledge base as an exacting steward, shaping atomic, concept-oriented notes, a dense wikilink graph, and disciplined tags instead of dumping transcripts. Tool-agnostic across Markdown vaults like Obsidian, Logseq, Roam, and SilverBullet.
- monitoring-with-munin: Deploys and manages Munin monitoring across servers. Sets up munin-node on hosts, writes plugins, configures masters, and handles alerts.
- notifying-through-ntfy: Sends push notifications via ntfy.sh when requested, such as at the end of its turn.
- rebasing-with-git: Manages git rebase
workflows from simple rebases to the drop-and-repick integration branch
pattern. Assumes
upstreamremote for forks andrerereenabled. Supports worktrees includingwt-managed repos. - researching-with-rumilo: Dispatches AI research subagents via rumilo for web search and repository exploration. Research topics, look up library usage, or explore external codebases without filling the main context window.
- scripting-with-go: Creates executable Go scripts using a shell trick (not a true shebang). For automation and tooling outside of Go projects.
- testing-with-gocuke-and-gherkin: Drives BDD, red/green TDD, and property-based testing in Go projects using gocuke and Gherkin feature files.
- toki-pona-dictionary: Searches the nimi.li toki pona dictionary by English meaning. Caches word data locally after a one-time fetch, then runs offline searches across definitions and community usage tags.
- updating-llm-client-model-lists: Synchronizes model configurations across Zed, Crush, Octofriend, and Pi from Plexus' /v1/models endpoint.
- using-exe-dev: Guides working with exe.dev VMs, which provide Linux VMs with persistent disks, instant HTTPS, and built-in auth via SSH.
- using-jujutsu: Guides jujutsu (jj) workflows, covering commit selection, change creation, diff reading, and common pitfalls that trip up agents.
- working-with-zmx: Manages persistent terminal sessions for background processes, dev servers, and long-running tasks. Creates sessions, runs commands detached, checks output, and writes files into sessions over SSH.
- writing-git-tags: Generates git tag annotations from commit history following Semantic Versioning and Conventional Commits via git-format.
- writing-rust: Writes idiomatic Rust with
strict quality gates:
cargo fmt,clippy -- -D warnings, and required tests. Enforcesthiserrorfor libs,anyhowfor apps, warns against common anti-patterns.
Installation
If you're using Amp, run amp skill add https://git.secluded.site/agent-skills. Otherwise, clone the repository, then
install via make or manual symlinks.
git clone https://git.secluded.site/agent-skills
cd agent-skills
With Make
Skills install to ~/.config/agents/skills/ by default. Override by
setting SKILL_DIR. Tab completion works so you don't have to remember
skill names or copy/paste.
# List available skills
make list
# Install all skills to default dir
make all
# Install specific skills to Claude Code
SKILL_DIR=$HOME/.claude/skills make authoring-skills formatting-commits
# Remove a specific skill from Amp
make uninstall-authoring-skills SKILL_DIR=$HOME/.config/agents/skills
# Remove all skills from Codex
make uninstall SKILL_DIR=$HOME/.codex/skills
With symlinks
# Install all skills
for s in skills/*/; do ln -s "$PWD/$s" ~/.config/agents/skills/; done
# Install specific skills
ln -s "$PWD/skills/authoring-skills" ~/.config/agents/skills/
# Remove a skill
rm ~/.config/agents/skills/formatting-commits
Agent skill directories
| Agent | Dir |
|---|---|
| Crush, Octofriend, Shelley, Amp | ~/.config/agents/skills/ |
| Pi | ~/.pi/agent/skills/ |
| Anthropic's Claude Code | ~/.claude/skills/ |
| OpenAI's Codex | ~/.codex/skills/ |
Updating
cd ~/path/to/agent-skills
git pull
Symlinked skills update automatically.
Contributions
Patch requests are in amolith/llm-projects on pr.pico.sh. You don't need a
new account to contribute, you don't need to fork this repo, you don't need to
fiddle with git send-email, you don't need to faff with your email client to
get git request-pull working...
You just need:
- Git
- SSH
- An SSH key
# Clone this repo, make your changes, and commit them
# Create a new patch request with
git format-patch origin/main --stdout | ssh pr.pico.sh pr create amolith/llm-projects
# After potential feedback, submit a revision to an existing patch request with
git format-patch origin/main --stdout | ssh pr.pico.sh pr add {prID}
# List patch requests
ssh pr.pico.sh pr ls amolith/llm-projects
See "How do Patch Requests work?" on pr.pico.sh's home page for a more complete example workflow.
Token stats
Real token stats as reported by Synthetic.new's /messages/count_tokens endpoint with ./skill-stats.go.
=== addressing-code-review-comments ===
Token breakdown:
Name: 9 tokens
Description: 40 tokens
Body: 290 tokens (38 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 339 tokens
=== amoliths-opinions ===
Token breakdown:
Name: 10 tokens
Description: 89 tokens
Body: 590 tokens (51 lines)
References:
cli.md 385 tokens
golang/baseline.md 860 tokens
golang/cli.md 777 tokens
golang/index.md 599 tokens
golang/licencing.md 206 tokens
golang/mcp.md 524 tokens
golang/mise.md 1331 tokens
golang/packaging.md 947 tokens
golang/preferred-libraries.md 621 tokens
golang/testing.md 486 tokens
golang/tui.md 381 tokens
golang/wails.md 621 tokens
golang/web.md 405 tokens
licencing.md 493 tokens
mcp.md 326 tokens
mise.md 350 tokens
packaging.md 462 tokens
testing.md 345 tokens
tui.md 222 tokens
web.md 400 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 11430 tokens
=== ast-grep ===
Token breakdown:
Name: 7 tokens
Description: 76 tokens
Body: 2765 tokens (469 lines)
References:
rule_reference.md 2515 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 5363 tokens
=== auditing-repositories ===
Token breakdown:
Name: 8 tokens
Description: 51 tokens
Body: 1046 tokens (156 lines)
References:
llm-security.md 427 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 1532 tokens
=== authoring-skills ===
Token breakdown:
Name: 8 tokens
Description: 32 tokens
Body: 861 tokens (107 lines)
References:
checklist.md 301 tokens
patterns.md 880 tokens
process.md 311 tokens
specification.md 1441 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 3834 tokens
=== backing-up-with-keld ===
Token breakdown:
Name: 9 tokens
Description: 39 tokens
Body: 1742 tokens (235 lines)
References:
config-examples.md 1415 tokens
installation.md 19 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 3224 tokens
=== collaborating-through-pr-pico-sh ===
Token breakdown:
Name: 12 tokens
Description: 47 tokens
Body: 521 tokens (43 lines)
References:
contributing.md 162 tokens
jujutsu.md 516 tokens
reviewing.md 406 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 1664 tokens
=== computing-golden-ratio-typography ===
Token breakdown:
Name: 12 tokens
Description: 59 tokens
Body: 1208 tokens (108 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 1279 tokens
=== cooking ===
Token breakdown:
Name: 6 tokens
Description: 166 tokens
Body: 2805 tokens (117 lines)
References:
cuisines/_index.md 1274 tokens
cuisines/caribbean/dish-boundaries.md 232 tokens
cuisines/caribbean/overview.md 730 tokens
cuisines/caribbean/pantry-techniques.md 399 tokens
cuisines/caribbean/regions.md 450 tokens
cuisines/chinese-regional/overview.md 1140 tokens
cuisines/chinese-regional/regions.md 500 tokens
cuisines/chinese-regional/substitutions.md 225 tokens
cuisines/chinese-regional/techniques-pantry.md 278 tokens
cuisines/german.md 642 tokens
cuisines/hawaiian.md 931 tokens
cuisines/indian/overview.md 873 tokens
cuisines/indian/pantry-substitutions.md 267 tokens
cuisines/indian/regions-communities.md 524 tokens
cuisines/indian/techniques.md 243 tokens
cuisines/irish-british.md 641 tokens
cuisines/japanese-home.md 673 tokens
cuisines/korean.md 761 tokens
cuisines/levantine.md 659 tokens
cuisines/mexican-regional/overview.md 761 tokens
cuisines/mexican-regional/pantry-substitutions.md 288 tokens
cuisines/mexican-regional/regions.md 402 tokens
cuisines/mexican-regional/techniques.md 237 tokens
cuisines/north-african-middle-eastern/egypt.md 146 tokens
cuisines/north-african-middle-eastern/gulf.md 149 tokens
cuisines/north-african-middle-eastern/maghreb.md 218 tokens
cuisines/north-african-middle-eastern/overview.md 820 tokens
cuisines/north-african-middle-eastern/pantry-techniques.md 266 tokens
cuisines/north-african-middle-eastern/persian.md 159 tokens
cuisines/sichuan/flavor-profiles.md 301 tokens
cuisines/sichuan/overview.md 774 tokens
cuisines/sichuan/pantry.md 225 tokens
cuisines/sichuan/pivots-history.md 151 tokens
cuisines/sichuan/techniques.md 195 tokens
example-conversations.md 1873 tokens
foundations.md 1335 tokens
introductions.md 532 tokens
searching-sources.md 693 tokens
substitutions-and-pivots.md 1086 tokens
techniques.md 2584 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 27614 tokens
=== creating-tasks-through-lunatask ===
Token breakdown:
Name: 12 tokens
Description: 41 tokens
Body: 741 tokens (88 lines)
References:
cli.md 218 tokens
handoff.md 1035 tokens
installing-lune.md 65 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 2112 tokens
=== fallback-code-review ===
Token breakdown:
Name: 7 tokens
Description: 79 tokens
Body: 489 tokens (56 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 575 tokens
=== formatting-commits ===
Token breakdown:
Name: 8 tokens
Description: 57 tokens
Body: 310 tokens (34 lines)
References:
conventional-commits.md 362 tokens
installing-git-format.md 22 tokens
kernel-style.md 526 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 1285 tokens
=== frontend-accessibility ===
Token breakdown:
Name: 7 tokens
Description: 52 tokens
Body: 1091 tokens (172 lines)
References:
antipatterns.md 1341 tokens
patterns.md 2279 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 4770 tokens
=== handling-customer-data ===
Token breakdown:
Name: 9 tokens
Description: 46 tokens
Body: 715 tokens (115 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 770 tokens
=== humanize ===
Token breakdown:
Name: 6 tokens
Description: 100 tokens
Body: 1886 tokens (152 lines)
References:
DETAILED_PATTERNS.md 1903 tokens
REPLACEMENTS.md 1125 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 5020 tokens
=== ideating-with-bdd ===
Token breakdown:
Name: 9 tokens
Description: 133 tokens
Body: 1582 tokens (177 lines)
References:
gherkin-reference.md 984 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 2708 tokens
=== in-session-review ===
Token breakdown:
Name: 7 tokens
Description: 48 tokens
Body: 2248 tokens (182 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 2303 tokens
=== initialising-and-updating-agents-md ===
Token breakdown:
Name: 12 tokens
Description: 59 tokens
Body: 850 tokens (63 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 921 tokens
=== invoking-subagents ===
Token breakdown:
Name: 8 tokens
Description: 42 tokens
Body: 450 tokens (20 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 500 tokens
=== licensing-with-reuse ===
Token breakdown:
Name: 9 tokens
Description: 51 tokens
Body: 1234 tokens (135 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 1294 tokens
=== maintaining-aur-packages ===
Token breakdown:
Name: 9 tokens
Description: 58 tokens
Body: 1481 tokens (105 lines)
References:
build-patterns.md 1120 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 2668 tokens
=== managing-personal-knowledge ===
Token breakdown:
Name: 10 tokens
Description: 129 tokens
Body: 1867 tokens (64 lines)
References:
philosophy.md 1426 tokens
scenarios.md 1294 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 4726 tokens
=== monitoring-with-munin ===
Token breakdown:
Name: 10 tokens
Description: 62 tokens
Body: 1981 tokens (238 lines)
References:
writing-plugins.md 1151 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 3204 tokens
=== notifying-through-ntfy ===
Token breakdown:
Name: 10 tokens
Description: 37 tokens
Body: 1052 tokens (89 lines)
References:
ht.md 383 tokens
httpie.md 385 tokens
nodejs.md 541 tokens
python.md 517 tokens
wget.md 430 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 3355 tokens
=== rebasing-with-git ===
Token breakdown:
Name: 8 tokens
Description: 71 tokens
Body: 2317 tokens (239 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 2396 tokens
=== researching-with-rumilo ===
Token breakdown:
Name: 10 tokens
Description: 60 tokens
Body: 1217 tokens (112 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 1287 tokens
=== scripting-with-go ===
Token breakdown:
Name: 8 tokens
Description: 46 tokens
Body: 727 tokens (141 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 781 tokens
=== testing-with-gocuke-and-gherkin ===
Token breakdown:
Name: 14 tokens
Description: 77 tokens
Body: 633 tokens (67 lines)
References:
bdd-practices.md 261 tokens
gocuke-api.md 1427 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 2412 tokens
=== toki-pona-dictionary ===
Token breakdown:
Name: 11 tokens
Description: 86 tokens
Body: 250 tokens (24 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 347 tokens
=== updating-llm-client-model-lists ===
Token breakdown:
Name: 13 tokens
Description: 47 tokens
Body: 2210 tokens (264 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 2270 tokens
=== using-exe-dev ===
Token breakdown:
Name: 8 tokens
Description: 32 tokens
Body: 380 tokens (45 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 420 tokens
=== using-jujutsu ===
Token breakdown:
Name: 9 tokens
Description: 55 tokens
Body: 735 tokens (92 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 799 tokens
=== working-with-zmx ===
Token breakdown:
Name: 8 tokens
Description: 58 tokens
Body: 522 tokens (69 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 588 tokens
=== writing-git-tags ===
Token breakdown:
Name: 7 tokens
Description: 38 tokens
Body: 846 tokens (109 lines)
References:
installing-git-format.md 22 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 913 tokens
=== writing-rust ===
Token breakdown:
Name: 7 tokens
Description: 45 tokens
Body: 1324 tokens (139 lines)
References:
idioms.md 1708 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 3084 tokens
============================================================
SUMMARY
============================================================
Skills: 35
Metadata: 2525 tokens
Combined bodies: 40966 tokens
Overall: 107787 tokens
Validation errors: 0
Largest skills (by total tokens):
1. cooking 27614 tokens
2. amoliths-opinions 11430 tokens
3. ast-grep 5363 tokens
4. humanize 5020 tokens
5. frontend-accessibility 4770 tokens
Some other tools if these interested you
- wt - CLI for managing git worktrees
- git-format - CLI that turns LLM input into well-formatted conventional commits and tags
- garble - transform stdin with an LLM (fix typos, translate, reformat)
- lune - CLI and MCP server for Lunatask.app