external-campaign-triage
Installation
SKILL.md
External Campaign Triage
Use this for a campaign tracker repo (e.g. open-source-tracker) running many concurrent candidate issues/PRs across third-party repos we don't own. ai-agent-pr-metadata's picked by agent / agent:<model>-<effort>-<role> label convention only works on repos we own or collaborate on; it cannot be applied to someone else's issue or PR. This skill defines the state machine and metadata that replace it: JSON records in the tracker repo, not upstream labels.
State machine
Each candidate moves through these states, recorded in the tracker, never skipped backward:
scouted → viability_checked → claimed → implementing → in_review → merged | abandoned | stalled_awaiting_maintainer | silenced
scouted: a candidate issue/repo identified, not yet vetted.viability_checked:external-pr-viabilityran; only proceed past this state if it passed.claimed: an agent has started work. Check the tracker for an existingclaimed/implementing/in_reviewrecord on this candidate before starting — the tracker file is the source of truth for "already picked" since no GitHub label exists to signal it.implementing: code, tests, and PR draft in progress, followingsubagent-pipelineroles.in_review: PR opened (external-pr-stylefor the description) and awaiting maintainer response.stalled_awaiting_maintainer: reached only through the Maintainer Follow-Up Guardrail below. Terminal until a maintainer responds; never re-entered from itself.merged/abandoned: terminal, normal outcomes.silenced: terminal, reached whenever a maintainer responds negatively to any contact (see Guardrails).