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: 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.
- 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. - 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.
- formatting-commits: Creates commits following Conventional Commits format via git-format.
- 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.
- humanizer: 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.
- invoking-subagents: Spawns 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: Manages git worktrees using wt with a bare repository structure. Each branch lives in its own sibling directory. Requires wt, git, and gum.
- 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.
- resuming-work-through-lunatask: Resumes deferred work from Lunatask handoff notes via lune.
- reviewing-code: Reviews changes, commits, PRs, and patches using Kodus, CodeRabbit, or Amp, preferring whichever is available in that order.
- 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.
- working-with-tmux: Spawns and manages background processes via tmux. Creates windows, sends commands, and captures output without blocking the main session. Useful for servers and long tasks.
- writing-git-tags: Generates git tag annotations from commit history following Semantic Versioning and Conventional Commits via git-format.
- writing-roc-lang: Writes Roc code with strong static types, helpful compiler errors, and functional programming. Covers both full applications and one-off scripts.
- 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-agent-comments ===
Token breakdown:
Name: 8 tokens
Description: 36 tokens
Body: 271 tokens (40 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 315 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: 733 tokens (102 lines)
References:
checklist.md 301 tokens
patterns.md 880 tokens
process.md 311 tokens
specification.md 1441 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 3706 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
=== creating-tasks-through-lunatask ===
Token breakdown:
Name: 12 tokens
Description: 41 tokens
Body: 687 tokens (84 lines)
References:
cli.md 218 tokens
handoff.md 1035 tokens
installing-lune.md 65 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 2058 tokens
=== formatting-commits ===
Token breakdown:
Name: 8 tokens
Description: 37 tokens
Body: 361 tokens (43 lines)
References:
installing-git-format.md 22 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 428 tokens
=== frontend-accessibility ===
Token breakdown:
Name: 7 tokens
Description: 52 tokens
Body: 1080 tokens (148 lines)
References:
antipatterns.md 1341 tokens
patterns.md 2279 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 4759 tokens
=== handling-customer-data ===
Token breakdown:
Name: 9 tokens
Description: 46 tokens
Body: 718 tokens (107 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 773 tokens
=== humanizer ===
Token breakdown:
Name: 6 tokens
Description: 31 tokens
Body: 3274 tokens (462 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 3311 tokens
=== invoking-subagents ===
Token breakdown:
Name: 8 tokens
Description: 42 tokens
Body: 227 tokens (16 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 277 tokens
=== managing-and-navigating-worktrees ===
Token breakdown:
Name: 11 tokens
Description: 60 tokens
Body: 703 tokens (96 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 774 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 (232 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 2396 tokens
=== researching-with-rumilo ===
Token breakdown:
Name: 10 tokens
Description: 60 tokens
Body: 1152 tokens (111 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 1222 tokens
=== resuming-work-through-lunatask ===
Token breakdown:
Name: 12 tokens
Description: 44 tokens
Body: 466 tokens (42 lines)
References:
cli.md 195 tokens
installing-lune.md 65 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 782 tokens
=== reviewing-code ===
Token breakdown:
Name: 7 tokens
Description: 51 tokens
Body: 355 tokens (48 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 413 tokens
=== scripting-with-go ===
Token breakdown:
Name: 8 tokens
Description: 46 tokens
Body: 727 tokens (138 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 781 tokens
=== testing-with-gocuke-and-gherkin ===
Token breakdown:
Name: 14 tokens
Description: 73 tokens
Body: 1188 tokens (105 lines)
References:
bdd-practices.md 1035 tokens
gherkin-reference.md 984 tokens
gocuke-api.md 1427 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 4721 tokens
=== working-with-tmux ===
Token breakdown:
Name: 8 tokens
Description: 32 tokens
Body: 544 tokens (87 lines)
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 584 tokens
=== writing-git-tags ===
Token breakdown:
Name: 7 tokens
Description: 38 tokens
Body: 821 tokens (107 lines)
References:
installing-git-format.md 22 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 888 tokens
=== writing-roc-lang ===
Token breakdown:
Name: 8 tokens
Description: 53 tokens
Body: 693 tokens (117 lines)
References:
builtins-llms.md 25216 tokens
llms.md 4253 tokens
scripting.md 614 tokens
βββββββββββββββββββββββββββββββββββββββββββββββ
Total: 30837 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: 23
Metadata: 1304 tokens
Combined bodies: 23025 tokens
Overall: 74023 tokens
Validation errors: 0
Largest skills (by total tokens):
1. writing-roc-lang 30837 tokens
2. ast-grep 5363 tokens
3. frontend-accessibility 4759 tokens
4. testing-with-gocuke-and-gherkin 4721 tokens
5. authoring-skills 3706 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