Commit Graph
6 Commits
Author SHA1 Message Date
james.bland 7ec467451b feat: mr-reviewer and solution-reviewer join the scaffold, so they exist in a repo
Eleven agents lived only in `~/.claude/agents/`, which is not a git repository —
they would have gone with the laptop. Eight of those were product-specific
reviewers already defined in the projects that need them, and they are removed from
the user level rather than duplicated here. Two were genuinely generic and already
product-neutral (zero references to any product, customer or employer), so they
belong in the shared scaffold: `mr-reviewer` reviews open MRs/PRs on a non-primary
remote in a multi-remote repository, and `solution-reviewer` does a whole-codebase
health review.

`irs-validator` is deliberately NOT brought in. It is personal tooling rather than
a development capability, and per the user CLAUDE.md personal tooling must not be
referenced inside a project repository because those are mirrored to other remotes.

The client manifest gains `fetch` and `websearch` capability mappings, which
`solution-reviewer` needs. Worth noting how that surfaced: the sync REFUSED to
render rather than dropping the two tools silently, which is the fail-safe
behaviour the capability mapping exists to provide — an unmapped capability that
rendered as absent would have quietly removed the agent's web access.

`~/.claude/agents/README.md` now records that ten of the eleven agents there are
installed output from this repository, how to regenerate and reinstall them, and
which one is deliberately personal.
2026-09-19 18:20:11 -04:00
james.bland 3f0786f1e7 refactor: agents and skills move to a client-neutral source that renders per client
`.claude/agents/` was the source of truth, which made every role Claude-Code
shaped. Adding a second client meant rewriting each role in that client's syntax
and maintaining both copies — the drift this scaffold exists to prevent, one layer
up.

Roles and skills now live under `.agents/` and render into each registered
client. `.claude/agents/`, `.claude/skills/` and `.codex/agents/` are generated;
`scripts/sync-agent-integrations.py --check` fails on drift and belongs in CI.

The role metadata is portable rather than vendor-named: `reasoning_tier`
(deep/balanced/fast/vision), `capabilities`, `mutation`, `invocation`, and an
optional `preload_skills`. A client manifest maps those to native syntax and must
declare what it cannot express — `codex.yaml` declares `tier_policy: unsupported`
and its adapters say so in the file, rather than the tier silently evaporating and
leaving the repository to believe it was enforced.

The port is behaviour-preserving where it should be and a fix where it should not.
Every instruction body is byte-identical — the whole diff to `.claude/agents/` is
18 added lines and zero deletions. What changed is frontmatter that was missing:

- four agents (`code-reviewer`, `tdd-guardian`, `dependency-audit`, `pr-creator`)
  declared no `tools:` and therefore inherited the ENTIRE tool pool, so three
  review-only agents could edit and write the code they were reviewing. All eight
  now declare capabilities explicitly.
- the six read-only roles gain a non-editing permission mode, so the constraint is
  enforced by the client rather than by the prompt asking nicely.
- `mutation` is now explicit, which records the two roles that genuinely need to
  write: `pr-creator` (external-write — it pushes a branch and opens a PR) and
  `dependency-audit` (workspace-write — package managers rewrite lockfiles).

`pr-creator` keeps `shell` because opening a PR needs it, but it is now the only
agent here with a write mutation and a declared reason for it, instead of one of
four with unlimited access by omission.
2026-09-19 17:27:26 -04:00
james.bland e111e61832 feat: three more agents, tool allowlists, and a README that records the tiers
Committed as-authored to establish a recoverable baseline before the
client-neutral architecture port rewrites these paths. No content is changed
here; this is the working tree as it stood.

- `plan-reviewer`, `pr-creator` and `release-notes` join the set.
- `refactor-scan` and `security-scanner` gain explicit `tools:` allowlists, so a
  review agent can no longer edit or write.
- The README's agent table records each agent's model tier and read-only status,
  and documents how to invoke the three new ones.

One gap is left as-is rather than fixed mid-baseline: `pr-creator` declares no
`tools:`, so it inherits the full tool pool while every sibling review agent is
constrained. It is also the only agent here that legitimately needs to write.
2026-09-19 17:25:39 -04:00
james.blandandClaude Sonnet 4.6 16dc81e66d feat: enforce fixing all issues regardless of authorship
Adds a mandatory "No Pre-Existing Issue Exceptions" policy to prevent
Claude from dismissing errors, warnings, or linting failures it didn't
write. Also extends the code-reviewer agent with an Issue Ownership
Policy requiring concrete fixes rather than passive reporting.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-02-25 20:56:30 -05:00
james.blandandClaude Opus 4.5 a32828facd fix: make refactor-scan step mandatory in TDD workflow
- Changed REFACTOR step from optional to MANDATORY
- Added explicit Claude Code instructions requiring refactor-scan after every GREEN
- Split Quality Gates into "After Every GREEN" and "Before Every PR"
- Added clear process: commit → refactor-scan → apply → commit separately

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2026-01-21 23:12:20 -05:00
james.blandandClaude Opus 4.5 befb8fbaeb feat: initial Claude Code configuration scaffold
Comprehensive Claude Code guidance system with:

- 5 agents: tdd-guardian, code-reviewer, security-scanner, refactor-scan, dependency-audit
- 18 skills covering languages (Python, TypeScript, Rust, Go, Java, C#),
  infrastructure (AWS, Azure, GCP, Terraform, Ansible, Docker/K8s, Database, CI/CD),
  testing (TDD, UI, Browser), and patterns (Monorepo, API Design, Observability)
- 3 hooks: secret detection, auto-formatting, TDD git pre-commit
- Strict TDD enforcement with 80%+ coverage requirements
- Multi-model strategy: Opus for planning, Sonnet for execution (opusplan)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2026-01-20 15:47:34 -05:00