agentsclimarketplace

Session critique

Skill SamyakJhaveri/loam/seed/.claude/skills/session-critique

Use when you explicitly want adversarial, decision-aware critique of a session's completed work before committing — invoke it manually with /session-critique. Reviews every changed artifact (code, data, report) as a senior software engineer and AI researcher, asking: did the work follow the decisions you made this session, follow repo rules, stay un-over-engineered, and leave the codebase maintainable and extensible? Stops at each HIGH/MEDIUM finding to discuss the fix with you before applying it, batches LOW nits, and applies only the fixes you authorize. NOT for single-file trivial edits (use /validate directly) or standard code review without fixes (use /multi-review).From its SKILL.md

Install
npx -y skills add SamyakJhaveri/loam --skill session-critique

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

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

13.5 KB, ~3.0k tokens by cl100k_base, as published. Nobody here has run it

Session Critique: Decision-Aware Adversarial Review

Spawn an advisor-pattern agent team that reviews all work done this session — code, data, and report artifacts — acting as a senior software engineer and AI researcher. The bar is not only "is it correct and finished?" but two forward-looking questions:

  1. Decision adherence — did the implementation follow the decisions the user made during this session?
  2. Build-on-top, not patch-on-patch — did the work leave a codebase the next task can extend, or a hodgepodge the next task must spend its time untangling? Elegant solutions, not a regression backlog.

Surface every finding for user approval; apply only the fixes the user authorizes.

Be honest and transparent. Surface uncertainty explicitly. Never rationalize an incomplete or "good enough" result as done — name what is unfinished and why.

When to use

  • Session produced multi-file changes (code / data / report) that should be stress-tested
  • You want adversarial self-critique + code quality review before committing
  • You want to confirm the implementation honored the decisions you made this session
  • You need independent verification that nothing was missed, mis-stated, or over-built

When NOT to use

  • Single-file trivial edit — run /validate directly
  • Standard code review without fix authority — use /multi-review
  • Only need diff/security/schema checks — use /validate
  • Work is not yet complete — finish implementation first

Decision Authority

The user approves ALL non-trivial decisions. No teammate decides autonomously.

Teammates CAN without asking: read files, run verification commands, spawn subagents, report findings.

Teammates MUST escalate (via lead -> user): applying any fix, dismissing any finding, resolving disagreements, any file content change.

Procedure

Phase 0: Scope + Session Decisions Ledger

Scope the changed artifacts:

git log --oneline -10                      # find where this session started
git diff HEAD --name-only                  # uncommitted changes — covers a session with no commits yet
git status --porcelain                     # + untracked session files
# If the session already produced commits, also fold them in:
git diff <first-session-commit>~1..HEAD --name-only

Split files into ownership buckets (no overlap), by artifact type:

  • Bucket A (self-critic): modifications to existing code + docs
  • Bucket B (code-reviewer): newly created files, CLAUDE.md / index files, and report/output artifacts. For generated reports, defer domain-specific number/citation verification to the appropriate specialized skill — do not reimplement it here.
  • Data artifacts (results/, generated data): review read-only. NEVER propose editing, deleting, or overwriting an existing result file — the result-protection PreToolUse hook blocks it. A wrong-looking data file is a finding against the generating code/spec, or a flag for the user — never an edit under results/.
  • If a split is unclear: ask the user.

Build the Session Decisions Ledger. The user's in-session decisions live in this conversation, not in git — and the teammates you spawn will not have the conversation. So you (the lead) extract them first. Write a numbered ledger of every explicit choice or direction the user gave this session:

SESSION DECISIONS LEDGER
1. Chose X over Y because <reason>
2. Directed: use approach Z for <component>
3. Constraint: do NOT do W
...

Confirm the ledger with the user before spawning teammates: "Here are the N decisions I'll hold the work against — anything missing or misremembered?" This ledger is the contract the team measures implementation drift against.

Cross-session caveat: this reconstruction works because /session-critique runs at the end of the same session. If invoked in a fresh session the conversation is gone — fall back to commit messages + handoff docs for the ledger, and say so explicitly.

Phase 1: Team Design + User Approval

Present the team design table to the user. WAIT for approval before launching.

| Teammate      | Model  | Role                                            | Owns       |
|---------------|--------|-------------------------------------------------|------------|
| advisor       | opus   | Strategic direction + Elegance Gate, read-only  | All (read) |
| self-critic   | opus   | Adversarial self-review                         | Bucket A   |
| code-reviewer | sonnet | Code quality + structural + report              | Bucket B   |

The lead runs ONE plan-reviewer subagent in Drift Detection mode, fed the Session Decisions
Ledger, as the single decision-adherence check (workers do not each re-run it).

Cost: ~65-75% of all-Opus equivalent

Phase 2: Launch (advisor pattern)

  1. TeamCreate(team_name="session-critique")
  2. Create tasks with TaskCreate for each work unit
  3. Spawn advisor (Opus) FIRST — use advisor-prompt.md from /agent-team skill
  4. Wait for "ADVISOR READY"
  5. Spawn workers using the model assignments above (self-critic Opus, code-reviewer Sonnet) with filled prompts from teammates.mdinclude the Session Decisions Ledger verbatim in each worker's brief
  6. Every Agent call MUST include team_name

Phase A: Analysis (parallel, no edits)

Both workers analyze simultaneously. Advisor reviews as findings arrive. No files are modified. Each worker runs its audit checklist from teammates.md, plus the forward-elegance audit (per changed unit: one clear purpose? a well-defined interface? understandable and testable on its own? follows existing patterns or a one-off bolt-on? will the next task build on this, or fight it?).

Decision-adherence is a single session-level pass — not a per-worker one. The lead spawns one plan-reviewer subagent in Drift Detection mode with the Session Decisions Ledger; it checks the whole implementation against each ledger item (Done-sentence mismatch, scope drift, Must-NOT violation) and returns one authoritative adherence report. Workers do not each re-run it — they only flag drift they happen to spot in passing.

Output: two worker findings reports + one drift report (all severity-tagged).

Workers consult advisor (Section 7 of teammate-prompt.md): brief approach before starting, present options at decision points, escalate after 2 failed attempts, send findings to lead + advisor when done.

Phase A.5: Elegance Gate (advisor — whole-session step-back)

After the per-file findings are in, the advisor runs ONE whole-session Elegance Gate. Think carefully. Step back from the individual changes and look at what this session set out to accomplish:

  • Is the work solving the right problem, or has it drifted into solving a side-effect?
  • Is there a fundamentally simpler or more coherent shape the whole body of work should have taken — a different structure, an existing utility, a known pattern — that would make much of it unnecessary?
  • Would an experienced engineer look at the session and say "why not just do X instead?"

Output one of: "the overall shape is right because <reason>," or a concrete counter-proposal (what the alternative is, why it's better, its tradeoffs, what in the session's work it would replace). This is not a formality — do not skip it.

Phase B: Decision Loop (user decides, one issue at a time)

The lead collects all findings + advisor recommendations + the Elegance Gate verdict, then normalizes every finding to one canonical 4-tier scale (incoming findings use different vocabularies) and sorts by severity:

CanonicalMeansSources map inLoop treatment
BLOCKHalt — must be fixed or explicitly waived before commitself-critic BLOCK; plan-reviewer criticalserial, first
HIGHSerious; discuss before decidingplan-reviewer high; self-critic HIGHserial
MEDIUMWorth a decisionmediumserial
LOWNit / advisoryself-critic WARN; lowbatched at end

BLOCK, HIGH, and MEDIUM findings — serial, one at a time (BLOCK first). For each:

=== ISSUE k of N  [BLOCK|HIGH|MEDIUM] ===
[file:line] <issue>
Why it matters: <consequence if unfixed — regression risk, decision drift, maintainability cost>
Decision-Ledger link: <which ledger decision this violates, or "none">
Advisor recommendation: <approach> because <reason>
Options: A) <fix>   B) <alternative>   C) leave as-is because <when that is right>

STOP. Discuss with the user. The user decides the approach. Apply the chosen fix, verify it (state before/after), then move to the next issue. Do NOT batch BLOCK/HIGH/MEDIUM — each gets its own discussion. A BLOCK left unresolved and unwaived halts the commit.

LOW / advisory findings — one batch at the end. After the High/Med loop completes, present all LOW findings as a single numbered list for approve-all / cherry-pick:

=== LOW / ADVISORY (batch) ===
1. [file:line] <nit> -> <suggested fix>
2. ...
Type approvals (e.g., "1,3,5", "all", or "none").

Phase C: Fix Verification

Every applied fix — BLOCK/HIGH/MEDIUM (in-loop) or LOW (post-batch) — is verified before/after by the owning worker. The advisor reviews all applied changes (Phase C quality gate) for accuracy and scope compliance.

Phase D: Handback

Lead reviews any out-of-scope changes introduced by this critique. Do not revert pre-existing local work or ambiguous changes without explicit user approval:

git diff --stat HEAD
git diff --name-only HEAD

If a file is out-of-scope and the critique introduced the change, ask the user before reverting it. If a file was dirty before the critique began or ownership is unclear, report it and leave it untouched.

Confirm no existing file under results/ was modified. Present the final summary: ledger decisions checked (adhered / drifted), Elegance Gate verdict, fixes applied (High/Med + Low), findings dismissed (with reasons). The user runs /validate and commits at their own discretion.

Critique is Done when

  • Every BLOCK/HIGH/MEDIUM finding has been discussed with the user and resolved (fixed or dismissed with a recorded reason); no BLOCK remains unresolved or unwaived
  • Every LOW finding has been presented in the batch and dispositioned
  • Each Session Decisions Ledger item has been marked adhered or drifted
  • The advisor's whole-session Elegance Gate has produced a verdict
  • No existing results/ file was modified; out-of-scope changes introduced by the critique were resolved with user approval, and pre-existing local work was left untouched

Report Format (each worker sends to lead after Phase A)

## [Role] Findings (AWAITING APPROVAL)

### Issues Found: N
| # | File | Issue | Severity | Decision-Ledger link | Proposed Fix | Alternatives |
|---|------|-------|----------|----------------------|--------------|--------------|
| 1 | ...  | ...   | high/med/low | #2 (drift) / none | [fix A] | [fix B], [skip] |

### Decision adherence (plan-reviewer drift pass): [adhered / drifted on #k, ...]
### Forward elegance: [units that the next task will build on / fight, with reasons]
### Advisor consultations: N
### Subagent results: [agent: PASS/FAIL (N issues)]
### Cross-team issues flagged: [list if any]

Common Mistakes

MistakePrevention
Teammates fix files without user approvalTwo-phase workflow: ANALYZE then FIX after approval
Batching BLOCK/HIGH/MEDIUM into one approval listPhase B is serial for those — one issue, one discussion, one fix
Skipping the Session Decisions LedgerPhase 0 builds + confirms it before any teammate spawns
Treating the Elegance Gate as a formalityPhase A.5 must produce a real verdict or counter-proposal
Proposing edits to results/ data filesData is read-only; fix the generating code/spec or flag for user
Teammates edit out-of-scope filesExplicit bucket ownership + Phase D review; revert only critique-introduced changes with user approval
Advisor makes final calls instead of userDecision authority rule: advisor recommends, user decides
Lead commits without user running /validatePhase D hands back — user owns validation and commit

Red Flags — STOP and Escalate to User

  • Worker editing a file before Phase B approval
  • Worker dismissing a finding as "not worth fixing" without escalating
  • Any proposed Edit/Write/rm targeting an existing file under results/
  • BLOCK/HIGH/MEDIUM findings presented as a batch instead of one at a time
  • Advisor approving fixes on the user's behalf
  • Any teammate contacting the user directly (all goes through lead)
  • Out-of-scope files appearing in git diff --stat HEAD

See teammates.md for detailed worker specifications, skills, subagents, and audit checklists.

What ships with it: 1 file

6.7 KB alongside SKILL.md

Keep looking

Skills are one crate of 326,144. 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.