From repo-analyzer
Deep, multi-agent analysis of a GitHub repository. Use this skill ANY TIME the user shares a GitHub repo URL or asks Claude to evaluate, analyze, investigate, or "dig into" a specific repo — including phrases like "analyze this repo", "what do you think of this project", "should I contribute to this", "is this library worth learning", "give me a deep dive on this repo", "evaluate this project", "what's the deal with this project", or even just dropping a github.com URL with a question mark. Dispatches parallel subagents to investigate (1) repo health and stats, (2) market position and gap analysis, and (3) technical architecture, then synthesizes a personalized contribute-vs-learn-vs-compete recommendation against the user's profile. Produces an overview report plus three per-dimension reports, written to local disk in Claude Code or shown inline on claude.ai web. Trigger this skill liberally — it is the right tool whenever the user wants more than a one-line answer about a GitHub project.
How this skill is triggered — by the user, by Claude, or both
Slash command
/repo-analyzer:analyzeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Multi-agent GitHub repo analysis. Three parallel investigators produce
Multi-agent GitHub repo analysis. Three parallel investigators produce domain-specific reports; a synthesizer combines them into a personalized recommendation grounded in the user's profile (below).
Trigger on any request that involves evaluating a specific GitHub repo:
If the user asks a one-line factual question ("how many stars does X have?"), do NOT trigger this skill — answer directly.
The synthesizer evaluates every repo through four lenses (contribute / learn / compete / influence) — but those lenses only carry weight against the user's own profile (role, expertise, technical taste, what they're optimizing for).
Resolve the user's profile in this order:
CLAUDE.md — if the user has a profile file, memory
entries, or CLAUDE.md describing their role, languages, and what they
value, use that. Don't re-ask.--profile "..." or includes
profile context in the request itself, that wins for this run.The three investigator agents (repo-intel / market / tech-arch) do not use the profile — they produce neutral reports. Only the synthesizer ties findings back to the user. Output preference, regardless of profile: bottom-line first, ranked, concrete, no hedging filler.
Extract <owner> and <repo> from whatever the user gave you (URL, owner/repo
shorthand, or a name you have to disambiguate via search). If ambiguous, ask
once.
Determine depth: default deep. Honor --depth quick or --depth standard
if the user passes either.
TS=$(date +%Y-%m-%d-%H%M)
WORK="./repo-analysis/${OWNER}__${REPO}/${TS}"
mkdir -p "$WORK"/{reports,_raw}
On claude.ai web (no persistent FS), use /home/claude/repo-analysis/...
instead and remember you'll be presenting files at the end.
--depth quick)git clone --depth=200 "https://github.com/${OWNER}/${REPO}.git" "$WORK/_clone"
--depth=200 gives enough history for cadence analysis without paying for a
full clone on large repos.
bash $SKILL_DIR/scripts/stats.sh "$OWNER" "$REPO" "$WORK/_clone" "$WORK/_raw"
This dumps gh-API JSON, contributor breakdown, language LOC, dep manifests,
recent commit/release/issue activity into _raw/. Subagents read from there.
In Claude Code: spawn three Task subagents in parallel. Each one gets:
$SKILL_DIR/agents/repo-intel.md)OWNER, REPO, WORK paths$WORK/reports/repo-intel.md)Give each subagent a prompt like:
Read your instructions from
<SKILL_DIR>/agents/repo-intel.mdand follow them exactly. The repo is<OWNER>/<REPO>. Raw data is in<WORK>/_raw/. The clone (if present) is at<WORK>/_clone/. Write your final report to<WORK>/reports/repo-intel.md. Depth:<deep|standard|quick>. Return a 5-bullet summary when done.
The three agents are:
| Agent | Prompt file | Writes to |
|---|---|---|
| repo-intel | agents/repo-intel.md | reports/repo-intel.md |
| market | agents/market.md | reports/market.md |
| tech-arch | agents/tech-arch.md | reports/tech-architecture.md |
On claude.ai web: no Task tool. Run the three roles sequentially yourself, each as a focused pass: read the agent prompt file, do the work, write the report. Take real breaks of context between them — finish one fully before starting the next.
Once all three reports exist, you (the orchestrator) read all three plus the
profile above and produce overview.md. Use the template in
references/output-templates.md (section "overview.md"). The overview must:
No hedging. If the call is "ignore this, it's a vendored fork of X with no activity", say that.
Claude Code: print the four file paths, in this order: overview.md
first, then the three sub-reports. Include a one-line summary per file.
claude.ai web: also call present_files so the user can download them,
and additionally print the overview content inline (the sub-reports get
linked, not pasted, to avoid wall-of-text).
| Mode | Clone? | Web search rounds | Dep analysis | Sentiment dive |
|---|---|---|---|---|
| quick | no | 1 per agent | manifest only | no |
| standard | yes | 2 per agent | direct deps | light |
| deep | yes | 3+ per agent | + transitive | yes (HN+Reddit) |
Default is deep.
gh returns an error. Tell the user the repo is
private or doesn't exist; do not invent data.references/tools.md — concrete gh / git / tokei / jq
invocations the agents and orchestrator rely on.references/output-templates.md — markdown templates for all four
reports. Use them; don't reinvent structure per run.agents/repo-intel.md — health, governance, stats, bus factor, activity.agents/market.md — positioning, alternatives, gap analysis, sentiment.agents/tech-arch.md — languages, deps, design patterns, build/test/CI.Each is self-contained; the subagent reads only its own file.
npx claudepluginhub ahacad/toolbox --plugin repo-analyzerCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.