choruz-code-review
Skill1.1k starsChanged 18 days agoApache-2.0View on GitHub
Use when reviewing a pull request in this repository; orients the reviewer to Choruz's standards (AGENTS.md conventions, the PR test policy, Agent Notes, the CI gates) and the review-specific checks that a green CI cannot show.
In this repository14 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .agents/notes/implemented/AGENTS.mdAGENTS.md
- docs/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- choruz-archive-agent-notesSkill
- choruz-ci-test-reliabilitySkill
- choruz-docSkill
- choruz-find-simplificationsSkill
- choruz-merging-stacked-prsSkill
- choruz-pre-push-checksSkill
- choruz-pre-simplify-auditSkill
- choruz-prose-standardSkill
- choruz-prSkill
- choruz-record-demoSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 8
When loaded from a personal skills directory, resolve repository links from this skill's canonical .agents/skills/choruz-code-review/ …
- Very specific: line 25
Workspace scoping: Every new query or command in crates/choruz-application filters by workspace_id.
- Very specific: line 26
Migrations are append-only: No edit to a file listed in scripts/historical-migrations.sha256.
- Distinctive: line 37
Enforcement: follow every permission denial and workspace check to the operation that executes it.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Reviewing a Choruz PR
When loaded from a personal skills directory, resolve repository links from this skill's canonical .agents/skills/choruz-code-review/ location in the active Choruz checkout, not from the installed copy.
This skill is guidance, not a complete checklist. Fetch the PR's live base and exact head, run bash .agents/skills/choruz-pr/pr-plan.sh <base> on the head to see which surfaces the diff reaches, then read the diff and enough surrounding code to understand the design. Prioritise correctness, data isolation, lifecycle, security and broken required behaviour over style; a short review with one substantiated blocker is better than a list of nits.
Sources of truth
- AGENTS.md: standing repository rules.
- docs/testing/pr-test-policy.md: what tests each change type must add and what CI runs for it.
- docs/architecture.md and docs/data-model.md: how the system and its tables fit together.
- Agent Notes: design rationale. Treat disagreement with a note as a design discussion, not an automatic veto.
- choruz-prose-standard: required coverage and editorial judgement for comments, docs, prompts and visible strings.
- choruz-ci-test-reliability: isolation and regression-proof rules for parallel, resource-owning or flaky tests.
Blocking requirements
- The Agent Note exists. A non-trivial change (behaviour, architecture, shared contract, process, format) links a note it adds or updates, in the same PR; a proposed note being implemented is moved to
implemented/and rewritten in the present tense in the same diff. "none: mechanical" must be true. - Tests match the declared type. A
bugfixhas a regression test that fails without the fix; afeaturehas unit or integration coverage and an e2e spec for a new user-facing flow; adatabasechange has a new migration and a smoke run. Reject a type chosen to avoid tests. - Workspace scoping. Every new query or command in
crates/choruz-applicationfilters byworkspace_id; a new table carrying user data has the column and the index. - Migrations are append-only. No edit to a file listed in
scripts/historical-migrations.sha256; a newV0NN__name.sqlwith a matchingdocs/data-model.mdupdate. - Contracts first. A wire, database or configuration change updates
openapi/or the migration in the same diff. - Docs match the code. A moved file, renamed key, changed default or new command updates the document that names it (
docs/, README, the web docs pages underapps/web/app/docs) in the same diff. Comments state non-obvious contracts; flag narration, review history and duplicated rationale. - Model-visible text is tested. A change to what agents receive (the
[choruz-incoming]envelope, instruction templates inservices/choruz-pipeline/src/instructions.rsandcrates/choruz-host-runtime/assets/agent-templates, bootstrap fixtures) updates the instruction tests and fixtures, and states the agent-behaviour risk. - Required evidence exists. The template's "Ran locally" names the commands the diff needed (see choruz-pre-push-checks);
CI (linux) requiredis green on the exact head.
Manual checks
- Intent and interface contracts: trace both sides of every changed interface (gateway handler and web client, pipeline stage and store, connector and bridge). Confirm errors, cancellation, idempotency and ownership match the PR and any note.
- Message path: for anything on the send, outbox, sync-feed or fanout path, check idempotency keys,
server_seqordering, optimistic-message reconciliation in the web client, and that every visible message is reconstructable from the store. - Lifecycle and concurrency: for spawned agents, terminals, the outbox watcher, cron and the supervisor, check races before publication, cancellation during awaits, independent error reporting, callback containment, and disposal to quiescence.
- Enforcement: follow every permission denial and workspace check to the operation that executes it; exercise direct and alternate callers (API, connector, CLI, bridge) that could bypass the UI.
- Scope and necessity: map each abstraction, option, compatibility path and defensive copy to a current consumer. Challenge speculative generality and unrelated features.
- Real entry path: e2e tests exercise the shipped web app against the real API and pipeline through
infra/host/web_e2e.sh, not a mocked route where the behaviour under test lives server-side. - Test strength: apply the policy's behaviour acceptance evidence to the actual assertions and fixtures. Ask whether the test remains green with the claimed behaviour removed; inspect the negative-control outcome for a bugfix or guard. Verify the real entry and result owner, affected device/account differences and ordinary state transitions. Flag missing evidence even when CI is green, without treating every theoretical scenario as required. Apply choruz-ci-test-reliability to owned-resource risks.
- Selector rules: a new e2e spec for a new feature area gets a rule in
.github/scripts/select_e2e_specs.py, or CI will never select it. - Seams touched match the diff: for a
feature,api/databaseorsecurity/authPR, read the template's "Seams touched" section against docs/adding-a-feature.md. A new route without arequire_*helper, a new table withoutworkspace_id, a new spec without a selector rule, or a ticked seam the diff does not contain is a finding. - Implemented notes match shipped reality: paths, names and mechanisms in the note agree with the implementation.
Reporting findings
State the defect, location, impact and evidence. Place a localised defect inline on the tightest relevant diff range; use a PR-level comment for cross-cutting architecture, scope, or review-wide synthesis. Separate blockers from suggestions and omit issues a green gate already enforces. When receiving review, verify each claim and fix or rebut it on technical grounds without performative agreement.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

