A local-first, agent-agnostic code-review skill for Asterinas, with a benchmark that measures its recall. It reviews code against the persona-keyed Coding Guidelines and writes one Markdown review file, making both objective (bug) and subjective (guideline-grounded) calls. Two review modes (scripts/resolve_target.sh), both anchored at HEAD: - `diff <base>` — the commit series merge-base(base,HEAD)..HEAD: each commit's message and diff, so the review covers per-commit intent and commit hygiene. - `files <path[:lines] ...>` — the working-tree contents of the named files. The raw argument string is self-tokenized (double quotes, line ranges) so the parse is deterministic regardless of how the skill is triggered. Execution model (SKILL.md, spec/execution_model.md): a thin orchestrator activates the five personas by path, fans out one isolated pass per persona (scripts/build_pass_prompt.sh assembles a cache-ordered prompt — stable contract and guideline first, the review input last), then deterministically assembles (scripts/assemble_review.sh), verifies, consolidates, and summarizes into the review file. `--per-persona-context=auto|yes|no` trades the fan-out (best recall) for a cheaper combined pass. Benchmark (benchmark/): one queryable problems.yaml, each problem pinned to a source commit and checked by validate_problem_yaml.sh; run.sh reconstructs each problem in an isolated worktree (fetching the commit if absent), reviews cheap-first with escalation to the fan-out on a miss, and grades recall — without leaking the answers to the reviewer (overlay_skill.sh overlays the current skill but excludes the suite, the worktree path is opaque, and the defects go only to the grader). Design rationale lives in spec/ (motivation, coding_guidelines, interface, execution_model, benchmark, related_work), with every significant decision argued in place. The deterministic scripts and the problem schema are covered by model-free tests in tests/. |
||
|---|---|---|
| .. | ||
| claude | ||
| codex | ||
| codex_workflow | ||