fix(projman): add YAML frontmatter and remove unsupported model fields #332
56
CHANGELOG.md
56
CHANGELOG.md
@@ -4,46 +4,36 @@ All notable changes to the Leo Claude Marketplace will be documented in this fil
|
|||||||
|
|
||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||||
|
|
||||||
## [5.4.0] - 2026-01-28
|
## [5.4.1] - 2026-01-30
|
||||||
|
|
||||||
### Added
|
### Removed
|
||||||
|
|
||||||
|
#### Multi-Model Agent Support (REVERTED)
|
||||||
|
|
||||||
|
**Reason:** Claude Code does not support `defaultModel` in plugin.json or `model` in agent frontmatter. The schema validation rejects these as "Unrecognized key".
|
||||||
|
|
||||||
|
**Removed:**
|
||||||
|
- `defaultModel` field from all plugin.json files (6 plugins)
|
||||||
|
- `model` field references from agent frontmatter
|
||||||
|
- `docs/MODEL-RECOMMENDATIONS.md` - Deleted entirely
|
||||||
|
- Model configuration sections from `docs/CONFIGURATION.md` and `CLAUDE.md`
|
||||||
|
|
||||||
|
**Lesson:** Do not implement features without verifying they are supported by Claude Code's plugin schema.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## [5.4.0] - 2026-01-28 [REVERTED]
|
||||||
|
|
||||||
|
### Added (NOW REMOVED - See 5.4.1)
|
||||||
|
|
||||||
#### Sprint 7: Multi-Model Agent Support
|
#### Sprint 7: Multi-Model Agent Support
|
||||||
Configurable model selection for agents with inheritance chain.
|
~~Configurable model selection for agents with inheritance chain.~~
|
||||||
|
|
||||||
**Model Configuration:**
|
**This feature was reverted in 5.4.1 - Claude Code does not support these fields.**
|
||||||
- Agent-level `model` field in YAML frontmatter (opus|sonnet|haiku)
|
|
||||||
- Plugin-level `defaultModel` in plugin.json
|
|
||||||
- Inheritance: Agent → Plugin → System default (sonnet)
|
|
||||||
|
|
||||||
**Recommended Model Assignments:**
|
Original sprint work:
|
||||||
| Model | Use Case | Agents |
|
|
||||||
|-------|----------|--------|
|
|
||||||
| **Opus** | Complex reasoning, security analysis | planner, code-reviewer, security-reviewer, data-analysis |
|
|
||||||
| **Sonnet** | Implementation, coordination | orchestrator, executor, layout-builder, data-ingestion |
|
|
||||||
| **Haiku** | Quick validation | component-check, agent-check |
|
|
||||||
|
|
||||||
**Documentation:**
|
|
||||||
- `docs/MODEL-RECOMMENDATIONS.md` - Central model selection guide
|
|
||||||
- `docs/CONFIGURATION.md` - Added agent model configuration section
|
|
||||||
- `CLAUDE.md` - Added model config quick reference
|
|
||||||
|
|
||||||
**Agent Updates (7 files):**
|
|
||||||
- Opus: planner, code-reviewer (projman), security-reviewer (pr-review, code-sentinel), data-analysis
|
|
||||||
- Haiku: component-check (viz-platform), agent-check (contract-validator)
|
|
||||||
|
|
||||||
**Plugin Manifest Updates (6 files):**
|
|
||||||
- All plugins with agents now have `defaultModel: sonnet`
|
|
||||||
- Version bumps: projman 3.3.0, pr-review 1.1.0, data-platform 1.1.0, viz-platform 1.1.0, code-sentinel 1.0.1, contract-validator 1.1.0
|
|
||||||
|
|
||||||
**Validation:**
|
|
||||||
- `scripts/validate-marketplace.sh` - Added model field validation (v5.4.0+)
|
|
||||||
|
|
||||||
**Sprint Completed:**
|
|
||||||
- Milestone: Sprint 7 - Multi-Model Agent Support
|
|
||||||
- Issues: #302, #303, #304, #305, #306
|
- Issues: #302, #303, #304, #305, #306
|
||||||
- PRs: #307, #308
|
- PRs: #307, #308
|
||||||
- Wiki: [Change V5.4.0: Multi-Model Support (Sprint 7 Implementation)](https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/wiki/Change-V5.4.0%3A-Multi-Model-Support-%28Sprint-7-Implementation%29)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
15
CLAUDE.md
15
CLAUDE.md
@@ -265,21 +265,6 @@ leo-claude-mktplace/
|
|||||||
|
|
||||||
**Note:** `GITEA_ORG` is at project level since different projects may belong to different organizations.
|
**Note:** `GITEA_ORG` is at project level since different projects may belong to different organizations.
|
||||||
|
|
||||||
### Agent Model Configuration
|
|
||||||
|
|
||||||
Agents can specify preferred Claude models for cost/performance optimization:
|
|
||||||
|
|
||||||
| Model | Use For | Agents |
|
|
||||||
|-------|---------|--------|
|
|
||||||
| `opus` | Complex reasoning, security | planner, code-reviewer, security-reviewer |
|
|
||||||
| `sonnet` | Implementation, coordination | orchestrator, executor, most agents |
|
|
||||||
| `haiku` | Simple validation | component-check, agent-check |
|
|
||||||
|
|
||||||
**Configuration:** Add `model: opus|sonnet|haiku` to agent frontmatter, or `defaultModel` to plugin.json.
|
|
||||||
**Inheritance:** Agent → Plugin default → System default (sonnet)
|
|
||||||
|
|
||||||
See `docs/MODEL-RECOMMENDATIONS.md` for detailed guidance.
|
|
||||||
|
|
||||||
### Branch-Aware Security
|
### Branch-Aware Security
|
||||||
|
|
||||||
| Branch Pattern | Mode | Capabilities |
|
| Branch Pattern | Mode | Capabilities |
|
||||||
|
|||||||
@@ -521,56 +521,6 @@ cat .env
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Agent Model Configuration
|
|
||||||
|
|
||||||
Agents can specify which Claude model to use for optimal cost/performance.
|
|
||||||
|
|
||||||
### Model Options
|
|
||||||
|
|
||||||
| Model | Use For | Cost |
|
|
||||||
|-------|---------|------|
|
|
||||||
| `opus` | Complex reasoning, security analysis | Highest |
|
|
||||||
| `sonnet` | Implementation, coordination (default) | Medium |
|
|
||||||
| `haiku` | Simple validation, quick checks | Lowest |
|
|
||||||
|
|
||||||
### Configuration Levels
|
|
||||||
|
|
||||||
**1. Agent-Level (highest priority)**
|
|
||||||
|
|
||||||
Add to agent frontmatter in `agents/*.md`:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
---
|
|
||||||
name: planner
|
|
||||||
description: Sprint planning agent
|
|
||||||
model: opus
|
|
||||||
---
|
|
||||||
```
|
|
||||||
|
|
||||||
**2. Plugin-Level (fallback)**
|
|
||||||
|
|
||||||
Add to `plugin.json`:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"defaultModel": "sonnet"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
**3. System Default**
|
|
||||||
|
|
||||||
If neither is specified, agents use `sonnet`.
|
|
||||||
|
|
||||||
### Inheritance Chain
|
|
||||||
|
|
||||||
```
|
|
||||||
Agent model → Plugin defaultModel → System default (sonnet)
|
|
||||||
```
|
|
||||||
|
|
||||||
See [Model Recommendations](MODEL-RECOMMENDATIONS.md) for detailed guidance on model selection by task type.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Security Best Practices
|
## Security Best Practices
|
||||||
|
|
||||||
1. **Never commit tokens**
|
1. **Never commit tokens**
|
||||||
|
|||||||
@@ -1,149 +0,0 @@
|
|||||||
# Model Recommendations
|
|
||||||
|
|
||||||
Guidelines for selecting Claude models (opus, sonnet, haiku) for plugin agents.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Model Overview
|
|
||||||
|
|
||||||
| Model | Best For | Cost | Speed |
|
|
||||||
|-------|----------|------|-------|
|
|
||||||
| **Opus** | Complex reasoning, architecture decisions, security analysis | Highest | Slower |
|
|
||||||
| **Sonnet** | Implementation, coordination, standard tasks | Medium | Balanced |
|
|
||||||
| **Haiku** | Simple validation, quick checks, status queries | Lowest | Fastest |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Task-Type Recommendations
|
|
||||||
|
|
||||||
| Task Type | Model | Rationale |
|
|
||||||
|-----------|-------|-----------|
|
|
||||||
| Architecture decisions | Opus | Requires deep reasoning, trade-off analysis |
|
|
||||||
| Security analysis | Opus | Critical thinking, vulnerability pattern recognition |
|
|
||||||
| Code review (quality) | Opus | Thorough analysis, edge case detection |
|
|
||||||
| Sprint planning | Opus | Strategic thinking, dependency analysis |
|
|
||||||
| Complex data analysis | Opus | Multi-step reasoning, insight generation |
|
|
||||||
| Code implementation | Sonnet | Fast, capable code generation |
|
|
||||||
| Coordination/dispatch | Sonnet | Task management, status tracking |
|
|
||||||
| Data transformation | Sonnet | ETL operations, query building |
|
|
||||||
| Documentation | Sonnet | Clear writing, structure |
|
|
||||||
| Simple validation | Haiku | Fast prop checks, schema validation |
|
|
||||||
| Status checks | Haiku | Quick queries, cost-effective |
|
|
||||||
| Quick verification | Haiku | Simple pass/fail checks |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Agent Model Assignments
|
|
||||||
|
|
||||||
### projman (Sprint Management)
|
|
||||||
|
|
||||||
| Agent | Model | Rationale |
|
|
||||||
|-------|-------|-----------|
|
|
||||||
| `planner` | opus | Architecture decisions, issue structuring |
|
|
||||||
| `orchestrator` | sonnet | Coordination, parallel execution |
|
|
||||||
| `executor` | sonnet | Code implementation |
|
|
||||||
| `code-reviewer` | opus | Quality review, security analysis |
|
|
||||||
|
|
||||||
### pr-review (PR Analysis)
|
|
||||||
|
|
||||||
| Agent | Model | Rationale |
|
|
||||||
|-------|-------|-----------|
|
|
||||||
| `coordinator` | sonnet | Task dispatch, result aggregation |
|
|
||||||
| `security-reviewer` | opus | Security vulnerability detection |
|
|
||||||
| `performance-analyst` | sonnet | Pattern recognition |
|
|
||||||
| `maintainability-auditor` | sonnet | Code quality checks |
|
|
||||||
| `test-validator` | sonnet | Test coverage analysis |
|
|
||||||
|
|
||||||
### code-sentinel (Security & Refactoring)
|
|
||||||
|
|
||||||
| Agent | Model | Rationale |
|
|
||||||
|-------|-------|-----------|
|
|
||||||
| `security-reviewer` | opus | Security scanning |
|
|
||||||
| `refactor-advisor` | sonnet | Refactoring suggestions |
|
|
||||||
|
|
||||||
### data-platform (Data Engineering)
|
|
||||||
|
|
||||||
| Agent | Model | Rationale |
|
|
||||||
|-------|-------|-----------|
|
|
||||||
| `data-analysis` | opus | Complex data insights |
|
|
||||||
| `data-ingestion` | sonnet | ETL operations |
|
|
||||||
|
|
||||||
### viz-platform (Visualization)
|
|
||||||
|
|
||||||
| Agent | Model | Rationale |
|
|
||||||
|-------|-------|-----------|
|
|
||||||
| `component-check` | haiku | Simple prop validation |
|
|
||||||
| `layout-builder` | sonnet | UI construction |
|
|
||||||
| `theme-setup` | sonnet | Design configuration |
|
|
||||||
|
|
||||||
### contract-validator (Compatibility)
|
|
||||||
|
|
||||||
| Agent | Model | Rationale |
|
|
||||||
|-------|-------|-----------|
|
|
||||||
| `full-validation` | sonnet | Contract checking |
|
|
||||||
| `agent-check` | haiku | Quick verification |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Configuration Schema
|
|
||||||
|
|
||||||
### Agent-Level (Frontmatter)
|
|
||||||
|
|
||||||
Add `model` field to agent YAML frontmatter:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
---
|
|
||||||
name: planner
|
|
||||||
description: Sprint planning agent
|
|
||||||
model: opus
|
|
||||||
---
|
|
||||||
```
|
|
||||||
|
|
||||||
**Valid values:** `opus`, `sonnet`, `haiku`
|
|
||||||
|
|
||||||
### Plugin-Level (plugin.json)
|
|
||||||
|
|
||||||
Add `defaultModel` for plugin-wide fallback:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"name": "projman",
|
|
||||||
"version": "3.4.0",
|
|
||||||
"defaultModel": "sonnet"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Inheritance Chain
|
|
||||||
|
|
||||||
Model selection follows this precedence:
|
|
||||||
|
|
||||||
```
|
|
||||||
1. Agent model field (highest priority)
|
|
||||||
↓ if not specified
|
|
||||||
2. Plugin defaultModel (plugin.json)
|
|
||||||
↓ if not specified
|
|
||||||
3. System default: sonnet
|
|
||||||
```
|
|
||||||
|
|
||||||
**Example:**
|
|
||||||
- Agent has `model: opus` → Uses opus
|
|
||||||
- Agent has no model, plugin has `defaultModel: sonnet` → Uses sonnet
|
|
||||||
- Neither specified → Uses sonnet (system default)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Cost Optimization Tips
|
|
||||||
|
|
||||||
1. **Default to Sonnet** - Good balance for most tasks
|
|
||||||
2. **Reserve Opus** for critical decisions (security, architecture)
|
|
||||||
3. **Use Haiku** for validation and quick checks
|
|
||||||
4. **Batch simple tasks** - Use haiku for parallel validation
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## See Also
|
|
||||||
|
|
||||||
- [Configuration Guide](CONFIGURATION.md) - Full configuration reference
|
|
||||||
- [Plugin Development](../README.md) - Adding new plugins
|
|
||||||
@@ -2,7 +2,6 @@
|
|||||||
"name": "code-sentinel",
|
"name": "code-sentinel",
|
||||||
"description": "Security scanning and code refactoring tools",
|
"description": "Security scanning and code refactoring tools",
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"defaultModel": "sonnet",
|
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Leo Miranda",
|
"name": "Leo Miranda",
|
||||||
"email": "leobmiranda@gmail.com"
|
"email": "leobmiranda@gmail.com"
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
---
|
---
|
||||||
name: security-reviewer
|
name: security-reviewer
|
||||||
description: Security-focused code review agent
|
description: Security-focused code review agent
|
||||||
model: opus
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Security Reviewer Agent
|
# Security Reviewer Agent
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "contract-validator",
|
"name": "contract-validator",
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"defaultModel": "sonnet",
|
|
||||||
"description": "Cross-plugin compatibility validation and Claude.md agent verification",
|
"description": "Cross-plugin compatibility validation and Claude.md agent verification",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Leo Miranda",
|
"name": "Leo Miranda",
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
---
|
---
|
||||||
name: agent-check
|
name: agent-check
|
||||||
description: Agent definition validator for quick verification
|
description: Agent definition validator for quick verification
|
||||||
model: haiku
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Agent Check Agent
|
# Agent Check Agent
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "data-platform",
|
"name": "data-platform",
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"defaultModel": "sonnet",
|
|
||||||
"description": "Data engineering tools with pandas, PostgreSQL/PostGIS, and dbt integration",
|
"description": "Data engineering tools with pandas, PostgreSQL/PostGIS, and dbt integration",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Leo Miranda",
|
"name": "Leo Miranda",
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
---
|
---
|
||||||
name: data-analysis
|
name: data-analysis
|
||||||
description: Data analysis specialist for exploration and profiling
|
description: Data analysis specialist for exploration and profiling
|
||||||
model: opus
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Data Analysis Agent
|
# Data Analysis Agent
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "pr-review",
|
"name": "pr-review",
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"defaultModel": "sonnet",
|
|
||||||
"description": "Multi-agent pull request review with confidence scoring and actionable feedback",
|
"description": "Multi-agent pull request review with confidence scoring and actionable feedback",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Leo Miranda",
|
"name": "Leo Miranda",
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
---
|
---
|
||||||
name: security-reviewer
|
name: security-reviewer
|
||||||
description: Security-focused code reviewer for PR analysis
|
description: Security-focused code reviewer for PR analysis
|
||||||
model: opus
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Security Reviewer Agent
|
# Security Reviewer Agent
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "projman",
|
"name": "projman",
|
||||||
"version": "3.3.0",
|
"version": "3.3.0",
|
||||||
"defaultModel": "sonnet",
|
|
||||||
"description": "Sprint planning and project management with Gitea integration",
|
"description": "Sprint planning and project management with Gitea integration",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Leo Miranda",
|
"name": "Leo Miranda",
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
---
|
---
|
||||||
name: code-reviewer
|
name: code-reviewer
|
||||||
description: Specialized agent for pre-sprint code quality review
|
description: Specialized agent for pre-sprint code quality review
|
||||||
model: opus
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Code Reviewer Agent
|
# Code Reviewer Agent
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
---
|
---
|
||||||
name: planner
|
name: planner
|
||||||
description: Sprint planning agent - thoughtful architecture analysis and issue creation
|
description: Sprint planning agent - thoughtful architecture analysis and issue creation
|
||||||
model: opus
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Sprint Planner Agent
|
# Sprint Planner Agent
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "viz-platform",
|
"name": "viz-platform",
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"defaultModel": "sonnet",
|
|
||||||
"description": "Visualization tools with Dash Mantine Components validation, Plotly charts, and theming",
|
"description": "Visualization tools with Dash Mantine Components validation, Plotly charts, and theming",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Leo Miranda",
|
"name": "Leo Miranda",
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
---
|
---
|
||||||
name: component-check
|
name: component-check
|
||||||
description: DMC component validation specialist
|
description: DMC component validation specialist
|
||||||
model: haiku
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Component Check Agent
|
# Component Check Agent
|
||||||
|
|||||||
@@ -143,16 +143,6 @@ for plugin_dir in "$PLUGINS_DIR"/*/; do
|
|||||||
echo "WARNING: Missing 'keywords' array in $plugin_name/plugin.json"
|
echo "WARNING: Missing 'keywords' array in $plugin_name/plugin.json"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# v5.4.0: Validate defaultModel field if present
|
|
||||||
default_model=$(jq -r '.defaultModel // empty' "$plugin_json")
|
|
||||||
if [[ -n "$default_model" ]]; then
|
|
||||||
if [[ ! "$default_model" =~ ^(opus|sonnet|haiku)$ ]]; then
|
|
||||||
echo "ERROR: Invalid defaultModel '$default_model' in $plugin_name/plugin.json (must be opus|sonnet|haiku)"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo " ✓ defaultModel: $default_model"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check README exists
|
# Check README exists
|
||||||
if [[ ! -f "$plugin_dir/README.md" ]]; then
|
if [[ ! -f "$plugin_dir/README.md" ]]; then
|
||||||
echo "WARNING: Missing README.md in $plugin_name/"
|
echo "WARNING: Missing README.md in $plugin_name/"
|
||||||
@@ -258,40 +248,6 @@ done
|
|||||||
|
|
||||||
echo "✓ All file references validated"
|
echo "✓ All file references validated"
|
||||||
|
|
||||||
# v5.4.0: Validate agent model fields
|
|
||||||
echo ""
|
|
||||||
echo "=== Validating Agent Model Fields (v5.4.0+) ==="
|
|
||||||
|
|
||||||
validate_agent_model() {
|
|
||||||
local file="$1"
|
|
||||||
local agent_name=$(basename "$file" .md)
|
|
||||||
|
|
||||||
# Extract model from frontmatter (between --- markers)
|
|
||||||
local model=$(sed -n '/^---$/,/^---$/p' "$file" | grep '^model:' | awk '{print $2}')
|
|
||||||
|
|
||||||
if [[ -n "$model" ]]; then
|
|
||||||
if [[ ! "$model" =~ ^(opus|sonnet|haiku)$ ]]; then
|
|
||||||
echo "ERROR: Invalid model '$model' in $file (must be opus|sonnet|haiku)"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo " ✓ $agent_name: model=$model"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
for plugin_dir in "$PLUGINS_DIR"/*/; do
|
|
||||||
plugin_name=$(basename "$plugin_dir")
|
|
||||||
agents_dir="$plugin_dir/agents"
|
|
||||||
|
|
||||||
if [[ -d "$agents_dir" ]]; then
|
|
||||||
echo "--- Checking agents in $plugin_name ---"
|
|
||||||
for agent_file in "$agents_dir"/*.md; do
|
|
||||||
if [[ -f "$agent_file" ]]; then
|
|
||||||
validate_agent_model "$agent_file"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# v3.0.0: Validate MCP server symlinks
|
# v3.0.0: Validate MCP server symlinks
|
||||||
echo ""
|
echo ""
|
||||||
echo "=== Validating MCP Server Symlinks (v3.0.0+) ==="
|
echo "=== Validating MCP Server Symlinks (v3.0.0+) ==="
|
||||||
|
|||||||
Reference in New Issue
Block a user