ase-meta-review

SkillDev tools

Perform a holistic, human-reviewer-style critique of the currently staged Git changes and emit an approve/reject verdict with prioritized, severity-tagged, line-cited findings. Use when the user wants the staged diff "reviewed", "critiqued", or "code-reviewed" before committing.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the ase-meta-review skill

What this skill tells your AI

The instructions your AI receives, as published by rse/ase in plugin/skills/ase-meta-review/SKILL.md and read by ahel’s review.

@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md

$ARGUMENTS

Procedure

    1. Determine whether there are staged changes at all by running the corresponding command (taken exactly as given) and capturing its output - the bare list of staged file names - into . This is a lightweight gate; the full diff is fetched by the sub-agent in STEP 2, so capturing only the file-name list here is sufficient:

      git diff --cached --name-only HEAD

  1. The project source artifacts are classified as a black box, so the user does not want the staged changes scrutinized or their findings surfaced. Skip the entire review investigation: do not invoke the Agent tool and do not read any change, set to the empty list, set to SKIPPED (boxing: black), set to a one-line neutral restatement of the change intent derived solely from STEP 1, and proceed directly to STEP 3.

    First, use the following to give a hint on this step:

    Dispatch the review investigation to a sub-agent via the Agent tool so that no investigation details leak into the user-visible transcript. The sub-agent performs the silent reading, the read-only repository probing, and the critique; only its final structured return value is consumed here.

    For this, invoke exactly once the tool:

        Agent(
            description:       "Review Investigation",
            subagent_type:     "ase:ase-meta-review",
            prompt:            "Review the staged changes.",
            run_in_background: false
        )
    

    Parse the single result message of the Agent tool as a JSON object, set to its summary field (a single crisp sentence reconstructing the change's intent), and set to its findings field (a list).

    Then derive the overall from : set to REJECT - DEMANDS CHANGES if any finding in has a severity field of HIGH; otherwise set to APPROVE. The verdict is derived before the severity floor below, so the floor only affects which findings are rendered, never the verdict.

    Then determine the effective severity floor : define the ordinal rank LOW=1, MEDIUM=2, HIGH=3, start from (default LOW), and - if is equal grey - raise to MEDIUM whenever its current rank is below rank(MEDIUM) (grey boxing surfaces only material findings of severity MEDIUM and above). The floor affects only which findings are rendered, never the derived above.

    Then apply the effective severity floor : Keep a finding in if and only if its severity field is ACCEPTED or rank(severity) is greater than or equal to rank(<floor/>); silently drop all other findings. With the default floor LOW, all findings are kept. ACCEPTED findings are never dropped.

    You MUST NOT output anything else in this STEP 2.

    1. Use the following to output the overall review in and the reconstructed intent :

      REVIEW VERDICT:

      CHANGE INTENT:

      You MUST NOT output anything else in this STEP 3.1.

    2. NO FINDINGS: , nothing to flag.

    3. Then render a three-column table with one row per finding by using the following output . For each finding, repeat the third line, set to its severity field, set to its dimension field, set to its location field, and set to its finding field.

      In the column, mark up the file:line reference as code (with backticks) and prepend it with - keep the sub-agent's own :N / :N-M line citation intact and do not append any further line-count decoration.

      Because the text is free-form Markdown, before emitting any row you MUST escape every literal | pipe character inside and as \| so it cannot break the table column structure.

      Keep the overall report concise and brief. Do not output any further explanation.

    4. Finally, give the closing hint by expanding the following (which, depending on the configured , may expand into nothing and hence emit no output at all):

Signals

GitHub stars
52
Forks
5
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
ase-meta-review
Source
github.com/rse/ase