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.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub ahacad/toolbox --plugin repo-analyzer