{"slug": "stop-guessing-which-library-to-use-i-built-an-ai-capability-discovery-engine", "title": "Stop Guessing Which Library to Use — I Built an AI Capability Discovery Engine", "summary": "A developer built SKILLmama, an AI-native capability discovery engine that scans project architecture and searches across five ecosystem tiers to recommend libraries and tools ranked by compatibility, popularity, maintenance, and simplicity. The engine integrates with Claude Code, Claude.ai, OpenAI Codex, and Antigravity, and scores candidates using a weighted formula that prioritizes stack fit over raw popularity.", "body_md": "Every developer knows this feeling.\n\nYou need a vector database. Or a job queue. Or a .dwg parser for Node.js. You open a browser tab, search GitHub, open five more tabs, try to compare stars and last-commit dates, get distracted by a Medium post from 2019, and 45 minutes later you've picked something based on vibes.\n\nThere's a better way. I built it.\n\n**SKILLmama** is an AI-native capability discovery engine. Point it at a capability gap, and it scans your project architecture, searches across five tiers of the ecosystem, scores every candidate against your specific stack, and returns ranked recommendations with evidence and clickable links.\n\nIt works with Claude Code, Claude.ai, OpenAI Codex, and Antigravity.\n\nMost library selection looks like this:\n\nThe real question isn't \"what's popular\" — it's \"what fits *my* stack, has active maintenance, and won't take a week to integrate?\" Those are four separate signals and you need all four weighted correctly.\n\nSKILLmama scores every candidate on four dimensions:\n\n```\nScore = (Compatibility × 0.40) +\n        (Popularity    × 0.30) +\n        (Maintenance   × 0.15) +\n        (Simplicity    × 0.15)\n```\n\n| Factor | Weight | What it measures |\n|---|---|---|\n| Compatibility | 40% | Language/framework fit, official SDK, integration effort |\n| Popularity | 30% | GitHub stars, npm/PyPI weekly downloads |\n| Maintenance | 15% | Days since last commit, release cadence |\n| Simplicity | 15% | Setup effort, documentation quality |\n\nCompatibility is weighted highest because a library with 50k stars that doesn't have a Python client is useless if your stack is Python. Popularity comes second because the ecosystem around a library matters. Maintenance and simplicity round it out.\n\nEvery score is 1–10 per dimension. No black box. You can see exactly why something ranked #1.\n\nSKILLmama doesn't just search one place. It works through five tiers in order, stopping when it has 8+ candidates:\n\n| Tier | Source | What it finds |\n|---|---|---|\n| 1 | skills.sh | Reusable skills and capability patterns |\n| 2 | GitHub | Open-source libraries, frameworks, SDKs |\n| 3 | Smithery / MCP Ecosystem | AI-native tools installable as MCP servers |\n| 4 | npm / PyPI / pkg.go.dev | Package registries with download signals |\n| 5 | Curated Templates | LangGraph, OpenHands, cookbook examples |\n\nTier 3 is the interesting one. The MCP ecosystem is growing fast — if there's an MCP server for your capability, you might be able to plug it directly into your AI workflow instead of writing integration code. SKILLmama surfaces that option explicitly.\n\n```\n┌─────────────────────────────────────────────────────────┐\n│                      USER REQUEST                       │\n└─────────────────────────┬───────────────────────────────┘\n                          │\n                          ▼\n              ┌───────────────────────┐\n              │   PHASE 0             │\n              │   Understand Request  │\n              │   Extract: capability,│\n              │   stack, constraints  │\n              └───────────┬───────────┘\n                          │\n                          ▼\n                   ◇ Capability\n                     vague?\n                   /         \\\n                 YES           NO\n                  │             │\n                  ▼             │\n          Ask 1 clarifying      │\n          question, await       │\n          user response         │\n                  │             │\n                  └──────┬──────┘\n                         │\n                         ▼\n              ┌───────────────────────┐\n              │   PHASE 1             │\n              │   Architecture Scan   │\n              └───────────┬───────────┘\n                          │\n                          ▼\n                   ◇ In a project\n                     repo?\n                   /         \\\n                 YES           NO\n                  │             │\n                  ▼             │\n        Read: package.json,     │\n        Dockerfile, README,     │\n        source files            │\n                  │             │\n                  └──────┬──────┘\n                         │\n                         ▼\n              ┌───────────────────────┐\n              │   PHASE 2             │\n              │   Capability Gap      │\n              │   Detection           │\n              │                       │\n              │   Define:             │\n              │   CAPABILITY          │\n              │   STACK               │\n              │   CONSTRAINTS         │\n              │   SEARCH_TERMS (3–5)  │\n              └───────────┬───────────┘\n                          │\n                          ▼\n              ┌───────────────────────┐\n              │   PHASE 3             │\n              │   5-Tier Search       │\n              └───────────┬───────────┘\n                          │\n              Tier 1 ── skills.sh\n                 ↓\n              Tier 2 ── GitHub (stars, recency, contrib)\n                 ↓\n              Tier 3 ── MCP Ecosystem\n                 ↓\n              Tier 4 ── npm / PyPI registries\n                 ↓\n              Tier 5 ── Templates & Cookbooks\n                          │\n                   ◇ 8+ candidates found?\n                   /              \\\n                 YES               NO\n                  │                │\n            Skip remaining    Continue tiers\n            tiers                  │\n                  └──────┬─────────┘\n                         │\n                         ▼\n              ┌────────────────────────────────────────┐\n              │   PHASE 4 — Score Each Candidate       │\n              │                                        │\n              │   Score = (C × 0.40) +                 │\n              │           (P × 0.30) +                 │\n              │           (M × 0.15) +                 │\n              │           (S × 0.15)                   │\n              └───────────────┬────────────────────────┘\n                              │\n                              ▼\n              ┌────────────────────────────────────────┐\n              │   PHASE 5 — Present Results            │\n              │                                        │\n              │   #1, #2, #3 — full score breakdown    │\n              │   Also Considered — table              │\n              │   MCP callout (if found)               │\n              │   Next Steps (3 actions)               │\n              └────────────────────────────────────────┘\n```\n\n**Prompt:**\n\n```\n/skillmama find me a vector database for my FastAPI + Python project\n```\n\n**Phase 1 — Architecture Scan**\n\nSKILLmama reads your project files first:\n\n```\n✓ pyproject.toml  → Python 3.11, FastAPI, SQLAlchemy\n✓ Dockerfile      → containerized, no GPU\n✓ .env.example    → OPENAI_API_KEY present → RAG use case confirmed\n```\n\nDetected stack: `Python / FastAPI / PostgreSQL / Docker / OpenAI`\n\n**Phase 2 — 5-Tier Search**\n\n```\nTier 1 skills.sh  → \"qdrant-memory-skill\", \"chroma-rag-skill\"\nTier 2 GitHub     → qdrant (17k★), chroma (14k★), pgvector (11k★), milvus (29k★)\nTier 3 MCP        → qdrant-mcp-server, chroma-mcp\nTier 4 PyPI       → qdrant-client (380k/wk), chromadb (620k/wk), pgvector (180k/wk)\nTier 5 Templates  → LangChain + Qdrant RAG template, FastAPI + Chroma starter\n```\n\n**Phase 3 — Scoring**\n\n| Candidate | Compat | Popular | Maint | Simple | Score |\n|---|---|---|---|---|---|\n| Qdrant | 9 | 8 | 10 | 9 | 9.05 |\n| pgvector | 10 | 7 | 9 | 7 | 8.65 |\n| Chroma | 8 | 8 | 9 | 10 | 8.55 |\n| Milvus | 6 | 9 | 10 | 4 | 7.05 |\n\n**Phase 4 — Output**\n\n```\n#1 — Qdrant · Score: 9.05/10\nDocker-native, official Python client, active MCP server for AI workflows.\n- Compatibility: 9/10  — official qdrant-client SDK, FastAPI examples in docs\n- Popularity:    8/10  — 17k GitHub stars, 380k PyPI downloads/week\n- Maintenance:  10/10  — committed 2 days ago, weekly releases\n- Simplicity:   9/10  — docker run + pip install, 5-min setup\n- Install: docker run -p 6333:6333 qdrant/qdrant && pip install qdrant-client\n\n#2 — pgvector · Score: 8.65/10\nStay on PostgreSQL — no new infra, native SQL queries.\n\n#3 — Chroma · Score: 8.55/10\nEasiest local dev setup; best for prototyping before scaling.\n\nMCP Option: qdrant-mcp-server — install as MCP tool for direct AI memory integration.\n\nNext Steps:\n1. docker run qdrant/qdrant and pip install qdrant-client to validate locally\n2. Use the LangChain + Qdrant RAG template as a starting point\n3. If staying Postgres-only, evaluate pgvector — saves an infra hop\n```\n\n45 minutes of tab-hopping, compressed into a structured decision.\n\n**Claude Code:**\n\n```\nmkdir -p /your-project/.claude/commands\ncp .claude/commands/skillmama.md /your-project/.claude/commands/skillmama.md\n```\n\nThen type `/skillmama`\n\nin any Claude Code session.\n\n**Claude.ai:**\n\n`zip -r skillmama.zip skillmama/`\n\n`/skillmama`\n\nin any conversation**OpenAI Codex:**\n\nPlace `codex/AGENTS.md`\n\nin your repo root, then ask naturally:\n\n```\ncodex \"find me the best job queue for this project\"\n```\n\n**Antigravity:**\n\nLoad `antigravity/PROMPT.md`\n\nas the system prompt, then ask naturally.\n\nAll four adapters run the same pipeline and produce the same output format.\n\nNot an IDE. Not autocomplete. Not a chatbot.\n\nIt's a **capability oracle** — it tells you what to use and why, with evidence. You still write the code. SKILLmama just makes sure you're writing it with the right tool.\n\nApache 2.0 licensed. Works with Claude Code, Claude.ai, OpenAI Codex, and Antigravity. A pre-built `skillmama.zip`\n\nis included for Claude.ai upload — no build step needed.\n\n```\n/skillmama find me a vector database for my FastAPI project\n/skillmama what auth library should I use for my Next.js app?\n/skillmama scan my project and tell me what's missing\n/skillmama find a .dwg parser for Node.js\n```\n\nWhat's the most time you've spent picking a library, only to switch it out later? Drop it in the comments.", "url": "https://wpnews.pro/news/stop-guessing-which-library-to-use-i-built-an-ai-capability-discovery-engine", "canonical_source": "https://dev.to/magithar/stop-guessing-which-library-to-use-i-built-an-ai-capability-discovery-engine-3p7p", "published_at": "2026-06-19 02:17:07+00:00", "updated_at": "2026-06-19 02:30:00.469514+00:00", "lang": "en", "topics": ["artificial-intelligence", "developer-tools", "ai-tools", "ai-agents", "large-language-models"], "entities": ["SKILLmama", "Claude Code", "Claude.ai", "OpenAI Codex", "Antigravity", "GitHub", "Smithery", "MCP"], "alternates": {"html": "https://wpnews.pro/news/stop-guessing-which-library-to-use-i-built-an-ai-capability-discovery-engine", "markdown": "https://wpnews.pro/news/stop-guessing-which-library-to-use-i-built-an-ai-capability-discovery-engine.md", "text": "https://wpnews.pro/news/stop-guessing-which-library-to-use-i-built-an-ai-capability-discovery-engine.txt", "jsonld": "https://wpnews.pro/news/stop-guessing-which-library-to-use-i-built-an-ai-capability-discovery-engine.jsonld"}}