dotfiles/.claude/skills/repomatic-topics/SKILL.md
Optimize GitHub topics for discoverability by analyzing competition on topic pages.
npx skillsauth add kdeldycke/dotfiles repomatic-topicsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
!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.Suggest the user run:
/repomatic-lint to check for any issues introduced.tools
Create or update an upstream contributions page (docs/upstream.md) tracking the project's relationship with its dependencies. Discovers merged PRs, reported issues, workarounds, and declined features.
documentation
Detect stale translations in readme.*.md and contributing.*.md files by comparing structure and content against the English source, then draft updated translations for changed sections.
testing
Two-way comparison and synchronization of Sphinx documentation across sibling projects. Discovers discrepancies in conf.py, install.md, index.md toctree, pyproject.toml docs dependencies, extra-deps sections, readme badges, and static assets. Use when you want to align documentation structure, catch stale dependencies, or push improvements across your Sphinx-enabled repositories.
development
Run and write YAML test plans for compiled binaries.