name: search-ai-tools description: Search GitHub for AI/ML-related tools with heavy weighting on recency, since stale AI projects (unmaintained 6+ months) are usually worthless given how fast the ecosystem moves. Use when the user is looking for AI libraries, MCP servers, LLM tooling, agents, prompt frameworks, or ML utilities.
Search GitHub for AI Tools
AI/ML tooling moves fast. A library that was best-in-class twelve months ago is often broken against current model APIs, SDK versions, or provider behaviour today. This skill applies a stricter recency filter than the general search-repos skill.
When to use
Trigger phrases include:
- "Find an AI/ML library for X"
- "Is there an MCP server for Y?"
- "What's a good LLM framework for Z?"
- "Search for agent frameworks / prompt management / eval tools / RAG libraries"
Procedure
1. Frame the search with a recency cutoff
Default cutoff: last push within the last 6 months. Unless the user overrides, exclude anything staler than that at the query level.
# Compute a 6-month-ago date
CUTOFF=$(date -d '6 months ago' +%Y-%m-%d)
gh api -X GET search/repositories \
-f q="<ai-keywords> pushed:>$CUTOFF" \
-f sort=stars -f order=desc --jq '.items[] | {
full_name, stars: .stargazers_count, pushed_at, updated_at,
language, license: .license.spdx_id,
open_issues: .open_issues_count,
description, url: .html_url
}'
Useful query operators to combine:
topic:llm,topic:agents,topic:rag,topic:mcp,topic:prompt-engineeringstars:>50to strip hobby projectsarchived:false
2. Tier the results
Sort candidates into three tiers based on recency, then by stars within each tier:
- Active — pushed within last 30 days
- Maintained — pushed 1–6 months ago
- Stale (⚠️) — pushed 6–12 months ago; include only if the user explicitly asked for a complete picture
- Dead — pushed > 12 months ago; exclude entirely unless specifically requested
3. Look for activity signals beyond last-push
- Recent releases —
gh api repos/<owner>/<repo>/releases --jq '.[0].published_at' - Commit cadence —
gh api repos/<owner>/<repo>/commits --jq '[.[].commit.author.date] | .[:5]' - Open PRs — healthy projects have a steady stream, not hundreds untouched
Flag projects where last-push is recent but commits are only dependency bumps (Dependabot churn) — that's not real maintenance.
4. Present results
Output grouped by tier. For each candidate include:
- Full name, stars, last push ("N days/weeks/months ago")
- Language, license, open-issue count
- One-sentence summary of what it does
- A short note on maintenance signal ("active releases", "only Dependabot commits", "solo maintainer", etc.) where visible
5. Offer next steps
- Deeper evaluation via
evaluate-candidates - Documentation via
document-findings(AI research especially benefits from date stamping — what's good today may be obsolete in 3 months)
Guidance
- A 2k-star AI project last updated 14 months ago is almost always worse than a 200-star project updated yesterday. Say so explicitly.
- Watch for abandoned demos — viral projects from blog posts or tweet threads often look popular but have no ongoing maintenance.
- LLM API compatibility rots fast. Anything predating the current model generations may be broken.
- Do not invent projects. Report only what the CLI returned.