senior-agent-skills · showcase and setup
Agent skills · showcase and setup
Make a coding agent behave like a careful senior engineer.
Eight portable playbooks that cover the whole loop, from understanding a repo to committing the diff. One SKILL.md format, working identically across Claude Code, Codex CLI, Google Antigravity, OpenCode, GitHub Copilot, and Cursor.
8 skills<br>6 harnesses<br>1 shared format<br>0 dependencies
01Install once, inherit everywhere
The installer symlinks each skill into every harness's directory, so you edit one canonical copy and all six pick it up. Restart your agent afterward so it rescans.
git clone git@github.com:adityaarakeri/senior-agent-skills.git; cd senior-agent-skills<br>./install.sh
./install.sh
User-level symlinks into the Claude, Codex, Gemini, and agents paths. The recommended default.
./install.sh --copy
Independent copies instead of symlinks, for when you want each harness to drift on its own.
./install.sh --project
Installs into the current repo, writing .github/skills for Copilot so the team gets them on clone.
02The eight skills
Each one names a failure mode agents fall into, then hands the model a playbook to avoid it. They read in the order work actually happens.
> They form one loop: understand, plan, build, then review, prove, commit, and back around.
01 · Understandrepo-recon
The problem. Dropped into unfamiliar code, an agent guesses the structure, edits the wrong file, and reinvents a helper that already existed.
Forces a mapping pass first: read the manifest, learn the build and test commands, trace one existing flow end to end, and match the house conventions before changing anything.
>"I'm new to this repo. Map it before we add the webhook handler."
02 · Planplan-first
The problem. On a wide or risky change, an agent sprints confidently in the wrong direction for twenty minutes before you get a chance to redirect it.
Produces a one-page plan (goal, non-goals, ordered steps, rollback story) you approve before any code is written. The non-goals section alone kills most scope creep.
>"Use plan-first for adding rate limiting, then wait for my go-ahead."
03 · Buildtdd-loop
The problem. "Looks correct" quietly stands in for "is correct," and the gap ships straight to production.
Strict red, green, refactor, with anti-cheating rules: never weaken an assertion to reach green, never mock the unit under test, never skip a failing test to come back later.
>"Implement the discount rule test-first."
04 · Diagnosedebug-protocol
The problem. Guess-and-check editing burns context, patches the symptom, and teaches the agent nothing about the real fault.
Reproduce first, form one falsifiable hypothesis at a time, print what the value actually is, bisect when lost, and fix the root cause rather than the crash site.
>"This is failing in prod: . Use debug-protocol."
05 · Restructuresafe-refactor
The problem. A refactor that silently changes behavior is the worst kind of bug: invisible in review, because everyone trusts the "no behavior change" promise.
Characterization tests first, structure and behavior changes in separate commits, one small mechanical step at a time with the suite run between each.
>"Extract the auth logic with safe-refactor."
06 · Reviewself-review
The problem. The author's context is a blindfold. You see what the code was meant to do, which is exactly not what a reviewer needs to see.
Reads the full diff as a skeptical stranger, walks the unhappy paths, sweeps the changed lines for injection and secrets, and strips leftover debug code.
>"Run self-review on the whole diff before we commit."
07 · Proveverify-done
The problem. "Should work" converts your one review pass into a debugging session, and trust erodes fast after the second time it happens.
An evidence gate before anything is called done: it builds, tests pass with real numbers reported, and the actual thing was run once on real input. Evidence or it did not happen.
>"Use verify-done before you say it's finished."
08 · Commitgit-hygiene
The problem. Messy history breaks bisect and blame, and a single unasked-for destructive command torches trust instantly.
Atomic commits with meaningful messages, plus a hard rule that force-push, reset, and clean require an explicit instruction naming the command before they run.
>"Commit this with git-hygiene, root cause in the message."
03Install and trigger, per harness
The format is identical everywhere. Only the directory and the explicit-invoke syntax differ. Pick your tool.
CC Claude Code<br>CX Codex CLI<br>AG Antigravity<br>OC OpenCode<br>GH Copilot<br>CU Cursor
> reads from ~/.claude/skills//SKILL.md
Install<br>Personal in ~/.claude/skills/, or per-repo in .claude/skills/. A project skill shadows a personal one of the same name, so one repo can carry stricter rules.
Trigger<br>Describe the task and the matching skill loads on its own, or name it directly to be sure: "use the plan-first skill, then implement it."
Verify<br>Ask "which...