refactor(projman): extract skills and consolidate commands
Major refactoring of projman plugin architecture: Skills Extraction (17 new files): - Extracted reusable knowledge from commands and agents into skills/ - branch-security, dependency-management, git-workflow, input-detection - issue-conventions, lessons-learned, mcp-tools-reference, planning-workflow - progress-tracking, repo-validation, review-checklist, runaway-detection - setup-workflows, sprint-approval, task-sizing, test-standards, wiki-conventions Command Consolidation (17 → 12 commands): - /setup: consolidates initial-setup, project-init, project-sync (--full/--quick/--sync) - /debug: consolidates debug-report, debug-review (report/review modes) - /test: consolidates test-check, test-gen (run/gen modes) - /sprint-status: absorbs sprint-diagram via --diagram flag Architecture Cleanup: - Remove plugin-level mcp-servers/ symlinks (6 plugins) - Remove plugin README.md files (12 files, ~2000 lines) - Update all documentation to reflect new command structure - Fix documentation drift in CONFIGURATION.md, COMMANDS-CHEATSHEET.md Commands are now thin dispatchers (~20-50 lines) that reference skills. Agents reference skills for domain knowledge instead of inline content. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
145
plugins/projman/skills/mcp-tools-reference.md
Normal file
145
plugins/projman/skills/mcp-tools-reference.md
Normal file
@@ -0,0 +1,145 @@
|
||||
---
|
||||
name: mcp-tools-reference
|
||||
description: Complete reference of available Gitea MCP tools with usage patterns
|
||||
---
|
||||
|
||||
# MCP Tools Reference
|
||||
|
||||
## Purpose
|
||||
|
||||
Provides the complete reference of available MCP tools for Gitea operations. This skill ensures consistent tool usage across all commands and agents.
|
||||
|
||||
## When to Use
|
||||
|
||||
- **All agents**: When performing any Gitea operation
|
||||
- **All commands**: That interact with issues, labels, milestones, wiki, or dependencies
|
||||
|
||||
## Critical Rules
|
||||
|
||||
### NEVER Use CLI Tools
|
||||
|
||||
**FORBIDDEN - Do not use:**
|
||||
```bash
|
||||
tea issue list
|
||||
tea issue create
|
||||
tea pr create
|
||||
gh issue list
|
||||
gh pr create
|
||||
curl -X POST "https://gitea.../api/..."
|
||||
```
|
||||
|
||||
**If you find yourself about to run a bash command for Gitea, STOP and use the MCP tool instead.**
|
||||
|
||||
### Required Parameter Format
|
||||
|
||||
All tools require the `repo` parameter in `owner/repo` format:
|
||||
```python
|
||||
# CORRECT
|
||||
get_labels(repo="org/repo")
|
||||
list_issues(repo="org/repo", state="open")
|
||||
|
||||
# INCORRECT - Will fail!
|
||||
get_labels() # Missing repo parameter
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Issue Tools
|
||||
|
||||
| Tool | Purpose | Key Parameters |
|
||||
|------|---------|----------------|
|
||||
| `list_issues` | Fetch issues | `repo`, `state`, `labels`, `milestone` |
|
||||
| `get_issue` | Get issue details | `repo`, `number` |
|
||||
| `create_issue` | Create new issue | `repo`, `title`, `body`, `labels`, `assignee`, `milestone` |
|
||||
| `update_issue` | Update issue | `repo`, `number`, `state`, `labels`, `body` |
|
||||
| `add_comment` | Add comment to issue | `repo`, `number`, `body` |
|
||||
|
||||
## Label Tools
|
||||
|
||||
| Tool | Purpose | Key Parameters |
|
||||
|------|---------|----------------|
|
||||
| `get_labels` | Fetch all labels | `repo` |
|
||||
| `suggest_labels` | Get intelligent suggestions | `repo`, `context` |
|
||||
| `create_label` | Create repository label | `repo`, `name`, `color` |
|
||||
| `create_label_smart` | Auto-detect org vs repo | `repo`, `name`, `color` |
|
||||
|
||||
## Milestone Tools
|
||||
|
||||
| Tool | Purpose | Key Parameters |
|
||||
|------|---------|----------------|
|
||||
| `list_milestones` | List all milestones | `repo`, `state` |
|
||||
| `get_milestone` | Get milestone details | `repo`, `milestone_id` |
|
||||
| `create_milestone` | Create new milestone | `repo`, `title`, `description`, `due_on` |
|
||||
| `update_milestone` | Update milestone | `repo`, `milestone_id`, `state` |
|
||||
|
||||
## Dependency Tools
|
||||
|
||||
| Tool | Purpose | Key Parameters |
|
||||
|------|---------|----------------|
|
||||
| `list_issue_dependencies` | Get issue dependencies | `repo`, `issue_number` |
|
||||
| `create_issue_dependency` | Create dependency | `repo`, `issue_number`, `depends_on` |
|
||||
| `get_execution_order` | Get parallel batches | `repo`, `issue_numbers` |
|
||||
|
||||
## Wiki & Lessons Learned Tools
|
||||
|
||||
| Tool | Purpose | Key Parameters |
|
||||
|------|---------|----------------|
|
||||
| `list_wiki_pages` | List all wiki pages | `repo` |
|
||||
| `get_wiki_page` | Fetch page content | `repo`, `page_name` |
|
||||
| `create_wiki_page` | Create new page | `repo`, `title`, `content` |
|
||||
| `update_wiki_page` | Update page content | `repo`, `page_name`, `content` |
|
||||
| `search_lessons` | Search lessons learned | `repo`, `query`, `tags`, `limit` |
|
||||
| `create_lesson` | Create lesson entry | `repo`, `title`, `content`, `tags`, `category` |
|
||||
|
||||
## Validation Tools
|
||||
|
||||
| Tool | Purpose | Key Parameters |
|
||||
|------|---------|----------------|
|
||||
| `validate_repo_org` | Check if repo is under org | `repo` |
|
||||
| `get_branch_protection` | Check branch protection | `repo`, `branch` |
|
||||
|
||||
## Pull Request Tools
|
||||
|
||||
| Tool | Purpose | Key Parameters |
|
||||
|------|---------|----------------|
|
||||
| `list_pull_requests` | List PRs | `repo`, `state` |
|
||||
| `get_pull_request` | Get PR details | `repo`, `number` |
|
||||
| `create_pull_request` | Create PR | `repo`, `title`, `body`, `head`, `base` |
|
||||
| `create_pr_review` | Create review | `repo`, `number`, `body`, `event` |
|
||||
|
||||
---
|
||||
|
||||
## Common Usage Examples
|
||||
|
||||
**Create sprint issue:**
|
||||
```python
|
||||
create_issue(
|
||||
repo="org/repo",
|
||||
title="[Sprint 17] feat: Implement JWT service",
|
||||
body="## Description\n...\n## Implementation\n**Wiki:** [link]",
|
||||
labels=["Type/Feature", "Priority/High"],
|
||||
milestone=17
|
||||
)
|
||||
```
|
||||
|
||||
**Get parallel execution batches:**
|
||||
```python
|
||||
get_execution_order(repo="org/repo", issue_numbers=[45, 46, 47, 48])
|
||||
# Returns: {"batches": [[45, 48], [46], [47]]}
|
||||
```
|
||||
|
||||
**Search lessons learned:**
|
||||
```python
|
||||
search_lessons(repo="org/repo", tags=["auth", "python"], limit=10)
|
||||
```
|
||||
|
||||
**Create lesson:**
|
||||
```python
|
||||
create_lesson(
|
||||
repo="org/repo",
|
||||
title="Sprint 18 - JWT Token Edge Cases",
|
||||
content="# Sprint 18...\n## Context\n...",
|
||||
tags=["auth", "jwt", "python"],
|
||||
category="sprints"
|
||||
)
|
||||
```
|
||||
Reference in New Issue
Block a user