From hoyeon
Analyzes open-source GitHub repos from What/Why perspective: purpose, value, target users, usage flow. Clones repo locally, dispatches parallel subagents, synthesizes report.
npx claudepluginhub team-attention/hoyeon --plugin hoyeonThis skill uses the workspace's default tool permissions.
Clone an open-source repo locally, analyze it through multiple lenses in parallel
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Clone an open-source repo locally, analyze it through multiple lenses in parallel via subagents, and deliver a What/Why-focused report in chat.
The goal is not to produce an implementation deep-dive. The goal is to help the user quickly decide "is this what I need, and why would I use it?" and then answer any custom questions they have about the repo.
Accept any of:
https://github.com/owner/repo (or git@github.com:...)owner/repo shorthandanalyze-oss owner/repo "X 대비 어떤지, Y 유스케이스 맞는지"If the URL is ambiguous, ask the user to confirm before cloning.
Target directory: ~/opensource-analysis/<repo-name>/
BASE=~/opensource-analysis
REPO_NAME=<derived from URL>
TARGET=$BASE/$REPO_NAME
mkdir -p $BASE
if [ -d "$TARGET/.git" ]; then
cd "$TARGET" && git pull --ff-only
else
git clone --depth 50 <repo-url> "$TARGET"
fi
Notes:
--depth 50 keeps clone fast; enough for recent commit signals.git pull fails (local changes, diverged), warn the user — don't force.$TARGET; all subagents must use this absolute path.Read these in parallel to build dispatch context (don't deep-read, just skim):
README* (pick the most prominent)package.json / pyproject.toml / Cargo.toml / go.mod (whichever exist)docs/ top-level listing if presentgit log --oneline -10Extract: repo name, elevator pitch (if README has one), primary language, rough size.
This recon is only to brief subagents well — do not write the report yet.
Spawn the following subagents in one message, in parallel. Each gets:
Subagents (4 default lenses):
what-lens — "What is this?"
why-lens — "Why does this exist?"
MOTIVATION.md / docs/why*who-when-lens — "Who uses this, and when?"
examples/, showcase/users sections, issues labeled "question" or similar for real-world usage signalshow-used-lens — "How does a user actually use this?" (user-perspective, not implementation)
examples/, minimal usage snippetsIf the user provided custom questions, spawn one more subagent per distinct question:
Main agent takes all subagent outputs and composes the final report in chat.
Output template (strict):
## Analyze OSS: <repo-name>
**Repo:** <url> · **Language:** <lang> · **Cloned at:** <abs path>
### What
<one-line definition>
**Core capabilities:**
- …
- …
### Why
**Problem:** <plain language>
**Without it:** <what you'd do otherwise>
**Alternatives & differentiator:** <named alternatives, 1 line each, then what makes this different>
### Who / When
**Target users:** …
**Use cases:** …
**Not a good fit when:** …
### How it's used (user perspective)
**Install:** `…`
**Minimal example:** <short snippet or description — keep brief>
**Typical flow:** <zero-to-first-success narrative, 3–6 steps>
**Interaction surface:** <CLI / HTTP API / SDK / config / etc.>
### Custom Q&A ← only if user provided questions
**Q: <question>**
A: <answer with file path citations>
### Notes
- [inferred] markers if any
- Anything surprising / red flags / caveats worth surfacing
After delivering the report, ask:
"Anything you want me to dig into further? (e.g. compare with X, how auth works, licensing details, etc.)"
For follow-ups, dispatch additional subagents with the same pattern — one question, one subagent — and extend the Custom Q&A section.
[inferred].--depth 50 already helps; if still slow, warn the user and proceed.