{"id":27643,"plugin_id":"plugin_asdk_app_6ac3f2cb2b608191b91136b4cf737358","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-07T18:03:13.038Z","digest":"f44ff6b0a674fd846da0abca903798ea7c8833b35f15f1efed699e35241f937d","against":null,"payload":{"description":"Review the health of your incident.io agent estate — plugins, skills, connections — and say what to fix, without fixing anything itself. Use whenever anyone asks whether their incident.io setup is healthy, what's degraded, or what to improve, in any phrasing — one-off or as a recurring review. Every finding routes to the thing that fixes it.\n","included_files":[{"relative_path":"references/content-drift.md","size_in_bytes":4200},{"relative_path":"references/extensions.md","size_in_bytes":8020},{"relative_path":"references/orient.md","size_in_bytes":5756},{"relative_path":"references/progress.md","size_in_bytes":3340},{"relative_path":"references/report.md","size_in_bytes":9293},{"relative_path":"references/telemetry.md","size_in_bytes":2346}],"name":"doctor","skill_md_contents":"---\nname: doctor\ndescription: >\n  Review the health of your incident.io agent estate — plugins, skills, connections —\n  and say what to fix, without fixing anything itself. Use whenever anyone asks\n  whether their incident.io setup is healthy, what's degraded, or what to improve, in\n  any phrasing — one-off or as a recurring review. Every finding routes to the thing\n  that fixes it.\nargument-hint: \"<a plugin or area to focus on — or nothing, to be shown what can be reviewed from here>\"\n---\n\n# Doctor\n\nA review, not a repair: doctor reads the estate, ranks what it finds, and hands each\nfinding to the thing that fixes it. It never edits a plugin's tree (skills, README,\ndocs — any file), never re-syncs, never changes a setting, and never writes into the\nestate — the report itself is handed over, not filed. All of this holds when it runs\non a schedule. That's what makes it safe to run weekly and boring to read when\neverything is fine, which is the goal.\n\n## The shape of a run\n\n1. **Orient** — a fast pass, cheap reads only: where the session is, whether a plugin\n   lives here and corresponds to one the account knows, what the account's own health\n   rollup says, and whether this agent's own install is current. Ends in a compact\n   situating block the user sees within seconds.\n   → [references/orient.md](references/orient.md)\n2. **Offer** — an interactive, unscoped invocation pauses on that block plus a short\n   menu of the reviews that make sense from here, each with an honest cost signal,\n   and waits for the pick. A scoped invocation skips the menu but still shows the\n   block; a scheduled run, with nobody there to read it, skips both. The skip rules\n   are in orient.md.\n3. **Review** — the chosen legs, below, with a progress stream reporting each step as it\n   completes so the run is legible while it runs.\n   → [references/progress.md](references/progress.md)\n4. **Report** — headlines name the main finding and summarize the rest. An optional\n   situating block adds context; short findings carry routes, and briefs carry the\n   detail. Follow [references/report.md](references/report.md).\n\n## The legs\n\n- **Extensions** — plugins and their skills, checked end to end: sync state, how\n  skills perform once loaded, the feedback issues worth acting on, feedback\n  orphaned by renames, and convention drift against the authoring rules.\n  → [references/extensions.md](references/extensions.md)\n- **Connections and telemetry** — what this session can and cannot read about the\n  rest of the estate, stated honestly.\n  → [references/telemetry.md](references/telemetry.md)\n- **Content drift** — the copies that were right when written: runbooks restating what\n  a skill owns, procedures naming levers that no longer exist, pointers to homes that\n  don't hold the content, and skill-shaped knowledge with no skill to live in.\n  → [references/content-drift.md](references/content-drift.md)\n\nRun all three for a whole-estate review. A named plugin gets the Extensions and\nContent drift legs; Connections and telemetry contributes only its orient snapshot\nunless the user asks for that leg. For any other scope, run the legs the user named.\n\n## Ground rules\n\n- **Propose-only, always.** Every finding becomes a route: an improvement brief for\n  the `skill-authoring` skill's improve job, a structural gap for the `extensions` skill, a\n  change in the plugin's repository, or a named dashboard page. Doctor stops at the\n  hand-off — the report is the run's last act, and acting on a brief is a new job the\n  user starts, never a continuation of this one.\n- **Verify before alarming.** A computed status is a hint, not a verdict: check an\n  issue's anchor against the current tree, and apply the reading corrections from the\n  `skill-authoring` skill's improve reference before reporting an issue as real or\n  resolved.\n- **An unreadable surface is reported, not guessed.** Where this session has no way\n  to read part of the estate, the report says so and names where the answer lives.\n  Never pad a leg with speculation to look thorough.\n- **Healthy is a finding.** \"All plugins synced, no actionable issues\" is a complete\n  and useful report line, not a failure to find something.\n- **The run is visible while it runs.** Review reports each step as it finishes, per\n  [references/progress.md](references/progress.md), so a review that takes minutes is\n  something the user can follow rather than wait out. Those lines are status; the\n  report restates everything and is what gets filed.\n\n## What this skill is not for\n\nSetting the estate up or growing it — that's `extensions` (which routes here for\nreviews, as this skill routes there for gaps). Making the edits — that's\n`skill-authoring`. And incident response: doctor reviews the machinery agents use, not\nlive incidents.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}