refactor: extract skills from commands across 8 plugins
Refactored commands to extract reusable skills following the Commands → Skills separation pattern. Each command is now <50 lines and references skill files for detailed knowledge. Plugins refactored: - claude-config-maintainer: 5 commands → 7 skills - code-sentinel: 3 commands → 2 skills - contract-validator: 5 commands → 6 skills - data-platform: 10 commands → 6 skills - doc-guardian: 5 commands → 6 skills (replaced nested dir) - git-flow: 8 commands → 7 skills Skills contain: workflows, validation rules, conventions, reference data, tool documentation Commands now contain: YAML frontmatter, agent assignment, skills list, brief workflow steps, parameters Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,18 +1,10 @@
|
||||
# /check-agent - Validate Agent Definition
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ ✅ CONTRACT-VALIDATOR · Agent Check │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the validation.
|
||||
|
||||
Validate a single agent's tool references and data flow.
|
||||
## Skills to Load
|
||||
- skills/visual-output.md
|
||||
- skills/interface-parsing.md
|
||||
- skills/validation-rules.md
|
||||
- skills/mcp-tools-reference.md
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -22,30 +14,26 @@ Validate a single agent's tool references and data flow.
|
||||
|
||||
## Parameters
|
||||
|
||||
- `agent_name` (required): Name of the agent to validate (e.g., "Planner", "Orchestrator")
|
||||
- `claude_md_path` (optional): Path to CLAUDE.md file. Defaults to `./CLAUDE.md`
|
||||
- `agent_name` (required): Agent to validate (e.g., "Planner", "Orchestrator")
|
||||
- `claude_md_path` (optional): Path to CLAUDE.md. Defaults to `./CLAUDE.md`
|
||||
|
||||
## Workflow
|
||||
|
||||
1. **Parse agent definition**:
|
||||
- Locate agent in CLAUDE.md (Four-Agent Model table or Agents section)
|
||||
- Extract responsibilities, tool references, workflow steps
|
||||
1. **Display header** per `skills/visual-output.md`
|
||||
|
||||
2. **Validate tool references**:
|
||||
- Check each referenced tool exists in available plugins
|
||||
- Report missing or misspelled tool names
|
||||
- Suggest corrections for common mistakes
|
||||
2. **Parse agent** per `skills/interface-parsing.md`
|
||||
- Use `parse_claude_md_agents` to extract agent definition
|
||||
- Get responsibilities, tool references, workflow steps
|
||||
|
||||
3. **Validate data flow**:
|
||||
- Analyze sequence of tools in agent workflow
|
||||
- Verify data producers precede data consumers
|
||||
- Check for orphaned data references
|
||||
3. **Validate** per `skills/validation-rules.md`
|
||||
- Use `validate_agent_refs` - check all tools exist
|
||||
- Use `validate_data_flow` - verify producer/consumer order
|
||||
|
||||
4. **Report findings**:
|
||||
- List all tool references found
|
||||
- List any missing tools
|
||||
- Data flow validation results
|
||||
- Suggestions for improvement
|
||||
- Tool references found
|
||||
- Missing tools (with suggestions)
|
||||
- Data flow issues
|
||||
- Recommendations
|
||||
|
||||
## Examples
|
||||
|
||||
@@ -54,10 +42,3 @@ Validate a single agent's tool references and data flow.
|
||||
/check-agent Orchestrator ./CLAUDE.md
|
||||
/check-agent data-analysis ~/project/CLAUDE.md
|
||||
```
|
||||
|
||||
## Available Tools
|
||||
|
||||
Use these MCP tools:
|
||||
- `validate_agent_refs` - Check agent tool references exist
|
||||
- `validate_data_flow` - Verify data flow through agent sequence
|
||||
- `parse_claude_md_agents` - Parse all agents from CLAUDE.md
|
||||
|
||||
@@ -1,18 +1,11 @@
|
||||
# /dependency-graph - Generate Dependency Visualization
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ ✅ CONTRACT-VALIDATOR · Dependency Graph │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the visualization.
|
||||
|
||||
Generate a Mermaid flowchart showing plugin dependencies, data flows, and tool relationships.
|
||||
## Skills to Load
|
||||
- skills/visual-output.md
|
||||
- skills/plugin-discovery.md
|
||||
- skills/interface-parsing.md
|
||||
- skills/dependency-analysis.md
|
||||
- skills/mcp-tools-reference.md
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -28,236 +21,35 @@ Generate a Mermaid flowchart showing plugin dependencies, data flows, and tool r
|
||||
|
||||
## Workflow
|
||||
|
||||
1. **Discover plugins**:
|
||||
- Scan plugins directory for all plugins with `.claude-plugin/` marker
|
||||
- Parse each plugin's README.md to extract interface
|
||||
- Parse CLAUDE.md for agent definitions and tool sequences
|
||||
1. **Display header** per `skills/visual-output.md`
|
||||
|
||||
2. **Analyze dependencies**:
|
||||
- Identify shared MCP servers (plugins using same server)
|
||||
- Detect tool dependencies (which plugins produce vs consume data)
|
||||
- Find agent tool references across plugins
|
||||
- Categorize as required (ERROR if missing) or optional (WARNING if missing)
|
||||
2. **Discover plugins** per `skills/plugin-discovery.md`
|
||||
|
||||
3. **Build dependency graph**:
|
||||
- Create nodes for each plugin
|
||||
- Create edges for:
|
||||
- Shared MCP servers (bidirectional)
|
||||
- Data producers -> consumers (directional)
|
||||
- Agent tool dependencies (directional)
|
||||
- Mark edges as optional or required
|
||||
3. **Parse interfaces** per `skills/interface-parsing.md`
|
||||
- Use `parse_plugin_interface` for each plugin
|
||||
- Use `parse_claude_md_agents` for CLAUDE.md
|
||||
|
||||
4. **Generate Mermaid output**:
|
||||
- Create flowchart diagram syntax
|
||||
- Style required dependencies with solid lines
|
||||
- Style optional dependencies with dashed lines
|
||||
- Group by MCP server or data flow
|
||||
4. **Analyze dependencies** per `skills/dependency-analysis.md`
|
||||
- Identify shared MCP servers
|
||||
- Detect data producers/consumers
|
||||
- Categorize as required or optional
|
||||
|
||||
## Output Format
|
||||
|
||||
### Mermaid (default)
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
subgraph mcp_gitea["MCP: gitea"]
|
||||
projman["projman"]
|
||||
pr-review["pr-review"]
|
||||
end
|
||||
|
||||
subgraph mcp_data["MCP: data-platform"]
|
||||
data-platform["data-platform"]
|
||||
end
|
||||
|
||||
subgraph mcp_viz["MCP: viz-platform"]
|
||||
viz-platform["viz-platform"]
|
||||
end
|
||||
|
||||
%% Data flow dependencies
|
||||
data-platform -->|"data_ref (required)"| viz-platform
|
||||
|
||||
%% Optional dependencies
|
||||
projman -.->|"lessons (optional)"| pr-review
|
||||
|
||||
%% Styling
|
||||
classDef required stroke:#e74c3c,stroke-width:2px
|
||||
classDef optional stroke:#f39c12,stroke-dasharray:5 5
|
||||
```
|
||||
|
||||
### Text Format
|
||||
|
||||
```
|
||||
DEPENDENCY GRAPH
|
||||
================
|
||||
|
||||
Plugins: 12
|
||||
MCP Servers: 4
|
||||
Dependencies: 8 (5 required, 3 optional)
|
||||
|
||||
MCP Server Groups:
|
||||
gitea: projman, pr-review
|
||||
data-platform: data-platform
|
||||
viz-platform: viz-platform
|
||||
netbox: cmdb-assistant
|
||||
|
||||
Data Flow Dependencies:
|
||||
data-platform -> viz-platform (data_ref) [REQUIRED]
|
||||
data-platform -> data-platform (data_ref) [INTERNAL]
|
||||
|
||||
Cross-Plugin Tool Usage:
|
||||
projman.Planner uses: create_issue, search_lessons
|
||||
pr-review.reviewer uses: get_pr_diff, create_pr_review
|
||||
```
|
||||
|
||||
## Dependency Types
|
||||
|
||||
| Type | Line Style | Meaning |
|
||||
|------|------------|---------|
|
||||
| Required | Solid (`-->`) | Plugin cannot function without this dependency |
|
||||
| Optional | Dashed (`-.->`) | Plugin works but with reduced functionality |
|
||||
| Internal | Dotted (`...>`) | Self-dependency within same plugin |
|
||||
| Shared MCP | Double (`==>`) | Plugins share same MCP server instance |
|
||||
|
||||
## Known Data Flow Patterns
|
||||
|
||||
The command recognizes these producer/consumer relationships:
|
||||
|
||||
### Data Producers
|
||||
- `read_csv`, `read_parquet`, `read_json` - File loaders
|
||||
- `pg_query`, `pg_execute` - Database queries
|
||||
- `filter`, `select`, `groupby`, `join` - Transformations
|
||||
|
||||
### Data Consumers
|
||||
- `describe`, `head`, `tail` - Data inspection
|
||||
- `to_csv`, `to_parquet` - File writers
|
||||
- `chart_create` - Visualization
|
||||
|
||||
### Cross-Plugin Flows
|
||||
- `data-platform` produces `data_ref` -> `viz-platform` consumes for charts
|
||||
- `projman` produces issues -> `pr-review` references in reviews
|
||||
- `gitea` wiki -> `projman` lessons learned
|
||||
5. **Generate output**:
|
||||
- Mermaid: Create flowchart TD diagram with styled edges
|
||||
- Text: Create text summary with counts and lists
|
||||
|
||||
## Examples
|
||||
|
||||
### Basic Usage
|
||||
|
||||
```
|
||||
/dependency-graph
|
||||
```
|
||||
|
||||
Generates Mermaid diagram for current marketplace.
|
||||
|
||||
### With Tool Details
|
||||
|
||||
```
|
||||
/dependency-graph --show-tools
|
||||
```
|
||||
|
||||
Includes individual tool nodes showing which tools each plugin provides.
|
||||
|
||||
### Text Summary
|
||||
|
||||
```
|
||||
/dependency-graph --format text
|
||||
```
|
||||
|
||||
Outputs text-based summary suitable for CLAUDE.md inclusion.
|
||||
|
||||
### Specific Path
|
||||
|
||||
```
|
||||
/dependency-graph ~/claude-plugins-work
|
||||
```
|
||||
|
||||
Analyze marketplace at specified path.
|
||||
## Integration
|
||||
|
||||
## Integration with Other Commands
|
||||
|
||||
Use with `/validate-contracts` to:
|
||||
1. Run `/dependency-graph` to visualize relationships
|
||||
2. Run `/validate-contracts` to find issues in those relationships
|
||||
3. Fix issues and regenerate graph to verify
|
||||
|
||||
## Available Tools
|
||||
|
||||
Use these MCP tools:
|
||||
- `parse_plugin_interface` - Extract interface from plugin README.md
|
||||
- `parse_claude_md_agents` - Extract agents and their tool sequences
|
||||
- `generate_compatibility_report` - Get full interface data (JSON format for analysis)
|
||||
- `validate_data_flow` - Verify data producer/consumer relationships
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
### Detecting Shared MCP Servers
|
||||
|
||||
Check each plugin's `.mcp.json` file for server definitions:
|
||||
|
||||
```bash
|
||||
# List all .mcp.json files in plugins
|
||||
find plugins/ -name ".mcp.json" -exec cat {} \;
|
||||
```
|
||||
|
||||
Plugins with identical MCP server names share that server.
|
||||
|
||||
### Identifying Data Flows
|
||||
|
||||
1. Parse tool categories from README.md
|
||||
2. Map known producer tools to their output types
|
||||
3. Map known consumer tools to their input requirements
|
||||
4. Create edges where outputs match inputs
|
||||
|
||||
### Optional vs Required
|
||||
|
||||
- **Required**: Consumer tool has no default/fallback behavior
|
||||
- **Optional**: Consumer works without producer (e.g., lessons search returns empty)
|
||||
|
||||
Determination is based on:
|
||||
- Issue severity from `validate_data_flow` (ERROR = required, WARNING = optional)
|
||||
- Tool documentation stating "requires" vs "uses if available"
|
||||
|
||||
## Sample Output
|
||||
|
||||
For the leo-claude-mktplace:
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
subgraph gitea_mcp["Shared MCP: gitea"]
|
||||
projman["projman<br/>14 commands"]
|
||||
pr-review["pr-review<br/>6 commands"]
|
||||
end
|
||||
|
||||
subgraph netbox_mcp["Shared MCP: netbox"]
|
||||
cmdb-assistant["cmdb-assistant<br/>3 commands"]
|
||||
end
|
||||
|
||||
subgraph data_mcp["Shared MCP: data-platform"]
|
||||
data-platform["data-platform<br/>7 commands"]
|
||||
end
|
||||
|
||||
subgraph viz_mcp["Shared MCP: viz-platform"]
|
||||
viz-platform["viz-platform<br/>7 commands"]
|
||||
end
|
||||
|
||||
subgraph standalone["Standalone Plugins"]
|
||||
doc-guardian["doc-guardian"]
|
||||
code-sentinel["code-sentinel"]
|
||||
clarity-assist["clarity-assist"]
|
||||
git-flow["git-flow"]
|
||||
claude-config-maintainer["claude-config-maintainer"]
|
||||
contract-validator["contract-validator"]
|
||||
end
|
||||
|
||||
%% Data flow: data-platform -> viz-platform
|
||||
data-platform -->|"data_ref"| viz-platform
|
||||
|
||||
%% Cross-plugin: projman lessons -> pr-review context
|
||||
projman -.->|"lessons"| pr-review
|
||||
|
||||
%% Styling
|
||||
classDef mcpGroup fill:#e8f4fd,stroke:#2196f3
|
||||
classDef standalone fill:#f5f5f5,stroke:#9e9e9e
|
||||
classDef required stroke:#e74c3c,stroke-width:2px
|
||||
classDef optional stroke:#f39c12,stroke-dasharray:5 5
|
||||
|
||||
class gitea_mcp,netbox_mcp,data_mcp,viz_mcp mcpGroup
|
||||
class standalone standalone
|
||||
```
|
||||
Use with `/validate-contracts`:
|
||||
1. Run `/dependency-graph` to visualize
|
||||
2. Run `/validate-contracts` to find issues
|
||||
3. Fix and regenerate
|
||||
|
||||
@@ -1,164 +1,49 @@
|
||||
---
|
||||
description: Interactive setup wizard for contract-validator plugin - verifies MCP server and shows capabilities
|
||||
description: Interactive setup wizard for contract-validator plugin
|
||||
---
|
||||
|
||||
# Contract-Validator Setup Wizard
|
||||
# /initial-setup - Contract-Validator Setup Wizard
|
||||
|
||||
## Visual Output
|
||||
## Skills to Load
|
||||
- skills/visual-output.md
|
||||
- skills/mcp-tools-reference.md
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
**Important:** This command uses Bash, Read, Write tools - NOT MCP tools (they work only after setup + restart).
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ ✅ CONTRACT-VALIDATOR · Setup Wizard │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
## Workflow
|
||||
|
||||
Then proceed with the setup.
|
||||
1. **Display header** per `skills/visual-output.md`
|
||||
|
||||
This command sets up the contract-validator plugin for cross-plugin compatibility validation.
|
||||
2. **Check Python version**:
|
||||
```bash
|
||||
python3 --version
|
||||
```
|
||||
Requires 3.10+. Stop if below.
|
||||
|
||||
## Important Context
|
||||
3. **Locate MCP server**:
|
||||
- Installed: `~/.claude/plugins/marketplaces/leo-claude-mktplace/mcp-servers/contract-validator/`
|
||||
- Source: `~/claude-plugins-work/mcp-servers/contract-validator/`
|
||||
|
||||
- **This command uses Bash, Read, Write, and AskUserQuestion tools** - NOT MCP tools
|
||||
- **MCP tools won't work until after setup + session restart**
|
||||
- **No external credentials required** - this plugin validates local files only
|
||||
4. **Check/create venv**:
|
||||
```bash
|
||||
ls .venv/bin/python || (python3 -m venv .venv && .venv/bin/pip install -r requirements.txt)
|
||||
```
|
||||
|
||||
---
|
||||
5. **Verify MCP server**:
|
||||
```bash
|
||||
.venv/bin/python -c "from mcp_server.server import ContractValidatorMCPServer; print('OK')"
|
||||
```
|
||||
|
||||
## Phase 1: Environment Validation
|
||||
6. **Display success** per `skills/visual-output.md`
|
||||
|
||||
### Step 1.1: Check Python Version
|
||||
7. **Inform user**: Session restart required for MCP tools.
|
||||
|
||||
```bash
|
||||
python3 --version
|
||||
```
|
||||
## Post-Setup Commands
|
||||
|
||||
Requires Python 3.10+. If below, stop setup and inform user:
|
||||
```
|
||||
Python 3.10 or higher is required. Please install it and run /initial-setup again.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Phase 2: MCP Server Setup
|
||||
|
||||
### Step 2.1: Locate Contract-Validator MCP Server
|
||||
|
||||
```bash
|
||||
# If running from installed marketplace
|
||||
ls -la ~/.claude/plugins/marketplaces/leo-claude-mktplace/mcp-servers/contract-validator/ 2>/dev/null || echo "NOT_FOUND_INSTALLED"
|
||||
|
||||
# If running from source
|
||||
ls -la ~/claude-plugins-work/mcp-servers/contract-validator/ 2>/dev/null || echo "NOT_FOUND_SOURCE"
|
||||
```
|
||||
|
||||
Determine which path exists and use that as the MCP server path.
|
||||
|
||||
### Step 2.2: Check Virtual Environment
|
||||
|
||||
```bash
|
||||
ls -la /path/to/mcp-servers/contract-validator/.venv/bin/python 2>/dev/null && echo "VENV_EXISTS" || echo "VENV_MISSING"
|
||||
```
|
||||
|
||||
### Step 2.3: Create Virtual Environment (if missing)
|
||||
|
||||
```bash
|
||||
cd /path/to/mcp-servers/contract-validator && python3 -m venv .venv && source .venv/bin/activate && pip install --upgrade pip && pip install -r requirements.txt && deactivate
|
||||
```
|
||||
|
||||
**If pip install fails:**
|
||||
- Show the error to the user
|
||||
- Suggest: "Check your internet connection and try again."
|
||||
|
||||
---
|
||||
|
||||
## Phase 3: Validation
|
||||
|
||||
### Step 3.1: Verify MCP Server
|
||||
|
||||
```bash
|
||||
cd /path/to/mcp-servers/contract-validator && .venv/bin/python -c "from mcp_server.server import ContractValidatorMCPServer; print('MCP Server OK')"
|
||||
```
|
||||
|
||||
If this fails, check the error and report it to the user.
|
||||
|
||||
### Step 3.2: Summary
|
||||
|
||||
Display:
|
||||
|
||||
```
|
||||
╔════════════════════════════════════════════════════════════════╗
|
||||
║ CONTRACT-VALIDATOR SETUP COMPLETE ║
|
||||
╠════════════════════════════════════════════════════════════════╣
|
||||
║ MCP Server: ✓ Ready ║
|
||||
║ Parse Tools: ✓ Available (2 tools) ║
|
||||
║ Validation Tools: ✓ Available (3 tools) ║
|
||||
║ Report Tools: ✓ Available (2 tools) ║
|
||||
╚════════════════════════════════════════════════════════════════╝
|
||||
```
|
||||
|
||||
### Step 3.3: Session Restart Notice
|
||||
|
||||
---
|
||||
|
||||
**Session Restart Required**
|
||||
|
||||
Restart your Claude Code session for MCP tools to become available.
|
||||
|
||||
**After restart, you can:**
|
||||
- Run `/validate-contracts` to check all plugins for compatibility issues
|
||||
- Run `/check-agent` to validate a single agent definition
|
||||
- Run `/list-interfaces` to see all plugin commands and tools
|
||||
|
||||
---
|
||||
|
||||
## Available Tools
|
||||
|
||||
| Category | Tools | Description |
|
||||
|----------|-------|-------------|
|
||||
| Parse | `parse_plugin_interface`, `parse_claude_md_agents` | Extract interfaces from README.md and agents from CLAUDE.md |
|
||||
| Validation | `validate_compatibility`, `validate_agent_refs`, `validate_data_flow` | Check conflicts, tool references, and data flows |
|
||||
| Report | `generate_compatibility_report`, `list_issues` | Generate reports and filter issues |
|
||||
|
||||
---
|
||||
|
||||
## Available Commands
|
||||
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `/validate-contracts` | Full marketplace compatibility validation |
|
||||
| `/check-agent` | Validate single agent definition |
|
||||
| `/list-interfaces` | Show all plugin interfaces |
|
||||
|
||||
---
|
||||
|
||||
## Use Cases
|
||||
|
||||
### 1. Pre-Release Validation
|
||||
Run `/validate-contracts` before releasing a new marketplace version to catch:
|
||||
- Command name conflicts between plugins
|
||||
- Missing tool references in agents
|
||||
- Broken data flows
|
||||
|
||||
### 2. Agent Development
|
||||
Run `/check-agent` when creating or modifying agents to verify:
|
||||
- All referenced tools exist
|
||||
- Data flows are valid
|
||||
- No undeclared dependencies
|
||||
|
||||
### 3. Plugin Audit
|
||||
Run `/list-interfaces` to get a complete view of:
|
||||
- All commands across plugins
|
||||
- All tools available
|
||||
- Potential overlap areas
|
||||
|
||||
---
|
||||
- `/validate-contracts` - Full marketplace validation
|
||||
- `/check-agent` - Validate single agent
|
||||
- `/list-interfaces` - Show all plugin interfaces
|
||||
|
||||
## No Configuration Required
|
||||
|
||||
This plugin doesn't require any configuration files. It reads plugin manifests and README files directly from the filesystem.
|
||||
|
||||
**Paths it scans:**
|
||||
- Marketplace: `~/.claude/plugins/marketplaces/leo-claude-mktplace/plugins/`
|
||||
- Source (if available): `~/claude-plugins-work/plugins/`
|
||||
This plugin reads plugin manifests and README files directly - no credentials needed.
|
||||
|
||||
@@ -1,18 +1,10 @@
|
||||
# /list-interfaces - Show Plugin Interfaces
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ ✅ CONTRACT-VALIDATOR · List Interfaces │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the interface listing.
|
||||
|
||||
Display what each plugin in the marketplace produces and accepts.
|
||||
## Skills to Load
|
||||
- skills/visual-output.md
|
||||
- skills/plugin-discovery.md
|
||||
- skills/interface-parsing.md
|
||||
- skills/mcp-tools-reference.md
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -26,35 +18,25 @@ Display what each plugin in the marketplace produces and accepts.
|
||||
|
||||
## Workflow
|
||||
|
||||
1. **Discover plugins**:
|
||||
- Scan plugins directory for all plugins with `.claude-plugin/` marker
|
||||
- Read each plugin's README.md
|
||||
1. **Display header** per `skills/visual-output.md`
|
||||
|
||||
2. **Parse interfaces**:
|
||||
- Extract commands (slash commands offered by plugin)
|
||||
- Extract agents (autonomous agents defined)
|
||||
- Extract tools (MCP tools provided)
|
||||
- Identify tool categories and features
|
||||
2. **Discover plugins** per `skills/plugin-discovery.md`
|
||||
|
||||
3. **Display summary**:
|
||||
- Table of plugins with command/agent/tool counts
|
||||
- Detailed breakdown per plugin
|
||||
- Tool categories and their contents
|
||||
3. **Parse interfaces** per `skills/interface-parsing.md`
|
||||
- Use `parse_plugin_interface` for each plugin README.md
|
||||
- Extract commands, agents, tools
|
||||
|
||||
## Output Format
|
||||
4. **Display summary table**:
|
||||
```
|
||||
| Plugin | Commands | Agents | Tools |
|
||||
|-------------|----------|--------|-------|
|
||||
| projman | 12 | 4 | 26 |
|
||||
```
|
||||
|
||||
```
|
||||
| Plugin | Commands | Agents | Tools |
|
||||
|-------------|----------|--------|-------|
|
||||
| projman | 12 | 4 | 26 |
|
||||
| data-platform| 7 | 2 | 32 |
|
||||
| ... | ... | ... | ... |
|
||||
|
||||
## projman
|
||||
- Commands: /sprint-plan, /sprint-start, ...
|
||||
- Agents: Planner, Orchestrator, Executor, Code Reviewer
|
||||
- Tools: list_issues, create_issue, ...
|
||||
```
|
||||
5. **Display per-plugin details**:
|
||||
- List of commands
|
||||
- List of agents
|
||||
- Tool categories
|
||||
|
||||
## Examples
|
||||
|
||||
@@ -62,9 +44,3 @@ Display what each plugin in the marketplace produces and accepts.
|
||||
/list-interfaces
|
||||
/list-interfaces ~/claude-plugins-work
|
||||
```
|
||||
|
||||
## Available Tools
|
||||
|
||||
Use these MCP tools:
|
||||
- `parse_plugin_interface` - Parse individual plugin README
|
||||
- `generate_compatibility_report` - Get full interface data (JSON format)
|
||||
|
||||
@@ -1,18 +1,11 @@
|
||||
# /validate-contracts - Full Contract Validation
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ ✅ CONTRACT-VALIDATOR · Full Validation │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the validation.
|
||||
|
||||
Run comprehensive cross-plugin compatibility validation for the entire marketplace.
|
||||
## Skills to Load
|
||||
- skills/visual-output.md
|
||||
- skills/plugin-discovery.md
|
||||
- skills/interface-parsing.md
|
||||
- skills/validation-rules.md
|
||||
- skills/mcp-tools-reference.md
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -26,25 +19,22 @@ Run comprehensive cross-plugin compatibility validation for the entire marketpla
|
||||
|
||||
## Workflow
|
||||
|
||||
1. **Discover plugins**:
|
||||
- Scan plugins directory for all plugins with `.claude-plugin/` marker
|
||||
- Parse each plugin's README.md to extract interface
|
||||
1. **Display header** per `skills/visual-output.md`
|
||||
|
||||
2. **Run compatibility checks**:
|
||||
- Perform pairwise compatibility validation between all plugins
|
||||
- Check for command name conflicts
|
||||
- Check for tool name overlaps
|
||||
- Identify interface mismatches
|
||||
2. **Discover plugins** per `skills/plugin-discovery.md`
|
||||
|
||||
3. **Validate CLAUDE.md agents**:
|
||||
- Parse agent definitions from CLAUDE.md
|
||||
- Validate all tool references exist
|
||||
- Check data flow through agent sequences
|
||||
3. **Parse interfaces** per `skills/interface-parsing.md`
|
||||
- Use `parse_plugin_interface` for each plugin
|
||||
|
||||
4. **Generate report**:
|
||||
- Summary statistics (plugins, commands, tools, issues)
|
||||
- Detailed findings by severity (error, warning, info)
|
||||
- Actionable suggestions for each issue
|
||||
4. **Run validations** per `skills/validation-rules.md`
|
||||
- Use `validate_compatibility` for pairwise checks
|
||||
- Use `validate_agent_refs` for CLAUDE.md agents
|
||||
- Use `validate_data_flow` for data sequences
|
||||
|
||||
5. **Generate report**:
|
||||
- Use `generate_compatibility_report` for full report
|
||||
- Use `list_issues` to filter by severity
|
||||
- Display summary and actionable suggestions
|
||||
|
||||
## Examples
|
||||
|
||||
@@ -52,11 +42,3 @@ Run comprehensive cross-plugin compatibility validation for the entire marketpla
|
||||
/validate-contracts
|
||||
/validate-contracts ~/claude-plugins-work
|
||||
```
|
||||
|
||||
## Available Tools
|
||||
|
||||
Use these MCP tools:
|
||||
- `generate_compatibility_report` - Generate full marketplace report
|
||||
- `list_issues` - Filter issues by severity or type
|
||||
- `parse_plugin_interface` - Parse individual plugin interface
|
||||
- `validate_compatibility` - Check two plugins for conflicts
|
||||
|
||||
57
plugins/contract-validator/skills/dependency-analysis.md
Normal file
57
plugins/contract-validator/skills/dependency-analysis.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# Skill: Dependency Analysis
|
||||
|
||||
Analyze dependencies between plugins including shared MCP servers and data flows.
|
||||
|
||||
## Dependency Types
|
||||
|
||||
| Type | Line Style | Meaning |
|
||||
|------|------------|---------|
|
||||
| Required | Solid (`-->`) | Plugin cannot function without this |
|
||||
| Optional | Dashed (`-.->`) | Plugin works with reduced functionality |
|
||||
| Internal | Dotted (`...>`) | Self-dependency within same plugin |
|
||||
| Shared MCP | Double (`==>`) | Plugins share same MCP server instance |
|
||||
|
||||
## Shared MCP Server Detection
|
||||
|
||||
Check each plugin's `.mcp.json` for server definitions. Plugins with identical MCP server names share that server.
|
||||
|
||||
**Common shared servers:**
|
||||
- `gitea` - Used by projman, pr-review
|
||||
- `netbox` - Used by cmdb-assistant
|
||||
- `data-platform` - Used by data-platform
|
||||
- `viz-platform` - Used by viz-platform
|
||||
|
||||
## Data Flow Patterns
|
||||
|
||||
### Data Producers
|
||||
- `read_csv`, `read_parquet`, `read_json` - File loaders
|
||||
- `pg_query`, `pg_execute` - Database queries
|
||||
- `filter`, `select`, `groupby`, `join` - Transformations
|
||||
|
||||
### Data Consumers
|
||||
- `describe`, `head`, `tail` - Data inspection
|
||||
- `to_csv`, `to_parquet` - File writers
|
||||
- `chart_create` - Visualization
|
||||
|
||||
### Cross-Plugin Flows
|
||||
| Producer | Consumer | Data Type |
|
||||
|----------|----------|-----------|
|
||||
| data-platform | viz-platform | `data_ref` |
|
||||
| projman | pr-review | issues/lessons |
|
||||
| gitea wiki | projman | lessons learned |
|
||||
|
||||
## Required vs Optional
|
||||
|
||||
- **Required**: Consumer has no default/fallback (ERROR if missing)
|
||||
- **Optional**: Consumer works without producer (WARNING if missing)
|
||||
|
||||
Determined by:
|
||||
- Issue severity from `validate_data_flow`
|
||||
- Tool docs stating "requires" vs "uses if available"
|
||||
|
||||
## MCP Tools
|
||||
|
||||
| Tool | Purpose |
|
||||
|------|---------|
|
||||
| `validate_data_flow` | Verify producer/consumer relationships |
|
||||
| `generate_compatibility_report` | Get full dependency data |
|
||||
52
plugins/contract-validator/skills/interface-parsing.md
Normal file
52
plugins/contract-validator/skills/interface-parsing.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# Skill: Interface Parsing
|
||||
|
||||
Parse plugin interfaces from README.md and agent definitions from CLAUDE.md.
|
||||
|
||||
## Interface Components
|
||||
|
||||
| Component | Source | Description |
|
||||
|-----------|--------|-------------|
|
||||
| Commands | README.md | Slash commands offered by plugin |
|
||||
| Agents | README.md, CLAUDE.md | Autonomous agents defined |
|
||||
| Tools | README.md | MCP tools provided |
|
||||
| Categories | README.md | Tool groupings and features |
|
||||
|
||||
## Parsing README.md
|
||||
|
||||
Extract from these sections:
|
||||
|
||||
1. **Commands section**: Look for tables with `| Command |` or lists of `/command-name`
|
||||
2. **Tools section**: Look for tables with `| Tool |` or code blocks with tool names
|
||||
3. **Agents section**: Look for "Four-Agent Model" or "Agents" headings
|
||||
|
||||
## Parsing CLAUDE.md
|
||||
|
||||
Extract agent definitions from:
|
||||
|
||||
1. **Four-Agent Model table**: `| Agent | Personality | Responsibilities |`
|
||||
2. **Agent sections**: Headings like `### Planner Agent` or `## Agents`
|
||||
3. **Tool sequences**: Lists of tools in workflow steps
|
||||
|
||||
## Agent Definition Structure
|
||||
|
||||
```yaml
|
||||
agent:
|
||||
name: "Planner"
|
||||
personality: "Thoughtful, methodical"
|
||||
responsibilities:
|
||||
- "Sprint planning"
|
||||
- "Architecture analysis"
|
||||
tools:
|
||||
- "create_issue"
|
||||
- "search_lessons"
|
||||
workflow:
|
||||
- step: "Analyze requirements"
|
||||
tools: ["list_issues", "get_issue"]
|
||||
```
|
||||
|
||||
## MCP Tools
|
||||
|
||||
| Tool | Purpose |
|
||||
|------|---------|
|
||||
| `parse_plugin_interface` | Extract interface from README.md |
|
||||
| `parse_claude_md_agents` | Extract agents and tool sequences from CLAUDE.md |
|
||||
61
plugins/contract-validator/skills/mcp-tools-reference.md
Normal file
61
plugins/contract-validator/skills/mcp-tools-reference.md
Normal file
@@ -0,0 +1,61 @@
|
||||
# Skill: MCP Tools Reference
|
||||
|
||||
Available MCP tools for contract-validator operations.
|
||||
|
||||
## Tool Categories
|
||||
|
||||
### Parse Tools
|
||||
| Tool | Description |
|
||||
|------|-------------|
|
||||
| `parse_plugin_interface` | Extract interface from plugin README.md |
|
||||
| `parse_claude_md_agents` | Extract agents and tool sequences from CLAUDE.md |
|
||||
|
||||
### Validation Tools
|
||||
| Tool | Description |
|
||||
|------|-------------|
|
||||
| `validate_compatibility` | Check two plugins for conflicts |
|
||||
| `validate_agent_refs` | Check agent tool references exist |
|
||||
| `validate_data_flow` | Verify data flow through agent sequence |
|
||||
|
||||
### Report Tools
|
||||
| Tool | Description |
|
||||
|------|-------------|
|
||||
| `generate_compatibility_report` | Generate full marketplace report (JSON) |
|
||||
| `list_issues` | Filter issues by severity or type |
|
||||
|
||||
## Tool Usage Patterns
|
||||
|
||||
### Full Marketplace Validation
|
||||
```
|
||||
1. generate_compatibility_report(marketplace_path)
|
||||
2. list_issues(severity="ERROR") # Get critical issues
|
||||
3. list_issues(severity="WARNING") # Get warnings
|
||||
```
|
||||
|
||||
### Single Agent Check
|
||||
```
|
||||
1. parse_claude_md_agents(claude_md_path)
|
||||
2. validate_agent_refs(agent_name, agents_data)
|
||||
3. validate_data_flow(agent_workflow)
|
||||
```
|
||||
|
||||
### Interface Listing
|
||||
```
|
||||
1. For each plugin:
|
||||
parse_plugin_interface(readme_path)
|
||||
2. Aggregate results into summary table
|
||||
```
|
||||
|
||||
### Dependency Graph
|
||||
```
|
||||
1. generate_compatibility_report(marketplace_path)
|
||||
2. validate_data_flow(cross_plugin_flows)
|
||||
3. Build Mermaid diagram from results
|
||||
```
|
||||
|
||||
## Error Handling
|
||||
|
||||
If MCP tools fail:
|
||||
1. Check if `/initial-setup` has been run
|
||||
2. Verify session was restarted after setup
|
||||
3. Check MCP server venv exists and is valid
|
||||
42
plugins/contract-validator/skills/plugin-discovery.md
Normal file
42
plugins/contract-validator/skills/plugin-discovery.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Skill: Plugin Discovery
|
||||
|
||||
Discover plugins in a marketplace by scanning for `.claude-plugin/` markers.
|
||||
|
||||
## Discovery Process
|
||||
|
||||
1. **Identify marketplace root**:
|
||||
- Use provided path or default to current project root
|
||||
- Look for `plugins/` subdirectory
|
||||
|
||||
2. **Scan for plugins**:
|
||||
- Find all directories containing `.claude-plugin/plugin.json`
|
||||
- Each is a valid plugin
|
||||
|
||||
3. **Build plugin list**:
|
||||
- Extract plugin name from directory name
|
||||
- Record path to plugin root
|
||||
|
||||
## Standard Paths
|
||||
|
||||
| Context | Path |
|
||||
|---------|------|
|
||||
| Installed | `~/.claude/plugins/marketplaces/leo-claude-mktplace/plugins/` |
|
||||
| Source | `~/claude-plugins-work/plugins/` |
|
||||
|
||||
## Expected Structure
|
||||
|
||||
```
|
||||
plugins/
|
||||
plugin-name/
|
||||
.claude-plugin/
|
||||
plugin.json # Required marker
|
||||
commands/ # Command definitions
|
||||
agents/ # Agent definitions (optional)
|
||||
hooks/ # Hook definitions (optional)
|
||||
skills/ # Skill files (optional)
|
||||
README.md # Interface documentation
|
||||
```
|
||||
|
||||
## MCP Tool
|
||||
|
||||
Use `parse_plugin_interface` with each discovered plugin's README.md path.
|
||||
57
plugins/contract-validator/skills/validation-rules.md
Normal file
57
plugins/contract-validator/skills/validation-rules.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# Skill: Validation Rules
|
||||
|
||||
Rules for validating plugin compatibility and agent definitions.
|
||||
|
||||
## Compatibility Checks
|
||||
|
||||
### 1. Command Name Conflicts
|
||||
- No two plugins should have identical command names
|
||||
- Severity: ERROR
|
||||
|
||||
### 2. Tool Name Overlaps
|
||||
- Tools with same name must have same signature
|
||||
- Severity: WARNING (may be intentional aliasing)
|
||||
|
||||
### 3. Interface Mismatches
|
||||
- Producer output types must match consumer input types
|
||||
- Severity: ERROR
|
||||
|
||||
## Agent Validation
|
||||
|
||||
### Tool Reference Check
|
||||
1. Parse agent's tool references from workflow steps
|
||||
2. Verify each tool exists in available plugins
|
||||
3. Report missing or misspelled tool names
|
||||
4. Suggest corrections for common mistakes
|
||||
|
||||
### Data Flow Validation
|
||||
1. Analyze sequence of tools in agent workflow
|
||||
2. Verify data producers precede data consumers
|
||||
3. Check for orphaned data references
|
||||
4. Ensure required data is available at each step
|
||||
|
||||
## Severity Levels
|
||||
|
||||
| Level | Meaning | Action |
|
||||
|-------|---------|--------|
|
||||
| ERROR | Will cause runtime failures | Must fix |
|
||||
| WARNING | May cause issues | Review needed |
|
||||
| INFO | Informational only | No action required |
|
||||
|
||||
## Common Issues
|
||||
|
||||
| Issue | Cause | Fix |
|
||||
|-------|-------|-----|
|
||||
| Missing tool | Typo or plugin not installed | Check spelling, install plugin |
|
||||
| Data flow gap | Producer not called before consumer | Reorder workflow steps |
|
||||
| Name conflict | Two plugins use same command | Rename one command |
|
||||
| Orphan reference | Data produced but never consumed | Remove or use the data |
|
||||
|
||||
## MCP Tools
|
||||
|
||||
| Tool | Purpose |
|
||||
|------|---------|
|
||||
| `validate_compatibility` | Check two plugins for conflicts |
|
||||
| `validate_agent_refs` | Check agent tool references |
|
||||
| `validate_data_flow` | Verify data flow sequences |
|
||||
| `list_issues` | Filter issues by severity or type |
|
||||
88
plugins/contract-validator/skills/visual-output.md
Normal file
88
plugins/contract-validator/skills/visual-output.md
Normal file
@@ -0,0 +1,88 @@
|
||||
# Skill: Visual Output
|
||||
|
||||
Standard visual formatting for contract-validator commands.
|
||||
|
||||
## Command Header
|
||||
|
||||
Display at the start of every command:
|
||||
|
||||
```
|
||||
+----------------------------------------------------------------------+
|
||||
| CONTRACT-VALIDATOR - [Command Name] |
|
||||
+----------------------------------------------------------------------+
|
||||
```
|
||||
|
||||
## Result Boxes
|
||||
|
||||
### Success Box
|
||||
```
|
||||
+====================================================================+
|
||||
| CONTRACT-VALIDATOR [ACTION] COMPLETE |
|
||||
+====================================================================+
|
||||
| Item 1: [checkmark] Status |
|
||||
| Item 2: [checkmark] Status |
|
||||
+====================================================================+
|
||||
```
|
||||
|
||||
### Error Box
|
||||
```
|
||||
+====================================================================+
|
||||
| CONTRACT-VALIDATOR [ACTION] FAILED |
|
||||
+====================================================================+
|
||||
| Error: [description] |
|
||||
| Suggestion: [fix] |
|
||||
+====================================================================+
|
||||
```
|
||||
|
||||
## Summary Tables
|
||||
|
||||
### Plugin Summary
|
||||
```
|
||||
| Plugin | Commands | Agents | Tools |
|
||||
|-------------|----------|--------|-------|
|
||||
| projman | 12 | 4 | 26 |
|
||||
| data-platform| 7 | 2 | 32 |
|
||||
```
|
||||
|
||||
### Issue Summary
|
||||
```
|
||||
| Severity | Count |
|
||||
|----------|-------|
|
||||
| ERROR | 2 |
|
||||
| WARNING | 5 |
|
||||
| INFO | 8 |
|
||||
```
|
||||
|
||||
## Mermaid Diagrams
|
||||
|
||||
For dependency graphs, use flowchart TD format:
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
subgraph group_name["Group Label"]
|
||||
node1["Plugin Name"]
|
||||
end
|
||||
|
||||
node1 -->|"label"| node2
|
||||
node1 -.->|"optional"| node3
|
||||
|
||||
classDef required stroke:#e74c3c,stroke-width:2px
|
||||
classDef optional stroke:#f39c12,stroke-dasharray:5 5
|
||||
```
|
||||
|
||||
## Text Format Alternative
|
||||
|
||||
For non-graphical output:
|
||||
|
||||
```
|
||||
DEPENDENCY GRAPH
|
||||
================
|
||||
|
||||
Plugins: 12
|
||||
MCP Servers: 4
|
||||
Dependencies: 8 (5 required, 3 optional)
|
||||
|
||||
MCP Server Groups:
|
||||
gitea: projman, pr-review
|
||||
data-platform: data-platform
|
||||
```
|
||||
Reference in New Issue
Block a user