Configures Claude Code hooks and Codex hooks.json/notify. Use when adding PreToolUse guards, Stop hooks, managed hooks, format-on-save, preflight, audits, or worktree/budget hooks.
日本語の概要は準備中です。原文の説明を表示しています。
Scans public GitHub repos for skills, practices, and code patterns. Use when studying how open-source teams configure monorepo CI and PR review, or enriching skills.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Scan public GitHub repos for agent skills (SKILL.md ecosystem), dev practices (git/PR/CI workflows from real teams), or code patterns (framework idioms, config layouts) — then merge validated insights into the local catalog with full attribution.
Manual extraction is unsustainable. The agent-skill ecosystem is large and still growing (see data/sources.json for named registries and their scale), before counting the repos worth scanning for their CI, testing, or i18n setups. This skill makes the scan repeatable and the merge auditable.
gh search code CLI, rate-limit strategy, example queries per modesearch connection-S/-G, blame -w -C -M, bisect run, range-diff, when git log lies| Need | Mode | Entry point |
|---|---|---|
| Find SKILL.md repos for a domain | skill | scripts/search_repos.sh --kind skill <domain> |
| Find teams with strong git/CI practice to copy | practice | scripts/search_repos.sh --kind practice <topic> |
| Find framework idioms in high-signal OSS | code | scripts/search_repos.sh --kind code <language>/<framework> |
| Find OSS clones of a commercial product (killer-feature signal) | killer-feature | scripts/search_repos.sh --kind killer-feature <commercial-product> |
| Fetch assets from a known repo | any | scripts/fetch_repo_assets.sh <owner>/<repo> <out> --kind <mode> |
| Compare external to local equivalent | any | scripts/diff_against_local.sh <external> <local> |
| Verify a claimed practice/pattern against real git history (not just static files) | practice, code | references/git-history-forensics.md |
| License/attribution rules | any | references/attribution-rules.md |
| Registries + high-signal authors | any | data/sources.json |
Target: repos containing SKILL.md + references/ (the agent-skill ecosystem).
Fetch: SKILL.md, references/, optionally scripts/.
Output: research pack → feeds existing software-*, data-*, ai-*, ops-* skills in your catalog.
Use when: enriching an existing skill, or auditing what already exists before building one.
Target: real production repos (not skill repos) with strong process signals.
Fetch: .github/ (workflows, PR/issue templates, CODEOWNERS), CONTRIBUTING.md, SECURITY.md, release notes cadence, docs/adr/ (architecture decisions).
Output: research pack → feeds dev-git-workflow, qa-*, ops-* skills.
Use when: redesigning team policy (branching, PR review, CI gates, release cadence) and you want evidence from real teams, not just framework docs.
Before promoting a practice: sample about 20 recent merged PRs to confirm it is enforced, not just configured, and compare the source repo's scale (contributors, PR volume, CI size) with the target team's. See the Quality Filter in references/practice-scan-targets.md.
Target: high-signal OSS repos in a specific language/framework.
Fetch: configs (tsconfig, biome, eslint, ruff, cargo), representative source modules, test layouts, scripts/ or Makefile.
Output: patterns → feeds software-* skills.
Use when: a local skill covers a domain where mature OSS implementations exist and the team's patterns are better than anything in docs (think: React Query's cache patterns, tRPC's type-safety tricks, Turborepo's build graph).
Target: OSS clones of a specific commercial product (e.g., supabase/supabase clones Firebase, plausible/analytics clones Google Analytics).
Fetch: README.md, CHANGELOG.md, docs/, landing pages — the marketing surface that reveals which features the OSS author chose to replicate (and which they explicitly didn't).
Output: rows on the shared pay-trigger-ledger.tsv with signal_type=oss_clone_focus → contributes to the bundle's Killer-Feature Convergence Protocol owned by research-review-mining.
Use when: the bundle is hunting a killer feature for a commercial product, OR you want to know what the OSS world considers the load-bearing feature(s) of a category leader.
Premise: OSS authors only reimplement what they think matters. That choice is revealed preference under cost — a strong proxy for monetizable core.
Reference: references/killer-feature-mining.md — full extraction protocol + LLM prompts.
software-ios-native and want to steal what other operators learnedresearch-review-mining Killer-Feature Mode asks Mode D for the OSS clone signal on a target commercial productai-deep-researchdev-dependency-managementdev-context-multi-repodev-git-commit-messagedev-git-workflowWebFetchgit cloneqa-debugging — not repo miningUse the opportunity evidence layers when this scan supports area discovery. Contribute L7 feasible delivery: inspect code, license, maintenance, dependencies and representative failure modes against the proposed buyer task. Mode D also informs L6 alternatives, but an OSS clone is a developer choice, not proof that customers pay for that feature. Stars and reported stacks are discovery leads; return testable feasibility limits and correction/support effort. Pure repository research stays here without requiring commercial gates.
Carry source and underlying event IDs, dates, scope, supportive/mixed/adverse/unknown direction, evidence basis, counterevidence and the decisive unknown into the comparison worksheet. The same event appearing in several layers remains one event. No scout score, source count or convergence label passes a commercial gate; retain missing and adverse evidence in the handoff.
public repo research request
-> Choose mode: skill, practice, code, or killer-feature
-> Check prior packs, cached raw extracts, and target sources.json
-> Discover and shortlist 3-5 high-signal repos
-> Fetch only mode-specific assets and pin source commit SHAs
-> Diff external material against the local target
-> Mine novel patterns and write an attributed research pack
-> Apply only if the user's request already authorizes target changes; otherwise hand off the pack
Before fetching anything from GitHub:
ls docs/research/*-scan.md — if a recent pack covers this domain + mode, read it firstls docs/research/*/raw/<owner>__<repo>/ — if a repo was extracted in the last 30 days, reuse unless HEAD advanceddata/sources.json: if a source is already tracked, compare its commit_sha to the current repo to decide refresh vs reuseMirrors the context-first protocol: use prepared artifacts before raw fetches.
software-ios-native with novel patterns from the iOS skill ecosystem" or "Redesign release workflow using practices from 3 active monorepos" or "Improve React i18n patterns in software-localisation". Confirm scope, purpose, and the time window (which pushed/updated range counts) before searching; until a scan has run, describe the ecosystem as unmeasured rather than characterising itscripts/search_repos.sh --kind <mode> <domain> → ranked shortlistscripts/fetch_repo_assets.sh <owner>/<repo> docs/research/<scan-id>/raw/ --kind <mode>scripts/diff_against_local.sh docs/research/<scan-id>/raw/<repo>/ <target-local-skill>/docs/research/<scan-id>.mdVerify repo activity, license, and Scorecard against current GitHub before citing findings. Repo research drifts fast — re-check before merging insights. Always confirm the repo is not LLM-generated (commit history, issue activity, real contributors) before trusting any pattern from it.
This skill pins no rate limits or Git versions. Before a research pack cites one, read it at the source and record the check date: gh api rate_limit and https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api for GitHub limits; https://git-scm.com/docs and the Git release notes for Git versions and defaults (see references/git-history-forensics.md).
Research pack at docs/research/YYYY-MM-DD-<mode>-<domain>-scan.md:
# <Mode> Scan: <Domain> — <Date>
## Mode
skill | practice | code | killer-feature
## Sources Reviewed
| Repo | Stars | Last commit | License | Scorecard | Quality | Action |
|------|-------|-------------|---------|-----------|---------|--------|
## Insights Extracted
For each insight:
- Source: <repo URL + commit SHA>
- Mode: skill | practice | code
- Pattern: <name and 1-line description>
- Why it matters: <evidence from the source>
- Where it goes: <target skill + reference file>
- Novel vs local: <new / extends existing / duplicates existing>
- Confidence: <high / medium / low + rationale>
## Recommended Merges
| Pattern | Target skill | Action | Approved? |
## Skipped
<insights reviewed and rejected, with reason>
## Attribution Pack
<full source list with URLs, upstream authors, commit SHAs, licenses, extraction dates>
Mandatory before any merge:
SKILL.md, reference files, or source files verbatim — extract patterns, rewrite in local voicedata/sources.jsonmain — supply-chain drift is realFull rules: references/attribution-rules.md
| Pattern | Why it works |
|---|---|
| Pin every fetch to commit SHA | Makes extractions reproducible; survives repo renames, branch deletions, force-pushes |
| Filter by OpenSSF Scorecard ≥ 5 (Mode B/C) | This skill's starting heuristic, not an evidence-backed threshold: Scorecard aggregates maintenance and security checks, and 5 is where this skill starts the cut. Read the check breakdown, not the total, before dropping a repo |
| Require CODEOWNERS for practice-scan targets | Repos without ownership signals usually have ad-hoc process — nothing to steal |
| Shortlist to 3–5 repos, not 20 | Extraction is the bottleneck; wide scans dilute signal |
| Apply one skill at a time, one commit per skill | Makes merges reviewable and revertable |
| Always diff-against-local before extracting | Prevents duplication, surfaces real novelty |
| Re-scan about quarterly (not weekly, not yearly) | Starting cadence, not a measured one: weekly scans pay cache costs without new signal, yearly misses drift. Shorten it if a re-scan finds many new patterns, lengthen it if it finds none |
| Sample about 20 recent merged PRs before promoting a practice (Mode B) | Config shows what a repo asks for; merged PRs show whether reviews, required checks, and the merge queue are actually used |
| Match the source repo's scale to the target team before transplanting (Mode B) | A practice that solves a collision problem at many parallel PRs a day is overhead for a small team; record it as scale-dependent when the scales differ |
| Verify high-value practice/pattern claims against real git history, not just static files | CODEOWNERS, CONTRIBUTING.md, and merge-queue config describe policy; blame -w -C -M, range-diff, and bisect run show whether it's actually followed — see references/git-history-forensics.md |
| Anti-pattern | Why it fails | Fix |
|---|---|---|
| Applying insights during a research-only request | Changes a target the user did not authorize | Hand off the pack; apply only when the request includes implementation or later authorizes it |
| Cloning entire repos by default | Wastes context; most value is in ≤10 files | Default to mode-specific asset list |
| Copying content verbatim | License violation + voice drift | Always rewrite in local voice |
| Extracting without diff-against-local | Duplicates content, creates contradictions | Always run diff first |
| Trusting stars alone | LLM-spam repos farm stars via mutual-follow networks | Cross-check commit signing, Scorecard, contributor count |
| Trusting LLM-generated awesome-lists | Some awesome-lists are LLM-synthesized and list dead repos | Spot-check 3 random entries before using the list as a registry |
Fetching main branch without pinning | Content drifts; citations become unverifiable | Always capture commit SHA, cite it |
| Scanning repos flagged as mirrors/vendors | Duplicates upstream; wastes triage time | Filter fork=false, archived=false, check for mirror in description |
Treating topic agent-skills as a quality signal | Topic can be noisy; inspect dated activity and substantive content | Prefer claude-skills, codex-skills, or author-curated lists |
| Research pack with no attribution | Cannot re-verify, breaks audit trail | Every insight gets source URL + upstream author + commit SHA + license |
| Claiming ecosystem prevalence before a scan ("the topic is full of generated shells") | No measurement backs the figure; it steers triage and the pack | Say the prevalence is unmeasured; ask for scope, purpose, and time window, then count from the scan's own shortlist |
| Reporting "what people do for X" from unstructured reading of repos | One reader's impression is not a pattern; a second reader would code the same repos differently | Pre-register a codebook, have a second coder (person or model) independently code a sample, report the agreement, then claim the pattern |
| Re-fetching repos extracted in the last 30 days | Wastes API quota + duplicates context | Phase 0: check docs/research/*/raw/ first |
| Ignoring prior research packs | Loses prior synthesis, agents do duplicate analysis | Phase 0: read existing packs as Level 1 context input |
| Issue | Impact | Workaround |
|---|---|---|
The authenticated gh api core budget is finite | Bulk scans of 50+ repos can exhaust it | Run gh api rate_limit before a large scan and read resources.core; batch, pause, or use GraphQL (single call, deeper data) for listings |
| GitHub search has its own limits, separate from the core budget, and code search is lower than repo and issue search | A code-search sweep (e.g. path:.github/workflows) throttles quickly even with core budget free | Run gh api rate_limit --jq '.resources | {search, code_search}' and pace below the current figures; prefer one wide query + local filtering over many narrow ones; never parallelise code search — see references/code-search-syntax.md |
| Papers with Code is retired | Any inherited workflow that used PwC for reproducibility signal is broken | research-git is the replacement reproducibility-signal channel (repo/reimplementation inspection); do not add PwC back as a source |
Topic agent-skills is noisy | Some results are generated shells; no prevalence estimate is established here | Prefer --owner filter on known authors; cross-check with awesome-lists |
| LLM-generated SKILL.md repos are visually convincing | Wastes extraction budget on zero-signal content | Red flags: commit history too short or too uniform for the maturity the README claims, single author, uniform file sizes, no issues/PRs/reviews from outside contributors, description ends in "...for Claude" |
| GitHub Search skips archived repos inconsistently | Dead repos appear in ranked output | Always pass archived:false in gh search; double-check in triage |
gh search repos --stars filters; --sort stars only orders | Sorting alone lets low-star repos through | Pass --stars '>=N' for a floor and --sort stars for order; search_repos.sh sets per-mode floors (see its --help) |
Some high-signal repos use nested skill dirs (skill/, <name>-pro/) | Default fetch misses SKILL.md | Always recursive-tree lookup, not root-only |
| OpenSSF Scorecard results may not be published for a given repo | The Scorecard signal can be missing | Run the scorecard CLI against the repo yourself, or fall back to CODEOWNERS + commit-signing ratio |
REST git/trees?recursive=1 truncates past a documented entry and size limit and sets truncated: true (limits: https://docs.github.com/en/rest/git/trees) | Huge monorepos return a partial tree that looks complete | fetch_repo_assets.sh walks subtrees when the listing is truncated and records tree_listing in _metadata.json; for very large repos, fetch the specific subtree by path |
| Attribution strings break when source repo is renamed | Links 404 | Pin the commit SHA; GitHub redirects many old-name URLs, but a redirect may not resolve for every URL form, especially branch refs, so cite the SHA |
Goal: enrich software-kafka with patterns from the agent-skill ecosystem. The shortlist below is illustrative, not real search output: example/kafka-skill does not exist, and the real entries must be re-verified live before use.
scripts/search_repos.sh --kind skill kafka
# → ranked shortlist (illustrative): example/kafka-skill, redpanda-data/skills, ...
# Triage: keep 3, drop LLM-generated candidates
scripts/fetch_repo_assets.sh example/kafka-skill \
docs/research/YYYY-MM-DD-skill-kafka/raw/ --kind skill
scripts/diff_against_local.sh \
docs/research/YYYY-MM-DD-skill-kafka/raw/example__kafka-skill/ \
skills/universal/software-kafka/
# → diff shows 2 new reference files, 1 new quick-reference row
# Mine, synthesize, present research pack, apply with attribution
Goal: redesign the team's PR workflow; harvest practices from 3 active monorepos.
scripts/search_repos.sh --kind practice monorepo
# → vercel/next.js, microsoft/vscode, nrwl/nx
scripts/fetch_repo_assets.sh vercel/next.js \
docs/research/YYYY-MM-DD-practice-pr/raw/ --kind practice
# fetches .github/workflows/, CONTRIBUTING.md, CODEOWNERS, PR template, release-please config
# Mine via practice-scan-targets.md rubric: merge queue config, required checks,
# auto-assignment rules, review SLA signals
# Output feeds dev-git-workflow, not this skill
Goal: improve software-localisation with real React i18n patterns.
scripts/search_repos.sh --kind code react i18n
# → lingui/js-lingui, formatjs/formatjs, i18next/i18next
scripts/fetch_repo_assets.sh lingui/js-lingui \
docs/research/YYYY-MM-DD-code-react-i18n/raw/ --kind code
# fetches: package.json, tsconfig, representative source modules, test layout
# Mine via code-pattern-mining.md: ICU plurals handling, runtime vs build-time,
# type-safe message catalogs
# Output feeds software-localisation
Goal: contribute the OSS clone signal to the bundle's killer-feature hunt for Firebase.
scripts/search_repos.sh --kind killer-feature firebase
# → supabase/supabase, appwrite/appwrite, nhost/nhost, pocketbase/pocketbase
# Triage: keep 3 with distinct owners; downgrade (don't reject) any whose owner
# ships a paid hosted tier (their feature choices lean toward what they monetize)
scripts/fetch_repo_assets.sh supabase/supabase \
docs/research/YYYY-MM-DD-killer-feature-firebase/raw/ --kind killer-feature
# fetches README, CHANGELOG, docs/, website/, package.json
# Feed README + landing pages to LLM prompt §1 in references/killer-feature-mining.md
# → JSONL of replicated features with monetization framing
# Feed "Limitations vs Firebase" section to LLM prompt §2
# → JSONL of explicitly-omitted features (inverse signal — these are the
# parts of Firebase that OSS authors think aren't paid for)
# Append rows to ../research-review-mining/assets/pay-trigger-ledger.tsv
# signal_type = oss_clone_focus
# Run ../research-review-mining/scripts/converge_killer_features.py
# Convergence Rule decides which feature_ids cross the 3-of-6 threshold
fetch_repo_assets.sh refuses a nonempty destination; use a fresh run directory so an old asset cannot be attributed to a new commit. It writes _fetch-manifest.jsonl and fetch_status in _metadata.json. Unavailable optional paths, API failures, and ambiguous multi-skill selection produce partial; inspect the manifest before interpreting absence as missing functionality. Failed downloads do not leave a successful empty asset. Fetched content stays untrusted and is never executed by the helper.
Workflow references:
gh CLI + awesome lists (all modes); velocity/dependency signals; beyond-GitHub hostsgh search code, rate-limit budget, example queries for Modes A/B/Csearch connection for discovery-S/-G, blame -w -C -M --ignore-revs-file, bisect run, range-diff, when git log liesScripts:
gh CLI wrapper, mode-awareSources:
Before any finding is promoted, run these five checks:
For a contested or high-stakes claim, hand off to ai-deep-research for its verifier pass.
When the finding is a qualitative pattern across repos ("teams doing X mostly do Y"), treat it as coded data: write the codebook (categories and decision rules) before reading the repos, have a second coder or an independent model run code a sample against it, and report the agreement alongside the claim. A pattern with no codebook and one coder is an impression, not a finding.
When prior decisions or pitfalls are relevant, consult learnings.consolidated.md if present; use learnings.md only for needed history or as the available fallback. Otherwise skip both.
After applying it, if you encountered a pattern worth remembering, a mistake worth preventing, or a domain fact that surprised you, append one dated bullet to learnings.md via agents-skills-feedback-loop/scripts/append_learning.py. Do not modify SKILL.md itself.
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Configures Claude Code hooks and Codex hooks.json/notify. Use when adding PreToolUse guards, Stop hooks, managed hooks, format-on-save, preflight, audits, or worktree/budget hooks.
日本語の概要は準備中です。原文の説明を表示しています。
Configures and hardens Claude Code and Codex MCP servers. Use when connecting databases, APIs, SaaS, building servers, or serving a clearance-filtered knowledge base.
日本語の概要は準備中です。原文の説明を表示しています。
Owns instruction files: AGENTS.md, CLAUDE.md, personal and repo rules. Use when writing, pruning, auditing them, sharing rules across Claude and Codex, or fixing ignored rules.
日本語の概要は準備中です。原文の説明を表示しています。
Creates and audits agent skills: SKILL.md, references, scripts, runtime metadata. Use when writing, validating, or security-reviewing a skill, or fixing truncated skill listings.
日本語の概要は準備中です。原文の説明を表示しています。
Adds per-skill learnings loops for dated patterns, mistakes, and domain facts. Use when wiring skill memory, consolidation, or drift audits.
日本語の概要は準備中です。原文の説明を表示しています。
Chooses subagent, team, workflow, or debate and launches it on Claude Code or Codex. Use when delegating, running agent review boards, or installing shared agents.
日本語の概要は準備中です。原文の説明を表示しています。