Skip to content

add skill auto-recommendation with multi-language support - #119

Merged
JeremyDev87 merged 1 commit into
masterfrom
feat/118
Dec 29, 2025
Merged

add skill auto-recommendation with multi-language support#119
JeremyDev87 merged 1 commit into
masterfrom
feat/118

Conversation

@JeremyDev87

Copy link
Copy Markdown
Owner

add skill auto-recommendation with multi-language support

📋 Summary

This PR adds an intelligent skill recommendation system that analyzes user prompts and automatically suggests relevant skills. The system supports 5 languages (English, Korean, Japanese, Chinese, Spanish) with language-specific keyword matching patterns.

🎯 Reason for Change

AI assistants need to know which skills to use based on user requests. Manual skill selection is error-prone and requires knowledge of all available skills. This feature enables automatic skill discovery, improving the user experience and ensuring appropriate skills are used for each task.

🔧 Key Changes

1. Skill Recommendation Service

  • SkillRecommendationService: Core recommendation engine
  • Analyzes user prompts against keyword patterns
  • Returns recommendations with confidence levels (high, medium, low)
  • Includes matched patterns for transparency

2. Multi-Language Keyword System

  • SKILL_KEYWORDS: Centralized keyword registry for 5 languages
  • Language-specific pattern matching:
    • EN, ES: Word boundaries (\b) for accurate matching
    • KO, JA, ZH: No word boundaries (agglutinative/isolating languages)
  • Priority-based recommendation ordering

3. Skill Triggers

  • buildTriggersFromKeywords: Converts keyword configs to RegExp patterns
  • getSortedTriggers: Returns triggers sorted by priority
  • Caching mechanism for performance

4. MCP Tool Integration

  • recommend_skills: New MCP tool for skill recommendations
  • Integrated into McpService and McpModule
  • Input validation and error handling

5. Comprehensive Testing

  • Unit tests for recommendation service
  • Multi-language pattern matching tests
  • Edge case handling (empty input, special characters, mixed languages)
  • Integration tests for MCP tool

6. Documentation Updates

  • API documentation (docs/api.md)
  • Supported tools documentation (all languages)
  • Claude Code adapter documentation

⚠️ Breaking Changes

None

📌 Migration Guide

No migration needed. This is a new feature addition.

✅ Testing

All changes include comprehensive test coverage:

  • Skill recommendation service tests (Korean)
  • Skill triggers tests (multi-language pattern matching)
  • MCP service integration tests
  • Edge case handling tests

Run tests:

yarn test

📦 Changed Files

Core Implementation:

  • apps/mcp-server/src/skill/skill-recommendation.service.ts - Recommendation engine
  • apps/mcp-server/src/skill/skill-recommendation.service.spec.ts - Service tests
  • apps/mcp-server/src/skill/skill-triggers.ts - Pattern matching logic
  • apps/mcp-server/src/skill/skill-triggers.spec.ts - Trigger tests
  • apps/mcp-server/src/skill/i18n/keywords.ts - Multi-language keywords
  • apps/mcp-server/src/skill/i18n/keywords.types.ts - Type definitions
  • apps/mcp-server/src/skill/i18n/index.ts - Exports
  • apps/mcp-server/src/skill/index.ts - Module exports

Integration:

  • apps/mcp-server/src/mcp/mcp.service.ts - Added recommend_skills handler
  • apps/mcp-server/src/mcp/mcp.service.spec.ts - Integration tests
  • apps/mcp-server/src/mcp/mcp.module.ts - Added SkillRecommendationService

Documentation:

  • apps/mcp-server/README.md - Updated tool list
  • docs/api.md - Added recommend_skills API documentation
  • docs/supported-tools.md - Updated tool list (all languages)
  • docs/es/supported-tools.md - Spanish translation
  • docs/ja/supported-tools.md - Japanese translation
  • docs/ko/supported-tools.md - Korean translation
  • docs/zh-CN/supported-tools.md - Chinese translation
  • packages/rules/.ai-rules/adapters/claude-code.md - Usage examples

Total: 20 files changed, 1815 insertions(+), 7 deletions(-)

🔍 Review Checklist

  • Skill recommendation service implemented
  • Multi-language keyword system (5 languages)
  • Pattern matching with language-specific rules
  • Priority-based recommendation ordering
  • Confidence levels (high, medium, low)
  • MCP tool integration
  • Comprehensive test coverage
  • Documentation updated (all languages)
  • Review keyword patterns for accuracy
  • Verify multi-language matching works correctly
  • Test recommendation quality with various prompts

🌍 Supported Languages

Language Code Example Keywords
English EN "bug", "error", "build", "component"
Korean KO "버그", "에러", "빌드", "컴포넌트"
Japanese JA "バグ", "エラー", "ビルド", "コンポーネント"
Chinese ZH "错误", "bug", "构建", "组件"
Spanish ES "error", "bug", "construir", "componente"

💡 Example Usage

// English
recommend_skills({ prompt: "There is a bug in the login" })
// => recommends: systematic-debugging (high confidence)

// Korean
recommend_skills({ prompt: "로그인에 버그가 있어" })
// => recommends: systematic-debugging (high confidence)

// Building UI
recommend_skills({ prompt: "Build a dashboard component" })
// => recommends: frontend-design (high confidence)

// Planning
recommend_skills({ prompt: "Create a plan for refactoring" })
// => recommends: writing-plans (high confidence)

🔗 Related Issues

Closes #118

@JeremyDev87 JeremyDev87 self-assigned this Dec 29, 2025
- Implement skill auto-recommendation based on user prompts
- Add recommend_skills MCP tool
- Support 5 languages (English, Korean, Japanese, Chinese, Spanish)
- Keyword-based pattern matching with priority system
- Provide confidence levels (high, medium, low)
- Comprehensive test coverage

close #118
@JeremyDev87
JeremyDev87 marked this pull request as ready for review December 29, 2025 17:49
@JeremyDev87
JeremyDev87 merged commit 61ce982 into master Dec 29, 2025
9 checks passed
@JeremyDev87
JeremyDev87 deleted the feat/118 branch December 29, 2025 17:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Skill Auto-Recommendation Feature

2 participants