Agent skill

Troubleshoot

by ucsandman in ucsandman/DashClaw

Debug DashClaw errors, signal issues, and misconfigurations. An agent skill from ucsandman/DashClaw.

MITAuto-check passedAI & LLM Engineering

Install Troubleshoot

skills CLI
$ npx skills add ucsandman/DashClaw --skill troubleshoot -a claude-code

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

GitHub CLI
$ gh skill install ucsandman/DashClaw troubleshoot --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/ucsandman/DashClaw.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/dashclaw-agent/troubleshoot .claude/skills/troubleshoot && 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
troubleshoot
GitHub stars
311
Token cost
~2.3k tokens
SKILL.md length
1,029 words
Files
1
Skills in repo
13
Repo updated
First seen
Licence
MIT

At a glance

Debug DashClaw errors, signal issues, and misconfigurations. An agent skill from ucsandman/DashClaw.

  • Works in 8 steps: Autonomy Spikes → High Impact, Low Oversight → Repeated Failures → …
  • Tasks that involve Building AI agents
  • SKILL.md covers Error Code Diagnostics, Common Gotchas, Signal Debugging and Diagnostic Tools, plus 1 more section
  • Calls node, curl and jq; needs DASHCLAW_API_KEY

What it does

Troubleshoot is an agent skill from ucsandman/DashClaw. Debug DashClaw errors, signal issues, and misconfigurations

Its SKILL.md is about 2.3k 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 AI & LLM Engineering, covering Building AI agents. It works with Model Context Protocol. The repository describes itself as: Remote approvals, policy checks, and execution evidence for unattended AI agents. The licence is MIT.

When your agent uses it

  • Tasks that involve Building AI agents

Example prompts

  • “/troubleshoot”

Requirements

  • Python 3
  • A credential in DASHCLAW_API_KEY

Workflow steps

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

  1. Autonomy Spikes
  2. High Impact, Low Oversight
  3. Repeated Failures
  4. Stale Open Loops
  5. Assumption Drift
  6. Stale Assumptions
  7. Stale Running Actions
  8. Agent Silent

What it can do on your machine

Read from SKILL.md and the folder at commit 704824d. 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

    Shell commands in SKILL.md call:

    • node
    • curl
    • jq
    • python
    • npm

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

  • Network

    No URLs in SKILL.md. Its commands use curl and npm, 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 these keys or tokens, usually read from environment variables:

    • DASHCLAW_API_KEY

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

Context cost

Troubleshoot loads about 2.3k tokens when it runs. Until then it costs about 18 tokens; SKILL.md has 1,029 words of instructions outside code blocks.

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

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 ucsandman/DashClaw at commit 704824d, republished under its MIT licence (© ucsandman). 1,029 words, ~2,293 tokens.

Download SKILL.mdSave it as .claude/skills/troubleshoot/SKILL.md (or your agent's skills folder).
name
troubleshoot
description
Debug DashClaw errors, signal issues, and misconfigurations
license
MIT
metadata.author
ucsandman
metadata.version
1.0.0
metadata.category
debugging

Troubleshoot DashClaw

Systematic diagnostics for common DashClaw errors, signal anomalies, and configuration issues.

Error Code Diagnostics

401 Unauthorized

Symptom: API calls return 401.

Checklist:

  1. Verify x-api-key header is set (not Authorization: Bearer)
  2. Check DASHCLAW_API_KEY environment variable is set
  3. Confirm the key hasn't been rotated — API keys are shown once at creation
  4. Test with curl:
    bash
    curl -H "x-api-key: $DASHCLAW_API_KEY" $DASHCLAW_BASE_URL/api/health

Root cause: DashClaw uses x-api-key header, not Bearer tokens. The middleware does timing-safe comparison first, then falls back to hash lookup.

403 Forbidden

Symptom: API calls return 403.

Checklist:

  1. Demo mode? Demo mode blocks all write operations. Check DASHCLAW_MODE env var.
  2. Readonly key? Some keys are read-only. Check key permissions in dashboard.
  3. Guard blocking? If calling /api/guard and getting 403, a policy is blocking the action — this is working as intended.
  4. org_default trap? The org_default org blocks API access except onboarding routes. Create a real org first.
429 Rate Limited

Symptom: API calls return 429 Too Many Requests.

Defaults:

  • Production: 100 requests/minute per IP
  • Development: 1000 requests/minute per IP

Fixes:

  • Set DASHCLAW_DISABLE_RATE_LIMIT=true for local development
  • For production: use UPSTASH_REDIS_REST_URL for distributed rate limiting
  • Batch operations where possible
503 Server Misconfigured

Symptom: API calls return 503.

Checklist:

  1. Is DASHCLAW_API_KEY set? Missing key → 503 on protected routes
  2. Is DATABASE_URL valid? Check connection string
  3. Run health check: curl $DASHCLAW_BASE_URL/api/health
  4. Check the /setup page for readiness verification

Common Gotchas

GotchaExplanation
Client-sent org headers strippedMiddleware ALWAYS strips x-org-id, x-org-role, x-user-id from requests. Org context comes from the API key, never the client.
Two thread systemsContext threads (ct_*) and message threads (mt_*) are separate systems. Don't mix them.
org_default blocks APIsUsers in org_default are blocked from most endpoints. Create or join a real org first.
API key shown onceKeys are displayed exactly once at creation. If lost, generate a new one.
2MB body size limitRequest bodies larger than 2MB are rejected.
HTTPS required in productionNon-HTTPS connections are rejected in production mode.
Canonical JSON for signaturesAgent identity signatures require deterministic JSON key ordering.
Rate limiting is per-IPNot per-key or per-agent. Multiple agents on same IP share the limit.

Signal Debugging

DashClaw computes 17 signal types (computeSignals in app/lib/signals.ts). The eight most common in agent integrations are below; if signals are firing unexpectedly:

ungoverned_scope ("Governance scope narrowed") is the one to check first when the ledger looks too clean. It fires when DASHCLAW_GOVERNED_CATEGORIES drops a category below the default set, which means the hook exits before the guard call for that category — those tool calls produce no row at all, so an empty ledger looks the same as a well-behaved agent. Remove the variable or set it to all, and check it for typos; a misspelled category is simply never governed. search and system are ungoverned by default and never raise it.

1. Autonomy Spikes

Trigger: >10 ungoverned actions/hour Fix: Add guard checks before actions. Use claw.guard() before claw.createAction().

2. High Impact, Low Oversight

Trigger: Irreversible decisions with risk ≥70 and no approval Fix: Add approval gate policy for high-risk irreversible actions.

3. Repeated Failures

Trigger: >3 failures in 24 hours Fix: Check agent logic. Review failed actions in dashboard for patterns.

4. Stale Open Loops

Trigger: Unresolved dependencies >48 hours old Fix: Resolve or cancel open loops: claw.resolveOpenLoop(loopId, 'resolved', 'Fixed').

5. Assumption Drift

Trigger: ≥2 invalidated assumptions in 7 days Fix: Review assumptions. Agent may be operating on stale beliefs.

6. Stale Assumptions

Trigger: Unvalidated assumptions >14 days old Fix: Validate or invalidate old assumptions: claw.validateAssumption(id, true/false, reason).

Show full SKILL.md (474 more words)Show less
7. Stale Running Actions

Trigger: Actions with status running for >1 hour Fix: Two layers of cleanup:

  1. One-shot bulk repair for any historical backlog:
    bash
    # Preview what would change
    node scripts/_run-with-env.mjs scripts/repair-stale-running-actions.mjs --dry-run --older-than-hours 1
    # Apply (status='completed' with "Auto-closed" summary; preserves error_message → 'failed')
    node scripts/_run-with-env.mjs scripts/repair-stale-running-actions.mjs --older-than-hours 1
  2. Prevent re-accumulation — install dashclaw_stop.py (Stop hook). At turn end it queries each open action and PATCHes status='completed' only when the action is still running. Terminal statuses written by PostToolUse are preserved. See setup-dashclaw skill.

For ad-hoc closure of a single action: claw.updateOutcome(actionId, { status: 'failed', output_summary: 'Timed out' }).

8. Agent Silent

Trigger: Agent heartbeat lost >10 minutes Fix: Ensure agent sends heartbeats: claw.heartbeat({ status: 'online' }).

Diagnostic Tools

Health probe
bash
curl -sf "$DASHCLAW_BASE_URL/api/health" | jq '.'

Returns {status, version, checks: {database, runtime, realtime, ...}}. Anything other than status: "healthy" points at the failing check.

Doctor (config audit)
bash
node scripts/doctor.mjs

Audits the local config — env vars, DB connectivity, schema state, generated artifact freshness.

Live SDK round-trip
bash
# Node — guard → createAction → updateOutcome against the live instance
node scripts/_run-with-env.mjs scripts/test-sdk-live.mjs

# Python equivalent
node scripts/_run-with-env.mjs scripts/run-sdk-live-python.mjs

Both scripts emit a real action that you should see appear on /decisions within seconds. If the round-trip fails, the error pinpoints the layer (HTTP, validation, DB).

Startup smoke test
bash
npm run startup:smoke

Boots Next.js, hits the critical routes, and reports which (if any) fail to respond.

Hook Troubleshooting

Pretool not firing
  • Verify .claude/settings.json has PreToolUse hook configured
  • Check matcher pattern: Bash|Edit|Write|MultiEdit
  • Verify Python is available: python --version
  • Check hook script path is correct relative to project root
Pretool allows everything
  • Check DASHCLAW_HOOK_MODE — if set to observe, it logs but never blocks
  • Check DASHCLAW_RISK_THRESHOLD — default is 60, lower it to catch more
  • Verify policies exist: curl -H "x-api-key: $KEY" $URL/api/policies
Pretool blocks everything
  • Check guard policies — a too-broad policy may be catching all actions
  • Try DASHCLAW_HOOK_MODE=observe first to understand what's being caught
  • Check risk scoring — are file operations being scored too high?
Posttool not recording outcomes
  • Check temp file bridge: pretool writes to {tempdir}/dashclaw_last_action_{tool_use_id}
  • Verify DASHCLAW_BASE_URL and DASHCLAW_API_KEY are set for posttool
  • Posttool never blocks — failures are silent. Check DashClaw server logs.
Stop hook not capturing tokens (Analytics shows $0 / 0 tokens)
  • Verify .claude/settings.json has the Stop block (one entry, no matcher needed). If missing, re-run node /path/to/DashClaw/scripts/install-hooks.mjs --target=..
  • During a turn, confirm pretool is appending action_ids: ls /tmp/dashclaw_turn_<session_id> (Linux/macOS) or dir %TEMP%\dashclaw_turn_<session_id> (Windows). After Stop fires, that file is deleted and /tmp/dashclaw_stop_cursor_<session_id> appears.
  • Manually fire the Stop hook to test:
    bash
    echo '{"session_id":"<your-session-id>","transcript_path":"<path/to/.jsonl>"}' \
      | python .claude/hooks/dashclaw_stop.py; echo "exit=$?"
    Then query the DB for any action_id from that session — tokens_in, tokens_out, model, cost_estimate should be populated.
  • Confirm PATCH /api/actions/:id accepts token fields by checking the deployed server version: curl -sf $DASHCLAW_BASE_URL/api/health | jq '.version' should be ≥ 2.13.1. Older deploys silently drop tokens_in/tokens_out.
Stale running actions piling up
  • Verify the Stop hook is installed (above). It auto-closes any action still in status='running' at turn end. Without it, every interrupted/abandoned tool stays open forever.
  • For a one-shot cleanup: node scripts/_run-with-env.mjs scripts/repair-stale-running-actions.mjs --older-than-hours 1 (preview with --dry-run first).

© ucsandman, 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/dashclaw-agent/troubleshoot of ucsandman/DashClaw.

Open the folder on GitHubat commit 704824d

Compare with similar skills

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

Troubleshoot compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Troubleshoot this skillucsandman/DashClaw311—~2.3kAutomated safety check: PassMIT
Agent Buildern8n-io/n8n207k—~2.5kAutomated safety check: PassCustom licence
Summarizeswarmclawai/swarmclaw689—~531Automated safety check: PassMIT
Agent Squad Python Guide2FastLabs/agent-squad7.8k—~4.7kAutomated safety check: PassApache-2.0
Agent Squad for TypeScript2FastLabs/agent-squad7.8k—~4.3kAutomated safety check: PassApache-2.0
Agent Frameworkjihadkhawaja/Egroo178—~1.9kAutomated safety check: PassApache-2.0

Similar skills

  • Agent Builder

    n8n-io/n8n

    Official

    Load immediately after an Agent intent. An agent skill from n8n-io/n8n.

    207k GitHub stars~2.5k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Summarize

    swarmclawai/swarmclaw

    Summarize or extract text/transcripts from URLs, podcasts, YouTube videos, and local files using the summarize CLI.

    689 GitHub stars~531 tokensUpdated 3 mo ago
    AI & LLM EngineeringAuto-check passed
  • Agent Squad Python Guide

    2FastLabs/agent-squad

    Map of the agent-squad Python framework for async multi-agent orchestration: which agent, classifier, storage and tool provider to pick, and the pitfalls to avoid.

    7.8k GitHub stars~4.7k tokensUpdated 2 days ago
    AI & LLM EngineeringAuto-check passed
  • Agent Squad for TypeScript

    2FastLabs/agent-squad

    Guide to building Node.js and TypeScript apps on the agent-squad package: orchestrator, agent types, classifier routing, storage, retrievers and MCP tools.

    7.8k GitHub stars~4.3k tokensUpdated 2 days ago
    AI & LLM EngineeringAuto-check passed
  • Agent Framework

    jihadkhawaja/Egroo

    Build, extend, and debug AI agents in Egroo using the Microsoft Agent Framework (C .NET).

    178 GitHub stars~1.9k tokensUpdated 6 mo ago
    AI & LLM EngineeringAuto-check passed
  • Openma

    openma-ai/open-managed-agents

    Use the openma platform to build, deploy, and manage AI agents.

    315 GitHub stars~854 tokensUpdated today
    AI & LLM EngineeringAuto-check passed

More from ucsandman/DashClaw

All 13 skills in this repo
  • Dashclaw Governance

    ucsandman/DashClaw

    Governance behavior for AI agents governed by DashClaw. An agent skill from ucsandman/DashClaw.

    311 GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Dashclaw Ship

    ucsandman/DashClaw

    The single command that gets a DashClaw change ON MAIN AND LIVE — it resolves everything blocking production, never defers, and never hands back a checklist.

    311 GitHub stars~7.2k tokensUpdated today
    Auto-check passed
  • Repro

    ucsandman/DashClaw

    Turn a bug symptom into a structured, reproducible bug report — summary, environment, exact repro steps, actual vs expected, and evidence (logs, error text, failing route/test) — and then optionally…

    311 GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Muse Governance

    ucsandman/DashClaw

    Governance behavior for Muse agents governed by DashClaw. An agent skill from ucsandman/DashClaw.

    311 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Build Dashclaw

    ucsandman/DashClaw

    Contribute to the DashClaw codebase — architecture, scaffolding, tests, CI

    311 GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Compliance Drift Evals

    ucsandman/DashClaw

    Set up compliance exports, drift detection, evaluations, scoring, and learning analytics

    311 GitHub stars~1.8k tokensUpdated today
    Auto-check passed

Questions about Troubleshoot

What does Troubleshoot do?

Debug DashClaw errors, signal issues, and misconfigurations. An agent skill from ucsandman/DashClaw. Troubleshoot is an agent skill from ucsandman/DashClaw.

When should I use Troubleshoot?

Troubleshoot fits situations like: tasks that involve Building AI agents.

How do I install Troubleshoot in Claude Code?

Run `npx skills add ucsandman/DashClaw --skill troubleshoot -a claude-code`. Or copy the skill folder (.claude/skills/dashclaw-agent/troubleshoot in ucsandman/DashClaw) into .claude/skills/troubleshoot in your project. Claude Code loads it when a task matches its description.

How do I install Troubleshoot in Codex?

Run `npx skills add ucsandman/DashClaw --skill troubleshoot -a codex`. Or copy the skill folder (.claude/skills/dashclaw-agent/troubleshoot in ucsandman/DashClaw) into .agents/skills/troubleshoot in your project. Codex loads it when a task matches its description.

Can I use Troubleshoot 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 ucsandman/DashClaw --skill troubleshoot -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/troubleshoot, .gemini/skills/troubleshoot, .github/skills/troubleshoot and .opencode/skills/troubleshoot in your project.

What does Troubleshoot need to run?

Going by SKILL.md and its folder, Troubleshoot needs the command-line tools its instructions call (node, curl, jq, python and npm) and credentials named DASHCLAW_API_KEY. Our summary lists: Python 3; A credential in DASHCLAW_API_KEY.

Does Troubleshoot access the network?

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

Is Troubleshoot 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 Troubleshoot use?

Troubleshoot is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Troubleshoot use?

About 2.3k tokens (SKILL.md is roughly 9.2k 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 Troubleshoot?

Skills that share tags, products or a category with Troubleshoot: Agent Builder (n8n-io/n8n, 207k stars), Summarize (swarmclawai/swarmclaw, 689 stars), Agent Squad Python Guide (2FastLabs/agent-squad, 7.8k stars) and Agent Squad for TypeScript (2FastLabs/agent-squad, 7.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Troubleshoot?

ucsandman (a GitHub user) maintains it in ucsandman/DashClaw, which has 311 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 10, 2026.

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