Chisle Review
JayPokale/Chisle
Review a diff or file through the Chisle lens: flag over-engineering, speculative abstractions, reinvented stdlib, and verbose code that a lazier approach would shrink.
Run a comprehensive code review with 4 specialized reviewers (security, correctness, performance, consistency) in parallel.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add tetherto/qvac --skill review -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tetherto/qvac review --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/tetherto/qvac.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/ocr-ggml/.agent/skills/review .claude/skills/review && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "review" agent skill from https://github.com/tetherto/qvac/tree/main/packages/ocr-ggml/.agent/skills/review into .claude/skills/review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/tetherto/qvac/tree/main/packages/ocr-ggml/.agent/skills/reviewType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add tetherto/qvac --skill review -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tetherto/qvac review --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tetherto/qvac.git skills-src && mkdir -p .agents/skills && cp -r skills-src/packages/ocr-ggml/.agent/skills/review .agents/skills/review && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "review" agent skill from https://github.com/tetherto/qvac/tree/main/packages/ocr-ggml/.agent/skills/review into .agents/skills/review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tetherto/qvac --skill review -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tetherto/qvac review --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tetherto/qvac.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/packages/ocr-ggml/.agent/skills/review .cursor/skills/review && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "review" agent skill from https://github.com/tetherto/qvac/tree/main/packages/ocr-ggml/.agent/skills/review into .cursor/skills/review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/tetherto/qvac.git --path packages/ocr-ggml/.agent/skills/review--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add tetherto/qvac --skill review -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tetherto/qvac review --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tetherto/qvac.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/packages/ocr-ggml/.agent/skills/review .gemini/skills/review && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "review" agent skill from https://github.com/tetherto/qvac/tree/main/packages/ocr-ggml/.agent/skills/review into .gemini/skills/review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install tetherto/qvac reviewInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add tetherto/qvac --skill review -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tetherto/qvac.git skills-src && mkdir -p .github/skills && cp -r skills-src/packages/ocr-ggml/.agent/skills/review .github/skills/review && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "review" agent skill from https://github.com/tetherto/qvac/tree/main/packages/ocr-ggml/.agent/skills/review into .github/skills/review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tetherto/qvac --skill review -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tetherto/qvac review --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tetherto/qvac.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/packages/ocr-ggml/.agent/skills/review .opencode/skills/review && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "review" agent skill from https://github.com/tetherto/qvac/tree/main/packages/ocr-ggml/.agent/skills/review into .opencode/skills/review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
reviewRun a comprehensive code review with 4 specialized reviewers (security, correctness, performance, consistency) in parallel.
Review is an agent skill from tetherto/qvac. Run a comprehensive code review with 4 specialized reviewers (security, correctness, performance, consistency) in parallel.
Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Code review. The repository describes itself as: Open-source local AI SDK - run AI on-device with no cloud, no API keys. Supports GGUF, RAG, image, music, and video generation, speech-to-text, P2P inference, and more… The licence is Apache-2.0.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c3a6030. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitghFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Review loads about 3.3k tokens when it runs. Until then it costs about 33 tokens; SKILL.md has 1,588 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found patterns that need a careful read before installing.
- `.npmrc`, `.env`, or credential files must NOT be in the diffAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from tetherto/qvac at commit c3a6030, republished under its Apache-2.0 licence (© tetherto). 1,588 words, ~3,287 tokens.
.claude/skills/review/SKILL.md (or your agent's skills folder).Run a comprehensive code review using 4 specialized review agents: security, correctness, performance, and consistency.
/review # review current branch changes vs main
/review #1561 # review a PR by number
/review branch-name # review a specific branch vs main
/review --only security,correctness # run only specific reviewers
/review #1561 --depth max # maximum-depth pass (every reviewer on the session model)main#<number> or <number>: review a GitHub PR<branch-name>: review a specific branch against main--only <list>: comma-separated list of reviewers to run (security, correctness, performance, consistency). Default: all 4.--depth <standard|max>: review depth. standard uses the per-reviewer default models (see Step 3). max runs a maximum-depth pass: all reviewers on the session model — the model this session is itself running on, which is the strongest model the review is allowed to use — unless review.maxDepthModel pins an explicit model. Default comes from review.depth in packages/ocr-ggml/.agent/config.json (falls back to standard if absent); the flag overrides the config.Parse $ARGUMENTS to determine the review target:
# or is a number → PR review modeExtract --only flag if present to filter which reviewers to launch.
Extract --depth flag if present. If absent, read review.depth from packages/ocr-ggml/.agent/config.json; if the file or field is missing, use standard.
Determine the session model family — the model this session is itself running on — from the session's own model identity (Claude Code states it in context, e.g. "powered by the model named Opus 5", exact ID claude-opus-5[1m] → family opus). Map it to one of haiku, sonnet, opus, fable. If it cannot be determined, skip the clamping in Step 3 and use the table defaults as-is.
PR review mode:
gh pr diff <number> --repo tetherto/qvac
gh pr view <number> --repo tetherto/qvac --json title,body,commits,headRefOid,headRefName,baseRefNameBranch review mode:
git diff main...<branch>
git log main..<branch> --oneline
git rev-parse <branch>Current branch mode:
git diff main...HEAD
git log main..HEAD --oneline
git rev-parse HEADIf the diff is empty, report "No changes to review" and stop.
Record the exact commit reviewed. Keep headRefOid (or the git rev-parse output) — it goes in the
report header in Step 5. Findings cite file:line as the file reads at that commit, so without the SHA
nobody can later tell a stale line number from a fixed finding.
Launch the selected review agents in parallel as sub-agents.
For each agent, set:
subagent_type to the reviewer namemodel per the depth table below (Claude Code only — Cursor CLI inherits the parent model)prompt with enough context for the sub-agent to work independently (see template below). The prompt's "Do NOT fix code — report findings only" line is the read-only guarantee — reviewers must not modify files.Model per reviewer and depth:
| Reviewer | --depth standard (default) | --depth max |
|---|---|---|
| security-reviewer | opus | session model |
| correctness-reviewer | opus | session model |
| performance-reviewer | sonnet | session model |
| consistency-reviewer | sonnet | session model |
haiku < sonnet < opus < fable.sonnet at standard depth, not opus; an Opus session runs a max pass entirely on opus, not fable.--depth max raises every reviewer to the ceiling: all four run on the session model family.opus by default at standard depth: the bugs that matter most here are cross-file C++ lifetime/concurrency issues (object teardown across threads, GPU-kernel edge cases) that need deeper reasoning than diff-local pattern matching.opus for the same reason. The vulnerabilities that matter in this repo are not diff-local patterns — they are multi-file trust-boundary questions: whether a pull_request_target workflow lets fork code reach a credential, whether an approval gate binds to a mutable ref, whether a composite action three files away persists a token into a workspace that untrusted code later reads. Answering those means reading the called action, the gate implementation and the environment configuration together, and confirming the claim against the live repo rather than pattern-matching the diff. A reviewer that stops at the diff produces plausible-sounding findings on the wrong lines.review.maxDepthModel in packages/ocr-ggml/.agent/config.json defaults to "session" (use the session model). Setting it to an explicit model name (fable, opus, …) pins max depth to that model and bypasses the ceiling — an escape hatch for deliberately escalating past the session model.opus; if that is also rejected, omit model and let the agent definition decide.Agents to launch (all 4 unless --only filters):
Prompt template — adapt [target], [diff-command], and [domain] for each reviewer:
Review the code changes on [target] in repo tetherto/qvac.
To get the diff, run: [diff-command]
Focus only on [domain] issues.
Report each finding with: severity, file path and line, description, impact, and fix recommendation.
If no issues found, report: "No [domain] issues identified."
Do NOT fix code — report findings only.Where [diff-command] is:
gh pr diff <number> --repo tetherto/qvacgit diff main...<branch>git diff main...HEADWhile reviewers run, do a quick check:
.npmrc, .env, or credential files must NOT be in the diffCollect results from all reviewers and present a unified report.
Every written report opens with this header block, immediately under the H1, before any prose. It is a required part of the output, not decoration — see the note below:
# Code Review — <target>
**PR:** [<title>](https://github.com/<owner>/<repo>/pull/<n>)
**Reviewed at:** `<owner>/<repo>@<head-sha>` · **Base:** `<base-branch>` · **Head:** `<head-branch>`
**Reviewed:** <YYYY-MM-DD> · **Depth:** <standard|max> · **Reviewers:** security, correctness, performance, consistencyFor branch or current-branch mode, drop the **PR:** line and use
**Reviewed at:** \<repo>@<sha>` · **Base:** `main` · **Head:** `<branch>``.
For a report covering several PRs, repeat the block under each per-PR heading rather than once at the top — each PR has its own head SHA, and a stack's shared summary table is not a substitute for it.
Then the findings themselves:
### Security
[findings or "No issues"]
### Correctness
[findings or "No issues"]
### Performance
[findings or "No issues"]
### Consistency
[findings or "No issues"]
### Summary
- Total findings: X (Y critical, Z warnings)
- Recommendation: [ready to merge / needs fixes / needs discussion]Always write the report to a file — do not ask first. The chat summary is ephemeral; the file is what
/post-feedback consumes to file line-anchored PR comments, and what a human re-reads days later.
Path — repo root of the working repo (alongside the existing PR*-feedback.md docs):
| Mode | Filename |
|---|---|
| PR review | PR<number>-claude-feedback.md |
| Branch / current branch | <branch-slug>-claude-feedback.md (slashes → -, e.g. feature-QVAC-22734-claude-feedback.md) |
The claude segment is the tool that produced the review. On Cursor it is cursor instead. This is not
cosmetic: both tools review the same PRs, and a shared PR<n>-feedback.md would have one silently
overwrite the other. A plain PR<n>-feedback.md is reserved for a human-merged consolidation of both.
Re-reviewing the same PR with the same tool overwrites the same path — /post-feedback keeps its own
run state keyed on the PR, so a fresh document is not a fresh conversation.
Required shape. /post-feedback parses this document, and it refuses documents whose findings are
only table rows or only bullets. Every finding must be a heading with a ref line:
#### [SEVERITY · domain] one-line title
`path/to/file.ext:17-18`
*First whole sentence, in italics, on its own line.*
<prose body: evidence, why it is wrong, impact, then the fix>SEVERITY ∈ CRITICAL · HIGH · MEDIUM · LOW · NIT. domain ∈ the four reviewer names./post-feedback opens the posted comment with it
verbatim. Nothing may sit between the ref line and that sentence.## Security / ## Correctness / ## Performance / ## Consistency.Also carry over into the file, beyond the chat summary:
## Corrected reviewer claim heading. Reviewers are
wrong often enough that silently dropping a bad finding loses the correction.Verify every line number before writing it. Reviewers report anchors that do not exist — a sed -n
or grep -n against the file at the reviewed SHA costs seconds and these anchors become PR comment
positions. If you corrected any, say so in a note near the top of the document so nobody "restores" them.
Then tell the user the path in your chat reply.
After presenting the report, ask the user:
Found X issues. Want me to fix the actionable ones? (y/n)If the user says yes:
fix: [description]Do NOT fix:
model per the depth table in Step 3 (opus for correctness and security, sonnet for the pattern-oriented reviewers), clamped to the session model family; --depth max runs all four on the session model/post-feedback, which files these findings as line-anchored PR
comments. **Reviewed at:** gives it the commit the file:line references were written against, so it can
say "this document is 12 commits stale" up front instead of discovering it one rejected comment at a time;
**PR:** gives it a machine-readable target instead of guessing from the filename. Do not drop either line
as boilerplate — a report without them still reads fine to a human and silently degrades the tool that
consumes it.© tetherto, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in packages/ocr-ggml/.agent/skills/review of tetherto/qvac.
Open the folder on GitHubat commit c3a6030
Review next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Review this skilltetherto/qvac | 681 | — | ~3.3k | Automated safety check: Warn | Apache-2.0 | |
| Chisle ReviewJayPokale/Chisle | 633 | — | ~362 | Automated safety check: Pass | MIT | |
| RAG Code Reviewlyonzin/knowledge-rag | 290 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Code Reviewnstarman/quax | 143 | — | ~3.2k | Automated safety check: Pass | Apache-2.0 | |
| 3dgs Code Reviewerjaccen/Awesome-Gaussian-Skills | 161 | — | ~2.9k | Automated safety check: Pass | Apache-2.0 | |
| Promptkitmicrosoft/PromptKit | 110 | — | ~420 | Automated safety check: Pass | MIT |
JayPokale/Chisle
Review a diff or file through the Chisle lens: flag over-engineering, speculative abstractions, reinvented stdlib, and verbose code that a lazier approach would shrink.
lyonzin/knowledge-rag
When performing code review on a PR, diff, snippet, or "look at this change" request, first consult the corpus for related ADRs, coding standards, prior patterns, and similar files.
nstarman/quax
A skill your agent uses when reviewing a pull request or diff in the quax repository.
jaccen/Awesome-Gaussian-Skills
Review 3DGS implementation code for correctness, performance bugs, and best practices.
microsoft/PromptKit
PromptKit composition engine. An agent skill from microsoft/PromptKit.
harness/harness-skills
Generate Harness Agent Template files for AI-powered automation agents.
tetherto/qvac
Creates a Solutions page in the QVAC documentation website from a real use case, generalizing the case into reusable guidance and registering the page in the site navigation.
tetherto/qvac
Updates the docs website after a change to the SDK or CLI. An agent skill from tetherto/qvac.
tetherto/qvac
Plan and prepare the QVAC agent-stack release cascade across @qvac/inference, @qvac/sdk, @qvac/cli, @qvac/ai-sdk-provider, @qvac/opencode-plugin, and @qvac/openclaw-plugin.
tetherto/qvac
Run the deterministic code-quality audit, turn related findings into contextual remediation groups, prepare approval-gated Asana proposals, reconcile recurring runs, or configure twice-monthly…
tetherto/qvac
Review C++ changes for string parameter and call-site efficiency conventions (std::stringview, std::string&&, const std::string&, const char, and TransparentStringMap lookup).
tetherto/qvac
Generate changelog entries for a target add-on package. An agent skill from tetherto/qvac.
Categories
Run a comprehensive code review with 4 specialized reviewers (security, correctness, performance, consistency) in parallel. Review is an agent skill from tetherto/qvac. Run a comprehensive code review with 4 specialized reviewers (security, correctness, performance, consistency) in parallel.
Review fits situations like: tasks that involve Code review.
Run `npx skills add tetherto/qvac --skill review -a claude-code`. Or copy the skill folder (packages/ocr-ggml/.agent/skills/review in tetherto/qvac) into .claude/skills/review in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tetherto/qvac --skill review -a codex`. Or copy the skill folder (packages/ocr-ggml/.agent/skills/review in tetherto/qvac) into .agents/skills/review in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tetherto/qvac --skill review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/review, .gemini/skills/review, .github/skills/review and .opencode/skills/review in your project.
Going by SKILL.md and its folder, Review needs the command-line tools its instructions call (git and gh).
SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md flagged 1 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way.
Review is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Review: Chisle Review (JayPokale/Chisle, 633 stars), RAG Code Review (lyonzin/knowledge-rag, 290 stars), Code Review (nstarman/quax, 143 stars) and 3dgs Code Reviewer (jaccen/Awesome-Gaussian-Skills, 161 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tetherto (a GitHub organization) maintains it in tetherto/qvac, which has 681 GitHub stars. The repository holds 50 skills in this directory. The repository was last updated on October 7, 2026.
Source: tetherto/qvac on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.