repomatic.skills module¶
The bundled Claude Code skills, as list-skills and the launchers show them.
The skills component of COMPONENTS declares
which skills ship and where they land. This module reads what each skill says
about itself, its frontmatter, for the two places a person meets the skills: the
list-skills table, and the launcher command a closing hint or a pull request
body hands over.
- repomatic.skills.AUDIT_SKILL: str = 'repomatic-audit'¶
The bundled skill auditing a repository against the release it pins.
- repomatic.skills.RECOMMENDED_MODEL_RE = re.compile('Recommended model: (?P<model>\\w+)\\.')¶
The model recommendation a skill’s
compatibilityfield carries.The Agent Skills spec has no
model:field, so the recommendation rides incompatibilityas prose, and this is the one shape every bundled skill writes it in.tests/test_skills.pyholds each skill to it.
- repomatic.skills.SKILL_LIST_HEADER_DEFS: tuple[ColumnSpec, ...] = (ColumnSpec(id='phase', label='Phase', description='', max_width=None, optional=False, sortable=True), ColumnSpec(id='skill', label='Skill', description='', max_width=None, optional=False, sortable=True), ColumnSpec(id='description', label='Description', description='', max_width=60, optional=False, sortable=True))¶
Column definitions for the
repomatic list-skillstable.Lives beside
skill_catalog(), whose triples these columns render, so the two cannot drift apart. The columns mirror the hand-maintained roster ofdocs/agent-skills.md, which the page renders this command right above.
- repomatic.skills.SKILL_PHASE_ORDER: tuple[str, ...] = ('Setup', 'Development', 'Quality', 'Maintenance', 'Release')¶
Canonical display order for lifecycle phases in
list-skillsoutput.
- repomatic.skills.SKILL_PHASES: dict[str, str] = {'av-false-positive': 'Release', 'awesome-triage': 'Maintenance', 'babysit-ci': 'Quality', 'benchmark-update': 'Development', 'brand-assets': 'Development', 'file-bug-report': 'Maintenance', 'github-housekeeping': 'Maintenance', 'probe-workflow': 'Quality', 'repomatic-audit': 'Maintenance', 'repomatic-changelog': 'Release', 'repomatic-deps': 'Development', 'repomatic-init': 'Setup', 'repomatic-ship': 'Release', 'repomatic-test-matrix': 'Quality', 'repomatic-topics': 'Development', 'repomatic-upgrade': 'Maintenance', 'sphinx-docs-sync': 'Maintenance', 'translation-sync': 'Maintenance', 'upstream-audit': 'Maintenance'}¶
Maps skill names to lifecycle phases for display grouping.
- repomatic.skills.UPGRADE_SKILL: str = 'repomatic-upgrade'¶
The bundled skill reviewing what a newer upstream release lets a repo adopt.
- repomatic.skills.skill_catalog()[source]¶
Read every bundled skill’s display metadata off its frontmatter.
- Return type:
- Returns:
One
(phase, name, description)tuple per bundled skill, inSKILL_PHASE_ORDER, then in registry order within a phase. The description’s trailing period is stripped for table display. Phases are keyed by the registryfile_id, not the frontmatter name, so a skill renamed in frontmatter still lands in its phase.
- repomatic.skills.skill_launcher(skill_id, *arguments)[source]¶
The shell command launching one bundled skill in a fresh Claude Code session.
Rendered wherever the toolkit hands a maintainer a next step to run (
init’s closing hint, a sync pull request body), so the invocation is spelled once. The model comes off the skill’s owncompatibilityfield, so a changed recommendation never leaves a stale--modelbehind.Note
Claude Code is the only agent the launcher targets today. The skill folder itself follows the Agent Skills spec and loads in any agent honouring it; only this one line is agent-specific, which keeps a second launcher a config key away rather than a rewrite.