Agent skill

Workflow Lite Test Review

by catlog22 in catlog22/Claude-Code-Workflow

Post-execution test review and fix - chain from workflow-lite-execute or standalone.

MITAuto-check: notesTesting & QA

Install Workflow Lite Test Review

skills CLI
$ npx skills add catlog22/Claude-Code-Workflow --skill workflow-lite-test-review -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install catlog22/Claude-Code-Workflow workflow-lite-test-review --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/catlog22/Claude-Code-Workflow.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/workflow-lite-test-review .claude/skills/workflow-lite-test-review && rm -rf skills-src

Use ~/.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/

Facts

Skill name
workflow-lite-test-review
GitHub stars
2.1k
Token cost
~2.7k tokens
SKILL.md length
684 words
Files
1
Skills in repo
82
Repo updated
First seen
Licence
MIT

At a glance

Post-execution test review and fix - chain from workflow-lite-execute or standalone.

  • Works in 5 steps: Extract convergence.criteria[] from the… → Match task.files[].path against… → Read each matched file, verify each… → …
  • Tasks that involve Unit testing
  • SKILL.md covers Usage, Input Modes, Phase Summary and TR-Phase 0: Initialize, plus 8 more sections
  • Calls npm, python and cargo

What it does

Workflow Lite Test Review is an agent skill from catlog22/Claude-Code-Workflow. Post-execution test review and fix - chain from workflow-lite-execute or standalone. Reviews implementation against plan, runs tests, auto-fixes failures.

Its SKILL.md is about 2.7k 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 Testing & QA, covering Unit testing. It works with npm. The repository describes itself as: JSON-driven multi-agent cadence-team development framework with intelligent CLI orchestration (Gemini/Qwen/Codex), context-first architecture, and automated workflow execution. The licence is MIT.

When your agent uses it

  • Tasks that involve Unit testing

Example prompts

  • “/workflow-lite-test-review”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Skill, Agent, AskUserQuestion, TodoWrite, Read, Write, Edit, Bash, Glob, Grep

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Extract convergence.criteria[] from the task
  2. Match task.files[].path against changedFiles to find actually-changed files
  3. Read each matched file, verify each convergence criterion with file:line evidence
  4. Check test coverage gaps
  5. Build reviewResult = { taskId, title, criteria_met[], criteria_unmet[], test_gaps[], files_reviewed[] }

What it can do on your machine

Read from SKILL.md and the folder at commit 07491b0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Skill
    • Agent
    • AskUserQuestion
    • TodoWrite
    • Read
    • Write
    • Edit
    • Bash
    • Glob
    • Grep

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • python
    • cargo
    • go
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Workflow Lite Test Review loads about 2.7k tokens when it runs. Until then it costs about 45 tokens; SKILL.md has 684 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~45
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

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.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Skill, Agent, AskUserQuestion, TodoWrite, Read, Write, Edit, Bash, Glob, Grep

Automated 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.

SKILL.md

The full file from catlog22/Claude-Code-Workflow at commit 07491b0, republished under its MIT licence (© catlog22). 684 words, ~2,674 tokens.

Download SKILL.mdSave it as .claude/skills/workflow-lite-test-review/SKILL.md (or your agent's skills folder).
name
workflow-lite-test-review
description
Post-execution test review and fix - chain from workflow-lite-execute or standalone. Reviews implementation against plan, runs tests, auto-fixes failures.
allowed-tools
Skill, Agent, AskUserQuestion, TodoWrite, Read, Write, Edit, Bash, Glob, Grep

Workflow-Lite-Test-Review

Test review and fix engine for workflow-lite-execute chain or standalone invocation.

Project Context: Run ccw spec load --category test for test framework conventions, coverage targets, and fixtures.


Usage

<session-path|--last>      Session path or auto-detect last session (required for standalone)
FlagDescription
--in-memoryMode 1: Chain from workflow-lite-execute via testReviewContext global variable
--skip-fixReview only, do not auto-fix failures

Input Modes

Mode 1: In-Memory Chain (from workflow-lite-execute)

Trigger: --in-memory flag or testReviewContext global variable available

Input Source: testReviewContext global variable set by workflow-lite-execute Step 4

Behavior: Skip session discovery, inherit convergenceReviewTool from execution chain, proceed directly to TR-Phase 1.

Note: workflow-lite-execute Step 5 is the chain gate. Mode 1 invocation means execution + code review are complete — proceed with convergence verification + tests.

Mode 2: Standalone

Trigger: User calls with session path or --last

Behavior: Discover session → load plan + tasks → convergenceReviewTool = 'agent' → proceed to TR-Phase 1.

javascript
let sessionPath, plan, taskFiles, convergenceReviewTool

if (testReviewContext) {
  // Mode 1: from workflow-lite-execute chain
  sessionPath = testReviewContext.session.folder
  plan = testReviewContext.planObject
  taskFiles = testReviewContext.taskFiles.map(tf => JSON.parse(Read(tf.path)))
  convergenceReviewTool = testReviewContext.convergenceReviewTool || 'agent'
} else {
  // Mode 2: standalone — find last session or use provided path
  sessionPath = resolveSessionPath($ARGUMENTS)  // Glob('.workflow/.lite-plan/*/plan.json'), take last
  plan = JSON.parse(Read(`${sessionPath}/plan.json`))
  taskFiles = plan.task_ids.map(id => JSON.parse(Read(`${sessionPath}/.task/${id}.json`)))
  convergenceReviewTool = 'agent'
}

const skipFix = $ARGUMENTS?.includes('--skip-fix') || false

Phase Summary

PhaseCore ActionOutput
TR-Phase 1Detect test framework + gather changestestConfig, changedFiles
TR-Phase 2Convergence verification against plan criteriareviewResults[]
TR-Phase 3Run tests + generate checklisttest-checklist.json
TR-Phase 4Auto-fix failures (iterative, max 3 rounds)Fixed code + updated checklist
TR-Phase 5Output report + chain to session:synctest-review.md

TR-Phase 0: Initialize

Set sessionId from sessionPath. Create TodoWrite with 5 phases (Phase 1 = in_progress, rest = pending).

TR-Phase 1: Detect Test Framework & Gather Changes

Test framework detection (check in order, first match wins):

FileFrameworkCommand
package.json with scripts.testjest/vitestnpm test
package.json with scripts['test:unit']jest/vitestnpm run test:unit
pyproject.tomlpytestpython -m pytest -v --tb=short
Cargo.tomlcargo-testcargo test
go.modgo-testgo test ./...

Gather git changes: git diff --name-only HEAD~5..HEAD → changedFiles[]

Output: testConfig = { command, framework, type } + changedFiles[]

// TodoWrite: Phase 1 → completed, Phase 2 → in_progress

TR-Phase 2: Convergence Verification

Skip if: convergenceReviewTool === 'skip' — set all tasks to PASS, proceed to Phase 3.

Verify each task's convergence criteria are met in the implementation and identify test gaps.

Agent Convergence Review (convergenceReviewTool === 'agent', default):

For each task in taskFiles:

  1. Extract convergence.criteria[] from the task
  2. Match task.files[].path against changedFiles to find actually-changed files
  3. Read each matched file, verify each convergence criterion with file:line evidence
  4. Check test coverage gaps:
    • If task.test.unit defined but no matching test files in changedFiles → mark as test gap
    • If task.test.integration defined but no integration test in changedFiles → mark as test gap
  5. Build reviewResult = { taskId, title, criteria_met[], criteria_unmet[], test_gaps[], files_reviewed[] }

Verdict logic:

  • PASS = all convergence.criteria met + no test gaps
  • PARTIAL = some criteria met OR has test gaps
  • FAIL = no criteria met

CLI Convergence Review (convergenceReviewTool === 'gemini' or 'codex'):

javascript
const reviewId = `${sessionId}-convergence`
const taskCriteria = taskFiles.map(t => `${t.id}: [${(t.convergence?.criteria || []).join(' | ')}]`).join('\n')
Bash(`ccw cli -p "PURPOSE: Convergence verification — check each task's completion criteria against actual implementation
TASK: • For each task below, verify every convergence criterion is satisfied in the changed files • Mark each criterion as MET (with file:line evidence) or UNMET (with what's missing) • Identify test coverage gaps (planned tests not found in changes)

TASK CRITERIA:
${taskCriteria}

CHANGED FILES: ${changedFiles.join(', ')}

MODE: analysis
CONTEXT: @${sessionPath}/plan.json @${sessionPath}/.task/*.json @**/* | Memory: workflow-lite-execute completed
EXPECTED: Per-task verdict (PASS/PARTIAL/FAIL) with per-criterion evidence + test gap list
CONSTRAINTS: Read-only | Focus strictly on convergence criteria verification, NOT code quality (code review already done in workflow-lite-execute)" --tool ${convergenceReviewTool} --mode analysis --id ${reviewId}`, { run_in_background: true })
// STOP - wait for hook callback, then parse CLI output into reviewResults format

// TodoWrite: Phase 2 → completed, Phase 3 → in_progress

Show full SKILL.md (271 more words)Show less

TR-Phase 3: Run Tests & Generate Checklist

Build checklist from reviewResults:

  • Per task: status = PASS (all criteria met) / PARTIAL (some met) / FAIL (none met)
  • Collect test_items from task.test.unit[], task.test.integration[], task.test.success_metrics[] + review test_gaps

Run tests if testConfig.command exists:

  • Execute with 5min timeout
  • Parse output: detect passed/failed patterns → overall: 'PASS' | 'FAIL' | 'UNKNOWN'

Write ${sessionPath}/test-checklist.json

// TodoWrite: Phase 3 → completed, Phase 4 → in_progress

TR-Phase 4: Auto-Fix Failures (Iterative)

Skip if: skipFix === true OR testChecklist.execution?.overall !== 'FAIL'

Max iterations: 3. Each iteration:

  1. Delegate to test-fix-agent:
javascript
Agent({
  subagent_type: "test-fix-agent",
  run_in_background: false,
  description: `Fix tests (iter ${iteration})`,
  prompt: `## Test Fix Iteration ${iteration}/${MAX_ITERATIONS}

**Test Command**: ${testConfig.command}
**Framework**: ${testConfig.framework}
**Session**: ${sessionPath}

### Failing Output (last 3000 chars)
\`\`\`
${testChecklist.execution.raw_output}
\`\`\`

### Plan Context
**Summary**: ${plan.summary}
**Tasks**: ${taskFiles.map(t => `${t.id}: ${t.title}`).join(' | ')}

### Instructions
1. Analyze test failure output to identify root cause
2. Fix the SOURCE CODE (not tests) unless tests themselves are wrong
3. Run \`${testConfig.command}\` to verify fix
4. If fix introduces new failures, revert and try alternative approach
5. Return: what was fixed, which files changed, test result after fix`
})
  1. Re-run testConfig.command → update testChecklist.execution
  2. Write updated test-checklist.json
  3. Break if tests pass; continue if still failing

If still failing after 3 iterations → log "Manual investigation needed"

// TodoWrite: Phase 4 → completed, Phase 5 → in_progress

TR-Phase 5: Report & Sync

CHECKPOINT: This step is MANDATORY. Always generate report and trigger sync.

Generate test-review.md with sections:

  • Header: session, summary, timestamp, framework
  • Task Verdicts table: task_id | status | convergence (met/total) | test_items | gaps
  • Unmet Criteria: per-task checklist of unmet items
  • Test Gaps: list of missing unit/integration tests
  • Test Execution: command, result, fix iteration (if applicable)

Write ${sessionPath}/test-review.md

Chain to session:sync:

javascript
Skill({ skill: "workflow:session:sync", args: `-y "Test review: ${testChecklist.execution?.overall || 'no-test'} — ${plan.summary}"` })

// TodoWrite: Phase 5 → completed

Display summary: Per-task verdict with [PASS]/[PARTIAL]/[FAIL] icons, convergence ratio, overall test result.

Data Structures

testReviewContext (Input - Mode 1, set by workflow-lite-execute Step 5)
javascript
{
  planObject: { /* same as executionContext.planObject */ },
  taskFiles: [{ id: string, path: string }],
  convergenceReviewTool: "skip" | "agent" | "gemini" | "codex",
  executionResults: [...],
  originalUserInput: string,
  session: {
    id: string,
    folder: string,
    artifacts: { plan: string, task_dir: string }
  }
}
testChecklist (Output artifact)
javascript
{
  session: string,
  plan_summary: string,
  generated_at: string,
  test_config: { command, framework, type },
  tasks: [{
    task_id: string,
    title: string,
    status: "PASS" | "PARTIAL" | "FAIL",
    convergence: { met: string[], unmet: string[] },
    test_items: [{ type: "unit"|"integration"|"metric", desc: string, status: "pending"|"missing" }]
  }],
  execution: {
    command: string,
    timestamp: string,
    raw_output: string,       // last 3000 chars
    overall: "PASS" | "FAIL" | "UNKNOWN",
    fix_iteration?: number
  } | null
}

Session Folder Structure (after test-review)

.workflow/.lite-plan/{session-id}/
├── exploration-*.json
├── explorations-manifest.json
├── planning-context.md
├── plan.json
├── .task/TASK-*.json
├── test-checklist.json          # structured test results
└── test-review.md               # human-readable report

Error Handling

ErrorResolution
No session found"No workflow-lite-plan sessions found. Run workflow-lite-plan first."
Missing plan.json"Invalid session: missing plan.json at {path}"
No test frameworkSkip TR-Phase 3 execution, still generate review report
Test timeoutCapture partial output, report as FAIL
Fix agent failsLog iteration, continue to next or stop at max
Sync failsLog warning, do not block report generation

© catlog22, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/workflow-lite-test-review of catlog22/Claude-Code-Workflow.

Open the folder on GitHubat commit 07491b0

Compare with similar skills

Workflow Lite Test 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.

Workflow Lite Test Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Workflow Lite Test Review this skillcatlog22/Claude-Code-Workflow2.1k—~2.7kAutomated safety check: NotesMIT
CoverageLiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator1.8k—~1.8kAutomated safety check: PassGPL-3.0
Running TestsNangoHQ/nango13k—~876Automated safety check: PassCustom licence
Run Unit TestsAzure/cosmos-explorer131—~638Automated safety check: PassMIT
ClickUp CLI Testingkrodak/clickup-cli121—~1.4kAutomated safety check: NotesMIT
Tsed Migrationtsedio/tsed3.1k—~2.5kAutomated safety check: PassMIT

Similar skills

  • Coverage

    LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator

    Run and read unit-test coverage for this repo and satisfy the codecov/patch and codecov/changes gates.

    1.8k GitHub stars~1.8k tokensUpdated 2 days ago
    Testing & QAAuto-check passed
  • Running Tests

    NangoHQ/nango

    A skill your agent uses when running tests in the Nango monorepo - knows unit vs integration configs, vitest commands, Docker setup, and common test patterns

    13k GitHub stars~876 tokensUpdated today
    Testing & QAAuto-check passed
  • Run Unit Tests

    Azure/cosmos-explorer

    Official

    Run unit tests for the Cosmos Explorer project. An agent skill from Azure/cosmos-explorer.

    131 GitHub stars~638 tokensUpdated yesterday
    Testing & QAAuto-check passed
  • ClickUp CLI Testing

    krodak/clickup-cli

    Explains how to run and extend the clickup-cli tests: unit tests with a mocked client, e2e tests against a real ClickUp workspace, and the fixture data they rely on.

    121 GitHub stars~1.4k tokensUpdated 3 days ago
    Testing & QAAuto-check: notes
  • Tsed Migration

    tsedio/tsed

    Migrates an application to Ts.ED v8 from v7, with pointers for v6 and plain Express apps.

    3.1k GitHub stars~2.5k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Handsontable Unit Testing

    handsontable/handsontable

    Conventions for Handsontable's Jest unit and TypeScript type tests: where files go, how to run them, mocking limits and when to write an E2E test instead.

    22k GitHub stars~1.2k tokensUpdated today
    Testing & QAAuto-check passed

More from catlog22/Claude-Code-Workflow

All 82 skills in this repo
  • Ccw Help

    catlog22/Claude-Code-Workflow

    CCW command help system. An agent skill from catlog22/Claude-Code-Workflow.

    2.1k GitHub stars~2.5k tokensUpdated 3 mo ago
    Auto-check passed
  • Brainstorm

    catlog22/Claude-Code-Workflow

    Unified brainstorming skill with dual-mode operation — auto mode (framework generation, parallel multi-role analysis, cross-role synthesis) and single role analysis.

    2.1k GitHub stars~4.8k tokensUpdated 3 mo ago
    Auto-check: notes
  • Ccw Chain

    catlog22/Claude-Code-Workflow

    Chain-based CCW workflow orchestrator. An agent skill from catlog22/Claude-Code-Workflow.

    2.1k GitHub stars~1.1k tokensUpdated 3 mo ago
    Auto-check: notes
  • Delegation Check

    catlog22/Claude-Code-Workflow

    Check workflow delegation prompts against agent role definitions for content separation violations.

    2.1k GitHub stars~2.8k tokensUpdated 3 mo ago
    Auto-check: notes
  • Investigate

    catlog22/Claude-Code-Workflow

    Systematic debugging with Iron Law methodology. An agent skill from catlog22/Claude-Code-Workflow.

    2.1k GitHub stars~1.1k tokensUpdated 3 mo ago
    Auto-check: notes
  • Issue Discover

    catlog22/Claude-Code-Workflow

    Unified issue discovery and creation. An agent skill from catlog22/Claude-Code-Workflow.

    2.1k GitHub stars~3.3k tokensUpdated 3 mo ago
    Auto-check: notes

Works with

Categories

Questions about Workflow Lite Test Review

What does Workflow Lite Test Review do?

Post-execution test review and fix - chain from workflow-lite-execute or standalone. Workflow Lite Test Review is an agent skill from catlog22/Claude-Code-Workflow. Post-execution test review and fix - chain from workflow-lite-execute or standalone.

When should I use Workflow Lite Test Review?

Workflow Lite Test Review fits situations like: tasks that involve Unit testing.

How do I install Workflow Lite Test Review in Claude Code?

Run `npx skills add catlog22/Claude-Code-Workflow --skill workflow-lite-test-review -a claude-code`. Or copy the skill folder (.claude/skills/workflow-lite-test-review in catlog22/Claude-Code-Workflow) into .claude/skills/workflow-lite-test-review in your project. Claude Code loads it when a task matches its description.

How do I install Workflow Lite Test Review in Codex?

Run `npx skills add catlog22/Claude-Code-Workflow --skill workflow-lite-test-review -a codex`. Or copy the skill folder (.claude/skills/workflow-lite-test-review in catlog22/Claude-Code-Workflow) into .agents/skills/workflow-lite-test-review in your project. Codex loads it when a task matches its description.

Can I use Workflow Lite Test Review in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add catlog22/Claude-Code-Workflow --skill workflow-lite-test-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/workflow-lite-test-review, .gemini/skills/workflow-lite-test-review, .github/skills/workflow-lite-test-review and .opencode/skills/workflow-lite-test-review in your project.

What does Workflow Lite Test Review need to run?

Going by SKILL.md and its folder, Workflow Lite Test Review needs the command-line tools its instructions call (npm, python, cargo, go and git). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Skill, Agent, AskUserQuestion, TodoWrite, Read, Write, Edit, Bash, Glob, Grep.

Does Workflow Lite Test Review access the network?

SKILL.md contains no URLs. Its commands use npm and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Workflow Lite Test Review safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Workflow Lite Test Review use?

Workflow Lite Test Review is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Workflow Lite Test Review use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Workflow Lite Test Review?

Skills that share tags, products or a category with Workflow Lite Test Review: Coverage (LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator, 1.8k stars), Running Tests (NangoHQ/nango, 13k stars), Run Unit Tests (Azure/cosmos-explorer, 131 stars) and ClickUp CLI Testing (krodak/clickup-cli, 121 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Workflow Lite Test Review?

catlog22 (a GitHub user) maintains it in catlog22/Claude-Code-Workflow, which has 2,130 GitHub stars. The repository holds 82 skills in this directory. The repository was last updated on June 18, 2026.

Source: catlog22/Claude-Code-Workflow on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.