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-agent-comments: Finds
AGENT:comments in code, gathers feedback, and carries out requested changes. - ast-grep: Write ast-grep rules for structural code search and analysis. Find patterns the way the compiler sees them, not just as text.
- authoring-skills: Create and review Agent Skills following best practices. Covers skill structure, frontmatter, and progressive disclosure patterns.
- creating-tasks-through-lunatask: Create tasks and handoffs in Lunatask via lune. Tasks are just tasks. Handoffs capture work to resume later across sessions without filling context windows.
- formatting-commits: Create commits following Conventional Commits format via git-format.
- frontend-accessibility: 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: Query customer data responsiblyβthe agent answers questions about the data without ever seeing it directly.
- humanizer: Remove 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.
- invoking-subagents: Spawn subagents with
restricted tool access for parallel tasks across repositories. Requires synu
and the
claudeCLI. Useful for summarizing git history or processing large diffs without filling the main context window. - managing-and-navigating-worktrees: Git worktree management using wt with a bare repository structure. Each branch lives in its own sibling directory. Requires wt, git, and gum.
- querying-documentation: Query Go documentation with focused subagents for complex questions spanning multiple packages or external libraries. Requires Fish shell and synu. Currently Go-only.
- rebasing-with-git: 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: Dispatch 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.
- resuming-work-through-lunatask: Resume deferred work from Lunatask handoff notes via lune.
- reviewing-code: Review code for correctness, security, reliability, performance, and quality. Covers PRs, diffs, and general change review.
- scripting-with-go: Create executable Go scripts using a shell trick (not a true shebang). For automation and tooling outside of Go projects.
- working-with-tmux: Spawn and manage background processes via tmux. Create windows, send commands, and capture output without blocking the main session. Useful for servers and long tasks.
- writing-git-tags: Generate git tag annotations from commit history following Semantic Versioning and Conventional Commits via git-format.
- writing-roc-lang: Write Roc code with strong static types, helpful compiler errors, and functional programming. Covers both full applications and one-off scripts.
- writing-rust: Write 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-agent-comments ===
Token breakdown:
Name: 22 tokens
Description: 96 tokens
Body: 706 tokens (40 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 824 tokens
=== ast-grep ===
Token breakdown:
Name: 18 tokens
Description: 198 tokens
Body: 7503 tokens (469 lines)
References:
rule_reference.md 6814 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 14533 tokens
β οΈ Body exceeds recommended 5000 token budget!
=== authoring-skills ===
Token breakdown:
Name: 20 tokens
Description: 86 tokens
Body: 2000 tokens (102 lines)
References:
checklist.md 806 tokens
patterns.md 2415 tokens
process.md 833 tokens
specification.md 3890 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 10050 tokens
=== creating-tasks-through-lunatask ===
Token breakdown:
Name: 30 tokens
Description: 108 tokens
Body: 1927 tokens (88 lines)
References:
cli.md 589 tokens
handoff.md 2769 tokens
installing-lune.md 176 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 5599 tokens
=== formatting-commits ===
Token breakdown:
Name: 22 tokens
Description: 98 tokens
Body: 992 tokens (43 lines)
References:
installing-git-format.md 64 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 1176 tokens
=== frontend-accessibility ===
Token breakdown:
Name: 20 tokens
Description: 140 tokens
Body: 2891 tokens (148 lines)
References:
antipatterns.md 3638 tokens
patterns.md 6233 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 12922 tokens
=== handling-customer-data ===
Token breakdown:
Name: 22 tokens
Description: 123 tokens
Body: 1983 tokens (107 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 2128 tokens
=== humanizer ===
Token breakdown:
Name: 15 tokens
Description: 84 tokens
Body: 8536 tokens (462 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 8635 tokens
β οΈ Body exceeds recommended 5000 token budget!
=== invoking-subagents ===
Token breakdown:
Name: 20 tokens
Description: 113 tokens
Body: 796 tokens (13 lines)
References:
installing-synu.md 140 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 1069 tokens
=== managing-and-navigating-worktrees ===
Token breakdown:
Name: 32 tokens
Description: 164 tokens
Body: 1912 tokens (96 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 2108 tokens
=== querying-documentation ===
Token breakdown:
Name: 22 tokens
Description: 132 tokens
Body: 796 tokens (22 lines)
References:
dependencies.md 108 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 1058 tokens
=== rebasing-with-git ===
Token breakdown:
Name: 22 tokens
Description: 188 tokens
Body: 5696 tokens (202 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 5906 tokens
β οΈ Body exceeds recommended 5000 token budget!
=== researching-with-rumilo ===
Token breakdown:
Name: 25 tokens
Description: 159 tokens
Body: 1319 tokens (49 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 1503 tokens
=== resuming-work-through-lunatask ===
Token breakdown:
Name: 30 tokens
Description: 113 tokens
Body: 1241 tokens (42 lines)
References:
cli.md 528 tokens
installing-lune.md 176 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 2088 tokens
=== reviewing-code ===
Token breakdown:
Name: 18 tokens
Description: 125 tokens
Body: 1880 tokens (121 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 2023 tokens
=== scripting-with-go ===
Token breakdown:
Name: 20 tokens
Description: 120 tokens
Body: 1968 tokens (138 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 2108 tokens
=== working-with-tmux ===
Token breakdown:
Name: 22 tokens
Description: 84 tokens
Body: 1465 tokens (87 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 1571 tokens
=== writing-git-tags ===
Token breakdown:
Name: 22 tokens
Description: 101 tokens
Body: 2232 tokens (107 lines)
References:
installing-git-format.md 64 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 2419 tokens
=== writing-roc-lang ===
Token breakdown:
Name: 22 tokens
Description: 142 tokens
Body: 1846 tokens (117 lines)
References:
builtins-llms.md 67881 tokens
llms.md 11324 tokens
scripting.md 1722 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 82937 tokens
=== writing-rust ===
Token breakdown:
Name: 18 tokens
Description: 120 tokens
Body: 3628 tokens (139 lines)
References:
idioms.md 4605 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 8371 tokens
============================================================
SUMMARY
============================================================
Skills: 20
Metadata: 2936 tokens
Combined bodies: 51317 tokens
Overall: 169028 tokens
Validation errors: 0
Largest skills (by total tokens):
1. writing-roc-lang 82937 tokens
2. ast-grep 14533 tokens
3. frontend-accessibility 12922 tokens
4. authoring-skills 10050 tokens
5. humanizer 8635 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