Add code review skills and update testing style guide
Summary
This MR adds Claude Code skills and commands for structured code review of Step Runner changes, plus updates to the testing style guide.
What's Included
1. Quality Rubric Skill (sr-quality)
A comprehensive quality rubric with 10 review lenses covering Go quality, security, architecture, testing, concurrency, gRPC contracts, performance, Makefile, CI/CD, and documentation. Includes severity definitions from Critical to Nit/Praise.
How to use: Skills are always loaded into Claude Code's context, so the quality rubric is automatically applied whenever you ask Claude Code to write or modify code in this project. For example:
Write a test for the
Resolvemethod inpkg/resolver/resolver.gothat covers the case where the step name is not found.
Because the sr-quality skill description matches this task, Claude Code triggers it automatically and applies the relevant review lenses — using require vs assert correctly, builders instead of inline structs, t.Context(), fakes over mocks, and so on. You don't need to invoke it explicitly.
2. Review Commands
These follow a plumbing/porcelain pattern:
/sr-review (porcelain - start here)
The main entry point for code review. Orchestrates the full workflow:
- Analyzes the diff against the quality rubric
- Walks you through each finding for approval
- Writes a review report
- Posts approved findings to the GitLab MR
/sr-review/sr-create-review-report (plumbing)
Analyzes the diff, applies the quality rubric, and walks through an approval loop where you accept, skip, or edit each finding. Writes the finalized report to out/reviews/<branch-name>/review.md.
/sr-create-review-report/sr-submit-review-report (plumbing)
Reads a previously created review report and posts each approved finding to the GitLab MR. Line-level findings become inline diff comments; general findings become MR comments.
/sr-submit-review-report3. Testing Style Guide Updates
t.Runrequirement relaxed: Only required when multiple scenarios exist in a single test function. Single-scenario tests don't need the wrapper.- Context helpers deprecated: Replace
bldr.DefaultCtx(t)/bldr.Ctx(t)witht.Context()andcontext.WithTimeout(t.Context(), ...).