Skip to content

Comments

feat: ecosystem discovery and skill recommender#11

Open
itsdevcoffee wants to merge 10 commits intomainfrom
feature/ecosystem-discovery
Open

feat: ecosystem discovery and skill recommender#11
itsdevcoffee wants to merge 10 commits intomainfrom
feature/ecosystem-discovery

Conversation

@itsdevcoffee
Copy link
Owner

Summary

  • Adds a structured ecosystem reference map (ecosystem/) with 5 JSON files covering 140+ skills, plugins, agents, and MCP servers — with stars, install commands, and curated tags
  • Implements a Python-based skill recommender that analyzes a project's tech stack and scores ecosystem entries using a 4-stage pipeline (tag matching, keyword inference, popularity normalization, deduplication)
  • Adds a Claude Code skill (skill-recommender) so users can run "recommend skills" or "what plugins should I use" from any project

Scoring Engine

  • 70% relevance (bidirectional geometric-mean tag overlap) + 30% popularity (log-scale, recency boost)
  • Regex word-boundary keyword inference prevents false positives ("go" won't match "Django")
  • Hard gate: zero matching tags = excluded. Min score: 35
  • Cross-source deduplication keyed on owner/name

CLI

python3 scripts/ecosystem/recommend.py [DIR] --markdown
python3 scripts/ecosystem/recommend.py [DIR] --pretty --top 10 --min-score 20
python3 scripts/ecosystem/recommend.py [DIR] --exclude-no-install

Files Added (19 files, ~4500 lines)

  • ecosystem/ — 5 JSON reference maps + README + research docs
  • scripts/ecosystem/ — detect_stack.py, scorer.py, recommend.py, test_scorer.py
  • .claude/skills/skill-recommender/SKILL.md
  • Design doc + implementation plan in docs/plans/

Test plan

  • 30 unit tests pass (python3 -m unittest scripts/ecosystem/test_scorer -v)
  • End-to-end: plum project returns claude-squad (50.5), claude-code-action (44.4) as top matches
  • skills_leaderboard returns 0 results for Go/TUI stack (no false positives)
  • --markdown, --pretty, --exclude-no-install flags verified
  • Zero external dependencies (Python stdlib only)
  • Two independent code reviews passed (feature-dev + superpowers reviewers)

Implements a comprehensive ecosystem tracking and discovery system for
Claude Code extensions including plugins, skills, agents, MCP servers,
and marketplaces.

## Components

**Ecosystem Data (ecosystem/):**
- plugins.json - Plugin registry and metadata
- skills.json - Skills catalog
- agents.json - Agent definitions
- mcp-servers.json - MCP server registry
- marketplaces.json - Marketplace tracking
- skills-leaderboard.json - Skills ranking and popularity
- metadata.json - Ecosystem metadata and stats

**Discovery Scripts (scripts/ecosystem/):**
- detect_stack.py - Stack detection for tech recommendations
- recommend.py - Recommendation engine for plugins/skills

**Research Documentation:**
- Claude Code ecosystem discovery research
- Skills ecosystem analysis

**Handoff Documentation:**
- Unified facets handoff (for project continuity)

## Purpose

Enables discovery, tracking, and recommendation of Claude Code extensions
to help users find relevant tools for their projects and workflows.
Add Claude Code skill that invokes the ecosystem recommender scripts
to suggest relevant tools based on detected tech stack. Also add
__pycache__/ to gitignore for Python script artifacts.
Covers scoring engine extraction, ecosystem data enrichment,
deduplication, new CLI flags, and SKILL.md updates.
9 tasks covering scorer engine, recommend.py refactor, ecosystem JSON
tag enrichment, SKILL.md updates, and end-to-end verification.
Add language, framework, and domain tags across all 5 ecosystem JSON
files to improve recommendation accuracy. Includes Go, Python, CLI,
TUI, development, and other tags where factually supported.
…ests

Replace substring-based keyword matching with compiled regex patterns
using \b word boundaries. This prevents false positives like "go" being
inferred from "Django" or "cargo". Also removes the broken --json flag
(was a no-op due to action=store_true with default=True) and adds 30
unit tests covering tag inference, scoring, popularity normalization,
deduplication, and the hard gate.
Addresses superpowers code review findings:
- Raise DEFAULT_MIN_SCORE from 20 to 35, eliminating single-tag false
  positives in skills_leaderboard (supabase-postgres matching only on
  "backend", pdf/docx/pptx/xlsx matching only on "python")
- Remove unused TAG_MATCH_WEIGHT constant (dead code)
- Remove 3 duplicate entries in skills.json that had owner/name format
  in the name field (BehiSecc, ComposioHQ, travisvn)
- Update SKILL.md to reflect new default threshold
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant