一键导入
builder-map
Map of who's building on top of watched repos — forks, third-party ecosystem repos, builder announcements. Answers the "who's building on top" question.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Map of who's building on top of watched repos — forks, third-party ecosystem repos, builder announcements. Answers the "who's building on top" question.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Summary of the [REPLACE: CHANNEL_PLATFORM] channel [REPLACE: CHANNEL_NAME] — top [REPLACE: TOP_N_THREADS] threads + open questions
Price and volume tracker for [REPLACE: TOKEN_SYMBOL] with anomaly alerts above [REPLACE: ALERT_THRESHOLD_PCT]% movement
Watch Vercel deploys for [REPLACE: VERCEL_PROJECT] — alert on [REPLACE: ALERT_ON] in the last [REPLACE: LOOKBACK_HOURS] hours
Digest of the most interesting new posts on [REPLACE: TOPIC] from RSS feeds and the open web
Mention/keyword sweep on social platforms for [REPLACE: KEYWORDS] — trends, sentiment, top posts
5 concrete real-life actions, leverage-scored against open loops with specificity and anti-fluff gates
基于 SOC 职业分类
| name | builder-map |
| description | Map of who's building on top of watched repos — forks, third-party ecosystem repos, builder announcements. Answers the "who's building on top" question. |
| schedule | 0 10 * * 2 |
| commits | false |
| permissions | [] |
| tags | ["dev","social","ecosystem"] |
Today is ${today}. Read memory/MEMORY.md before starting. If soul/SOUL.md + soul/STYLE.md exist and are populated, read them to match the operator's voice; otherwise use a clear, direct, neutral tone.
When a repo, framework, or stack attracts builders — forks, third-party apps, integrations, research uses — that signal compounds quietly across GitHub and social. Without a regular sweep, the picture stays fragmented. This skill is a weekly cross-project builder discovery run: who's building on top of the watched repos, which categories are emerging, where the ecosystem is thickening.
This skill reads watched repos from memory/watched-repos.md. Each row should declare a primary repo and optional search keywords. Example format:
# Watched Repos
| Repo | Keywords | Notes |
|------|----------|-------|
| acme/coreframework | coreframework, acmesdk | flagship stack |
| acme/dataengine | dataengine, acmedata | trading / quant ecosystem |
If memory/watched-repos.md doesn't exist or lists no repos, log BUILDER_MAP_SKIP: no watched repos configured and stop — there's nothing to map.
Read memory/topics/ecosystem.md. If it doesn't exist, create it with this seed and continue:
# Builder Ecosystem
*Last run: never*
## Known Builders
- (populate as discoveries land)
## Fork Counts (baseline)
- (per-repo counts populated by the first run)
## Builder Categories
- quant/finance:
- research/scientific:
- agentic-apps:
- enterprise/adoption:
- misc:
## Signal Log
- (append per-run summaries here)
Extract:
known_builders — list of already-tracked builders (avoid re-announcing them unless they ship something new)forks_last — last recorded fork count per watched repo (or "unknown")For each repo from memory/watched-repos.md:
gh api "repos/${OWNER}/${REPO}/forks" --paginate \
--jq '[.[] | select(.archived == false) | {full_name, owner: .owner.login, pushed_at, stars: .stargazers_count, description, default_branch}]'
If that fails (404 or permission), try:
gh api "repos/${OWNER}/${REPO}" --jq '{forks_count, stargazers_count}'
and note that fork enumeration was unavailable for that repo this run.
Classify each fork:
pushed_at within last 30 daysRecord total, active count, and any active forks with ≥1 star or a non-empty description.
These are repos that MENTION or USE the watched stack but aren't forks. For each set of Keywords in the config:
gh search repos "${KEYWORD}" --sort=updated --limit=15 --json=fullName,description,stargazersCount,updatedAt,owner
If gh search repos is unavailable:
gh api "search/repositories?q=${KEYWORD}+in:readme+in:description&sort=updated&per_page=15" \
--jq '[.items[] | {full_name, description, stargazers_count, updated_at, owner: .owner.login}]'
Filter:
memory/watched-repos.md (their own repos)These are the highest-signal ecosystem builders — they chose to use the stack without forking.
For each watched repo and its keywords, run two searches capped to last 7 days where possible:
"${KEYWORD}" built OR using OR integrating ${year}site:x.com "${KEYWORD}" "built" OR "using" OR "shipped"From results, extract:
Flag results from new builders NOT in known_builders. Skip already-known builders unless they shipped something new.
Combine all findings. For each builder (fork, ecosystem repo, or announcement):
| Signal | Points |
|---|---|
| Active fork (pushed ≤30d) | +3 |
| Third-party repo (not a fork) using the stack | +5 |
| Stars on fork/repo | +1 per star (cap 10) |
| New builder not in known_builders baseline | +4 |
| Builder announcement / demo shared publicly | +3 |
| Non-obvious vertical (research, enterprise, consumer) | +2 |
Sort by score descending. Assign category:
| Signal | Level |
|---|---|
| ≥3 new builders not in baseline | breakout |
| 1–2 new builders + active forks growing | accelerating |
| Same builders, forks growing | building |
| No new builders, stable fork count | holding |
| Forks declining or no activity | cooling |
Track fork count deltas per repo vs baseline:
delta = current active forks − forks_lastRewrite:
*Last run: ${today}*Known Builders (append new ones; update if existing shipped something new)Fork Counts with current totals and active counts per watched repoBuilder Categories mapSignal LogKeep the file under ~150 lines. Archive oldest signal log entries if needed.
Write to .pending-notify-temp/builder-map-${today}.md, then:
mkdir -p .pending-notify-temp
./notify -f .pending-notify-temp/builder-map-${today}.md
Format — match the operator's voice if soul files are populated, otherwise direct and neutral:
builder map — ${today}
{momentum level}: {one-line framing}
{forEach watched repo}
{repo}: {N_ACTIVE} active forks (delta {+N} vs last run)
{end}
{IF new_builders}
new builders ({count}):
{forEach new_builder, top 3}
- {owner/project}: {one-line on what they built} ({category})
{end}
{end}
{IF notable_third_party}
ecosystem repos using the stack:
{forEach, top 2}
- {repo}: {description} ({stars}★)
{end}
{end}
{IF quiet}
no new builders this week. stack's compounding.
{end}
Keep under 900 chars. Do NOT use ./notify "$(cat ...)" — write the file first, pass the path.
Skip notification entirely if:
BUILDER_MAP_QUIET insteadAppend:
## builder-map
- **Watched repos scanned:** {N}
- **Total active forks:** {sum across repos}
- **Third-party repos:** {count} found using the stack
- **New builders:** {count} ({names})
- **Momentum:** {level}
- **Notification:** sent / skipped (quiet)
- BUILDER_MAP_OK
None. Uses gh CLI (GITHUB_TOKEN via workflow), WebSearch, WebFetch.
gh search repos and gh api use the gh CLI — handles auth internally.gh api for forks returns 404 (private or renamed repo): skip fork scan for that repo, log ${REPO}_forks=unavailable, continue with the rest.