What problem does it solve? Repositories accumulate inconsistent label vocabularies that break triage workflows and confuse automation. This Skill applies one canonical label manifest to a GitHub repo, renames legacy labels without losing issue history, and documents the label contract for agents. ## Core Features & Use Cases - Manifest-driven label sync: Reads labels.json as the single source of truth and previews creates, updates, and renames before applying anything with gh label commands. - History-preserving renames: Runs gh label edit --name before gh label create --force so existing issues keep their labels through a rename. - Contract documentation: Creates or updates docs/agents/triage-labels.md mapping /triage roles to issue and PR labels, and adds a minimal pointer in AGENTS.md. - Use Case: You adopt an agent-driven triage workflow and need every repo to share the same type:*, triage-state, and recommend-* verdict labels. Run the skill to preview the diff, confirm, apply, and document the contract in one pass. ## Quick Start Use the setup-github-labels skill to preview, apply, and document the canonical labels in this repository.