agentsclimarketplace

Ase meta review

Skill rse/ase/plugin/skills/ase-meta-review

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.From its SKILL.md

Install
npx -y skills add rse/ase --skill ase-meta-review

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

7.8 KB, ~1.9k tokens by cl100k_base, as published. Nobody here has run it

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

<purpose name="ase-meta-review"> Review Staged Changes </purpose>

<expand name="getopt" arg1="ase-meta-review" arg2="--severity|-S=(LOW|MEDIUM|HIGH)"> $ARGUMENTS </expand>

<objective> Review the currently staged Git changes the way an *experienced human reviewer* would - judging them *holistically* against the change's *own intent* and against *correctness*, *design fit*, *clarity*, *robustness*, and *project-convention conformance* - and emit a single *approve / request-changes verdict* backed by *prioritized*, *severity-tagged*, *line-cited* findings. This is a *synthesizing critique*, not a mechanical scan: it complements `ase-code-lint` (mechanical quality), `ase-code-analyze` (logic/semantics), and `ase-meta-diff` (intent narrative and risk). </objective>

Procedure

<flow>
  1. <step id="STEP 1: Determine Change Set">
    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 <diff/>. 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

    2. <if condition="<diff/> is empty"> Only output the following <template/> and then *STOP* immediately: <template> ⧉ **ASE**: ✪ skill: **ase-meta-review**, ▶ status: **no changes to review** </template> </if>
    </step>
  2. <step id="STEP 2: Review Investigation"> <if condition="<ase-project-boxing/> is equal `black`">

    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 <findings/> to the empty list, set <verdict/> to SKIPPED (boxing: black), set <summary/> to a one-line neutral restatement of the change intent derived solely from STEP 1, and proceed directly to STEP 3.

    </if>

    First, use the following <template/> to give a hint on this step:

    <template> <ase-tpl-bullet-secondary/> **REVIEW INVESTIGATION** </template>

    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 <summary/> to its summary field (a single crisp sentence reconstructing the change's intent), and set <findings/> to its findings field (a list).

    Then derive the overall <verdict/> from <findings/>: set <verdict/> to REJECT - DEMANDS CHANGES if any finding in <findings/> has a severity field of HIGH; otherwise set <verdict/> 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 <floor/>: define the ordinal rank LOW=1, MEDIUM=2, HIGH=3, start from <floor><getopt-option-severity/></floor> (default LOW), and - if <ase-project-boxing/> is equal grey - raise <floor/> 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 <verdict/> derived above.

    Then apply the effective severity floor <floor/>: Keep a finding in <findings/> 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.

    </step>
  3. <step id="STEP 3: Verdict and Findings">
    1. Use the following <template/> to output the overall review in <verdict/> and the reconstructed intent <summary/>:

      <template>

      <ase-tpl-bullet-signal/> REVIEW VERDICT: <verdict/>

      <ase-tpl-bullet-normal/> CHANGE INTENT: <summary/>

      </template>

      You MUST NOT output anything else in this STEP 3.1.

    2. <if condition="<findings/> is empty"> Only output the following <template/> and then *SKIP* the remainder of this STEP 3 (an empty finding list implies the `APPROVE` verdict, so the closing hint of substep 4 would expand into nothing anyway): <template>

      <ase-tpl-bullet-normal/> NO FINDINGS: the change is clean, nothing to flag.

      </template> </if>
    3. <if condition="<findings/> is NOT empty"> Sort the findings by <severity/> from highest to lowest in the fixed order `HIGH`, `MEDIUM`, `LOW`, `ACCEPTED`. Within the same severity, keep the order returned by the sub-agent.

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

      In the <location/> column, markup 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 <finding/> text is free-form Markdown, before emitting any row you MUST escape every literal | pipe character inside <location/> and <finding/> as \| so it cannot break the table column structure.

      <template> | Severity | Dimension | Finding | | --------------- | ------------ | ----------------------- | | **<severity/>** | <dimension/> | <location/>: <finding/> | </template>

      Keep the overall report concise and brief. Do not output any further explanation. </if>

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

      <if condition="<verdict/> starts with `REJECT`"> <ase-tpl-hint level="normal"> Use `/ase-code-resolve` to derive and apply a solution approach for the findings which demand changes. </ase-tpl-hint> </if>
    </step>
</flow>

What ships with it: 1 file

3.7 KB alongside SKILL.md

Gives 0 of the 12 instructions most review quality skills give in ~1.9k tokens

Counted across 1,048 of the 1,783 authors here whose files we hold, read 2026-08-07

  • Ask questions one at a timein 81 of 1048, across 64 files
  • Provide a recommended answer for each questionin 73 of 1048, across 50 files
  • Explore the codebase instead of asking answerable questionsin 66 of 1048, across 42 files
  • Resolve dependencies between decisions one-by-onein 42 of 1048, across 17 files
  • Interview the user relentlessly about the planin 38 of 1048, across 13 files
  • Order findings by severityin 31 of 1048
  • Resolve each branch of the decision treein 27 of 1048, across 5 files
  • Run a grilling sessionin 26 of 1048, across 5 files
  • Update CONTEXT.md immediately when a term is resolvedin 26 of 1048, across 11 files
  • Propose precise canonical terms for vague languagein 25 of 1048, across 7 files
  • Create documentation files lazilyin 24 of 1048, across 5 files
  • Assign severity to every findingin 24 of 1048

Said here and by no other author read

  • Skip the review investigation if project boxing is black.
  • Parse the sub-agent result as a JSON object.
  • Determine the effective severity floor.
  • Drop findings below the effective severity floor.
  • Sort findings by severity from highest to lowest.
  • Render a three-column table for non-empty findings.

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 326,790. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.