Merge branch 'docs-audit'
This commit is contained in:
commit
92c4b91e7b
106
README.md
Normal file
106
README.md
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
# a-review-skill
|
||||||
|
|
||||||
|
A Claude Code skill that runs an **independent AI code review** after a
|
||||||
|
coding session. The reviewer is a *different* model from the one that
|
||||||
|
wrote the code — Gemini CLI, a local Ollama, or any text-in/text-out
|
||||||
|
backend — and runs read-only so it can produce findings but never edits
|
||||||
|
files.
|
||||||
|
|
||||||
|
This complements [zero-check](../zero-check-pipeline) rather than
|
||||||
|
replacing it:
|
||||||
|
|
||||||
|
- **zero-check** = deterministic gauntlet (lint, SAST, deps, tests).
|
||||||
|
- **a-review** = subjective second opinion ("did you miss something a
|
||||||
|
linter wouldn't catch?").
|
||||||
|
|
||||||
|
Run zero-check first, a-review after.
|
||||||
|
|
||||||
|
## How it works
|
||||||
|
|
||||||
|
1. Assembles a **context packet** from the project: `CLAUDE.md` (so the
|
||||||
|
reviewer knows the architecture + conventions), the latest session
|
||||||
|
notes (so the reviewer knows the intent), `git diff -U10 HEAD~1`
|
||||||
|
(the change in surrounding context), and `git diff --stat HEAD~1`
|
||||||
|
(scope summary).
|
||||||
|
2. Pipes the packet plus the prompt template at
|
||||||
|
`a-review/references/review-prompt.md` to whichever backend is
|
||||||
|
configured.
|
||||||
|
3. Saves the reviewer's output to `reviews/a-review-YYYY-MM-DD.md` in
|
||||||
|
the project, with a header noting the model + diff scope.
|
||||||
|
4. Surfaces the findings to you — grouped by severity if the reviewer
|
||||||
|
used severity labels, with anything critical or security-related
|
||||||
|
highlighted.
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
The skill is packaged as `a-review.skill` (a zip of `SKILL.md`,
|
||||||
|
`references/`, and `scripts/`). Two install paths:
|
||||||
|
|
||||||
|
**From the packaged `.skill`** (preferred for sharing):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Drop the file into your Claude Code skills dir
|
||||||
|
cp a-review.skill ~/.claude/skills/
|
||||||
|
```
|
||||||
|
|
||||||
|
**From the source tree** (for development):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Symlink (or copy) the unpacked dir
|
||||||
|
ln -s "$(pwd)/a-review" ~/.claude/skills/a-review
|
||||||
|
```
|
||||||
|
|
||||||
|
After install, the skill triggers on:
|
||||||
|
|
||||||
|
- `/a-review` slash command
|
||||||
|
- Phrases like "review my changes", "get a second opinion",
|
||||||
|
"run a-review", or "check this with gemini/ollama"
|
||||||
|
- Automatically after a coding session with substantive changes (per
|
||||||
|
the skill description)
|
||||||
|
|
||||||
|
## Backends
|
||||||
|
|
||||||
|
| Backend | How it's invoked | Notes |
|
||||||
|
|---------|------------------|-------|
|
||||||
|
| **Gemini CLI** (default) | `gemini -p "$(cat references/review-prompt.md)" --approval-mode plan` | `--approval-mode plan` is required — keeps the reviewer read-only. |
|
||||||
|
| **Ollama** | HTTP `POST /api/generate` against `http://localhost:11434` | Pick a code-tuned local model (`codellama`, `deepseek-coder`, etc.). |
|
||||||
|
| **Anything else** | Pipe the assembled context + prompt to its CLI / API | The skill is text-in / text-out; no backend-specific code needed. |
|
||||||
|
|
||||||
|
The skill checks for `.a-review.yml` in the project root and uses the
|
||||||
|
configured backend if present, otherwise defaults to Gemini CLI.
|
||||||
|
|
||||||
|
## Manual usage
|
||||||
|
|
||||||
|
You can run the same pipeline by hand:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# From any git project root
|
||||||
|
python /path/to/a-review-skill/a-review/scripts/assemble_context.py | \
|
||||||
|
GEMINI_CLI_TRUST_WORKSPACE=true \
|
||||||
|
gemini -p "$(cat /path/to/a-review-skill/a-review/references/review-prompt.md)" \
|
||||||
|
--approval-mode plan
|
||||||
|
```
|
||||||
|
|
||||||
|
Useful for debugging the context packet or trying an ad-hoc model.
|
||||||
|
|
||||||
|
## Repo layout
|
||||||
|
|
||||||
|
```
|
||||||
|
a-review-skill/
|
||||||
|
a-review/
|
||||||
|
SKILL.md # Skill definition (triggers + workflow)
|
||||||
|
references/
|
||||||
|
review-prompt.md # Prompt sent to the reviewer
|
||||||
|
scripts/
|
||||||
|
assemble_context.py # Builds the context packet
|
||||||
|
a-review.skill # Packaged zip (SKILL.md + references/ + scripts/)
|
||||||
|
sessions/ # Per-project session notes (skill self-dogfoods)
|
||||||
|
CLAUDE.md # Agent notes
|
||||||
|
README.md # This file
|
||||||
|
```
|
||||||
|
|
||||||
|
## Packaging a new release
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd a-review && zip -r ../a-review.skill SKILL.md references/ scripts/
|
||||||
|
```
|
||||||
Loading…
Reference in New Issue
Block a user