repoindex/skills/workflows/SKILL.md
When and how to use the repoindex plugin surface (MCP tools, agents, slash commands) for collection queries, release prep, activity summaries, and tag discipline. Use when users ask repoindex questions, mention their repo catalog, or want to know which repoindex tool fits their task.
npx skillsauth add queelius/claude-anvil workflowsInstall 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.
The plugin exposes three layers. Pick the smallest one that answers the question.
| Layer | Use when |
|-------|----------|
| MCP tool calls (run_sql, get_manifest) | Single question, clear query, one answer. |
| Slash commands (/repo-week, /repo-status, /repo-audit, /repo-sprint, /repo-mirror) | Named recurring task with a fixed shape. |
| Agents (repo-doctor, repo-polish, repo-explorer) | Multi-step reasoning, prose synthesis, or file writing. |
"Show me my Python repos" is one run_sql. Do not invoke an agent. Do not reach for a slash command.
SELECT name, path FROM repos WHERE language = 'Python' ORDER BY name
Same for "how many repos do I have", "which repos are on PyPI", "what are my most starred repos". Direct SQL wins.
These have a known output format and the user invokes them by name:
/repo-week [Nd]: weekly activity. Top churn, releases, dormant-wake, totals./repo-status [name]: collection overview or single-repo detail card./repo-audit [filters]: read-only summary of ops audit findings./repo-sprint: "what's open?" kickoff context (dirty, unpushed, recent, release candidates)./repo-mirror [flags]: dry-run-first wrapper around ops mirror for redundancy pushes.Slash commands never write files on their own (mirror is the one exception, and only with --force-real).
repo-doctor: fixed triage workflow. "What needs attention?" Produces a prioritized action list.repo-polish: single-repo release prep. Audits, generates citation/license/codemeta, writes README improvements, syncs GitHub metadata. Writes files.repo-explorer: open-ended analysis. Custom SQL across multiple tables with narrative synthesis./repo-audit --language python --severity critical
Summary first. If the user wants to fix a specific repo, hand off to repo-polish.
/repo-status <name> to confirm state.repo-polish agent for the full audit-fix-improve cycle./repo-audit --language <lang> after the release to confirm nothing regressed collection-wide.SELECT r.name, p.registry, p.package_name, p.current_version, p.published, p.downloads_30d
FROM repos r JOIN publications p ON p.repo_id = r.id
WHERE p.published = 1
ORDER BY p.downloads_30d DESC NULLS LAST
Direct SQL. No agent needed. Join tags if filtering by classification.
/repo-week 7d
Or 30d for a monthly rollup.
Tags live in the tags table. The source column tells you where a tag came from:
| Source | Meaning |
|--------|---------|
| user | Explicitly assigned via mcp__repoindex__tag or repoindex tag add |
| implicit | Derived by repoindex from repo state (for example has:ci, has:license) |
| github | Imported from GitHub topics |
| gitea | Imported from Gitea topics |
| pyproject | Extracted from pyproject.toml keywords |
| pypi / cran | Registry-derived |
Naming conventions that work well for user-source tags:
work/<area> for work-in-progress groupings: work/active, work/paused, work/release-queue.lang:<name> is already reserved for the implicit language tag. Do not duplicate.published:<registry> is already reserved for implicit publication tags.ml, cli, dsl, paper, plugin.Use mcp__repoindex__tag to add/remove user tags. Filtering by tag uses the DSL: @tag-name or the SQL EXISTS (SELECT 1 FROM tags WHERE ...) pattern.
repo-explorer for a question that is one run_sql call.repo-doctor for single-repo questions. That is /repo-status or repo-polish.repoindex ops commands without --dry-run on the first pass. /repo-mirror enforces this; other ops commands rely on the user choosing.Single question → run_sql
Weekly rollup → /repo-week
Glanceable status → /repo-status
Read-only audit → /repo-audit
Morning kickoff → /repo-sprint
Redundancy push → /repo-mirror
Fixed triage → repo-doctor agent
Release prep (writes) → repo-polish agent
Ad-hoc deep analysis → repo-explorer agent
development
Force a research-agent run to conclude. Launches the researcher in synthesis mode: it reads state.md and log.md, writes .research/synthesis.md with outcome, key findings, failed approaches, open questions, and recommendations, then exits. Use when current results are good enough or the agent is stalling.
data-ai
Show the current state of an in-flight research-agent run from .research/state.md, log.md, and attempts/. Read-only summary of cycles, sub-problems, hypothesis statuses, eval trend, and current focus.
testing
Resume an interrupted research-agent run. Re-launches the researcher with instructions to read .research/state.md and log.md, reorient, and continue from the documented current focus. Use after a context compression, session restart, or explicit pause.
development
Use when working in a project with a worldbuilding documentation ecosystem (docs/ or lore/ directory). Provides the documentation-first methodology: canonical hierarchy, doc roles (timeline, lore, characters, systems), propagation discipline, and the dual canonical and exploratory workflow.