Install
$ agentstack add skill-yigitkonur-skills-by-yigitkonur-run-github-scout ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README — it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
GitHub Repo Scout
Adaptive GitHub repository discovery and shortlisting for a concrete user need. Default deliverable is a markdown shortlist in conversation backed by repo evidence. Deeper comparison, feature matrices, and HTML export are optional end-stage branches — never the default.
This skill is lean by design. Opposite shape to corpus research: no folder tree, no wave dispatch, no MAX-N ceilings, no template authoring.
When to use this skill
Trigger on phrasings like:
- "find the best open-source X for Y" / "find repos that do …"
- "shortlist GitHub projects for …" / "what repos fit this stack/use case?"
- "alternatives to
owner/repoon GitHub" / "similar repos to …" - "compare GitHub repos for …" / "recommend a library that …"
- "GitHub-hosted tools/SDKs/CLIs for …" / "OSS for …"
- "verify this repo is what I think it is" (verify-first scout)
Do NOT use this skill when
- The question is a **single technical decision or version/API/CVE/pricing
lookup** with no repo-discovery focus → use run-research.
- The user wants a multi-file market/category corpus over 5+ entities
with per-entity packs and source ledgers → use run-deep-research. Repos can still be the entities — the discriminator is corpus shape, not the subject.
- The candidates are not on GitHub (closed-source SaaS, marketplace
apps, hosted-only products) → use run-research or run-deep-research.
- The task is codebase-local (read this repo, fix this bug, plan
these issues) → not this skill. For Issues planning specifically use the gh CLI directly (the run-issue-tree skill was retired).
Five rules that prevent most derailments
These five upstream-discipline rules catch the bulk of failures. Read references/discipline.md first if any are unfamiliar.
| # | Rule | Why | |---|---|---| | 1 | Verify-first when the user names a thing | One gh search repos 'NAME' --limit 5 call confirms category before alternatives. Skipping costs 3-4 wasted searches. | | 2 | Pick the star threshold by ecosystem maturity, not reflex | Young niches (AI agents, MCP) need none; mature ecosystems need stars:>500+. Wrong threshold = wrong result set. | | 3 | Avoid topic:, bare multi-word OR, in:readme in first-pass | All three are noise-prone. Use them only after classify proves they help. | | 4 | Classify before you deepen | Typed Relevant / Maybe / Off-topic table is the gate before any README read. Skipping forces guesses. | | 5 | Hard ceiling: 5 repos for deep evaluation | Going to 6+ requires inline justification at the moment of promotion. |
Prerequisites and pinned defaults
| Item | Default | |---|---| | Auth check | Run gh auth status before non-trivial scouts. Prefer authenticated GH_TOKEN / GITHUB_TOKEN for higher limits. | | Search help | gh search repos --help is the source of supported JSON fields and flags. | | Rate-limit check | Before large searches or deep dives: gh api rate_limit --jq '.resources | {core, search, graphql}'. | | Query limits | First pass: 3-6 angles. Refinement: 1-4 queries. Deep dive: top 3-5 repos only. Default --limit 20. |
GitHub tool contract
- Use
gh search reposfor discovery. - Use
gh api repos/OWNER/REPO...only for shortlisted metadata. - Use
gh api graphqlonly for top-N deep evidence when REST/README/search are insufficient. - Use direct
curlonly whenghis unavailable. - Use web/MCP tools (or
run-research) for naming/landscape augmentation only; final repo truth comes from GitHub. - the
ghCLI directly (the run-issue-tree skill was retired) also usesgh, but its intent is GitHub Issue planning/execution, not repo discovery.
Rate-limit rules:
- Search has its own bucket; never fire unbounded waves.
- Prefer fewer diverse queries over paraphrase spam.
- If limits are low, stop at metadata/README evidence and disclose the limit instead of pushing through.
- Verify current GitHub behavior against official docs before hardcoding numbers: https://docs.github.com/rest/rate-limit (accessed 2026-05-09).
Bundled scripts
Resolve scripts relative to this skill directory. They are conveniences, not a replacement for fit judgment.
| Script | Use when | |---|---| | scripts/gh-search.sh | Compact, repeatable TSV capture from gh search repos. See scripts/gh-search.md. | | scripts/score-repos.sh | Cheap signal sort over captured rows. Metadata only — never semantic fit. See scripts/score-repos.md. |
Default stance
- Shortlist first. Default deliverable is an in-conversation markdown shortlist.
- Search small, then refine. Start with 3-6 broad angles, then run at most one refinement round unless results are still materially weak.
- Filter before expanding. Read descriptions, names, topics, stars, and recent activity before inventing more searches.
run-researchis optional, not required. Invoke it for the augmented branch when GitHub-only search is thin and naming/landscape discovery would help. Built-inWebSearchis also sufficient for light naming clues.- Keep deep work top-N only. Feature matrices, code reads, and HTML export happen only after a useful shortlist exists.
Capability check — pick the leanest path
| Path | Use when | Default tools | |---|---|---| | GitHub-only | Problem clearly named, category is repo-centric, GitHub search already surfaces relevant candidates. | gh search repos, GitHub web/API, repo READMEs | | Augmented | Naming is fuzzy, landscape is broad, category labels unclear, or first-pass GitHub search is thin/noisy. | GitHub search + run-research (preferred) or built-in WebSearch (lighter fallback) |
Rules:
- If
run-researchandWebSearchare both unavailable, continue on the GitHub-only path. - If web research is available, use it to discover better names/categories/curated alternatives, then map back to GitHub repos and filter there.
- Never ask the user to install a research tool just to run this skill.
Default workflow
0. Verify-first when the user named a thing
If the user mentioned a specific repo, project, or tool by name, the first call verifies what that thing is — not alternatives. One call: gh search repos 'NAME' --limit 5 --sort=stars. Confirm category before proceeding.
If the named thing is unrelated to what the user is asking for, surface the mismatch back to the user before continuing. See references/discipline.md §2.
Skip this step only when the user named no specific thing.
1. Interpret the request
Extract the search contract before touching GitHub:
- core problem or job to be done
- must-haves
- exclusions
- ecosystem or language constraints
- maturity expectations (production-ready, active, permissive license, etc.)
- known examples or anti-examples (if named, see Step 0)
Ask clarifying questions only when the answer would materially change the search. If the user's request already pins use case and constraints, skip questions entirely.
2. Choose the search path
- Use the GitHub-only path by default.
- Switch to Augmented if you hit ambiguous naming, broad category noise, or community terminology problems.
- Read
references/web-augment.mdonly if you need the augmented branch — it explains when and how to invokerun-researchfor naming and landscape discovery.
3. Run a small first pass
Start with 3-6 search angles, not a giant hypothesis list.
Minimum useful angle set:
- direct phrasing of the user's need
- broader category phrasing
- known examples or well-known alternatives
- one unexpected-naming branch
Add a fifth or sixth angle only when a hard constraint matters (language, deployment model, self-hosted, etc.).
Pick a star threshold per ecosystem maturity before launching. Young niches (AI agents, MCP, agent orchestrators) typically need no threshold — quality repos exist below 100⭐. Mature ecosystems (web frameworks, classic CLIs) need stars:>500 to filter noise. See references/discipline.md §3 for the matrix.
Avoid topic: in first-pass discovery — it returns spam. Avoid bare multi-word OR queries — they parse ambiguously. See references/discipline.md §4 and §5.
Use short, broad queries first. Prefer scripts/gh-search.sh for common capture; read references/search.md, references/gh-syntax.md, and references/gh-output.md if you need exact search patterns.
4. Filter internally before searching again
Treat the first pass as raw material, not the final answer.
Produce a classify table before any further work — this is the gate that prevents drift into deep reading of the wrong candidates:
| Repo | Class | Reason | Signals |
|---|---|---|---|
| owner/repo1 | relevant | Direct match for X | 4.2k⭐, pushed 2026-04, MIT |
| owner/repo2 | maybe | Adjacent — wrapper, not engine | 800⭐, active |
| owner/repo3 | off-topic | Tutorial, not implementation | — |
Filter using the cheapest signals first:
- repo name
- description
- topics
- stars
- recent activity / pushed date
- archived status
- license presence
Read README intros only for borderline or high-potential candidates. Harvest better terms from relevant and maybe-relevant repos before expanding search.
Use references/dedup-and-rank.md for the four-stage gate procedure. The classify table is mandatory; deepening without it is a discipline failure (see references/discipline.md §8). Use scripts/score-repos.sh only as a cheap metadata sort within the classify pass; do not let it override user-fit evidence. Read references/quality-gates.md after first-pass classification to decide whether to stop, refine once, augment, or deepen.
5. Run one refinement pass
Refine only after the first classification pass tells you what is missing.
Good reasons to refine:
- too few relevant repos
- too much off-topic noise
- naming mismatch between user language and repo language
- a promising subcategory emerged from candidate descriptions or topics
Refinement rules:
- 1-4 better queries, not a whole new search machine
- expand only the gaps you observed
- stop when new searches mostly repeat known repos
Use references/search-examples.md for worked examples of first-pass + refinement loops, including derailment-recovery patterns.
6. Produce the default output
Default output is markdown in the conversation, not files.
Deliver:
- a one-paragraph recommendation or framing note
- a compact table using the stable row schema
- a grouped shortlist (
Best fits,Worth a look,Ruled out / why) - evidence packs for
Best fits - notable gaps or uncertainty
Stable row schema:
| Repo | Fit | Evidence | Signals | Caveat / unknown |
|---|---|---|---|---|
| [owner/repo](https://github.com/owner/repo) | Strong fit for X | README says Y; topics include Z | stars, pushed, license, activity | Not verified: A |
Require repo links in the table unless a URL is unavailable.
For each Best fits repo, include a lightweight evidence pack:
- why it matches the user's must-haves
- evidence source used: description, topics, README, API, or code
- cheap quality signals checked
- caveats and unverified claims
- last checked date when external state matters
If the user is satisfied with the markdown shortlist, stop there.
7. Offer optional deepen
Only deepen after the markdown shortlist is useful. Check references/quality-gates.md before deepening; most scouts should stop at the markdown shortlist.
Each branch consumes only the final shortlisted dataset; do not restart discovery.
- light deeper comparison — top 3-5 side-by-side on fit, evidence, signals, caveats
- code-level evaluation — top few repos only; verify must-have features, README/onboarding, tests/CI, maturity risks
- feature matrix — explicit capability coverage table with evidence notes or
unknown - HTML/export — persistent report from the stable markdown shortlist
Hard ceiling: 5 repos for deep evaluation. Going to 6+ requires an explicit inline justification at the moment the deepening starts — e.g., "promoting owner/repo6 because it surfaced a decision-flipping signal during classify." Without that justification, stop at 5. See references/discipline.md §10.
If the user asks for files, create them from the final shortlisted dataset only. Do not create .githubresearch/ or other artifact trees unless the user wants export or report output.
HTML export data contract for references/report-template.html:
- Generate HTML only after the markdown shortlist is stable.
- Fill
[TOPIC],[DATE],[ROW_COUNT],[RECOMMENDATION],[SEARCH_PATH_NOTE],[GAPS_NOTE]. - Each row must provide repo URL/name, fit, evidence, signals, caveat/unknown.
- Grouped notes come from the same
Best fits,Worth a look,Ruled out / whygroups.
Default evaluation rules
Use light, fast, rate-limit-aware signals by default:
- topic / description / README match to the user's need
- stars
- recent activity / pushed date
- rough maintainer or commit activity
- archived or disabled status
- license presence
- README clarity
- tests or CI presence when cheap to detect
Do not default to:
- author follower scoring
- org prestige heuristics
- "AI-wave-only author" style filters
- a giant multi-metric rubric
- mandatory per-repo GraphQL or REST drills across the whole candidate set
If the user wants more confidence, deepen only on the top few repos. Read:
references/evaluate.mdfor the light default path and deepen triggersreferences/evaluate-rest.mdfor cheap repo signalsreferences/evaluate-graphql.mdfor optional single-repo deep evidencereferences/evaluate-code.mdfor optional code-level checks
Orchestration rules
Default execution model: hybrid lean.
- The main agent owns intent parsing, search strategy, filtering, and synthesis.
- Batch or parallelize queries when helpful, but keep the reasoning central.
- Use subagents only for: very large landscapes; explicit deep-dive requests; optional feature-matrix generation; top-N code-level review.
- When web augmentation is the gap and a subagent is dispatched for it, the subagent's brief embeds the
run-researchskill discipline (so the subagent uses the 3-tool toolkit correctly without re-deriving it). Seereferences/subagent-prompts.mdfor the integration block.
If you dispatch help, read references/subagent-prompts.md. Subagents gather evidence; the main agent still writes the final shortlist or comparison.
Reference routing
Load only the branch you need. References are flat on disk and grouped here by decision point.
Search / discovery
| File | Read when | |---|---| | references/discipline.md | First use of the skill, and any time results feel off-shape. The mental model + noise discipline. | | references/search.md | Default starting point for first-pass plus refinement search. | | references/search-examples.md | You need examples of good first-pass angles, refinement pivots, and derailment-recovery patterns. | | references/gh-syntax.md | You need valid gh search repos qualifiers, OR rules, or threshold guidance. | | references/gh-output.md | You want token-efficient gh output or markdown-ready capture. | | references/web-augment.md | GitHub-only search is thin/noisy, or naming is fuzzy and web augmentation (via run-research or WebSearch) would help. |
Evaluation / deepening
| File | Read when | |---|---| | references/evaluate.md | You are checking repo quality signals or deciding whether to deepen. | | references/evaluate-rest.md | You need cheap repo signals beyond the initial search output. | | references/evaluate-graphql.md | You need a single-repo deep evidence query for a top candidate. | | references/evaluate-code.md | You need README, file-tree, or source evidence for the top few repos. |
Orchestration
| File | Read when | |---|---
…
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: yigitkonur
- Source: yigitkonur/skills-by-yigitkonur
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.