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.
- authoring-skills: Creates well-structured Agent Skills following best practices. Use when writing new skills, reviewing existing skills, or when the user mentions skill authoring.
- formatting-commits: Creates
commits strictly following Conventional Commits format via the
formatted-commitCLI. - invoking-subagents: Invokes ad-hoc subagents to read through lots of data and extract relevant information. Useful for exploring repositories, reading git logs, reviewing large diffs.
- querying-documentation: Spawns focused agents to search specific language/framework documentation and answer moderately complex queries.
- creating-tasks-through-lunatask: Creates tasks in Lunatask for todos, reminders, deferred work, and handoffs.
- resuming-work-through-lunatask: Resumes previously deferred work from Lunatask. Use when user pastes a task note, shares a deep link, or references continuing earlier work.
- frontend-accessibility: Generates accessible HTML, React, and frontend code following WCAG 2.2 AA guidelines. Focuses on semantic HTML, keyboard accessibility, and screen reader compatibility.
- handling-customer-data: Handles customer data responsibly by answering questions about data without ever seeing the data directly.
- scripting-with-go: Creates executable Go scripts with shebang-like behavior for long-lived automation.
- writing-roc-lang: Writes Roc code with strong static types, helpful compiler errors, and functional programming. Covers both full applications and one-off scripts.
- resolving-secrets: Wraps shell commands to resolve secret references in environment variables.
Installation
Clone the repository, then install skills via make or manual symlinks.
git clone https://git.secluded.site/agent-skills
cd agent-skills
With Make
Skills install to ~/.config/crush/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/crush/skills/; done
# Install specific skills
ln -s "$PWD/skills/authoring-skills" ~/.config/crush/skills/
# Remove a skill
rm ~/.config/crush/skills/formatting-commits
Agent skill directories
| Agent | Dir |
|---|---|
| Crush | ~/.config/crush/skills/ |
| Amp | ~/.config/agents/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.
=== 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: 796 tokens (38 lines)
References:
installing-formatted-commit.md 296 tokens
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Total: 1212 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
=== invoking-subagents ===
Token breakdown:
Name: 20 tokens
Description: 113 tokens
Body: 796 tokens (13 lines)
References:
installing-synu.md 140 tokens
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Total: 1069 tokens
=== querying-documentation ===
Token breakdown:
Name: 22 tokens
Description: 132 tokens
Body: 796 tokens (22 lines)
References:
dependencies.md 108 tokens
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Total: 1058 tokens
=== resolving-secrets ===
Token breakdown:
Name: 20 tokens
Description: 120 tokens
Body: 259 tokens (10 lines)
References:
installing-opx.md 125 tokens
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Total: 524 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
=== scripting-with-go ===
Token breakdown:
Name: 20 tokens
Description: 120 tokens
Body: 1968 tokens (138 lines)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Total: 2108 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
============================================================
SUMMARY
============================================================
Skills: 11
Metadata: 1543 tokens
Combined bodies: 16503 tokens
Overall: 121695 tokens
Validation errors: 0
Largest skills (by total tokens):
1. writing-roc-lang 82937 tokens
2. frontend-accessibility 12922 tokens
3. authoring-skills 10050 tokens
4. creating-tasks-through-lunatask 5599 tokens
5. handling-customer-data 2128 tokens