Skip to content
Back to skills

Professor Triage

ASecurity

Analyze GitHub issues against current codebase and perform automated triage with priority assessment

  • 43 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 9, 2026
toolsshellbashgit

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add baekenough/oh-my-customcode --skill professor-triage --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Professor Triage?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Professor Triage
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/baekenough-professor-triage/badge)](https://www.skillsdirectory.com/skills/baekenough-professor-triage)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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 triage-complete)
/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
```

When `pipeline auto-dev`'s triage step invokes this skill with a release manifest (issue numbers from scope-selection) instead of a user typing issue numbers directly, the Phase 5 label differs — see the "Auto-dev manifest detection" bullet under Phase 5 Action Policy below.

## 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 | — |

## Lightweight Mode (Cross-Tier Substitution)

Independent of the auto-dev compression tier selected, this skill's Phase 1-4 may be replaced by a lightweight orchestrator analysis instead of a full skill spawn, but only when the conditions in `.claude/skills/pipeline/workflows/auto-dev.yaml` (runtime source) `## Cross-tier — Lightweight Skill-Mode Substitution` are met (scope ≤3 issues, code evidence or a measured root cause with the command used, and a mandatory justification log entry). This skill does not duplicate those conditions here — that section is the authoritative gate.

When lightweight mode is used, the triage output (Phase 4E artifact and/or Phase 4D comment) MUST state which mode produced it: `mode: full` or `mode: lightweight`.

## 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 `triage-complete` label (meaning: triaged but not selected in this auto-dev cycle — deferred/excluded, collected by release-plan; when this skill runs standalone rather than inside auto-dev's triage step, this is the label applied — manifest-selected issues inside auto-dev get `verify-ready` instead, #1734)
- **Auto-dev manifest detection**: when the caller supplies a release manifest (the list of issue numbers selected by `pipeline auto-dev`'s scope-selection step) as this skill's issue-number argument, treat it as auto-dev context — label those manifest issues `verify-ready`, NOT `triage-complete`. With no manifest supplied (standalone `/professor-triage`, `--label`, `--state`, or `--since` invocation), apply the default `triage-complete` label per the bullet above.
- Priority assigned → add `P1`/`P2`/`P3` label

**Confirmation required** (high-risk): issue reopen, new issue creation, epic linking, issue body modification.

**Ensure `triage-complete` label exists**: `gh label create "triage-complete" --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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…