Github label scout
Skill baronguyen001/ai-automation-skills/skills/github-label-scout
Scan a public GitHub repo for open issues carrying a given label and drop the ones already taken - skips pull requests returned by the issues endpoint and any issue with assignees - using the public REST API with no token required. Use for find github issues by label, good first issue scout, skip assigned issues, github issue triage, or open source contribution finder.From its SKILL.md
npx -y skills add baronguyen001/ai-automation-skills --skill github-label-scoutAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.6 KB, 548 tokens by cl100k_base, as published. Nobody here has run it
GitHub Label Scout
Use this skill when a user wants to find claimable open issues in a public repo by label - "good first issue", "help wanted", "bug" - without wasting time on issues someone already owns. It hits the public REST API, filters out the pull requests the issues endpoint mixes in, and skips anything with an assignee so you only see open lanes. No token is needed for low volume; set one in the env only to raise the rate limit.
When to invoke
- User says: "find issues by label" / "good first issue scout" / "skip assigned issues" / "open-source contribution finder"
- Code in the conversation uses: GitHub issue triage, label filtering, or contribution discovery.
When NOT to invoke
- The user wants paid bounty boards (use [[algora-bounty-scout]] for that).
- The user already has one specific issue and only needs implementation help.
Concrete example
User input:
Show me unassigned "good first issue" tickets in octocat/Hello-World.
Output:
# Copy assets/scout.py into your project, then:
from scout import scout_label
for row in scout_label("octocat/Hello-World", "good first issue"):
print(f"#{row['number']} {row['title']} ({row['comments']} comments) {row['url']}")
# #142 Fix typo in README (1 comments) https://github.com/octocat/Hello-World/issues/142
# #156 Add retry to client (0 comments) https://github.com/octocat/Hello-World/issues/156
The helper reads an optional GITHUB_TOKEN from the environment purely to raise the rate limit; it works unauthenticated.
Pattern to apply
- Query
GET /repos/{owner}/{repo}/issues?state=open&labels=<label>. - Drop any item that has a
pull_requestkey - the issues endpoint returns PRs too. - Skip any issue with a non-empty
assigneesarray (assignee-first rule: assigned = already taken). - Return number, title, URL, and comment count so you can prioritize.
- Add
GITHUB_TOKENfrom env only for rate-limit headroom; never hardcode a token.
Reference: assets/scout.py.
Source
Distilled from production use across the author's automation projects. v1.0.0. See also: [[algora-bounty-scout]], [[pr-body-formatter]].
→ Build the full runnable bot with Trawlkit.
What ships with it: 1 file
1.9 KB alongside SKILL.md, 1 of them executable
assets/
- scout.pyruns1.9 KB
Gives 0 of the 12 instructions most apis services skills give in 548 tokens
Counted across 448 of the 471 authors here whose files we hold, read 2026-09-06
- Use HTTP status codes semanticallyin 25 of 448, across 11 files
- Return 201 with a Location header on createin 24 of 448, across 9 files
- Name resources plural, lowercase, kebab-casein 23 of 448, across 9 files
- Configure rate limiting with limit headersin 22 of 448, across 8 files
- Paginate list endpoints with cursor or offsetin 21 of 448, across 10 files
- Version APIs in the URL pathin 21 of 448, across 11 files
- Validate request input with a schemain 21 of 448, across 7 files
- Add pagination to all list endpointsin 18 of 448, across 15 files
- Match HTTP method to the operationin 12 of 448, across 6 files
- Return 400 or 422 with field-level detailsin 12 of 448, across 2 files
- Check ownership before returning resourcesin 12 of 448, across 2 files
- Limit query depth and complexityin 12 of 448, across 7 files
Said here and by no other author read
- Query open issues filtered by label via REST API
- Drop items that have a pull_request key
- Skip issues with a non-empty assignees array
- Return number, title, URL, and comment count
- Read GITHUB_TOKEN from env for rate-limit headroom
- Copy scout.py into the project before using it
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.