self-diagnose
Skill396 starsChanged 6 months agoMITView on GitHub
Sutando introspection — read logs + git + memory + build log for a chosen time window and produce a concise narrative of what the agent has been doing, what's broken, and what to prioritize next.
- Reads credentials
In this repository73 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- agent-activitySkill
- agent-registrySkill
- agent-room-opsSkill
- answer-formatSkill
- audio-transcribeSkill
- bee-actionsSkill
- bot2bot-postSkill
- call-diagnosticsSkill
- claude-codexSkill
- claude-geminiSkill
- claude-piSkill
- claude-routerSkill
- collaboration-intelligenceSkill
- connect-appsSkill
- context-dropSkill
- context-reconstructSkill
- db-browserSkill
- deal-finderSkill
- doc-ingestSkill
- electron-overlay-dimmingSkill
- email-findSkill
- engine-conflict-resolveSkill
- gemini-ttsSkill
- image-generationSkill
- import-claude-contextSkill
- local-workspace-serverSkill
- macos-toolsSkill
- macos-useSkill
- make-viral-videoSkill
- marketplaceSkill
- media-transcriptSkill
- meeting-prepSkill
- meeting-schedulerSkill
- mention-gateSkill
- model-switchSkill
- morning-briefingSkill
- ms365-connectSkill
- observeSkill
- obsidian-vaultSkill
- openai-ttsSkill
- open-sutando-refSkill
- overlay-appsSkill
- phone-conversationSkill
- proactive-loopSkill
- pr-shepherd-contractSkill
- quota-trackerSkill
- regression-searchSkill
- relaySkill
- releaseSkill
- report-feedbackSkill
- review-preflightSkill
- room-collabSkill
- schedule-cronsSkill
- screen-companionSkill
- screen-recordSkill
- self-upgradeSkill
- session-recapSkill
- skill-usage-reportSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 1 is distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 9
Read Sutando's own observable state (logs, git, memory, build log, pending questions, health check, cold-review log) over a chosen window …
- Very specific: line 21
Gather: Run bash skills/self-diagnose/scripts/gather.sh [window] — collects log tails, git log, build_log.md tail, pending-questions, …
- Distinctive: line 22
Synthesize: Read each gathered file. Group findings under the three headings above.
- Very specific: line 23
Save: Write the report to notes/diagnose-YYYY-MM-DD-HHMM.md with frontmatter (title, date, tags: [diagnose, self]).
- Very specific: line 28
When Sutando works on one machine but is broken on another, the helper script runs gather.sh on both sides over SSH and produces a …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Self-Diagnose
Read Sutando's own observable state (logs, git, memory, build log, pending questions, health check, cold-review log) over a chosen window and produce a structured narrative:
- What's been happening — significant events, PRs shipped, tasks processed, user interactions
- What's broken — errors in logs, pending questions, health-check failures, 1006/1011/1007 transport events, unresolved bugs surfaced in logs
- What I'd do next — concrete prioritized actions grounded in what was observed
Usage: /self-diagnose [--since 24h]
ARGUMENTS: $ARGUMENTS
Flow
- Gather. Run
bash skills/self-diagnose/scripts/gather.sh [window]— collects log tails, git log, build_log.md tail, pending-questions, health-check output, cold-review-log, and recent Discord activity into/tmp/sutando-diagnose-<ts>/. - Synthesize. Read each gathered file. Group findings under the three headings above. Be concrete: cite log lines, PR numbers, timestamps. Skip speculation.
- Save. Write the report to
notes/diagnose-YYYY-MM-DD-HHMM.mdwith frontmatter (title,date,tags: [diagnose, self]). - Summarize. Reply to the caller with a 5–10 line executive summary + path to the full report.
Cross-node mode (resolves #421)
When Sutando works on one machine but is broken on another, the helper script
runs gather.sh on both sides over SSH and produces a structured comparison:
bash skills/self-diagnose/scripts/gather-remote.sh <ssh-target> [window]
# e.g.
bash skills/self-diagnose/scripts/gather-remote.sh mac-mini
bash skills/self-diagnose/scripts/gather-remote.sh user@macbook.local 6hOutput: /tmp/sutando-diagnose-cross-<ts>/{local,remote,diff.md} plus a
persisted copy at notes/diagnose-cross-node-<YYYY-MM-DD>.md. The comparison
report surfaces commit drift, health-check differences, voice-agent error
counts, quota state, and PR-view divergence per side.
Override the remote sutando path via SUTANDO_REMOTE_REPO=/path/on/peer if
the failing node's checkout isn't at the default ~/Desktop/sutando.
Security posture (per #421): read-only on the remote (only gather.sh
runs there, no mutation), allowlist enforced by gather.sh's existing scope
(no .env, no tokens), per-session SSH (no daemon, no persistent state on
the remote).
Default window
24 hours if unspecified. Accept: 24h, 3d, 1w. Longer windows = broader scope, higher token cost.
What a good report looks like
- Cites specific log timestamps (
18:28:16 — transport 1006 after NoteView injection) rather than "some errors happened" - Lists PRs by number + status (
#394 mergeable no reviews,#354 retention sweep open) - Separates recurring from one-off issues
- Prioritizes "what I'd do next" by impact and blocking, not by what's most recent
What to skip
- Verbose log dumps — the gathered files are on disk already; just reference them
- Speculation without log evidence — "maybe the Gemini server is..." should be backed by a log line showing the close code and preceding event
- Restating CLAUDE.md / build_log.md content — those are already durable; only surface what's NEW in the window
Related
notes/cold-review-capability.md— sister capability for PR-level reviewnotes/voice-transport-1006-hypothesis.md— example of the depth of analysis a self-diagnose report should matchbuild_log.md— the canonical "what has been built" log; complements but doesn't replace
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

