本文へ移動
cccskills
無料GitHub で公開

research-git

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.

インストール方法を見る

含まれるファイル(23)

  • SKILL.md29.5 KB
  • agents/openai.yaml363 B
  • data/sources.json18.1 KB
  • learnings.consolidated.md588 B
  • learnings.md839 B
  • references/apply-protocol.md5.0 KB
  • references/attribution-rules.md6.7 KB
  • references/claude-code-ecosystem-catalog.md10.3 KB
  • references/code-pattern-mining.md6.9 KB
  • references/code-search-syntax.md8.2 KB
  • references/discovery-protocol.md10.1 KB
  • references/extraction-protocol.md4.7 KB
  • references/git-history-forensics.md11.8 KB
  • references/graphql-triage.md9.1 KB
  • references/insight-mining.md4.5 KB
  • references/killer-feature-mining.md12.4 KB
  • references/practice-scan-targets.md7.0 KB
  • references/signal-quality.md8.2 KB
  • scripts/diff_against_local.sh4.5 KB
  • scripts/fetch_repo_assets.sh15.4 KB
  • scripts/search_repos.sh10.3 KB
  • scripts/test_fetch_manifest.py2.1 KB
  • scripts/test_research_git_scripts.py12.8 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Repo Research

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.

Navigation

Quick Reference

NeedModeEntry point
Find SKILL.md repos for a domainskillscripts/search_repos.sh --kind skill <domain>
Find teams with strong git/CI practice to copypracticescripts/search_repos.sh --kind practice <topic>
Find framework idioms in high-signal OSScodescripts/search_repos.sh --kind code <language>/<framework>
Find OSS clones of a commercial product (killer-feature signal)killer-featurescripts/search_repos.sh --kind killer-feature <commercial-product>
Fetch assets from a known repoanyscripts/fetch_repo_assets.sh <owner>/<repo> <out> --kind <mode>
Compare external to local equivalentanyscripts/diff_against_local.sh <external> <local>
Verify a claimed practice/pattern against real git history (not just static files)practice, codereferences/git-history-forensics.md
License/attribution rulesanyreferences/attribution-rules.md
Registries + high-signal authorsanydata/sources.json

Four Modes

Mode A — Skill Discovery

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.

Mode B — Practice Scan

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.

Mode C — Code Pattern Extraction

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).

Mode D — Killer-Feature Mining

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.

When to Use

  • Enriching a skill: you have software-ios-native and want to steal what other operators learned
  • Pre-build audit: you're about to author a new skill — has the work already been done?
  • Policy redesign: your team's PR workflow is breaking — scan how 5 leading OSS repos handle it
  • Framework adoption: you're committing to a new framework — pull idioms from the repos that stress-test it
  • Periodic refresh: re-scan of a domain (about quarterly as a starting cadence) to catch new patterns from active maintainers
  • Bundle handoff — killer-feature scan: research-review-mining Killer-Feature Mode asks Mode D for the OSS clone signal on a target commercial product

When NOT to Use

  • Web articles, papers, blog posts → ai-deep-research
  • Library/package selection or upgrade path → dev-dependency-management
  • Cross-repo code context for your own portfolio → dev-context-multi-repo
  • Per-commit message generation or commit-policy implementation → dev-git-commit-message
  • Branching-model design in isolation (no evidence-gathering needed) → dev-git-workflow
  • One-off lookup of a specific file → plain WebFetch
  • Cloning to fork → plain git clone
  • Validated Q&A answers or known-error solutions → the Stack Overflow corpus (community MCP or the emerging Stack Overflow for Agents exchange), via qa-debugging — not repo mining

Layered opportunity handoff

Use 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.

Default Workflow

ASCII Flow

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

Phase 0 — Context Check (always run first)

Before fetching anything from GitHub:

  1. Prior research packs: ls docs/research/*-scan.md — if a recent pack covers this domain + mode, read it first
  2. Cached extractions: ls docs/research/*/raw/<owner>__<repo>/ — if a repo was extracted in the last 30 days, reuse unless HEAD advanced
  3. Target skill's data/sources.json: if a source is already tracked, compare its commit_sha to the current repo to decide refresh vs reuse
  4. Existing pack as Level 1 input — only re-fetch the delta

Mirrors the context-first protocol: use prepared artifacts before raw fetches.

Phase 1–9 — Active Research

  1. Frame the goal: "Enrich 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 it
  2. Discover: scripts/search_repos.sh --kind <mode> <domain> → ranked shortlist
  3. Triage: pick 3–5 repos using signals in references/discovery-protocol.md — applies to all modes
  4. Extract (only what's missing or stale): scripts/fetch_repo_assets.sh <owner>/<repo> docs/research/<scan-id>/raw/ --kind <mode>
  5. Diff: scripts/diff_against_local.sh docs/research/<scan-id>/raw/<repo>/ <target-local-skill>/
  6. Mine insights: follow mode-specific guidance
  7. Synthesize: research pack at docs/research/<scan-id>.md
  8. Authority check: if the user asked only for research, present the pack and stop. If the same request already asks to improve, apply, or implement, that is the opt-in; do not pause for duplicate approval.
  9. Apply when authorized: follow references/apply-protocol.md, preserving the target scope and attribution requirements.

Verify 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).

Output Contract

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>

Attribution Rules

Mandatory before any merge:

  1. Check the source repo's LICENSE — MIT / Apache-2.0 / BSD / CC-BY-4.0 permit derived work with attribution. No LICENSE file means all rights reserved: do not extract
  2. Never copy SKILL.md, reference files, or source files verbatim — extract patterns, rewrite in local voice
  3. Cite source URL + commit SHA + extraction date + license + author on every merged insight; the author is the upstream original, not the fork you happened to fetch
  4. Add the source to the target skill's data/sources.json
  5. Pin to commit SHA, never main — supply-chain drift is real
  6. Screen anything copied for secrets, credentials, PII, and organisation-specific details (internal hostnames, people's names, customer data) before it enters the pack; a permissive licence does not make those ingestible

Full rules: references/attribution-rules.md

Patterns

PatternWhy it works
Pin every fetch to commit SHAMakes 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 targetsRepos without ownership signals usually have ad-hoc process — nothing to steal
Shortlist to 3–5 repos, not 20Extraction is the bottleneck; wide scans dilute signal
Apply one skill at a time, one commit per skillMakes merges reviewable and revertable
Always diff-against-local before extractingPrevents 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 filesCODEOWNERS, 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-Patterns

Anti-patternWhy it failsFix
Applying insights during a research-only requestChanges a target the user did not authorizeHand off the pack; apply only when the request includes implementation or later authorizes it
Cloning entire repos by defaultWastes context; most value is in ≤10 filesDefault to mode-specific asset list
Copying content verbatimLicense violation + voice driftAlways rewrite in local voice
Extracting without diff-against-localDuplicates content, creates contradictionsAlways run diff first
Trusting stars aloneLLM-spam repos farm stars via mutual-follow networksCross-check commit signing, Scorecard, contributor count
Trusting LLM-generated awesome-listsSome awesome-lists are LLM-synthesized and list dead reposSpot-check 3 random entries before using the list as a registry
Fetching main branch without pinningContent drifts; citations become unverifiableAlways capture commit SHA, cite it
Scanning repos flagged as mirrors/vendorsDuplicates upstream; wastes triage timeFilter fork=false, archived=false, check for mirror in description
Treating topic agent-skills as a quality signalTopic can be noisy; inspect dated activity and substantive contentPrefer claude-skills, codex-skills, or author-curated lists
Research pack with no attributionCannot re-verify, breaks audit trailEvery 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 packSay 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 reposOne reader's impression is not a pattern; a second reader would code the same repos differentlyPre-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 daysWastes API quota + duplicates contextPhase 0: check docs/research/*/raw/ first
Ignoring prior research packsLoses prior synthesis, agents do duplicate analysisPhase 0: read existing packs as Level 1 context input

Known Issues

IssueImpactWorkaround
The authenticated gh api core budget is finiteBulk scans of 50+ repos can exhaust itRun 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 searchA code-search sweep (e.g. path:.github/workflows) throttles quickly even with core budget freeRun 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 retiredAny inherited workflow that used PwC for reproducibility signal is brokenresearch-git is the replacement reproducibility-signal channel (repo/reimplementation inspection); do not add PwC back as a source
Topic agent-skills is noisySome results are generated shells; no prevalence estimate is established herePrefer --owner filter on known authors; cross-check with awesome-lists
LLM-generated SKILL.md repos are visually convincingWastes extraction budget on zero-signal contentRed 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 inconsistentlyDead repos appear in ranked outputAlways pass archived:false in gh search; double-check in triage
gh search repos --stars filters; --sort stars only ordersSorting alone lets low-star repos throughPass --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.mdAlways recursive-tree lookup, not root-only
OpenSSF Scorecard results may not be published for a given repoThe Scorecard signal can be missingRun 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 completefetch_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 renamedLinks 404Pin 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

Scenarios

Scenario 1 — Skill Discovery (Mode A)

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

Scenario 2 — Practice Scan (Mode B)

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

Scenario 3 — Code Pattern Extraction (Mode C)

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

Scenario 4 — Killer-Feature Mining (Mode D)

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 completeness

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.

Resources

Workflow references:

Scripts:

Sources:

Related Skills

Promotion Check

Before any finding is promoted, run these five checks:

  1. Resolve the primary artifact (the paper, the repo at a pinned commit, or the operator's own page), not a summary of it.
  2. Copy the claim verbatim from that artifact, with its number, benchmark, or quote. Never restate it from memory.
  3. Confirm an independent origin: a separate study, reproduction, or team, not a re-post or second channel for the same release.
  4. Record the date you checked the artifact.
  5. If any check fails, label the finding "unverified" and do not promote it.

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.

Learnings Loop

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.

日本語の概要は準備中です。原文の説明を表示しています。

vasilyu1983/AI-Agents-public932026年10月12日 更新

Configures and hardens Claude Code and Codex MCP servers. Use when connecting databases, APIs, SaaS, building servers, or serving a clearance-filtered knowledge base.

日本語の概要は準備中です。原文の説明を表示しています。

vasilyu1983/AI-Agents-public932026年10月12日 更新

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.

日本語の概要は準備中です。原文の説明を表示しています。

vasilyu1983/AI-Agents-public932026年10月12日 更新

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.

日本語の概要は準備中です。原文の説明を表示しています。

vasilyu1983/AI-Agents-public932026年10月12日 更新

Adds per-skill learnings loops for dated patterns, mistakes, and domain facts. Use when wiring skill memory, consolidation, or drift audits.

日本語の概要は準備中です。原文の説明を表示しています。

vasilyu1983/AI-Agents-public932026年10月12日 更新

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.

日本語の概要は準備中です。原文の説明を表示しています。

vasilyu1983/AI-Agents-public932026年10月12日 更新

vasilyu1983 のスキルをすべて見る

このスキルの問題を報告する