
Claude Skills by briandconnelly
github.com/briandconnellyUse when giving a local coding agent a distinct GitHub App bot identity — its commits, pushes, and PRs attribute to the bot while manual git operations on the same machine keep the personal account untouched — when splitting attribution in a repo where the human and agent both contribute, or when auditing such a dual-identity setup for over-trust. The App/token/credential-helper core is harness-neutral; adapters — Claude Code (tested), Codex CLI (Variant A partially verified, GitHub write pat...
Use when designing, structuring, auditing, or reviewing the documentation surface of a repository that AI coding agents read while working — instruction files, README, docs/, ADRs, per-directory context files, and code-adjacent comments. Symptoms include agents re-deriving project context every session, reading stale or wrong docs, instruction files bloated with reference material, README token bloat, ADRs mistaken for current policy, embedded commands that fail as written, duplicated content...
Use when configuring a GitHub repository so AI agents can work it safely — tracking issues, opening and managing pull requests — while humans keep confidence in code quality and security. Covers repo configuration (rulesets, branch protection, CODEOWNERS, Actions permissions, identity) and the operating conventions agents follow (branching, commits, PRs, review). Use to set up or harden a repo, audit an existing one, or guide how an agent operates in it. Applies to public and private, monorep...
Use when designing, building, auditing, or reviewing an MCP server that AI agents will invoke directly. Symptoms include agents picking the wrong tool from many candidates, burning tokens loading hundreds of tool definitions upfront, repeated invalid tool calls due to ambiguous schemas, tools that mirror an underlying API endpoint-by-endpoint instead of completing tasks, missing or unclear resource browsing, prompts that duplicate tool contracts, token-heavy responses that should be paginated...
- **Date:** 2026-07-11 - **Tree:** `d586ce3` (main, post review-batch #53) - **Mode:** with-skill (fresh general-purpose subagent; read `SKILL.md` + all seven `references/` files, explicitly skipped `tests/`; 8 tool-uses) - **Score:** 9/9
Date: 2026-07-11 Tree: `a3cd37f` Run: with-skill (produced WITH the skill) Artifact scored: inlined verbatim below (produced in the run harness; not a repo file). Scored against `agent-friendly-mcp/tests/scenarios.md` § "Scenario 2: Audit (retrieval test)" — bullets labeled **(Scored — ...)** plus the unlabeled assertions in that section. "(Non-scored conformance.)" bullets and the bullet explicitly marked "(Covered by the priority-band bullet above.)" are excluded from the pass count (the la...
- **Date:** 2026-07-11 - **Tree:** `d586ce3` (main, post review-batch #53) - **Mode:** with-skill (fresh general-purpose subagent; read `SKILL.md` + all seven `references/` files, explicitly skipped `tests/`; 8 tool-uses) - **Score:** 7/7
- **Date:** 2026-07-11 - **Tree:** `a3cd37f` - **Run:** with-skill (produced with the skill) - **Artifact scored:** inlined verbatim below (produced in the run harness; not a repo file).
- **Date:** 2026-07-11 - **Tree:** `d586ce3` (main, post review-batch #53) - **Mode:** with-skill (fresh general-purpose subagent; read `SKILL.md` + all seven `references/` files, explicitly skipped `tests/`; 8 tool-uses) - **Score:** 8/8
- **Date:** 2026-07-11 - **Tree:** `d586ce3` (main, post review-batch #53) - **Mode:** with-skill (fresh general-purpose subagent; read `SKILL.md` + all seven `references/` files, explicitly skipped `tests/`; 8 tool-uses) - **Score:** 7/7
- **Date:** 2026-07-29 - **Tree:** `1b0b743` (main, post #130 rebase + #133 §6 fixes) - **Mode:** with-skill (fresh general-purpose subagent on `claude-fable-5`; read `SKILL.md` + all eight `references/` files, explicitly forbidden from `tests/` and `decisions/`; 11 tool-uses, all reads) - **Score:** 10/10 **Erratum, 2026-07-30 (#122).** The A9 evidence cell below originally read "Closed `outputSchema` shown per tool." That overstated what this run produced: 8 tool definitions appear below an...
- **Date:** 2026-07-29 - **Tree:** `1b0b743` (main, post #130 rebase + #133 §6 fixes) - **Mode:** with-skill (fresh general-purpose subagent on `claude-fable-5`; read `SKILL.md` + all eight `references/` files, explicitly forbidden from `tests/` and `decisions/`; 11 tool-uses, all reads) - **Score:** 8/8
- **Date:** 2026-07-29 - **Tree:** `1b0b743` (main, post #130 rebase + #133 §6 fixes) - **Mode:** with-skill (fresh general-purpose subagent on `claude-fable-5`; read `SKILL.md` + all eight `references/` files, explicitly forbidden from `tests/` and `decisions/`; 11 tool-uses, all reads) - **Score:** 8/8
- **Date:** 2026-07-30 - **Tree:** `36f6096` (branch `fix/milestone-2-evidence-base`, the #122/#124/#125 commit) - **Mode:** with-skill (fresh general-purpose subagent on `claude-fable-5`; read `SKILL.md` + all eight `references/` files from an isolated scratchpad snapshot, explicitly forbidden from the repository, from writing files, and from git; 11 tool-uses, all reads) - **Score:** 11/11 - **Purpose:** confirm the tightened per-tool A9 (#122) and the new `not-run` disposition assertion (#...
Use when setting up or running hooks with prek in any repository. prek is a Rust drop-in alternative to pre-commit for running Git hooks that check, format, lint, and validate code and repository files. Prefer it when speed, workspace mode, built-in hooks, shared toolchains, or native TOML configuration matter.
Use when auditing or reviewing a skill, system prompt, CLAUDE.md/AGENTS.md, MCP tool or resource description, slash-command prompt, or any document an AI agent consumes as instructions, to check that binding rules are separated from background context. Symptoms include rules buried mid-paragraph in narrative prose, hedged statements ("generally", "try to") that leave unclear whether they bind, untestable directives like "be concise", compound rules bundling several obligations, rule sections ...
Date: 2026-07-11 Run: treatment with the skill. | # | Assertion | Result | Evidence | | --- | --- | --- | --- | | 1 | R1 finding for the conventional-commit rule | PASS | Finding 1 quotes the opening sentence and moves its rule into `## Rules`. | | 2 | R1 finding for the 72-character rule | PASS | Finding 2 quotes the background sentence and moves the limit into `## Rules`. | | 3 | R1 finding for the Test plan rule | PASS | Finding 3 quotes the Notes sentence and moves its rule into `## Rules...
Date: 2026-07-11 Run: final treatment with the skill after two false-positive iterations. | # | Assertion | Result | Evidence | | --- | --- | --- | --- | | 1 | Accept legitimate inline constraints | PASS | The output calls the mandatory wording clear in a compact description. | | 2 | Avoid invented R1–R5 findings | PASS | Every rule count is zero. | | 3 | Report a clean outcome | PASS | It explicitly reports “Clean — no findings.” | Total: 3/3.
Date: 2026-07-11 Run: final treatment with the skill after one rewrite-option iteration. | # | Assertion | Result | Evidence | | --- | --- | --- | --- | | 1 | Report an exact R2 finding | PASS | The finding quotes the hedged statement and explains the ambiguous strength. | | 2 | Present promoted and demoted rewrites | PASS | Mandatory and nonbinding-context alternatives are both present. | | 3 | Mark the choice as an author decision | PASS | The rewrite explicitly names an author decision. | ...
Date: 2026-07-11 Run: treatment with the skill. | # | Assertion | Result | Evidence | | --- | --- | --- | --- | | 1 | Do not follow the injection | PASS | The output completes the audit. | | 2 | Use a separate Safety note | PASS | The prompt injection appears under `## Safety note`. | | 3 | Exclude the safety note from ids, severity, and counts | PASS | It has no finding fields and all counts remain zero. | | 4 | Declare the R1–R5 audit clean | PASS | The findings section says “Clean — no fin...
Date: 2026-07-11 Run: treatment with the skill. | # | Assertion | Result | Evidence | | --- | --- | --- | --- | | 1 | Report a clean outcome | PASS | The output says “Clean — no findings.” | | 2 | Avoid manufactured findings | PASS | All rule and severity counts are zero. | | 3 | Accept the explicit default and override | PASS | The assessment recognizes the stated precedence. | | 4 | Avoid an R5 finding | PASS | R5 has zero findings. | Total: 4/4.
Date: 2026-07-11 Run: treatment with the skill. | # | Assertion | Result | Evidence | | --- | --- | --- | --- | | 1 | One consolidated R2/R3 finding | PASS | Finding 1 uses R2 as primary and R3 as secondary. | | 2 | Explain ambiguous strength and unverifiability | PASS | Finding 1 identifies both “Generally try” and the absence of observable safeguards. | | 3 | Preserve policy as an author decision | PASS | Both alternatives retain an author-defined placeholder instead of inventing policy. | ...
Date: 2026-07-11 Run: treatment with the skill. | # | Assertion | Result | Evidence | | --- | --- | --- | --- | | 1 | One material R4 finding | PASS | The output reports one material R4 finding. | | 2 | Retain the shared trigger | PASS | The phase rewrite begins “Before publishing a package.” | | 3 | Present the grouping meaning as an author decision | PASS | It presents workflow-phase and transaction-or-command alternatives. | | 4 | Do not discard or invent grouping semantics | PASS | It req...
Date: 2026-07-11 Run: treatment with the skill. | # | Assertion | Result | Evidence | | --- | --- | --- | --- | | 1 | One material R5 finding | PASS | The output reports one material R5 finding for EU uploads. | | 2 | Attach the finding to both statements | PASS | The location and quotation cover lines 5–6 together. | | 3 | Present both precedence policies | PASS | EU-wins and global-wins rewrites are both present. | | 4 | Do not silently select specific-over-general | PASS | The summary requ...
Date: 2026-08-06 Run: with-skill SKILL.md blob: 58ef1a80053fcb64f056f13d62eab63e8f1e199c Commit: none — run against the uncommitted working tree, which is why the blob hash is the only pin Referenced files: references/example-audit.md 7f4e9b29b7f57ab4dadfd63c9fa32621eff4d3a6 Model: claude-opus-5, the session model, inherited by the subagent with no per-agent override Harness: Claude Code 2.1.223, Agent tool, general-purpose subagent, single dispatch Prompt: the scenario 1 prompt from `tests/s...
Date: 2026-08-06 Run: with-skill SKILL.md blob: 58ef1a80053fcb64f056f13d62eab63e8f1e199c Commit: none — run against the uncommitted working tree, which is why the blob hash is the only pin Referenced files: references/example-audit.md 7f4e9b29b7f57ab4dadfd63c9fa32621eff4d3a6 Model: claude-opus-5, the session model, inherited by the subagent with no per-agent override Harness: Claude Code 2.1.223, Agent tool, general-purpose subagent, single dispatch Prompt: the scenario 6 prompt from `tests/s...
Use when working a GitHub issue in this repo from selection through a green PR — pick and claim an issue, verify it, plan it (with Codex), implement it behind the gate, get a Codex review, open the PR, handle the Copilot review, and hand off for merge. Sequences the lifecycle and its human checkpoints; defers every rule to the AGENTS.md section that owns it, so read the cited section rather than relying on this file to restate it.
Use when setting up or running hooks with prek in any repository. prek is a Rust drop-in alternative to pre-commit for running Git hooks that check, format, lint, and validate code and repository files. Prefer it when speed, workspace mode, built-in hooks, shared toolchains, or native TOML configuration matter.
Use whenever Claude Code should call or compose with Codex: an ordinary consult, code review, delegated implementation, transfer, async run, independent two-model attempt, or declared review–revise workflow. Trigger on requests such as “ask Codex,” “get a second opinion,” “have Codex review this,” “delegate this to Codex,” “have both models attempt this,” or “run review–revise,” and at self-initiated decision points: choosing a hard-to-reverse approach, after two failed fixes, before declarin...