Skip to content
Development
Skill

/wisp-diagnose

Use when a WISP run failed unexpectedly or is stuck — fetches the event timeline for a run, highlights failures, and prints the verify-failed payloads with full output so the user can see exactly why a task failed. Trigger on phrases like "why did the run fail", "diagnose the

From plugin
wisp
412 skills4 agents1 command2 hooks

Claude Code

$ npx -y skills add Samuel0101010/wisp-orchestrator --skill wisp-diagnose --agent claude-code

SKILL.md

wisp-diagnose.SKILL.md
name: wisp-diagnose
description: Use when a WISP run failed unexpectedly or is stuck — fetches the event timeline for a run, highlights failures, and prints the verify-failed payloads with full output so the user can see exactly why a task failed. Trigger on phrases like "why did the run fail", "diagnose the harness", "what went wrong with the run".

WISP — Diagnose Run

Inspect a run's event timeline to figure out what failed and why.

> **Platform note**: snippets below show both bash and PowerShell forms. Pick the one matching the user's shell. The bash form also runs from Git Bash / WSL on Windows.

Inputs

  • **runId**: the run UUID. Ask the user if not provided.

Steps

1. **Fetch the events**:

   # bash
   curl -s "http://127.0.0.1:${WISP_PORT:-4400}/api/runs/<runId>/events?limit=500"
   # PowerShell
   $port = if ($env:WISP_PORT) { $env:WISP_PORT } else { 4400 }
   Invoke-RestMethod -Uri "http://127.0.0.1:$port/api/runs/<runId>/events?limit=500"

Response: `{"events": [{"type":"...", "payload":..., ...}, ...]}` ordered oldest-first.

2. **Show the timeline**, condensed: print one line per event of interest. Skip noisy types (`task.text-delta`, `task.usage` — print usage totals at the end instead). Format:

   <timestamp>  <event type>  <task id>  <one-line summary>

3. **Highlight failures**: for each `task.failed`, `harness.verify-failed`, `qa.replan-triggered`, `qa.replan-exhausted`, `rate-limit.hit`, `run.paused` event, print the FULL payload (not a one-liner). Especially:

  • `harness.verify-failed.payload.failures[*]` — kind, cmd, exitCode, tail
  • `harness.verify-failed.payload.output` — full output (truncate to last 100 lines if huge)
  • `qa.replan-triggered.payload.reason` — what QA reported

4. **Token & duration totals**: query `/api/runs/<runId>` to get the per-task token/turn totals. Print as a small table.

5. **Verdict**: in 1-2 sentences, summarise WHY the run failed (or what it's currently stuck on). Quote a specific event payload as evidence.

Useful event types to know

| Type | Means | |---|---| | `task.started` | A task subprocess began | | `task.completed` | The subprocess returned (regardless of verify result) | | `harness.verify-failed` | The verify gate (build/test/lint/custom/preflight) rejected the task; full failures + output payload | | `task.failed` | Terminal failure; subsequent dependent tasks were cancelled | | `qa.replan-triggered` | M5 — QA failure caused the walker to swap in a new plan | | `qa.replan-exhausted` | M5 — replan cap hit OR replan callback returned null | | `rate-limit.hit` | A subprocess hit a Claude rate limit; usually followed by `run.paused` | | `run.paused` | Walker paused (rate-limit / user / shutdown / consecutive-failures) |

Notes

  • Events are persisted to SQLite under `<WISP_DATA_DIR>/harness.db`. If the API is down, you can read them directly with sqlite3 from the harness.db.
  • For runs that completed long ago, all event details are still in the DB — there's no retention policy.
Read more
@samuel0101010
Ships withwisp

Visual team-builder, plan-as-artifact, and live execution graph for autonomous Claude Code agent crews. Spawn a 3-role team, generate a DAG plan, run for hours, watch it ship in your browser.

412 skills4 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
4
Star history of Samuel0101010/wisp-orchestrator on GitHub, a chart by star-history.com

Other skills on wisp.

auto-doc

auto-doc

Drafts a docs/solutions/YYYY-MM-DD-<slug>.md entry for a recently completed run, capturing problem/solution/lessons.

@samuel0101010@samuel0101010Install Skill
builder-discipline

builder-discipline

Working discipline for code-writing agents — read before edit, smallest correct change, run the gates before claiming done.…

@samuel0101010@samuel0101010Install Skill
deep-research

deep-research

Conducts focused research on a topic by reading project files, searching memory, and synthesizing findings into a structured…

@samuel0101010@samuel0101010Install Skill
doctor

doctor

Self-diagnostics for the harness — checks DB integrity, MCP wiring, claude binary availability, and recent run failures.

@samuel0101010@samuel0101010Install Skill
frontend-quality

frontend-quality

Visual + interaction quality bar for frontend roles — states, responsiveness, accessibility, consistency. Injected into frontend…

@samuel0101010@samuel0101010Install Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about wisp-diagnose.

Which coding agents can use wisp-diagnose?
wisp-diagnose installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.