What problem does it solve? Choosing GitHub repository topics by hand leads to constraint violations, redundant broad/narrow or singular/plural duplicates, and inconsistent naming conventions, all of which hurt repository discoverability. ## Core Features & Use Cases - Deterministic topic vetting: The bundled topics.mjs engine validates GitHub's official constraints (lowercase, hyphens, 50-char limit, max 20 topics), measures popularity via gh api search/repositories, and applies broad+narrow 5x thresholding and singular/plural comparison. - Hardcoded ozzy-labs conventions: Canonicalizes multi-agent, strips -cli suffixes (codex-cli, gemini-cli, copilot-cli), and retains claude + claude-code together. - Policy-gated application: Default plan mode returns an apply command for batch confirmation; --apply executes gh repo edit --add-topic and verifies with gh repo view; --dry-run analyzes only. - Use Case: Given candidates like ai,ai-agents,codex-cli,multi-agents, the engine normalizes them, compares popularity, and produces a final vetted topic list ready to apply to the repository. ## Quick Start Ask the assistant to run the topics skill with a comma-separated candidate list such as "ai, agents, claude-code" in dry-run mode to see the vetted topic selection before applying it to the repository.