| name | professor-triage |
| description | Analyze GitHub issues against current codebase and perform automated triage with priority assessment |
| scope | harness |
| version | 2.3.0 |
| user-invocable | true |
| effort | high |
| context | fork |
| argument-hint | [issue-numbers...] [--label <label>] [--state <state>] [--since <date>] |
/professor-triage — Codebase-Driven Issue Triage
Purpose
Analyzes GitHub issues directly against the current codebase. For each issue, searches relevant code, assesses impact and blast radius, determines whether the issue has already been resolved, and performs automated triage with priority and size estimation. Produces a cross-analysis report and executes low-risk triage actions automatically.
Full phase detail: guides/professor-triage/phases.md
Usage
/professor-triage # Default: --state open (excludes verify-done)
/professor-triage 587 589 590 591 592 # Direct issue numbers
/professor-triage --label codex-release # Custom label filter
/professor-triage --since 2026-03-20 # Date filter
Workflow Contract
5-phase pipeline:
| Phase | Name | Owner | Model |
|---|
| 1 | Gather | Orchestrator | — |
| 2 | Codebase Analysis | Explore agents | haiku |
| 3 | Cross-Analyze | Orchestrator (opus for >15 issues) | sonnet/opus |
| 4 | Multi-Perspective Analysis & Output | general-purpose agents | sonnet/opus |
| 5 | Act | mgr-gitnerd | — |
Delegation Contract
| Phase | Agent | Mode |
|---|
| Phase 2 codebase search | Explore (haiku) | bypassPermissions |
| Phase 4A Senior Architect | general-purpose (sonnet) | bypassPermissions |
| Phase 4B Project Colleague | general-purpose (sonnet) | bypassPermissions |
| Phase 4C Professor Synthesis | general-purpose (opus) | bypassPermissions |
| Phase 4D triage comment | mgr-gitnerd | bypassPermissions |
| Phase 4E artifact report | general-purpose | bypassPermissions |
| Phase 5 GitHub actions | mgr-gitnerd | bypassPermissions |
Agent selection constraint: Phases 4A, 4B, 4C, 4E MUST use general-purpose (NOT arch-documenter). arch-documenter has disallowedTools: [Bash] — cannot run the gh/shell commands these phases require. See #1043.
Parallelization (R009/R018)
- 1-3 issues: single Explore agent per issue, parallel per R009
- 4-10 issues: parallel Explore agents, max 4 concurrent
- 10+ issues: Agent Teams per R018
- Phase 4A + 4B: parallel; Phase 4C: after both; Phase 4D + 4E: parallel; Phase 4F: gate
Artifact Output (R006/R010)
Under mode: "bypassPermissions", agents write directly to .claude/outputs/ with Write/Edit — no temp-script wrapping is needed (CC v2.1.121+, #1101). When spawning Phase 4A/4B/4C/4E agents, include verbatim in each agent prompt:
**Artifact output (for this task)**
If your task involves writing artifacts under `.claude/outputs/`, write the file to
`.claude/outputs/sessions/<date>/<artifact>.md` using the Write tool directly (create the
directory if needed). Your Agent tool call runs under `mode: "bypassPermissions"`, so direct
Write/Edit on `.claude/` is permitted.
See R006 "Sensitive Path Handling" (CC v2.1.121+ direct-write convention).
Phase 5 Action Policy
Automatic (low-risk, reversible):
- Issue already resolved by commit →
gh issue close --reason "completed" + resolving commit comment
- Cross-analysis "Not Applicable" →
gh issue close --reason "not planned"
- Duplicate series → close older +
duplicate label
- All analysis complete → add
verify-done label
- Priority assigned → add
P1/P2/P3 label
Confirmation required (high-risk): issue reopen, new issue creation, epic linking, issue body modification.
Ensure verify-done label exists: gh label create "verify-done" --color "0E8A16" if missing.
Permission Mode
When spawning agents via the Agent tool during this skill's execution, always pass mode: "bypassPermissions". The Agent tool default (acceptEdits) overrides agent frontmatter permissionMode, causing permission prompts during unattended execution.