Files
mad-skills/README.md
T
dckcandClaude Opus 5.5 2a0815f004 feat(hackmd-deck): add skill
Quick HackMD decks for light talks such as Agoric's engineering show &
tell: a flashback arc (TADA, then how, then challenges), real artifacts
as eye candy, and emoji tags that add up to a retro slide.

In the Portland Pattern Repository form notify-me tried, with an example
skeleton under the h1. The forces come from drafting the Good Fences
deck: the TADA has to be on the talk's own thread; slides show
challenges, they don't pose questions; designed, built in dev, and
deployed must be told apart.

The emoji legend is from the Jun 25 deck; meanings for 🔔 📈 🪄 are
inferred, and 🧱 is new.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-09 12:17:55 -05:00

71 lines
3.1 KiB
Markdown

# mad skills
How I like code written, reviewed, and committed — written down so the
bots I pair with can pick it up without me repeating myself.
These are [Agent Skills](https://agentskills.io/specification). Each
`description` front-loads the words that should trigger it — the things
I actually say, like "retcon", "watch me", or "citation needed".
I keep this repo checked out at `.agents/skills/` in a workspace and
symlink `.claude/skills` and `.opencode/skills` to it, so [Claude
Code](https://code.claude.com/docs/en/skills) and
[opencode](https://opencode.ai/docs/skills/) see the same set.
## writing code
- [no-ambient-authority](no-ambient-authority/SKILL.md) — clocks,
RNGs, `fetch`, and the filesystem come in as parameters.
- [io-between-turns](io-between-turns/SKILL.md) — sync I/O is a pointy
instrument.
- [silent-failures-are-evil](silent-failures-are-evil/SKILL.md) — every
failure path leaves a trace in the logs.
- [lazy-tdd](lazy-tdd/SKILL.md) — works the first time? fine. Goofed?
You owe a test.
- [docs-files-api](docs-files-api/SKILL.md) — README sells and gets
you to TADA; CONTRIBUTING has the rest; AGENTS.md links to it.
Exported API docs over file docs. Avoid chit-chat.
## commits and PRs
- [disclose-gen-ai](disclose-gen-ai/SKILL.md) — `Generated-by:`
trailers, per the ASF generative tooling guidance.
- [retcon](retcon/SKILL.md) — regroup a PR's net diff into clean
per-package commits; the merge result doesn't change.
- [yarn-lock-separate-commit](yarn-lock-separate-commit/SKILL.md) —
`yarn.lock` changes ship alone.
## writing prose
- [grice-maxims](grice-maxims/SKILL.md) — say what's needed and no
more, only what you can back up, in an order easy to follow.
- [hypertext-links](hypertext-links/SKILL.md) — link text says where
the link goes; no bare URLs, no "click here".
- [citation-needed](citation-needed/SKILL.md) — back a challenged claim
with live links, quoted and dated.
- [hackmd-deck](hackmd-deck/SKILL.md) — a light talk as a flashback:
TADA, then how, then the challenges, tagged for an emoji retro.
- [ibis-design](ibis-design/SKILL.md) — search a design space:
issues, positions, and arguments.
- [obsidian-markdown](obsidian-markdown/SKILL.md) — the workspace is
an Obsidian vault: one line per paragraph, relative links, no file
symlinks you expect Obsidian to show.
## at the terminal
- [watchme](watchme/SKILL.md) — I record the session with `script -f`;
read the typescript instead of asking me what happened.
- [run-confined](run-confined/SKILL.md) — run an untrusted installer in
a throwaway systemd user unit that can't see `~/.ssh` and friends.
- [what-was-i-doing](what-was-i-doing/SKILL.md) — where did this file
come from? Correlate mtimes with git history across every repo.
- [notify-me](notify-me/SKILL.md) — desktop notification at the end
of a long turn, sticky if I'm stepping away; not every reply.
## adding one
Name the directory for the trigger, not the topic. Write the
`description` for the matcher: what I'd say, what I'd be doing, and
what it's *not* for. Cite the source; quote the key line; explain the
rest.