Skip to main content

signal-review

Review code in SIGNAL's one-line format with required severity per issue. Output is typed, structured, and chainable — not prose paragraphs. Use when user types /signal-review, "review this", "review my code", "check this PR", "review this file", or asks for a code review on any file, diff, or PR. Works standalone or as part of a SIGNAL session.

跳到安装

来源信息

仓库
mattbaconz/signal
最近来源活动
2026年5月1日 08:29
检测到的 SKILL.md 语言
英语
星标
10
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
2 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
signal-review
description
Review code in SIGNAL's one-line format with required severity per issue. Output is typed, structured, and chainable — not prose paragraphs. Use when user types /signal-review, "review this", "review my code", "check this PR", "review this file", or asks for a code review on any file, diff, or PR. Works standalone or as part of a SIGNAL session.
signal_bundle_version
0.4.0
# ⚡ signal-review — Templated Code Review One line per issue. Severity required. Summary at the end. No prose. --- ## Invocation Triggers Activate when user says any of: - `/signal-review` - `"review this"`, `"review my code"`, `"review this file"` - `"check this PR"`, `"code review"`, `"look at this diff"` - `"what's wrong with this"`, `"any issues with this code"` Target can be: a file, a diff, a PR URL, a code block, or the current working directory. ## Slash command behavior If the user's message is **only** `/signal-review`, treat that as **review now**. - Do **not** stop after acknowledging the skill. - Do **not** ask for confirmation unless the user explicitly asked for draft / dry behavior. - Immediately inspect the provided target (or current working context) and output the review in the format below in the same turn. --- ## Output Format **One line per issue:** ``` {file}:{line}|{issue}|{severity:1-5}|{fix} ``` **Full example:** ``` auth.js:47|nullref on empty arr|4|add guard clause before map api.js:103|missing await on async call|5|add await utils.js:12|unused import lodash|1|remove import ∑ 3 issues [1×sev5, 1×sev4, 1×sev1] critical→api.js:103 ``` **Rules:** - Severity is **required** on every line. No exceptions. - Issue description: max ~60 chars, imperative noun phrase ("nullref on empty arr", not "there is a null reference error") - Fix: max ~50 chars, imperative ("add guard clause before map", not "you should add a guard clause") - Order by severity descending (sev5 first) - One summary line at the end, always --- ## Summary Line Format ``` ∑ {N} issues [{breakdown}] critical→{highest-sev-location} ``` Examples: ``` ∑ 5 issues [2×sev5, 1×sev3, 2×sev1] critical→auth.js:47 ∑ 1 issue [1×sev2] ∑ 0 issues ✓ ``` If zero issues: output only `∑ 0 issues ✓`. No explanation, no praise. --- ## Severity Scale Full definitions in [`references/severity.md`](../../references/severity.md). Quick reference: | Level | Meaning | |---|---| | `5` | Breaks in production, security vulnerability, data loss | | `4` | Likely runtime error, will crash under normal use | | `3` | Wrong behavior under specific conditions, logic error | | `2` | Code smell, maintainability issue, confusing pattern | | `1` | Style, minor cleanup, nitpick | **Severity assignment rule:** Assign based on *impact when triggered*, not *probability of triggering*. A SQL injection that only fires on a specific input is still sev5. --- ## What to Review In order of priority: 1. **Security** — injection, auth bypass, exposed secrets, insecure defaults 2. **Correctness** — logic errors, missing error handling, race conditions, off-by-one 3. **Runtime safety** — null dereferences, unhandled promises, type mismatches 4. **Performance** — N+1 queries, unnecessary re-renders, missing indexes, sync-in-loop 5. **Maintainability** — dead code, magic numbers, unclear naming, deep nesting 6. **Style** — only if it affects readability, never as a primary finding --- ## Scope Inference If the user doesn't specify what to review: - **File open in editor** → review that file - **Recent diff** → review the diff (`git diff HEAD`) - **PR URL provided** → fetch with `gh pr diff {url}` and review - **Code block in message** → review exactly what was shared --- ## Flags | Flag | Behavior | |---|---| | `--quick` | Sev3+ only. Skip style and nitpicks. | | `--security` | Security-focused pass only. | | `--sev {N}` | Only report issues at severity N or above. | | `--fix` | After listing issues, output the corrected code block. | **`--fix` output:** List all issues first, then output the corrected file or function in a single code block. Do not mix issue lines with code. --- ## Multi-File Reviews When reviewing multiple files, group by file: ``` auth.js: auth.js:47|nullref on empty arr|4|add guard clause before map auth.js:89|hardcoded secret|5|move to env var api.js: api.js:103|missing await|5|add await ∑ 3 issues [2×sev5, 1×sev4] critical→api.js:103 ``` The summary line covers all files combined. --- ## BOOT Integration If `BOOT:review` is active (see [`references/boot-presets.md`](../../references/boot-presets.md)): - Output format is already set to `TMPL:rev` - Severity is already required by `severity_required` - No preamble, no summary prose — just the lines and the `∑` line - If the active template cannot be satisfied, emit `SIGNAL_DRIFT: <one-line reason>` instead of falling back to prose If SIGNAL is not active, still use this format. The template is the default for this skill regardless of SIGNAL mode. --- ## Eat Your Own Cooking This skill's own output must comply with SIGNAL compression rules if SIGNAL is active: - No "Here are the issues I found:" preamble - No "Overall, the code looks pretty good except..." summary - First line is an issue line or `∑ 0 issues ✓` - Last line is always the `∑` summary
在 GitHub 查看