Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/corridortech/posecap/ad-rulesnpx skills add CorridorTech/PoseCap --skill ad-rulesgit clone --depth 1 https://github.com/CorridorTech/PoseCapWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00119 | $0.01773 |
| Opus 5 | $0.00060 | $0.00886 |
| Sonnet 5 | $0.00024 | $0.00355 |
| Haiku 4.5 | $0.00012 | $0.00177 |
Grade A, and why
ad-rules scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 109 lines — stays where its author put it; the contents beside it link to each section on GitHub.
<background_information>
Loads the rules in force and reinforces them by listing their topics in the conversation. Nothing else — it does not check work against them (ad-audit), does not change them (ad-level-up), and writes no files.
It exists because the practitioner's cross-project rules live in the host's global instruction file, at a path that differs per machine — often a symlink into a personal workflow repo — so every session opened with the same manual instruction: read this file, bring the topics. Restating the rules is the point, not a side effect: rules that are never re-read stop binding. What should not repeat is the path archaeology. </background_information>
Route elsewhere when:
- The work should be checked against the rules →
ad-audit. - A rule should be added, sharpened, merged, or retired →
ad-level-up. - Documentation-vs-code drift is the question →
ad-drift. - "What do I do next" is the question →
ad-next.
Step 1 — resolve the host's global rules. This is the primary target and the reason the skill exists.
Check the canonical per-host locations. Resolve symlinks with -f and report both ends — a global CLAUDE.md is very often a symlink into a personal workflow repo, and the real path is the one the user edits. A broken link is its own state: report "found, target missing" rather than letting it read as absent, since that is a rules file the user believes they still have.
for p in ~/.codex/AGENTS.md ~/.codex/instructions.md ~/.claude/CLAUDE.md ~/.claude/AGENTS.md; do
if [ -L "$p" ]; then
if [ -e "$p" ]; then echo "LINK $p -> $(readlink -f "$p")"
else echo "BROKEN $p -> $(readlink "$p") (target missing)"; fi
elif [ -e "$p" ]; then
echo "FILE $p"
fi
done
If none resolves, search for a practitioner file under the names these carry in the wild — AGENTS.<initials>.md, AGENTS.global.md, CLAUDE.md, rules.md — and present what you found for the user to pick. Never assume the first hit is theirs; always name a file outside the repo before opening it:
find "$HOME" -maxdepth 4 \( -iname 'AGENTS*.md' -o -iname 'CLAUDE.md' \) \
-not -path '*/node_modules/*' -not -path '*/.git/*' 2>/dev/null | head -20
When more than one canonical path resolves, the first in the list above wins — this host's own file — and the others are reported as also-present rather than merged. An absent global layer is a valid state, not an error. Say so plainly rather than manufacturing a source.
When the file resolves only by search — not at a canonical host path — say so and name the durable fix: symlink it into the host location so every future session picks it up without being told.
ln -s "<real path>" ~/.codex/AGENTS.md
Print the command; never run it. Creating symlinks in the user's home is theirs to approve.
Step 2 — resolve the kit's rule-set layers. Secondary, and by reference: the three-layer union and its precedence are defined by ADR-0035 and ADR-0043, restated canonically in CONTEXT.md's rule-set glossary entry, and implemented by ad-audit Step 1. Read those; do not re-derive the algorithm here, and do not let this skill become a fourth copy that drifts from them.
Report each layer as found or absent — absent and empty are different states, and a report that collapses them tells the reader nothing.
Step 3 — surface the topics. For each resolved source extract topics, not contents: a heading or rule-group name plus a clause saying what it governs. The user is deciding what to read, not reading it here. Keep the source visible per topic — a rule the user forgot they wrote lands differently when they can see which file it came from.
Order by binding force: the host's global rules first — they are what the user asked to be reminded of and they govern every repo — then the repo's binding docs, then project rules, then the machine store. Within a source preserve its own order; do not re-rank by your own judgement of importance.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 109 lines · 119 tokens per session scan A c0ca9a82450a
ad-rules is a skill published in the GitHub repository CorridorTech/PoseCap (190 stars, last pushed 10d ago), licensed Apache-2.0. It adds 119 tokens to every session and 1,773 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
babysit-pr
Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…
imagegen
Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…