with one click
repomatic-topics
// Optimize GitHub topics for discoverability by analyzing competition on topic pages.
// Optimize GitHub topics for discoverability by analyzing competition on topic pages.
Orchestrate release preparation. Reconcile the changelog, code, and docs to the net release state, then commit, push, and babysit CI until the release PR is built and `main` is green. Stop before the merge. Review-gated in normal use, fully autonomous under `--dangerously-skip-permissions`.
Generate dependency graphs, audit pyproject.toml declarations against version policy, explore unused dependency APIs that could simplify code, and modernize code against the changelogs of upgraded dependencies.
Draft, validate, consolidate, and fix changelog entries.
Audit downstream repo alignment with upstream repomatic reference, covering workflows, configs, and conventions.
Bootstrap a repository with reusable workflows from kdeldycke/repomatic.
Triage new issues and PRs on awesome-list repos by applying curation criteria distilled from past decisions.
| name | repomatic-topics |
| description | Optimize GitHub topics for discoverability by analyzing competition on topic pages. |
| model | sonnet |
| disable-model-invocation | true |
| allowed-tools | Bash, Read, Grep, Glob, WebFetch, WebSearch, Task, Edit |
| argument-hint | [audit|apply] |
!grep -A1 '^\[project\]' pyproject.toml 2>/dev/null | tail -1
!gh api repos/{owner}/{repo} --jq '.topics | join(", ")' 2>/dev/null || echo "NO_GH_ACCESS"
You help users optimize their GitHub repository topics (tags) for maximum discoverability, balancing accuracy with competitive positioning on GitHub topic pages.
pyproject.toml for the project name, description, and keywords list.gh api to fetch the current GitHub topics from the repo.audit (default when $ARGUMENTS is empty): Analyze current topics and recommend changes. Do not apply.apply: Analyze, confirm with the user, then apply via gh api --method PUT repos/{owner}/{repo}/topics.Inventory features. Read the codebase (CLI commands, workflows, config options) to understand what the project actually does.
Assess current topics. For each existing topic, fetch https://github.com/topics/{topic} and evaluate:
Classify competitiveness. For each topic:
Propose candidate topics. Search for niche topics where the repo could rank in the top 3. Look for:
github-labels, reusable-workflows) over generic ones (e.g., labels, ci-cd).python-automation vs automation).Present recommendations. Show a table with:
GitHub allows up to 20 topics. Fill all 20 slots — unused slots are wasted discoverability.
If the repository name starts with awesome-, it must have both the awesome and awesome-list topics. This is enforced by awesome-lint. Flag any missing required topic during audit, and add them during apply.
gh api --method PUT repos/{owner}/{repo}/topics) and pyproject.toml keywords to stay in sync.pyproject.toml keywords serve PyPI search — keep them aligned with GitHub topics.Push the change: lint.yaml validates the updated pyproject.toml, and the new GitHub topics take effect immediately.