README.md

  1<!--
  2SPDX-FileCopyrightText: Amolith <amolith@secluded.site>
  3
  4SPDX-License-Identifier: CC0-1.0
  5-->
  6
  7# agent-skills
  8
  9A collection of [Agent Skills]; structured markdown that extends LLM
 10agent capabilities through a standardised format.
 11
 12[Agent Skills]: https://agentskills.io/
 13
 14## Available Skills
 15
 16Refer to [ยง Token stats](#token-stats) for a detailed breakdown of each skill's token count, plus overall metadata usage.
 17
 18- [authoring-skills](skills/authoring-skills/SKILL.md): Creates
 19  well-structured Agent Skills following best practices. Use when
 20  writing new skills, reviewing existing skills, or when the user
 21  mentions skill authoring.
 22- [formatting-commits](skills/formatting-commits/SKILL.md): Creates
 23  commits strictly following Conventional Commits format via the
 24  `formatted-commit` CLI.
 25- [invoking-subagents](skills/invoking-subagents/SKILL.md): Invokes
 26  ad-hoc subagents to read through lots of data and extract relevant
 27  information. Useful for exploring repositories, reading git logs,
 28  reviewing large diffs.
 29- [managing-and-navigating-worktrees](skills/managing-and-navigating-worktrees/SKILL.md):
 30  Manages git worktrees and repos using the wt CLI. Use when cloning or
 31  creating new repos, adding worktrees, switching branches.
 32- [querying-documentation](skills/querying-documentation/SKILL.md):
 33  Spawns focused agents to search specific language/framework
 34  documentation and answer moderately complex queries.
 35- [creating-tasks-through-lunatask](skills/creating-tasks-through-lunatask/SKILL.md):
 36  Creates tasks in Lunatask for todos, reminders, deferred work, and
 37  handoffs.
 38- [resuming-work-through-lunatask](skills/resuming-work-through-lunatask/SKILL.md):
 39  Resumes previously deferred work from Lunatask. Use when user pastes a
 40  task note, shares a deep link, or references continuing earlier work.
 41- [frontend-accessibility](skills/frontend-accessibility/SKILL.md):
 42  Generates accessible HTML, React, and frontend code following WCAG 2.2
 43  AA guidelines. Focuses on semantic HTML, keyboard accessibility, and
 44  screen reader compatibility.
 45- [handling-customer-data](skills/handling-customer-data/SKILL.md):
 46  Handles customer data responsibly by answering questions about data
 47  without ever seeing the data directly.
 48- [scripting-with-go](skills/scripting-with-go/SKILL.md): Creates
 49  executable Go scripts with shebang-like behavior for long-lived
 50  automation.
 51- [writing-roc-lang](skills/writing-roc-lang/SKILL.md): Writes Roc code
 52  with strong static types, helpful compiler errors, and functional
 53  programming. Covers both full applications and one-off scripts.
 54- [resolving-secrets](skills/resolving-secrets/SKILL.md): Wraps shell
 55  commands to resolve secret references in environment variables.
 56- [reviewing-code](skills/reviewing-code/SKILL.md): Reviews code for
 57  correctness, security, reliability, performance, and quality. Use when
 58  asked to review code, a PR, a diff, or changes.
 59
 60## Installation
 61
 62If you're using [Amp], run `amp skill add
 63https://git.secluded.site/agent-skills`. Otherwise, clone the repository, then
 64install via `make` or manual symlinks.
 65
 66[Amp]: https://ampcode.com
 67
 68```sh
 69git clone https://git.secluded.site/agent-skills
 70cd agent-skills
 71```
 72
 73### With Make
 74
 75Skills install to `~/.config/crush/skills/` by default. Override by
 76setting `SKILL_DIR`. Tab completion works so you don't have to remember
 77skill names or copy/paste.
 78
 79```sh
 80# List available skills
 81make list
 82
 83# Install all skills to default dir
 84make all
 85
 86# Install specific skills to Claude Code
 87SKILL_DIR=$HOME/.claude/skills make authoring-skills formatting-commits
 88
 89# Remove a specific skill from Amp
 90make uninstall-authoring-skills SKILL_DIR=$HOME/.config/agents/skills
 91
 92# Remove all skills from Codex
 93make uninstall SKILL_DIR=$HOME/.codex/skills
 94```
 95
 96### With symlinks
 97
 98```sh
 99# Install all skills
100for s in skills/*/; do ln -s "$PWD/$s" ~/.config/crush/skills/; done
101
102# Install specific skills
103ln -s "$PWD/skills/authoring-skills" ~/.config/crush/skills/
104
105# Remove a skill
106rm ~/.config/crush/skills/formatting-commits
107```
108
109### Agent skill directories
110
111| Agent                   | Dir                        |
112| ----------------------- | -------------------------- |
113| Crush                   | `~/.config/crush/skills/`  |
114| Amp                     | `~/.config/agents/skills/` |
115| Anthropic's Claude Code | `~/.claude/skills/`        |
116| OpenAI's Codex          | `~/.codex/skills/`         |
117
118## Updating
119
120```sh
121cd ~/path/to/agent-skills
122git pull
123```
124
125Symlinked skills update automatically.
126
127## Contributions
128
129Patch requests are in [amolith/llm-projects] on [pr.pico.sh]. You don't
130need a new account to contribute, you don't need to fork this repo, you
131don't need to fiddle with `git send-email`, you don't need to faff with
132your email client to get `git request-pull` working...
133
134You just need:
135
136- Git
137- SSH
138- An SSH key
139
140```sh
141# Clone this repo, make your changes, and commit them
142# Create a new patch request with
143git format-patch origin/main --stdout | ssh pr.pico.sh pr create amolith/llm-projects
144# After potential feedback, submit a revision to an existing patch request with
145git format-patch origin/main --stdout | ssh pr.pico.sh pr add {prID}
146# List patch requests
147ssh pr.pico.sh pr ls amolith/llm-projects
148```
149
150See "How do Patch Requests work?" on [pr.pico.sh]'s home page for a more
151complete example workflow.
152
153[amolith/llm-projects]: https://pr.pico.sh/r/amolith/llm-projects
154[pr.pico.sh]: https://pr.pico.sh
155
156## Token stats
157
158Real token stats as reported by [Synthetic.new]'s [/messages/count_tokens] endpoint with [./skill-stats.go](./skill-stats.go).
159
160[Synthetic.new]: https://synthetic.new
161[/messages/count_tokens]: https://dev.synthetic.new/docs/anthropic/messages/count-tokens
162
163```
164=== authoring-skills ===
165
166Token breakdown:
167  Name:           20 tokens
168  Description:    86 tokens
169  Body:         2000 tokens (102 lines)
170  References:
171    checklist.md                               806 tokens
172    patterns.md                               2415 tokens
173    process.md                                 833 tokens
174    specification.md                          3890 tokens
175  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
176  Total:       10050 tokens
177
178=== creating-tasks-through-lunatask ===
179
180Token breakdown:
181  Name:           30 tokens
182  Description:   108 tokens
183  Body:         1927 tokens (88 lines)
184  References:
185    cli.md                                     589 tokens
186    handoff.md                                2769 tokens
187    installing-lune.md                         176 tokens
188  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
189  Total:        5599 tokens
190
191=== formatting-commits ===
192
193Token breakdown:
194  Name:           22 tokens
195  Description:    98 tokens
196  Body:          965 tokens (43 lines)
197  References:
198    installing-formatted-commit.md             296 tokens
199  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
200  Total:        1381 tokens
201
202=== frontend-accessibility ===
203
204Token breakdown:
205  Name:           20 tokens
206  Description:   140 tokens
207  Body:         2891 tokens (148 lines)
208  References:
209    antipatterns.md                           3638 tokens
210    patterns.md                               6233 tokens
211  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
212  Total:       12922 tokens
213
214=== handling-customer-data ===
215
216Token breakdown:
217  Name:           22 tokens
218  Description:   123 tokens
219  Body:         1983 tokens (107 lines)
220  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
221  Total:        2128 tokens
222
223=== invoking-subagents ===
224
225Token breakdown:
226  Name:           20 tokens
227  Description:   113 tokens
228  Body:          796 tokens (13 lines)
229  References:
230    installing-synu.md                         140 tokens
231  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
232  Total:        1069 tokens
233
234=== managing-and-navigating-worktrees ===
235
236Token breakdown:
237  Name:           32 tokens
238  Description:   110 tokens
239  Body:         1912 tokens (96 lines)
240  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
241  Total:        2054 tokens
242
243=== querying-documentation ===
244
245Token breakdown:
246  Name:           22 tokens
247  Description:   132 tokens
248  Body:          796 tokens (22 lines)
249  References:
250    dependencies.md                            108 tokens
251  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
252  Total:        1058 tokens
253
254=== resolving-secrets ===
255
256Token breakdown:
257  Name:           20 tokens
258  Description:   120 tokens
259  Body:          259 tokens (10 lines)
260  References:
261    installing-opx.md                          125 tokens
262  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
263  Total:         524 tokens
264
265=== resuming-work-through-lunatask ===
266
267Token breakdown:
268  Name:           30 tokens
269  Description:   113 tokens
270  Body:         1241 tokens (42 lines)
271  References:
272    cli.md                                     528 tokens
273    installing-lune.md                         176 tokens
274  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
275  Total:        2088 tokens
276
277=== reviewing-code ===
278
279Token breakdown:
280  Name:           18 tokens
281  Description:   125 tokens
282  Body:         1880 tokens (121 lines)
283  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
284  Total:        2023 tokens
285
286=== scripting-with-go ===
287
288Token breakdown:
289  Name:           20 tokens
290  Description:   120 tokens
291  Body:         1968 tokens (138 lines)
292  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
293  Total:        2108 tokens
294
295=== writing-roc-lang ===
296
297Token breakdown:
298  Name:           22 tokens
299  Description:   142 tokens
300  Body:         1846 tokens (117 lines)
301  References:
302    builtins-llms.md                         67881 tokens
303    llms.md                                  11324 tokens
304    scripting.md                              1722 tokens
305  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
306  Total:       82937 tokens
307
308============================================================
309SUMMARY
310============================================================
311
312Skills: 13
313Metadata: 1828 tokens
314Combined bodies: 20464 tokens
315Overall: 125941 tokens
316Validation errors: 0
317
318Largest skills (by total tokens):
319  1. writing-roc-lang                         82937 tokens
320  2. frontend-accessibility                   12922 tokens
321  3. authoring-skills                         10050 tokens
322  4. creating-tasks-through-lunatask           5599 tokens
323  5. handling-customer-data                    2128 tokens
324```
325
326---
327
328Some other tools if these interested you
329
330- [wt](https://git.secluded.site/wt) - CLI for managing git worktrees
331- [formatted-commit](https://git.secluded.site/formatted-commit) - CLI that turns LLM input into well-formatted Conventional Commits
332- [garble](https://git.secluded.site/garble) - transform stdin with an LLM (fix typos, translate, reformat)
333- [lune](https://git.secluded.site/lune) - CLI and MCP server for [Lunatask.app](https://lunatask.app)