Agent skill

Diagnose Why Work Stopped

by paperclipai in paperclipai/paperclip

Diagnose stalled, looping, or over-recovered Paperclip issue trees and propose a no-code product-rule plan.

MITAuto-check passed

Install Diagnose Why Work Stopped

skills CLI
$ npx skills add paperclipai/paperclip --skill diagnose-why-work-stopped -a claude-code

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

GitHub CLI
$ gh skill install paperclipai/paperclip diagnose-why-work-stopped --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/paperclipai/paperclip.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/diagnose-why-work-stopped .claude/skills/diagnose-why-work-stopped && 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
diagnose-why-work-stopped
GitHub stars
100k
Token cost
~2.8k tokens
SKILL.md length
1,554 words
Files
1
Skills in repo
60
Repo updated
First seen
Licence
MIT

At a glance

Diagnose stalled, looping, or over-recovered Paperclip issue trees and propose a no-code product-rule plan.

  • Works in 9 steps: Read the current execution contract → Forensics on the named tree — before… → Survey recent related work → …
  • Asked why work stopped
  • SKILL.md covers When to use, When NOT to use, Three invariants you must… and Procedure, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Diagnose Why Work Stopped is an agent skill from paperclipai/paperclip. Diagnose stalled, looping, or over-recovered Paperclip issue trees and propose a no-code product-rule plan. Use when asked why work stopped, why it looped, or how to prevent a tree from going too deep.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: The open-source app everyone uses to manage agents at work. The licence is MIT.

When your agent uses it

  • Asked why work stopped
  • How to prevent a tree from going too deep

Example prompts

  • “/diagnose-why-work-stopped”

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Read the current execution contract
  2. Forensics on the named tree — before anything else
  3. Survey recent related work
  4. Classify each non-progressing issue in the tree
  5. Frame as a general product rule
  6. Plan, do not code
  7. Request approval, then decompose
  8. Phase 0 hygiene on the named tree
  9. Final close-out

What it can do on your machine

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

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

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

  • Network

    No URLs in SKILL.md.

    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

Diagnose Why Work Stopped loads about 2.8k tokens when it runs. Until then it costs about 57 tokens; SKILL.md has 1,554 words of instructions outside code blocks.

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

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 passed

The automated check found no risky patterns in SKILL.md.

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 paperclipai/paperclip at commit de9ab8e, republished under its MIT licence (© paperclipai). 1,554 words, ~2,847 tokens.

Download SKILL.mdSave it as .claude/skills/diagnose-why-work-stopped/SKILL.md (or your agent's skills folder).
name
diagnose-why-work-stopped
description
Diagnose stalled, looping, or over-recovered Paperclip issue trees and propose a no-code product-rule plan. Use when asked why work stopped, why it looped, or how to prevent a tree from going too deep.

Diagnose Why Work Stopped

A repeatable procedure for the recurring class of issues where the user (or a manager) points at a stalled / looping / over-recovered issue tree and asks "why did this stop / why is this looping / how do we make sure this doesn't happen again?"

This skill is diagnostic + product-design, not engineering. The output is a written root cause and an approved plan. No code changes leave this skill.

Canonical execution model: read doc/execution-semantics.md before diagnosing or proposing a new liveness/recovery rule. Use that document as the source of truth for status, action-path, post-run disposition, bounded continuation, productivity review, pause-hold, watchdog, and explicit recovery semantics. If the investigation finds a true product-rule gap, the plan should say whether doc/execution-semantics.md needs a matching update.

When to use

Trigger on an assignment whose title or body matches any of:

  • "why did this work stop", "why did this stall", "why did this just stop"
  • "infinite loop", "looping", "spinning", "going too deep", "recovery went too deep"
  • "liveness — what happened here", "this tree stopped working", "stuck"
  • "approach it from a product perspective", "general product principle / rule"
  • An attached link to a specific stalled / looping / over-recovered issue tree

Also use when the user asks for forensics, root cause, or a write-up before any product change.

When NOT to use

  • The assignment asks you to ship a code change directly. Use normal engineering flow.
  • The assignment is a normal bug report against a specific feature. Use normal investigation.
  • You are the original implementer being asked to fix your own bug. Use normal debugging.

Three invariants you must preserve

Every diagnosis and every proposed rule must hold these three invariants together. The user has restated them on at least four issues; treat them as load-bearing:

  1. Productive work continues. Agents that have a clear next action must keep working without needing the user to wake them. (PAP-2674, PAP-2708)
  2. Only real blockers stop work. Stops happen when something genuinely cannot proceed (missing approval, missing dependency, human owner). Pseudo-stops (in_review with no action path, cancelled leaves, malformed metadata) must be detected and routed, not left silent. (PAP-2335, PAP-2674)
  3. No infinite loops. Stranded-work recovery and continuation loops must be bounded and distinguishable from genuinely productive continuation. (PAP-2602, PAP-2486)

If a proposed rule violates any of the three, drop it or rework it. State explicitly in the plan how each invariant is held.

Procedure

0. Read the current execution contract

Before walking the tree, read doc/execution-semantics.md and keep its terms intact:

  • live path / waiting path / recovery path
  • post-run disposition: terminal, explicitly live, explicitly waiting, invalid
  • bounded run_liveness_continuation
  • productivity review vs liveness recovery
  • active subtree pause holds
  • silent active-run watchdog

Do not invent a new rule until you can state how it differs from the current execution semantics document.

1. Forensics on the named tree — before anything else

Do this in the same heartbeat. Do not propose a rule until you have a concrete stop point.

  • Open the linked issue (and its blocker chain, parents, recovery siblings, recent runs).
  • Walk the tree node-by-node and find the exact issue + state combination that stops the world. Common shapes seen in the company so far:
    • in_review with no typed execution participant, no active run, no pending interaction, no recovery issue (PAP-2335, PAP-2674).
    • in_progress after a successful run with no future action path queued (PAP-2674).
    • Blocker chain whose leaf is cancelled / malformed / cross-company-inaccessible (PAP-2602).
    • issue.continuation_recovery waking the same issue >N times after successful runs (PAP-2602).
    • Stranded-work recovery treating its own recovery issues as more recoverable source work (PAP-2486).
  • Quote the evidence: run ids, comment timestamps, status transitions. "Inferred" is acceptable only when an API boundary blocks direct evidence — say so explicitly and mark the claim provisional (PAP-2631).

Respect the API boundary. If the linked issue is in another company and your agent token returns 403, do not bypass scoping. Either request a board-approved diagnostic path or proceed from inferred PAP-side evidence and label it.

Before proposing a new product rule, read what already shipped this week in the same area. The user has explicitly called this out: (PAP-2602) "review our recent work on liveness that we shipped in the last couple of days." A new rule that contradicts code merged 48 hours ago is rework, not improvement.

Quick survey:

  • Recent merged PRs in the affected area.
  • Recent done issues whose title mentions liveness, recovery, productivity, continuation, or the affected subsystem.
  • Any active plan documents on parent issues. The fix may belong as a revision to an existing plan, not as a new top-level proposal.

State in the forensics: "I reviewed X, Y, Z. The new gap is …"

3. Classify each non-progressing issue in the tree

For every issue in the affected tree that is not done / cancelled / actively running, decide:

  • Truly needs human or board intervention — name the owner and the action.
  • Agent-actionable but not currently routed — name the rule that would have routed it, and the agent that should have been waked.
  • Already covered — point at the active run, queued wake, recovery issue, or pending interaction.

This is the table the user has asked for repeatedly (PAP-2335). Without it the plan is abstract.

4. Frame as a general product rule

The user does not want a one-off patch on the named tree. They want the rule. Two checks:

  • The rule is stated as a contract, not as an if/else patch. Example contract: "every agent-owned non-terminal issue must finish each heartbeat with a terminal state, an explicit waiting path, or an explicit live path" (PAP-2674).
  • The rule is reconciled against doc/execution-semantics.md. Prefer citing and applying the existing contract; propose a document change only when the current doc is incomplete or contradicted by accepted/implemented behavior.
  • The rule explicitly preserves the three invariants above. Show the work.

If the rule would have blocked a recent productive run from succeeding, drop or narrow it.

Show full SKILL.md (582 more words)Show less
5. Plan, do not code

Write the plan into the issue's plan document. Cover:

  • Forensics summary (root cause + evidence).
  • The general product rule, stated as a contract.
  • Whether the existing doc/execution-semantics.md contract already covers the case, or what exact documentation update is needed.
  • Phased subtasks: typically Phase 0 resolves the named live tree (carefully, not destructively), Phase 1 codifies the contract in docs, then implementation phases for detection, recovery, UI surfacing, security review, QA, and CTO review.
  • Explicit assignees per phase; favor team specialty (CodexCoder for server, ClaudeCoder for FE, UXDesigner for visible state, SecurityEngineer for ownership/permissions, QA for validation).
  • Blocking dependencies wired with blockedByIssueIds, parallel branches identified.

Do not create the child issues yet. Do not push code.

6. Request approval, then decompose
  • Open a request_confirmation interaction targeting the latest plan revision. Idempotency key confirmation:{issueId}:plan:{revisionId}.
  • Wait for board/CTO acceptance. If the user posts a new comment that supersedes the plan, the prior confirmation is invalidated — open a fresh confirmation tied to the new revision (PAP-2602 cycled three revisions; that is fine).
  • Only after acceptance: create the phased child issues with the right assignees and dependencies, then block this parent on the final QA / CTO review issue so the parent only wakes when the chain finishes.
7. Phase 0 hygiene on the named tree

Phase 0 cleans up the live tree without papering over evidence:

  • Move stalled in_review leaves with no participant to todo with a precise next action and named owner (PAP-2335).
  • Detach cancelled/dead blockers from chains they were holding hostage; do not silently mark issues done to clear backlog.
  • Leave a comment on the original named issue summarizing what changed and why; never hide the recovery chain history.
8. Final close-out

When the phase chain is complete, post a board-level summary comment on the parent issue: what changed, what the new contract is, what the rollout step is (e.g. "restart the control-plane to pick up the new response shape"), and the live state of the originally-named tree. Then close the parent.

Pitfalls

  • Coding before approval. The user has said "make a plan first" on every recent diagnostic issue. Producing code in the forensic phase wastes the round-trip.
  • Restating one invariant at the cost of another. Bound continuation too tightly and productive work stalls; loosen recovery and infinite loops return. Always check all three.
  • Skipping the recent-work survey. Proposing a contract that contradicts what shipped 24 hours ago is the easiest way to get the plan rejected.
  • Letting "in_review" mean done. A leaf assigned to another agent with no participant or active run is not progress; treat it as a stop.
  • Bypassing company scoping. Cross-company forensics needs a board-approved diagnostic path, not a database read.
  • Recursive recovery. Stranded-work recovery that recovers its own recovery issues is the canonical infinite loop (PAP-2486). Detect it and refuse to deepen.
  • Hiding the chain. Don't silently delete or hide the symptomatic recovery issues — the operator needs the audit trail.

Verification checklist (before posting the plan)

  • The exact stop point in the named tree is identified with run ids / comment ids.
  • Recent shipped work in the same area was surveyed and is referenced.
  • Every non-progressing issue is classified human-needed / agent-actionable / already-covered.
  • The proposed rule is stated as a contract, not a patch.
  • All three invariants are explicitly preserved.
  • No code change has landed in this heartbeat.
  • A request_confirmation against the latest plan revision is open.
  • Phase 0 of the plan addresses the live named tree without destroying evidence.
  • Implementation phases name specialty-appropriate assignees and blockedByIssueIds dependencies.

© paperclipai, 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 .agents/skills/diagnose-why-work-stopped of paperclipai/paperclip.

Open the folder on GitHubat commit de9ab8e

Compare with similar skills

Diagnose Why Work Stopped 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.

Diagnose Why Work Stopped compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Diagnose Why Work Stopped this skillpaperclipai/paperclip100k—~2.8kAutomated safety check: PassMIT
Loopalirezarezvani/claude-skills28k1 repos~1.1kAutomated safety check: PassMIT
PaperclipK-Dense-AI/scientific-agent-skills48k1 repos~3.2kAutomated safety check: NotesMIT
Autonomous Loopsaffaan-m/ECC277k4 repos~5.8kAutomated safety check: PassMIT
Diagnose Fix LoopCherryHQ/cherry-studio-app4k—~1.1kAutomated safety check: PassAGPL-3.0
Goal Loopsickn33/agentic-awesome-skills47k1 repos~2.6kAutomated safety check: PassMIT

Similar skills

  • Loop

    alirezarezvani/claude-skills

    Start an autonomous experiment loop with user-selected interval (10min, 1h, daily, weekly, monthly).

    28k GitHub starsUsed in 1 repo~1.1k tokens
    Agent WorkflowsAuto-check passed
  • Paperclip

    K-Dense-AI/scientific-agent-skills

    Searches and reads biomedical papers, FDA/PMDA/EMA documents, clinical trials, and protein records with the GXL Paperclip CLI and Python SDK.

    48k GitHub starsUsed in 1 repo~3.2k tokens
    Research & ScienceAuto-check: notes
  • Autonomous Loops

    affaan-m/ECC

    Patterns and architectures for autonomous Claude Code loops — from simple sequential pipelines to RFC-driven multi-agent DAG systems.

    277k GitHub starsUsed in 4 repos~5.8k tokens
    Agent WorkflowsAuto-check passed
  • Diagnose Fix Loop

    CherryHQ/cherry-studio-app

    Iterative diagnose-and-fix workflow that repeatedly uses the diagnose skill to find a proven problem, plan the smallest credible improvement, implement it, re-diagnose, and continue until no useful…

    4k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Goal Loop

    sickn33/agentic-awesome-skills

    Draft and explain persistent goal-loop prompts for long-running agent work with clear stop conditions.

    47k GitHub starsUsed in 1 repo~2.6k tokens
    Agent WorkflowsAuto-check passed
  • Loop

    asgeirtj/system_prompts_leaks

    Run a prompt or slash command on a recurring interval (e.g. An agent skill from asgeirtj/system_prompts_leaks.

    69k GitHub stars~2.2k tokensUpdated yesterday
    Agent WorkflowsAuto-check: warnings

More from paperclipai/paperclip

All 60 skills in this repo
  • Garden Inbox

    paperclipai/paperclip

    Scan a Paperclip user's Mine inbox, classify reversible archive candidates, request checkbox confirmation, and archive only accepted selections.

    100k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Paperclip

    paperclipai/paperclip

    Interact with the Paperclip control plane API for task coordination and governance.

    100k GitHub stars~9.6k tokensUpdated today
    Auto-check passed
  • Paperclip

    paperclipai/paperclip

    A skill your agent uses for Paperclip-managed tasks and heartbeats: reading task context, delivering task documents or files, updating completion or blockers, coordinating or delegating work, and…

    100k GitHub stars~18k tokensUpdated today
    Auto-check passed
  • Design Guide

    paperclipai/paperclip

    Paperclip UI design system guide for building consistent, reusable frontend components.

    100k GitHub starsUsed in 1 repo~3.1k tokens
    Auto-check passed
  • Paperclip Page

    paperclipai/paperclip

    Publish static HTML pages and asset folders to the Paperclip S3/CloudFront page host.

    100k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Paperclip Create Agent

    paperclipai/paperclip

    Create new agents in Paperclip with governance-aware hiring.

    100k GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check passed

Questions about Diagnose Why Work Stopped

What does Diagnose Why Work Stopped do?

Diagnose stalled, looping, or over-recovered Paperclip issue trees and propose a no-code product-rule plan. Diagnose Why Work Stopped is an agent skill from paperclipai/paperclip. Diagnose stalled, looping, or over-recovered Paperclip issue trees and propose a no-code product-rule plan.

When should I use Diagnose Why Work Stopped?

Diagnose Why Work Stopped fits situations like: asked why work stopped; how to prevent a tree from going too deep.

How do I install Diagnose Why Work Stopped in Claude Code?

Run `npx skills add paperclipai/paperclip --skill diagnose-why-work-stopped -a claude-code`. Or copy the skill folder (.agents/skills/diagnose-why-work-stopped in paperclipai/paperclip) into .claude/skills/diagnose-why-work-stopped in your project. Claude Code loads it when a task matches its description.

How do I install Diagnose Why Work Stopped in Codex?

Run `npx skills add paperclipai/paperclip --skill diagnose-why-work-stopped -a codex`. Or copy the skill folder (.agents/skills/diagnose-why-work-stopped in paperclipai/paperclip) into .agents/skills/diagnose-why-work-stopped in your project. Codex loads it when a task matches its description.

Can I use Diagnose Why Work Stopped 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 paperclipai/paperclip --skill diagnose-why-work-stopped -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/diagnose-why-work-stopped, .gemini/skills/diagnose-why-work-stopped, .github/skills/diagnose-why-work-stopped and .opencode/skills/diagnose-why-work-stopped in your project.

What does Diagnose Why Work Stopped need to run?

SKILL.md names no scripts, command-line tools or credentials: Diagnose Why Work Stopped is instructions for the agent only.

Does Diagnose Why Work Stopped access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Diagnose Why Work Stopped safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Diagnose Why Work Stopped use?

Diagnose Why Work Stopped 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 Diagnose Why Work Stopped use?

About 2.8k 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 Diagnose Why Work Stopped?

Skills that share tags, products or a category with Diagnose Why Work Stopped: Loop (alirezarezvani/claude-skills, 28k stars), Paperclip (K-Dense-AI/scientific-agent-skills, 48k stars), Autonomous Loops (affaan-m/ECC, 277k stars) and Diagnose Fix Loop (CherryHQ/cherry-studio-app, 4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Diagnose Why Work Stopped?

paperclipai (a GitHub organization) maintains it in paperclipai/paperclip, which has 99,905 GitHub stars. The repository holds 60 skills in this directory. The repository was last updated on October 11, 2026.

Source: paperclipai/paperclip on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.