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:
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