diagnose
Read-only collection of cross-cutting context across a target repo: current phase, open milestones, recent decisions, recent findings, failing CI checks. Returns a structured report consumable by other verbs (notably propose_fix) or by humans/agents directly.
Upholds: (read-only) Side effects: None. Read-only.
Constraints
Section titled “Constraints”REPO_IN_REGISTRY— target_repo must appear in registry.yaml.
Input shape
Section titled “Input shape”scopestringenum:full,phase,decisions,findings,cisince→IsoDate— Lower bound for time-windowed sections (decisions, findings). Default: 30 days before now.
Output shape
Section titled “Output shape”repo→RepoSlug(required)scanned_at→IsoDate(required)diagnosis_idstring— Stable ID of this diagnosis run. Required input to propose_fix.current_phaseobjectidstringstatusstringenum:open,closedopened_at→IsoDate
open_milestonesarray- items:
id→MilestoneIdtitlestringblocked_byarray
- items:
recent_decisionsarray- items:
pathstringdate→IsoDatestatusstringenum:open,closed,supersededtitlestring
- items:
recent_findingsarray- items:
pathstringtimestamp→IsoDatetitlestring
- items:
ciobjectdefault_branch_statusstringenum:success,failure,pending,unknownfailing_checksarray- items:
namestringurlstring
- items:
Example
Section titled “Example”Input:
{ "envelope": { "verb": "diagnose", "target_repo": "kahn-hq", "idempotency_key": "0000000000000000000000000000000000000000000000000000000000000000", "dry_run": false, "actor": "fleet:kahn-diagnostics", "triggered_by": { "kind": "schedule", "ref": "cron:hourly" } }, "params": { "scope": "full", "since": "2026-04-01" }}Output (output_applied):
{ "envelope": { "verb": "diagnose", "status": "applied", "idempotency_key": "0000000000000000000000000000000000000000000000000000000000000000", "mr_citations": [] }, "result": { "repo": "kahn-hq", "scanned_at": "2026-04-29T14:30:00Z", "diagnosis_id": "diag-a3f29c4b1e8d7602", "current_phase": { "id": "Phase-7", "status": "closed", "opened_at": "2026-04-28" }, "open_milestones": [ { "id": "M7.8.2", "title": "Operator-driven post-Phase-7 re-probe", "blocked_by": [] } ], "recent_decisions": [], "recent_findings": [], "ci": { "default_branch_status": "success", "failing_checks": [] } }}Recipe
Section titled “Recipe”(no recipe yet — see SKILL guide)