This skill should be used when the user asks to "ask the SME", "check the repo for", "query the SME", "consult the expert", "how does the API work", "look up in the SME", "what does this library do", "how does [library] handle", "repo architecture", "how does the repo work", "create an issue", "file an issue", "what branch has", or when TypeScript errors reference external types from a registered repo. Also use when the user asks about patterns, conventions, or architecture of a registered repository, or wants to compare branches.
From repo-smenpx claudepluginhub nthplusio/functional-claude --plugin repo-smeThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Details PluginEval's skill quality evaluation: 3 layers (static, LLM judge), 10 dimensions, rubrics, formulas, anti-patterns, badges. Use to interpret scores, improve triggering, calibrate thresholds.
Query locally-cloned GitHub repositories for grounded, citation-backed answers about APIs, architecture, patterns, and conventions. Supports branch switching, cross-branch analysis, and GitHub issue creation.
Do NOT announce registered repos at session start. Only act when a relevant question arises.
Proactively spawn repo-sme-expert via the Agent tool when any of these conditions are met:
import { ... } from 'obsidian')Before spawning: read ~/.claude/repo-sme/registry.json to confirm a matching repo is registered.
{
"repos": [
{
"name": "obsidian-api",
"url": "https://github.com/obsidianmd/obsidian-api",
"localPath": "/home/user/.claude/repo-sme/repos/obsidianmd/obsidian-api",
"addedAt": "2026-02-28T10:00:00.000Z",
"lastPulledAt": "2026-02-28T10:00:00.000Z",
"currentBranch": "main",
"defaultBranch": "main"
}
]
}
Use the Agent tool:
subagent_type: "repo-sme:repo-sme-expert"
prompt: |
Repository: <repoName>
Path: <localPath>
URL: <url>
Branch: <currentBranch>
Question: <user's question>
Always pass localPath, repoName, and url. Include branch when the user asks about a specific branch.
| Signal | Example | Action |
|---|---|---|
| Import statement | import { TFile } from 'obsidian' | Check if obsidian or obsidian-api is registered |
| User question | "how does app.vault.read() work?" | Match obsidian → spawn SME |
| TS error | error TS2305: Module 'obsidian' has no exported member 'X' | Check registered repos for obsidian |
| Architecture question | "how does the plugin lifecycle work?" | Match to registered repo → spawn SME |
| Issue request | "file an issue about missing types" | Match to registered repo → spawn SME with issue context |
| Branch query | "what's on the develop branch?" | Match to registered repo → spawn SME with branch param |
| Explicit request | "ask the SME about TFile" | Spawn directly |
| Command | Description |
|---|---|
/repo-sme add <url> | Clone and register a GitHub repo |
/repo-sme list | Show all registered repos with branch info |
/repo-sme remove <name> | Remove a repo from the registry |
/repo-sme ask <name> <question> | Query a specific repo directly |
/repo-sme branches <name> | List all branches for a repo |
/repo-sme checkout <name> <branch> | Switch a repo to a different branch |
Never guess at API behavior — always use the SME for external library questions when a matching repo is registered.