Skip to content

feat: implement skills system for grouping and managing tools - #609

Merged
dcramer merged 14 commits into
mainfrom
skills
Oct 31, 2025
Merged

dcramer merged 14 commits into
mainfrom
skills

Conversation

@dcramer

@dcramer dcramer commented Oct 30, 2025 •

Copy link
Copy Markdown
Member

Adds a comprehensive skills system that organizes MCP tools into logical groups and provides enhanced authorization control. Skills provide a higher-level abstraction for tool management and permission handling.

Key Changes:

  • Add skills.ts with skill definitions and tool-to-skill mapping
  • Implement skillDefinitions.ts for MCP skill metadata generation
  • Add /api/skills endpoint to Cloudflare worker for skill discovery
  • Integrate skills into MCP server alongside existing tools
  • Add comprehensive permission system for skill-level access control
  • Update CLI to support --skills flag for filtering available skills
  • Add skill validation script to ensure mapping consistency
  • Add extensive documentation (authorization.md, skill-workflows.md)

Technical Details:

  • Skills group related tools (e.g., "issues" skill includes find_issues, get_issue_details, update_issue)
  • Each skill has metadata: name, description, category, required permissions
  • Tools maintain explicit skill mappings for authorization checks
  • Server exposes both tools and skills for flexible client integration
  • Backward compatible - existing tool-only workflows continue to work

Testing:

  • Add server-skills-integration.test.ts for MCP protocol compliance
  • Add skills.test.ts for skill system unit tests
  • Update existing tool tests to include skill mappings

Refs #196
Fixes #611

Adds a comprehensive skills system that organizes MCP tools into logical
groups and provides enhanced authorization control. Skills provide a
higher-level abstraction for tool management and permission handling.

Key Changes:
- Add skills.ts with skill definitions and tool-to-skill mapping
- Implement skillDefinitions.ts for MCP skill metadata generation
- Add /api/skills endpoint to Cloudflare worker for skill discovery
- Integrate skills into MCP server alongside existing tools
- Add comprehensive permission system for skill-level access control
- Update CLI to support --skills flag for filtering available skills
- Add skill validation script to ensure mapping consistency
- Add extensive documentation (authorization.md, skill-workflows.md)

Technical Details:
- Skills group related tools (e.g., "issues" skill includes find_issues,
  get_issue_details, update_issue)
- Each skill has metadata: name, description, category, required permissions
- Tools maintain explicit skill mappings for authorization checks
- Server exposes both tools and skills for flexible client integration
- Backward compatible - existing tool-only workflows continue to work

Testing:
- Add server-skills-integration.test.ts for MCP protocol compliance
- Add skills.test.ts for skill system unit tests
- Update existing tool tests to include skill mappings

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Code <noreply@anthropic.com>
@dcramer

dcramer commented Oct 30, 2025

Copy link
Copy Markdown
Member Author
image

cursor[bot]

This comment was marked as outdated.

Comment on lines +213 to +219
// Legacy fallback: Check scopes if not using skills
else if (
grantedScopes &&
tool.requiredScopes &&
tool.requiredScopes.length > 0
) {
allowed = isToolAllowed(tool.requiredScopes, grantedScopes);

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

@dcramer

dcramer commented Oct 31, 2025

Copy link
Copy Markdown
Member Author

Big change, hopefully didnt miss anything, but seems to work well.

@dcramer
dcramer merged commit 0a541ef into main Oct 31, 2025
14 checks passed
@dcramer
dcramer deleted the skills branch October 31, 2025 21:47
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.

[Docs] Clarify how to enable analyze_issue_with_seer with Local STDIO Mode

1 participant