Skip to content

feat: dynamic skill registry, trigger-based matching, and session memory#22

Merged
gopherine merged 1 commit into
mainfrom
feat/v0.3.0-dynamic-registry-smart-matching
Mar 25, 2026
Merged

feat: dynamic skill registry, trigger-based matching, and session memory#22
gopherine merged 1 commit into
mainfrom
feat/v0.3.0-dynamic-registry-smart-matching

Conversation

@gopherine

Copy link
Copy Markdown
Collaborator

Summary

Test plan

  • 832 tests passing across 57 files
  • 90%+ coverage on all new code
  • Regression: all 20 TASK_DOMAIN_MAP patterns still match via trigger scoring
  • Bug fix verified: superskill({task: "UX design analysis"}) now matches frontend-design
  • TypeScript compiles cleanly (tsc --noEmit)
  • Manual: run npx superskill and activate a skill via task description

🤖 Generated with Claude Code

…ory (#2, #4, #5, #17)

Replace the static TypeScript catalog with a runtime JSON registry, add
trigger-based keyword scoring to fix invisible skill domains, and introduce
session-aware skill memory to avoid redundant fetches.

Phase 0 — Extract reusable modules from web-discovery.ts:
- text-utils.ts, url-utils.ts, security-scanner.ts, github-client.ts

Phase 1 — Central skill registry (#2 + #17):
- registry/index.json with 87 skills, 28 domains, trigger keywords
- registry-loader.ts with bundled fallback and user override
- catalog.ts rewritten as facade over the registry

Phase 3 — Trigger-based skill matching (#4):
- trigger-matcher.ts with keyword scoring and lightweight stemming
- Tool description now lists all 28 domain names dynamically
- Fixes: "UX design" tasks now correctly match frontend-design domain

Phase 4 — Session-aware skill memory (#5):
- skill-session.ts caches activations within a process lifetime

Also removes commercial license (AGPL-3.0-or-later only).

832 tests passing, 90%+ coverage on new code.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@gopherine gopherine force-pushed the feat/v0.3.0-dynamic-registry-smart-matching branch from af1a980 to 6fa1cea Compare March 25, 2026 05:17
@gopherine gopherine merged commit 36d53be into main Mar 25, 2026
1 check passed
@gopherine gopherine deleted the feat/v0.3.0-dynamic-registry-smart-matching branch March 25, 2026 05:17
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