An opinionated workflow for coding agents — my own way of working, current best practices, and lessons from real projects — kept only where evals show it helps.
These skills encode how I build software with agents: scope the task, build against checks, get a second pair of eyes on the diff, prove the UI works, and keep CI green. Each one is run with and without itself; a skill that doesn't change the outcome gets cut. They install into Claude Code, Cursor, Codex, Gemini CLI, Copilot, Windsurf, OpenCode, and any other Agent Skills-compatible tool.
git clone https://github.com/mthines/agent-skills.git
cd agent-skills && bash scripts/sync-symlinks.sh|
|
A stack trace, a span URL, a screen recording, a ticket, or a hunch: it reproduces the bug, traces the root cause, fixes it behind a failing test, and opens a draft PR. |
|
Independent finders flag, a verifier filters, and only grounded findings reach your PR. |
The brief's spec runs on your local stack or the preview and tries to break the change. Then the telemetry is read back to check that every click reached the API and the database the way it should. Screenshots and recordings are attached. Run |
|
Audits walk the user's real path before checking contrast; visual direction, motion, charts, and behaviour change get the same rigor. Never a dark pattern.
|
A narrative PR description, a simplify pass that cuts noise without changing behaviour, CI fixes that never weaken a check, and telemetry that proves the change landed.
|
Most skills trigger from plain language — describe what you want. The rest are slash commands you type when you want them.
Every skill here has to earn its place in the context window. Each one is run with and without itself on hard, real-usage cases; skills that changed nothing were deleted or folded into the skill that calls them.
- Over 400 KB less prompt. Seven skills and three agents cut; the reviewer's prompt went from 202 KB to 60 KB; skill descriptions from 44k to 17k characters.
awbeats a plain Claude Code run. On three real tickets, each pair blind-judged by two independent reviewers,awwon 10 of 12 judgements — 8 of 8 since its current design. Every win came from a defect its fresh-eyes review caught that the plain run shipped. It costs about 1.5–2× a plain run, so reach for it when a missed bug costs more than that./polish simplifywent from 0.73 to 1.00 on planted-defect evals, and the rewrittenuxranked first on 3 of 3 real audits against both the old skill and no skill.
The aw runs used Claude Opus 5.5. Method and every run: PR #241.
Implement a dark-mode toggle independently
Add user authentication end-to-end
Refactor the API client to use retry logic — handle it in isolation
- Sizes the job. Micro (one file) and Lite (a small change) finish in one pass; Full gets the loop below.
- Writes a short brief. At most 60 lines: what done means, what must not change, and one sealed, runnable check per goal.
- Builds until green. In your session, in its own Git worktree, looping until the checks print
CHECKS n/n PASS. - Gets a fresh-eyes review. A reviewer that did not write the code reads the diff; every finding is fixed or rejected with evidence.
- Opens a draft PR with a walkthrough and evidence, then gets CI green. Stuck after five attempts, it stops with
BLOCKED:instead of guessing. - Proves it works. With
.agents/aw/set up,/aw-verifyruns the brief's specs on your local stack, tries to break the change, and reads the telemetry back: each criterion is traced from the web event to the API to the database. Atelemetry:criterion in the brief must be confirmed before the run counts as done.
Every run prints a paste-ready /goal line to let the session drive itself to done, and records what it learned for the next run.
How it works inside: full-tier.md · design notes.
| Skill | What it does |
|---|---|
workflow/ |
End-to-end orchestrators |
aw |
Ships a task end to end: brief, build until green, fresh-eyes review, draft PR. |
/fix-bug |
Fixes one bug from a stack trace, span, recording, or ticket, behind a failing test. |
/implement-suggestion |
Applies PR review comments, one commit each, and resolves the threads. |
quality/ |
Code, tests, plans, AI apps |
/pr-review |
One read-only review of a PR: a single report plus inline findings. |
/review-loop |
Reviews, fixes, and resolves a PR's threads until it converges; with no PR, it does the same on the local branch. |
/optimize-approach |
Asks whether a change or plan takes the best approach, and names a better one only when it clearly wins. |
/polish |
Pre-PR cleanup: simplifies the changed code and prunes noise comments. |
impact-map |
An impact-first view of a PR: a verdict, one colored diagram, and the decisions a reviewer must make. |
critical |
A hostile pre-mortem of a plan or diff, with a steelman alternative. |
confidence |
Scores how sure you can be that the work meets the requirement. |
tdd |
Strict red-green-refactor, then checks each test really exercises the production code. |
measurable |
Ships each change with the telemetry that proves it worked. |
/ai-engineering |
Reviews an LLM app: prompts, RAG, agents, evals, safety, cost. |
delivery/ |
Git, PR, CI |
/create-pr |
Writes a short PR story, opens a draft, and drives review and CI to green. |
/ci-auto-fix |
Diagnoses red CI and fixes it — never by weakening a check. |
/resolve-conflicts |
Resolves merge and rebase conflicts; asks on the ambiguous ones. |
/attach-media |
Uploads screenshots and recordings into a PR so they render inline. |
/github-actions-author |
Writes and reviews fast, cheap GitHub Actions workflows. |
testing/ |
UI verification and end-to-end tests |
/aw-verify |
Proves a feature works on your local stack or the preview — browser and telemetry — and fixes what fails. setup writes the shared .agents/aw/ config. |
/ui-verify |
Puts a plain-language UI spec in the PR, runs it, then tries to break it. |
telemetry-verify |
Reads back what the services recorded during a run and checks each journey from web event to database. |
/e2e-testing |
Plans, writes, and heals Playwright end-to-end tests. |
/e2e-testing-mobile |
Maestro flows for Expo and React Native. |
design/ |
UI, visual, interaction |
ux |
Walks the user's real path, then accessibility, microcopy, and dark patterns. |
visual-design |
Brand-aware visual direction: color, type, and hierarchy. |
animations |
Performant web motion and perceived performance. |
animations-native |
Reanimated and gesture motion for React Native. |
charting |
Picks the right chart and library for your data. |
storybook |
Stories, playgrounds, and interaction tests per component. |
behavioral-design |
Helps people adopt a new behavior or tool — ethically. |
analysis/ |
Investigate data, diagnose issues |
ideate |
Research-grounded brainstorming with independent judges. |
interview |
Aligns on scope before planning; asks only what research can't answer. |
rum-tracking |
Decides which product analytics to track, and what is PII. |
video-analyser |
Pulls bugs and repro steps out of a screen recording. |
/screen-recorder |
Records a short, cropped clip of a UI interaction. |
/playwright-trace-analyzer |
Names the race behind a flaky Playwright test. |
/profile-optimizer |
Turns a React or Chrome performance trace into fixes. |
youtube-transcript |
Fetches a YouTube video's captions as text. |
authoring/ |
Skills about Claude Code itself |
docs |
Writes and audits CLAUDE.md, AGENTS.md, READMEs, and docs trees. |
/create-skill |
Writes a skill from what a real run got wrong; also diagnoses and prunes skills. |
/optimize-claude-md |
Trims context bloat from CLAUDE.md. |
/handoff |
Packs the session into a brief for a fresh agent. |
/persistent-memory |
Plain-markdown memory that carries across sessions. |
A / name is a slash command; the rest also trigger from plain language.
The skills dispatch five agents of their own: pr-reviewer, branch-reviewer, feature-pr-verifier, aw-executor, and aw-tester.
git clone https://github.com/mthines/agent-skills.git
cd agent-skills && bash scripts/sync-symlinks.shEvery skill is symlinked live into your tool, so git pull is the whole upgrade.
No clone? npx skills add https://github.com/mthines/agent-skills --all --agent claude-code installs a frozen copy.
Forks, other tools, the VS Code extension, and per-project plug-ins: docs/setup.md.
PRs welcome. Start with docs/development.md and the conventions in CLAUDE.md.
