Skip to content

chore: modernize coding-agent harness - #65

Merged
LukeMainwaring merged 6 commits into
mainfrom
chore/agent-harness-modernization
Jul 16, 2026
Merged

chore: modernize coding-agent harness#65
LukeMainwaring merged 6 commits into
mainfrom
chore/agent-harness-modernization

Conversation

@LukeMainwaring

Copy link
Copy Markdown
Owner

Summary

Brings the repo's coding-agent harness up to current best practices: a richer skill suite, dual-agent (Claude Code + Codex) parity, a shared code-review methodology with cross-model second opinions, and CI test/eval jobs that were missing entirely.

Skills

  • Canonical skills directory is now .agents/skills/ with .claude/skills as a symlink (previously reversed), so agent-neutral tooling reads the real path. History preserved via git mv.
  • 9 new skills: grilling, domain-modeling, codebase-design, code-review-guide, writing-great-skills, implement, to-spec, to-tickets, setup-matt-pocock-skills.
  • Updated existing skills (create-pr, grill-me, grill-with-docs, handoff, tdd, improve-codebase-architecture, updating-deps, updating-deps-auto); superseded companion docs removed in favor of the codebase-design vocabulary skill.
  • Every skill carries an agents/openai.yaml shim for Codex discovery.

Codex parity (.codex/)

  • hooks.json wires the same three guard/lint hooks (byte-identical copies).
  • agents/*.toml port the three Claude subagents; the code-reviewer on each side delegates to the shared code-review-guide skill and gets a cross-model second opinion from the other CLI (with a SOLO recursion guard).

CI

  • New test job — the 159-test suite was not running in CI at all. Runs DB-free with a 40% coverage floor (baseline ~43%, to be ratcheted up); adds pytest-cov.
  • New eval.yml — real-LLM pydantic-evals on manual dispatch only. ⚠️ Requires the OPENAI_API_KEY repo secret before first dispatch.

Rules & agents

  • code-reviewer is now a thin wrapper over code-review-guide; product-advisor gains a read-the-repo-first analysis process.
  • Backend rules gain Testing + Dependencies sections; fixed a stale claim that the project has no pgvector usage (contradicted TrackAudioEmbedding's HNSW index).
  • Frontend rules gain a Data fetching section; AGENTS.md gains an Agent Harness section documenting the symlink/mirror topology.

All project-specific guidance (Modal rules, DEAP setup, pydantic-ai tool-error convention, ports, architecture map) is preserved unchanged.

Verification

  • 159 tests pass locally with the coverage floor enforced
  • pre-commit run --all-files green (ruff, ruff-format, mypy --strict)
  • .claude/hooks.codex/hooks verified byte-identical
  • Skill file history preserved (git log --follow)

🤖 Generated with Claude Code

LukeMainwaring and others added 6 commits July 16, 2026 14:19
.claude/skills is now a symlink into .agents/skills (previously the
reverse), so agent-neutral tooling reads the real path and Claude Code
follows the link.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- create-pr, grill-me, grill-with-docs, handoff, tdd,
  improve-codebase-architecture, updating-deps(-auto) updated to current
  best-practice versions; superseded tdd/architecture companion docs
  removed (their content now lives in the codebase-design skill)
- ADR/CONTEXT format references moved to the domain-modeling skill
- code-reviewer agent is now a thin wrapper over the shared
  code-review-guide skill with a cross-model second opinion
- product-advisor gains a read-the-repo-first analysis process
- backend rules: Testing + Dependencies sections; fixed stale claim that
  the project has no pgvector usage
- frontend rules: Data fetching section (TanStack wrappers, generated
  client is read-only)
- per-skill agents/openai.yaml shims for cross-agent discovery

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
New skills: grilling, domain-modeling, codebase-design,
code-review-guide (shared review methodology used by both harnesses'
code-reviewer agents), writing-great-skills, implement, to-spec,
to-tickets, and setup-matt-pocock-skills.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
hooks.json wires the same three guard/lint hooks (byte-identical copies
under .codex/hooks/), and agents/*.toml port the Claude subagents so
both CLIs share one methodology. The code-reviewer's cross-model second
opinion calls the other CLI from each side.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The test suite (159 tests) was not running in CI at all. New test job
runs it DB-free with a 40% coverage floor (baseline ~43%, to be
ratcheted up). eval.yml runs the real-LLM pydantic-evals suite on
manual dispatch only, needing the OPENAI_API_KEY repo secret.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Points agents at the canonical skills directory, the Codex mirror
sync rule, the shared code-review methodology, and the skill-authoring
and spec-driven workflows.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@LukeMainwaring
LukeMainwaring merged commit e745776 into main Jul 16, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant