40 Commits

Author SHA1 Message Date
59cc67f857 Merge pull request 'development' (#311) from development into main
Reviewed-on: #311
2026-01-29 03:03:54 +00:00
6e9b703151 Merge pull request 'chore: release v5.4.0' (#310) from chore/release-v5.4.0 into development
Reviewed-on: #310
2026-01-29 03:02:36 +00:00
b603743811 chore: release v5.4.0
- CHANGELOG.md: [Unreleased] → [5.4.0] - 2026-01-28
- README.md: title → v5.4.0
- marketplace.json: version → 5.4.0
- CLAUDE.md: version → 5.4.0

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 22:00:58 -05:00
a63ccc079d Merge pull request 'chore: add Sprint 7 changelog and fix version table' (#309) from chore/sprint-7-changelog into development
Reviewed-on: #309
2026-01-29 02:59:12 +00:00
d4481ec09f chore: add Sprint 7 changelog and fix version table
- Add [Unreleased] section with Sprint 7 multi-model support changes
- Fix CLAUDE.md plugin version table to match actual plugin.json files

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 21:58:10 -05:00
50951378f7 Merge pull request '[Sprint 7] feat: add model field validation to marketplace script' (#308) from feat/306-model-validation into development
Reviewed-on: #308
2026-01-29 02:56:24 +00:00
b3975c2f4f Merge pull request '[Sprint 7] feat: add defaultModel to plugin manifests' (#307) from feat/305-plugin-defaults into development
Reviewed-on: #307
2026-01-29 02:56:08 +00:00
8a95e061ad feat: add model field validation to marketplace script
Add validation for:
- defaultModel field in plugin.json (must be opus|sonnet|haiku)
- model field in agent frontmatter (must be opus|sonnet|haiku)

The validation passes when fields are absent (optional) but errors
if present with invalid values.

Fixes #306

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 21:55:16 -05:00
4983cc9feb feat: add defaultModel to plugin manifests
Add defaultModel: sonnet to all plugin manifests that have agents,
establishing the plugin-level default in the model inheritance chain.

Version bumps:
- projman: 3.2.0 → 3.3.0 (minor: new feature)
- pr-review: 1.0.0 → 1.1.0 (minor: new feature)
- data-platform: 1.0.0 → 1.1.0 (minor: new feature)
- viz-platform: 1.0.0 → 1.1.0 (minor: new feature)
- code-sentinel: 1.0.0 → 1.0.1 (patch: config addition)
- contract-validator: 1.0.0 → 1.1.0 (minor: new feature)

Fixes #305

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 21:53:36 -05:00
cf4d1b595c feat: add model:haiku to validation agents
- viz-platform/component-check.md - simple prop validation
- contract-validator/agent-check.md - quick verification

Fixes #304

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 21:52:02 -05:00
5aff53972e feat: add model:opus to critical reasoning agents
- projman/planner.md - architecture decisions
- projman/code-reviewer.md - quality review
- pr-review/security-reviewer.md - security analysis
- code-sentinel/security-reviewer.md - security scanning
- data-platform/data-analysis.md - complex data insights

Fixes #303

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 21:51:20 -05:00
d429319392 docs: add model recommendations documentation
- Create docs/MODEL-RECOMMENDATIONS.md with task-type guidance
- Update docs/CONFIGURATION.md with model configuration section
- Update CLAUDE.md with agent model configuration overview

Fixes #302

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 21:48:17 -05:00
6613ef1d67 Merge pull request 'development' (#301) from development into main
Reviewed-on: #301
2026-01-29 02:26:42 +00:00
5b1b0f609c Merge pull request 'fix(git-flow): use array format for hooks.json' (#300) from fix/git-flow-hooks-format into development
Reviewed-on: #300
2026-01-29 02:25:49 +00:00
0acd42ea65 fix(git-flow): use array format for hooks.json
Changed from nested object format to array format to fix
"PreToolUse:Bash hook error" with no message.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 21:24:52 -05:00
6619d0a2fb Merge pull request 'development' (#299) from development into main
Reviewed-on: #299
2026-01-29 02:19:11 +00:00
8c1890c258 Merge pull request 'docs: add protected branch rule to CLAUDE.md' (#298) from docs/add-protected-branch-rule into development
Reviewed-on: #298
2026-01-29 02:18:34 +00:00
e44d97edc2 docs: add protected branch rule to CLAUDE.md
NEVER push directly to development/main. Always use feature branch + PR.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 21:16:36 -05:00
dc96207da7 Merge pull request 'docs: consolidate CLAUDE.md redundant rules sections' (#295) from docs/claude-md-optimization into development
Reviewed-on: #295
2026-01-29 02:14:43 +00:00
c998c0a2dc Merge pull request 'docs(projman): add warning about manual issue closing in debug-review' (#294) from docs/debug-review-manual-close-warning into development
Reviewed-on: #294
2026-01-29 02:14:26 +00:00
14633736aa docs: add mandatory CLI tools prohibition rule
NEVER use gh, tea, curl to APIs, or any CLI for external services.
MCP tools are the ONLY allowed method.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 21:11:28 -05:00
af46046bc8 docs: consolidate CLAUDE.md rules sections
Merged two overlapping rules sections into one unified section:
- "MANDATORY BEHAVIOR RULES" + "CRITICAL: Rules" → "RULES"
- Converted verbose lists to scannable tables
- Reduced from 381 to 332 lines (-13%)
- All rules preserved, just better organized

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 21:02:33 -05:00
f669479122 docs(projman): add warning about manual issue closing in debug-review
PRs merged to development don't trigger Gitea's auto-close feature
(only merges to main do). Added warnings in Steps 13 and 15 to remind
about mandatory manual issue closing after PR merge.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 20:53:30 -05:00
dc08ce1439 Merge pull request 'development' (#293) from development into main
Reviewed-on: #293
2026-01-29 01:42:49 +00:00
d457e458a8 Merge pull request 'feat(projman): add SessionStart version sync check' (#292) from fix/issue-290-version-sync-check into development
Reviewed-on: #292
2026-01-29 01:41:17 +00:00
7c4959fb77 feat(projman): add SessionStart version sync check
Adds early detection of version drift between README.md, marketplace.json,
and CHANGELOG.md at session start. When versions don't match, displays
a warning and suggests running /suggest-version to analyze and fix.

This addresses acceptance criteria #4 from issue #290:
- [x] SessionStart warns about version drift

Remaining criteria for future PRs:
- [ ] Version mismatch detected before commit (PreToolUse hook)
- [ ] /sprint-close includes version bump step (enforcement)
- [ ] Release workflow works with protected branches (PR creation)

Partial fix for #290

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 20:39:49 -05:00
ba4db941ab Merge pull request 'fix(doc-guardian): use passive wording and add debouncing to reduce interruptions' (#291) from fix/issue-287-doc-guardian-hook-wording into development
Reviewed-on: #291
2026-01-29 01:34:43 +00:00
1dad393eaf fix(doc-guardian): use passive wording and add debouncing to reduce interruptions
The PostToolUse hook was causing workflow interruptions because:
1. Actionable language ("update needed") triggered Claude to seek confirmation
2. Rapid edits (4+ in sequence) generated multiple notifications

Changes:
- Message changed from "update needed" to "drift queued" (passive, informational)
- Added 5-second debouncing: same-type edits within window are silently queued
- Added queue clearing step to doc-sync.md command

Note: Issue #287 also mentions URL restriction behavior, but this was not
found in the current codebase - may have been a different component or
already fixed. Marking as partial fix.

Fixes #287

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 20:32:46 -05:00
2173f3389a Merge pull request 'development' (#289) from development into main
Reviewed-on: #289
2026-01-28 22:49:18 +00:00
d8971efafe Merge pull request 'release: v5.3.0 - Sprint 6 Visual Branding Overhaul' (#288) from release/v5.3.0 into development
Reviewed-on: #288
2026-01-28 22:47:46 +00:00
e3a8ebd4da release: v5.3.0 - Sprint 6 Visual Branding Overhaul
Sprint 6 adds consistent visual headers across all 12 plugins:
- Projman: Double-line headers with phase indicators
- Other plugins: Single-line headers with plugin icons
- 109 files updated (23 agents + 86 commands)
- 4 Wiki branding specification pages

Also fixes documentation drift:
- Version sync across CLAUDE.md, marketplace.json, README.md
- Added 18 missing commands to documentation

Closes Sprint 6 milestone.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 17:45:47 -05:00
fab1345bcb Merge pull request 'development' (#286) from development into main
Reviewed-on: #286
2026-01-28 22:41:07 +00:00
193908721c Merge pull request 'feat(projman): add visual output requirements (Sprint 6 Batch 1)' (#284) from feat/sprint-6-projman-visual into development
Reviewed-on: #284
2026-01-28 22:37:46 +00:00
7e9f70d0a7 Merge pull request 'feat(plugins): Add visual output headers to other plugin agents and commands (#275, #276)' (#285) from feat/sprint-6-other-plugins-visual into development
Reviewed-on: #285
2026-01-28 22:37:37 +00:00
86413c4801 docs: sync documentation with Sprint 4 & 5 commands
- Update CLAUDE.md version from 5.1.0 to 5.2.0
- Update marketplace.json plugin versions to match CHANGELOG
  - projman 3.2.0 → 3.3.0
  - git-flow 1.0.0 → 1.2.0
  - pr-review 1.0.0 → 1.1.0
  - clarity-assist 1.0.0 → 1.2.0
  - doc-guardian 1.0.0 → 1.1.0
  - claude-config-maintainer 1.0.0 → 1.1.0
  - cmdb-assistant 1.1.0 → 1.2.0
  - data-platform 1.0.0 → 1.2.0
  - viz-platform 1.0.0 → 1.1.0
  - contract-validator 1.0.0 → 1.2.0
- Add 18 missing commands to README.md and COMMANDS-CHEATSHEET.md
  - /sprint-diagram, /pr-diff, /changelog-gen, /doc-coverage
  - /stale-docs, /config-diff, /config-lint, /cmdb-topology
  - /change-audit, /ip-conflicts, /lineage-viz, /dbt-test
  - /data-quality, /chart-export, /accessibility-check
  - /breakpoints, /dependency-graph
- Add contract-validator plugin to COMMANDS-CHEATSHEET.md

Closes #277

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 17:32:24 -05:00
3561025dfc feat(projman): add visual output requirements to agents and commands
Add Visual Output sections to all projman files:
- 4 agent files with phase-specific headers (PLANNING, EXECUTION, CLOSING)
- 16 command files with appropriate headers

Headers use double-line box characters for projman branding:
- Planning phase: TARGET PLANNING
- Execution phase: LIGHTNING EXECUTION (+ progress block for orchestrator)
- Closing phase: FLAG CLOSING
- Setup commands: GEAR SETUP

Closes #273, #274

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 17:10:49 -05:00
36e6ac2dd0 Merge pull request 'development' (#283) from development into main
Reviewed-on: #283
2026-01-28 21:48:57 +00:00
3e0e779803 Merge pull request 'development' (#280) from development into main
Reviewed-on: #280
2026-01-28 20:37:52 +00:00
74198743ab Merge pull request 'development' (#271) from development into main
Reviewed-on: #271
2026-01-28 19:27:45 +00:00
d57bff184e Merge pull request 'development' (#265) from development into main
Reviewed-on: #265
2026-01-28 18:45:38 +00:00
43 changed files with 938 additions and 130 deletions

View File

@@ -6,12 +6,12 @@
}, },
"metadata": { "metadata": {
"description": "Project management plugins with Gitea and NetBox integrations", "description": "Project management plugins with Gitea and NetBox integrations",
"version": "5.2.0" "version": "5.4.0"
}, },
"plugins": [ "plugins": [
{ {
"name": "projman", "name": "projman",
"version": "3.2.0", "version": "3.3.0",
"description": "Sprint planning and project management with Gitea integration", "description": "Sprint planning and project management with Gitea integration",
"source": "./plugins/projman", "source": "./plugins/projman",
"author": { "author": {
@@ -27,7 +27,7 @@
}, },
{ {
"name": "doc-guardian", "name": "doc-guardian",
"version": "1.0.0", "version": "1.1.0",
"description": "Automatic documentation drift detection and synchronization", "description": "Automatic documentation drift detection and synchronization",
"source": "./plugins/doc-guardian", "source": "./plugins/doc-guardian",
"author": { "author": {
@@ -75,7 +75,7 @@
}, },
{ {
"name": "cmdb-assistant", "name": "cmdb-assistant",
"version": "1.1.0", "version": "1.2.0",
"description": "NetBox CMDB integration with data quality validation and machine registration", "description": "NetBox CMDB integration with data quality validation and machine registration",
"source": "./plugins/cmdb-assistant", "source": "./plugins/cmdb-assistant",
"author": { "author": {
@@ -91,7 +91,7 @@
}, },
{ {
"name": "claude-config-maintainer", "name": "claude-config-maintainer",
"version": "1.0.0", "version": "1.1.0",
"description": "CLAUDE.md optimization and maintenance for Claude Code projects", "description": "CLAUDE.md optimization and maintenance for Claude Code projects",
"source": "./plugins/claude-config-maintainer", "source": "./plugins/claude-config-maintainer",
"author": { "author": {
@@ -106,7 +106,7 @@
}, },
{ {
"name": "clarity-assist", "name": "clarity-assist",
"version": "1.0.0", "version": "1.2.0",
"description": "Prompt optimization and requirement clarification with ND-friendly accommodations", "description": "Prompt optimization and requirement clarification with ND-friendly accommodations",
"source": "./plugins/clarity-assist", "source": "./plugins/clarity-assist",
"author": { "author": {
@@ -121,7 +121,7 @@
}, },
{ {
"name": "git-flow", "name": "git-flow",
"version": "1.0.0", "version": "1.2.0",
"description": "Git workflow automation with intelligent commit messages and branch management", "description": "Git workflow automation with intelligent commit messages and branch management",
"source": "./plugins/git-flow", "source": "./plugins/git-flow",
"author": { "author": {
@@ -136,7 +136,7 @@
}, },
{ {
"name": "pr-review", "name": "pr-review",
"version": "1.0.0", "version": "1.1.0",
"description": "Multi-agent pull request review with confidence scoring and actionable feedback", "description": "Multi-agent pull request review with confidence scoring and actionable feedback",
"source": "./plugins/pr-review", "source": "./plugins/pr-review",
"author": { "author": {
@@ -152,7 +152,7 @@
}, },
{ {
"name": "data-platform", "name": "data-platform",
"version": "1.0.0", "version": "1.2.0",
"description": "Data engineering tools with pandas, PostgreSQL/PostGIS, and dbt integration", "description": "Data engineering tools with pandas, PostgreSQL/PostGIS, and dbt integration",
"source": "./plugins/data-platform", "source": "./plugins/data-platform",
"author": { "author": {
@@ -168,7 +168,7 @@
}, },
{ {
"name": "viz-platform", "name": "viz-platform",
"version": "1.0.0", "version": "1.1.0",
"description": "Visualization tools with Dash Mantine Components validation, Plotly charts, and theming", "description": "Visualization tools with Dash Mantine Components validation, Plotly charts, and theming",
"source": "./plugins/viz-platform", "source": "./plugins/viz-platform",
"author": { "author": {
@@ -184,7 +184,7 @@
}, },
{ {
"name": "contract-validator", "name": "contract-validator",
"version": "1.0.0", "version": "1.2.0",
"description": "Cross-plugin compatibility validation and Claude.md agent verification", "description": "Cross-plugin compatibility validation and Claude.md agent verification",
"source": "./plugins/contract-validator", "source": "./plugins/contract-validator",
"author": { "author": {

View File

@@ -4,6 +4,96 @@ 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
### Added
#### Sprint 7: Multi-Model Agent Support
Configurable model selection for agents with inheritance chain.
**Model Configuration:**
- 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:**
| 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
- 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)
---
## [5.3.0] - 2026-01-28
### Added
#### Sprint 6: Visual Branding Overhaul
Consistent visual headers and progress tracking across all plugins.
**Visual Output Headers (109 files):**
- **Projman**: Double-line headers (╔═╗) with phase indicators (🎯 PLANNING, ⚡ EXECUTION, 🏁 CLOSING)
- **Other Plugins**: Single-line headers (┌─┐) with plugin icons
- **All 23 agents** updated with Visual Output Requirements section
- **All 86 commands** updated with Visual Output section and header templates
**Plugin Icon Registry:**
| Plugin | Icon |
|--------|------|
| projman | 📋 |
| code-sentinel | 🔒 |
| doc-guardian | 📝 |
| pr-review | 🔍 |
| clarity-assist | 💬 |
| git-flow | 🔀 |
| cmdb-assistant | 🖥️ |
| data-platform | 📊 |
| viz-platform | 🎨 |
| contract-validator | ✅ |
| claude-config-maintainer | ⚙️ |
**Wiki Branding Specification (4 pages):**
- [branding/visual-spec](https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/wiki/branding%2Fvisual-spec) - Central specification
- [branding/plugin-registry](https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/wiki/branding%2Fplugin-registry) - Icons and styles
- [branding/header-templates](https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/wiki/branding%2Fheader-templates) - Copy-paste templates
- [branding/progress-templates](https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/wiki/branding%2Fprogress-templates) - Sprint progress blocks
### Fixed
- **Docs:** Version sync - CLAUDE.md, marketplace.json, README.md now consistent
- **Docs:** Added 18 missing commands from Sprint 4 & 5 to README.md and COMMANDS-CHEATSHEET.md
- **MCP:** Registered `/sprint-diagram` as invokable skill
**Sprint Completed:**
- Milestone: Sprint 6 - Visual Branding Overhaul (closed 2026-01-28)
- Issues: #272, #273, #274, #275, #276, #277, #278
- PRs: #284, #285
- Wiki: [Sprint 6 Lessons](https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/wiki/lessons/sprints/sprint-6---visual-branding-and-documentation-maintenance)
---
## [5.2.0] - 2026-01-28 ## [5.2.0] - 2026-01-28
### Added ### Added

142
CLAUDE.md
View File

@@ -1,48 +1,44 @@
# CLAUDE.md # CLAUDE.md
This file provides guidance to Claude Code when working with code in this repository. This file provides guidance to Claude Code when working with code in this repository.
## ⛔ MANDATORY BEHAVIOR RULES - READ FIRST
**These rules are NON-NEGOTIABLE. Violating them wastes the user's time and money.** ## ⛔ RULES - READ FIRST
### 1. WHEN USER ASKS YOU TO CHECK SOMETHING - CHECK EVERYTHING ### Behavioral Rules
- Search ALL locations, not just where you think it is
- Check cache directories: `~/.claude/plugins/cache/`
- Check installed: `~/.claude/plugins/marketplaces/`
- Check source: `~/claude-plugins-work/`
- **NEVER say "no" or "that's not the issue" without exhaustive verification**
### 2. WHEN USER SAYS SOMETHING IS WRONG - BELIEVE THEM | Rule | Summary |
- The user knows their system better than you |------|---------|
- Investigate thoroughly before disagreeing | **Check everything** | Search cache (`~/.claude/plugins/cache/`), installed (`~/.claude/plugins/marketplaces/`), and source (`~/claude-plugins-work/`) |
- If user suspects cache, CHECK THE CACHE | **Believe the user** | User knows their system. Investigate before disagreeing. |
- If user suspects a file, READ THE FILE | **Verify before "done"** | Run commands, show output, check all locations. "Done" = verified working. |
- **Your confidence is often wrong. User's instincts are often right.** | **Show what's asked** | Don't interpret or summarize unless asked. |
### 3. NEVER SAY "DONE" WITHOUT VERIFICATION ### After Plugin Updates
- Run the actual command/script to verify
- Show the output to the user
- Check ALL affected locations
- **"Done" means VERIFIED WORKING, not "I made changes"**
### 4. SHOW EXACTLY WHAT USER ASKS FOR Run `./scripts/verify-hooks.sh`. If changes affect MCP servers or hooks, inform user to restart session.
- If user asks for messages, show the MESSAGES **DO NOT clear cache mid-session** - breaks loaded MCP tools.
- If user asks for code, show the CODE
- If user asks for output, show the OUTPUT
- **Don't interpret or summarize unless asked**
### 5. AFTER PLUGIN UPDATES - VERIFY AND RESTART ### NEVER USE CLI TOOLS FOR EXTERNAL SERVICES
- **FORBIDDEN:** `gh`, `tea`, `curl` to APIs, any CLI that talks to Gitea/GitHub/external services
- **REQUIRED:** Use MCP tools exclusively (`mcp__plugin_projman_gitea__*`, `mcp__plugin_pr-review_gitea__*`)
- **NO EXCEPTIONS.** Don't try CLI first. Don't fall back to CLI. MCP ONLY.
**⚠️ DO NOT clear cache mid-session** - this breaks MCP tools that are already loaded. ### NEVER PUSH DIRECTLY TO PROTECTED BRANCHES
- **FORBIDDEN:** `git push origin development`, `git push origin main`, `git push origin master`
- **REQUIRED:** Create feature branch → push feature branch → create PR via MCP
- If you accidentally commit to a protected branch locally: `git checkout -b fix/branch-name` then reset the protected branch
1. Run `./scripts/verify-hooks.sh` to check hook types ### Repository Rules
2. If changes affect MCP servers or hooks, inform the user:
> "Plugin changes require a session restart to take effect. Please restart Claude Code."
3. Cache clearing is ONLY safe **before** starting a new session (not during)
See `docs/DEBUGGING-CHECKLIST.md` for details on cache timing. | Rule | Details |
|------|---------|
| **File creation** | Only in allowed paths. Use `.scratch/` for temp work. Verify against `docs/CANONICAL-PATHS.md` |
| **plugin.json location** | Must be in `.claude-plugin/` directory |
| **Hooks** | Use `hooks/hooks.json` (auto-discovered). Never inline in plugin.json |
| **MCP servers** | Shared at root with symlinks. Use MCP tools, never CLI (`tea`, `gh`) |
| **Allowed root files** | `CLAUDE.md`, `README.md`, `LICENSE`, `CHANGELOG.md`, `.gitignore`, `.env.example` |
**FAILURE TO FOLLOW THESE RULES = WASTED USER TIME = UNACCEPTABLE** **Valid hook events:** `PreToolUse`, `PostToolUse`, `UserPromptSubmit`, `SessionStart`, `SessionEnd`, `Notification`, `Stop`, `SubagentStop`, `PreCompact`
--- ---
@@ -50,24 +46,24 @@ See `docs/DEBUGGING-CHECKLIST.md` for details on cache timing.
## Project Overview ## Project Overview
**Repository:** leo-claude-mktplace **Repository:** leo-claude-mktplace
**Version:** 5.1.0 **Version:** 5.4.0
**Status:** Production Ready **Status:** Production Ready
A plugin marketplace for Claude Code containing: A plugin marketplace for Claude Code containing:
| Plugin | Description | Version | | Plugin | Description | Version |
|--------|-------------|---------| |--------|-------------|---------|
| `projman` | Sprint planning and project management with Gitea integration | 3.2.0 | | `projman` | Sprint planning and project management with Gitea integration | 3.3.0 |
| `git-flow` | Git workflow automation with smart commits and branch management | 1.0.0 | | `git-flow` | Git workflow automation with smart commits and branch management | 1.0.0 |
| `pr-review` | Multi-agent PR review with confidence scoring | 1.0.0 | | `pr-review` | Multi-agent PR review with confidence scoring | 1.1.0 |
| `clarity-assist` | Prompt optimization with ND-friendly accommodations | 1.0.0 | | `clarity-assist` | Prompt optimization with ND-friendly accommodations | 1.0.0 |
| `doc-guardian` | Automatic documentation drift detection and synchronization | 1.0.0 | | `doc-guardian` | Automatic documentation drift detection and synchronization | 1.0.0 |
| `code-sentinel` | Security scanning and code refactoring tools | 1.0.0 | | `code-sentinel` | Security scanning and code refactoring tools | 1.0.1 |
| `claude-config-maintainer` | CLAUDE.md optimization and maintenance | 1.0.0 | | `claude-config-maintainer` | CLAUDE.md optimization and maintenance | 1.0.0 |
| `cmdb-assistant` | NetBox CMDB integration for infrastructure management | 1.0.0 | | `cmdb-assistant` | NetBox CMDB integration for infrastructure management | 1.2.0 |
| `data-platform` | pandas, PostgreSQL, and dbt integration for data engineering | 1.0.0 | | `data-platform` | pandas, PostgreSQL, and dbt integration for data engineering | 1.1.0 |
| `viz-platform` | DMC validation, Plotly charts, and theming for dashboards | 1.0.0 | | `viz-platform` | DMC validation, Plotly charts, and theming for dashboards | 1.1.0 |
| `contract-validator` | Cross-plugin compatibility validation and agent verification | 1.0.0 | | `contract-validator` | Cross-plugin compatibility validation and agent verification | 1.1.0 |
| `project-hygiene` | Post-task cleanup automation via hooks | 0.1.0 | | `project-hygiene` | Post-task cleanup automation via hooks | 0.1.0 |
## Quick Start ## Quick Start
@@ -85,16 +81,17 @@ A plugin marketplace for Claude Code containing:
| Category | Commands | | Category | Commands |
|----------|----------| |----------|----------|
| **Setup** | `/initial-setup`, `/project-init`, `/project-sync` | | **Setup** | `/initial-setup`, `/project-init`, `/project-sync` |
| **Sprint** | `/sprint-plan`, `/sprint-start`, `/sprint-status`, `/sprint-close` | | **Sprint** | `/sprint-plan`, `/sprint-start`, `/sprint-status`, `/sprint-close`, `/sprint-diagram` |
| **Quality** | `/review`, `/test-check`, `/test-gen` | | **Quality** | `/review`, `/test-check`, `/test-gen` |
| **Versioning** | `/suggest-version` | | **Versioning** | `/suggest-version` |
| **PR Review** | `/pr-review:initial-setup`, `/pr-review:project-init` | | **PR Review** | `/pr-review`, `/pr-summary`, `/pr-findings`, `/pr-diff` |
| **Docs** | `/doc-audit`, `/doc-sync` | | **Docs** | `/doc-audit`, `/doc-sync`, `/changelog-gen`, `/doc-coverage`, `/stale-docs` |
| **Security** | `/security-scan`, `/refactor`, `/refactor-dry` | | **Security** | `/security-scan`, `/refactor`, `/refactor-dry` |
| **Config** | `/config-analyze`, `/config-optimize` | | **Config** | `/config-analyze`, `/config-optimize`, `/config-diff`, `/config-lint` |
| **Data** | `/ingest`, `/profile`, `/schema`, `/explain`, `/lineage`, `/run` | | **Data** | `/ingest`, `/profile`, `/schema`, `/explain`, `/lineage`, `/lineage-viz`, `/run`, `/dbt-test`, `/data-quality` |
| **Visualization** | `/component`, `/chart`, `/dashboard`, `/theme`, `/theme-new`, `/theme-css` | | **Visualization** | `/component`, `/chart`, `/chart-export`, `/dashboard`, `/theme`, `/theme-new`, `/theme-css`, `/accessibility-check`, `/breakpoints` |
| **Validation** | `/validate-contracts`, `/check-agent`, `/list-interfaces` | | **Validation** | `/validate-contracts`, `/check-agent`, `/list-interfaces`, `/dependency-graph` |
| **CMDB** | `/cmdb-search`, `/cmdb-device`, `/cmdb-ip`, `/cmdb-site`, `/cmdb-audit`, `/cmdb-register`, `/cmdb-sync`, `/cmdb-topology`, `/change-audit`, `/ip-conflicts` |
| **Debug** | `/debug-report`, `/debug-review` | | **Debug** | `/debug-report`, `/debug-review` |
## Repository Structure ## Repository Structure
@@ -161,40 +158,6 @@ leo-claude-mktplace/
└── CONFIGURATION.md # Centralized configuration guide └── CONFIGURATION.md # Centralized configuration guide
``` ```
## CRITICAL: Rules You MUST Follow
### File Operations
- **NEVER** create files in repository root unless listed in "Allowed Root Files"
- **NEVER** modify `.gitignore` without explicit permission
- **ALWAYS** use `.scratch/` for temporary/exploratory work
- **ALWAYS** verify paths against `docs/CANONICAL-PATHS.md` before creating files
### Plugin Development
- **plugin.json MUST be in `.claude-plugin/` directory** (not plugin root)
- **Every plugin MUST be listed in marketplace.json**
- **MCP servers are SHARED at root** with symlinks from plugins
- **MCP server venv path**: `${CLAUDE_PLUGIN_ROOT}/mcp-servers/{name}/.venv/bin/python`
- **CLI tools forbidden** - Use MCP tools exclusively (never `tea`, `gh`, etc.)
#### ⚠️ plugin.json Format Rules (CRITICAL)
- **Hooks in separate file** - Use `hooks/hooks.json` (auto-discovered), NOT inline in plugin.json
- **NEVER reference hooks** - Don't add `"hooks": "..."` field to plugin.json at all
- **Agents auto-discover** - NEVER add `"agents": ["./agents/"]` - .md files found automatically
- **Always validate** - Run `./scripts/validate-marketplace.sh` before committing
- **Working examples:** projman, pr-review, claude-config-maintainer all use `hooks/hooks.json`
- See lesson: `lessons/patterns/plugin-manifest-validation---hooks-and-agents-format-requirements`
### Hooks (Valid Events Only)
`PreToolUse`, `PostToolUse`, `UserPromptSubmit`, `SessionStart`, `SessionEnd`, `Notification`, `Stop`, `SubagentStop`, `PreCompact`
**INVALID:** `task-completed`, `file-changed`, `git-commit-msg-needed`
### Allowed Root Files
`CLAUDE.md`, `README.md`, `LICENSE`, `CHANGELOG.md`, `.gitignore`, `.env.example`
### Allowed Root Directories
`.claude/`, `.claude-plugin/`, `.claude-plugins/`, `.scratch/`, `docs/`, `hooks/`, `mcp-servers/`, `plugins/`, `scripts/`
## Architecture ## Architecture
### Four-Agent Model (projman) ### Four-Agent Model (projman)
@@ -227,6 +190,21 @@ 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 |
@@ -376,4 +354,4 @@ The script will:
--- ---
**Last Updated:** 2026-01-24 **Last Updated:** 2026-01-28

View File

@@ -1,4 +1,4 @@
# Leo Claude Marketplace - v5.2.0 # Leo Claude Marketplace - v5.4.0
A collection of Claude Code plugins for project management, infrastructure automation, and development workflows. A collection of Claude Code plugins for project management, infrastructure automation, and development workflows.
@@ -19,7 +19,7 @@ AI-guided sprint planning with full Gitea integration. Transforms a proven 15-sp
- Branch-aware security (development/staging/production) - Branch-aware security (development/staging/production)
- Pre-sprint-close code quality review and test verification - Pre-sprint-close code quality review and test verification
**Commands:** `/sprint-plan`, `/sprint-start`, `/sprint-status`, `/sprint-close`, `/labels-sync`, `/initial-setup`, `/project-init`, `/project-sync`, `/review`, `/test-check`, `/test-gen`, `/debug-report`, `/debug-review`, `/suggest-version`, `/proposal-status` **Commands:** `/sprint-plan`, `/sprint-start`, `/sprint-status`, `/sprint-close`, `/sprint-diagram`, `/labels-sync`, `/initial-setup`, `/project-init`, `/project-sync`, `/review`, `/test-check`, `/test-gen`, `/debug-report`, `/debug-review`, `/suggest-version`, `/proposal-status`
#### [git-flow](./plugins/git-flow/README.md) *NEW in v3.0.0* #### [git-flow](./plugins/git-flow/README.md) *NEW in v3.0.0*
**Git Workflow Automation** **Git Workflow Automation**
@@ -44,14 +44,14 @@ Comprehensive pull request review using specialized agents.
- Actionable feedback with suggested fixes - Actionable feedback with suggested fixes
- Gitea integration for automated review submission - Gitea integration for automated review submission
**Commands:** `/pr-review`, `/pr-summary`, `/pr-findings`, `/initial-setup`, `/project-init`, `/project-sync` **Commands:** `/pr-review`, `/pr-summary`, `/pr-findings`, `/pr-diff`, `/initial-setup`, `/project-init`, `/project-sync`
#### [claude-config-maintainer](./plugins/claude-config-maintainer/README.md) #### [claude-config-maintainer](./plugins/claude-config-maintainer/README.md)
**CLAUDE.md Optimization and Maintenance** **CLAUDE.md Optimization and Maintenance**
Analyze, optimize, and create CLAUDE.md configuration files for Claude Code projects. Analyze, optimize, and create CLAUDE.md configuration files for Claude Code projects.
**Commands:** `/config-analyze`, `/config-optimize`, `/config-init` **Commands:** `/config-analyze`, `/config-optimize`, `/config-init`, `/config-diff`, `/config-lint`
#### [contract-validator](./plugins/contract-validator/README.md) *NEW in v5.0.0* #### [contract-validator](./plugins/contract-validator/README.md) *NEW in v5.0.0*
**Cross-Plugin Compatibility Validation** **Cross-Plugin Compatibility Validation**
@@ -64,7 +64,7 @@ Validate plugin marketplaces for command conflicts, tool overlaps, and broken ag
- Data flow validation for agent sequences - Data flow validation for agent sequences
- Markdown or JSON reports with actionable suggestions - Markdown or JSON reports with actionable suggestions
**Commands:** `/validate-contracts`, `/check-agent`, `/list-interfaces`, `/initial-setup` **Commands:** `/validate-contracts`, `/check-agent`, `/list-interfaces`, `/dependency-graph`, `/initial-setup`
### Productivity ### Productivity
@@ -84,7 +84,7 @@ Transform vague requests into clear specifications using structured methodology.
Automatic documentation drift detection and synchronization. Automatic documentation drift detection and synchronization.
**Commands:** `/doc-audit`, `/doc-sync` **Commands:** `/doc-audit`, `/doc-sync`, `/changelog-gen`, `/doc-coverage`, `/stale-docs`
#### [project-hygiene](./plugins/project-hygiene/README.md) #### [project-hygiene](./plugins/project-hygiene/README.md)
**Post-Task Cleanup Automation** **Post-Task Cleanup Automation**
@@ -107,7 +107,7 @@ Security vulnerability detection and code refactoring tools.
Full CRUD operations for network infrastructure management directly from Claude Code. Full CRUD operations for network infrastructure management directly from Claude Code.
**Commands:** `/initial-setup`, `/cmdb-search`, `/cmdb-device`, `/cmdb-ip`, `/cmdb-site`, `/cmdb-audit`, `/cmdb-register`, `/cmdb-sync` **Commands:** `/initial-setup`, `/cmdb-search`, `/cmdb-device`, `/cmdb-ip`, `/cmdb-site`, `/cmdb-audit`, `/cmdb-register`, `/cmdb-sync`, `/cmdb-topology`, `/change-audit`, `/ip-conflicts`
### Data Engineering ### Data Engineering
@@ -122,7 +122,7 @@ Comprehensive data engineering toolkit with persistent DataFrame storage.
- 100k row limit with chunking support - 100k row limit with chunking support
- Auto-detection of dbt projects - Auto-detection of dbt projects
**Commands:** `/ingest`, `/profile`, `/schema`, `/explain`, `/lineage`, `/run` **Commands:** `/ingest`, `/profile`, `/schema`, `/explain`, `/lineage`, `/lineage-viz`, `/run`, `/dbt-test`, `/data-quality`, `/initial-setup`
### Visualization ### Visualization
@@ -138,7 +138,7 @@ Visualization toolkit with version-locked component validation and design token
- 5 Page tools for multi-page app structure - 5 Page tools for multi-page app structure
- Dual theme storage: user-level and project-level - Dual theme storage: user-level and project-level
**Commands:** `/chart`, `/dashboard`, `/theme`, `/theme-new`, `/theme-css`, `/component`, `/initial-setup` **Commands:** `/chart`, `/chart-export`, `/dashboard`, `/theme`, `/theme-new`, `/theme-css`, `/component`, `/accessibility-check`, `/breakpoints`, `/initial-setup`
## MCP Servers ## MCP Servers

View File

@@ -24,6 +24,7 @@ Quick reference for all commands in the Leo Claude Marketplace.
| **projman** | `/debug-review` | | X | Investigate diagnostic issues and propose fixes with approval gates | | **projman** | `/debug-review` | | X | Investigate diagnostic issues and propose fixes with approval gates |
| **projman** | `/suggest-version` | | X | Analyze CHANGELOG and recommend semantic version bump | | **projman** | `/suggest-version` | | X | Analyze CHANGELOG and recommend semantic version bump |
| **projman** | `/proposal-status` | | X | View proposal and implementation hierarchy with status | | **projman** | `/proposal-status` | | X | View proposal and implementation hierarchy with status |
| **projman** | `/sprint-diagram` | | X | Generate Mermaid diagram of sprint issues with dependencies |
| **git-flow** | `/commit` | | X | Create commit with auto-generated conventional message | | **git-flow** | `/commit` | | X | Create commit with auto-generated conventional message |
| **git-flow** | `/commit-push` | | X | Commit and push to remote in one operation | | **git-flow** | `/commit-push` | | X | Commit and push to remote in one operation |
| **git-flow** | `/commit-merge` | | X | Commit current changes, then merge into target branch | | **git-flow** | `/commit-merge` | | X | Commit current changes, then merge into target branch |
@@ -39,10 +40,14 @@ Quick reference for all commands in the Leo Claude Marketplace.
| **pr-review** | `/pr-review` | | X | Full multi-agent PR review with confidence scoring | | **pr-review** | `/pr-review` | | X | Full multi-agent PR review with confidence scoring |
| **pr-review** | `/pr-summary` | | X | Quick summary of PR changes | | **pr-review** | `/pr-summary` | | X | Quick summary of PR changes |
| **pr-review** | `/pr-findings` | | X | List and filter review findings by category/severity | | **pr-review** | `/pr-findings` | | X | List and filter review findings by category/severity |
| **pr-review** | `/pr-diff` | | X | Formatted diff with inline review comments and annotations |
| **clarity-assist** | `/clarify` | | X | Full 4-D prompt optimization with ND accommodations | | **clarity-assist** | `/clarify` | | X | Full 4-D prompt optimization with ND accommodations |
| **clarity-assist** | `/quick-clarify` | | X | Rapid single-pass clarification for simple requests | | **clarity-assist** | `/quick-clarify` | | X | Rapid single-pass clarification for simple requests |
| **doc-guardian** | `/doc-audit` | | X | Full documentation audit - scans for doc drift | | **doc-guardian** | `/doc-audit` | | X | Full documentation audit - scans for doc drift |
| **doc-guardian** | `/doc-sync` | | X | Synchronize pending documentation updates | | **doc-guardian** | `/doc-sync` | | X | Synchronize pending documentation updates |
| **doc-guardian** | `/changelog-gen` | | X | Generate changelog from conventional commits |
| **doc-guardian** | `/doc-coverage` | | X | Documentation coverage metrics by function/class |
| **doc-guardian** | `/stale-docs` | | X | Flag documentation behind code changes |
| **doc-guardian** | *PostToolUse hook* | X | | Silently detects doc drift on Write/Edit | | **doc-guardian** | *PostToolUse hook* | X | | Silently detects doc drift on Write/Edit |
| **code-sentinel** | `/security-scan` | | X | Full security audit (SQL injection, XSS, secrets, etc.) | | **code-sentinel** | `/security-scan` | | X | Full security audit (SQL injection, XSS, secrets, etc.) |
| **code-sentinel** | `/refactor` | | X | Apply refactoring patterns to improve code | | **code-sentinel** | `/refactor` | | X | Apply refactoring patterns to improve code |
@@ -51,6 +56,8 @@ Quick reference for all commands in the Leo Claude Marketplace.
| **claude-config-maintainer** | `/config-analyze` | | X | Analyze CLAUDE.md for optimization opportunities | | **claude-config-maintainer** | `/config-analyze` | | X | Analyze CLAUDE.md for optimization opportunities |
| **claude-config-maintainer** | `/config-optimize` | | X | Optimize CLAUDE.md structure with preview/backup | | **claude-config-maintainer** | `/config-optimize` | | X | Optimize CLAUDE.md structure with preview/backup |
| **claude-config-maintainer** | `/config-init` | | X | Initialize new CLAUDE.md for a project | | **claude-config-maintainer** | `/config-init` | | X | Initialize new CLAUDE.md for a project |
| **claude-config-maintainer** | `/config-diff` | | X | Track CLAUDE.md changes over time with behavioral impact |
| **claude-config-maintainer** | `/config-lint` | | X | Lint CLAUDE.md for anti-patterns and best practices |
| **cmdb-assistant** | `/initial-setup` | | X | Setup wizard for NetBox MCP server | | **cmdb-assistant** | `/initial-setup` | | X | Setup wizard for NetBox MCP server |
| **cmdb-assistant** | `/cmdb-search` | | X | Search NetBox for devices, IPs, sites | | **cmdb-assistant** | `/cmdb-search` | | X | Search NetBox for devices, IPs, sites |
| **cmdb-assistant** | `/cmdb-device` | | X | Manage network devices (create, view, update, delete) | | **cmdb-assistant** | `/cmdb-device` | | X | Manage network devices (create, view, update, delete) |
@@ -59,6 +66,9 @@ Quick reference for all commands in the Leo Claude Marketplace.
| **cmdb-assistant** | `/cmdb-audit` | | X | Data quality analysis (VMs, devices, naming, roles) | | **cmdb-assistant** | `/cmdb-audit` | | X | Data quality analysis (VMs, devices, naming, roles) |
| **cmdb-assistant** | `/cmdb-register` | | X | Register current machine into NetBox with running apps | | **cmdb-assistant** | `/cmdb-register` | | X | Register current machine into NetBox with running apps |
| **cmdb-assistant** | `/cmdb-sync` | | X | Sync machine state with NetBox (detect drift, update) | | **cmdb-assistant** | `/cmdb-sync` | | X | Sync machine state with NetBox (detect drift, update) |
| **cmdb-assistant** | `/cmdb-topology` | | X | Infrastructure topology diagrams (rack, network, site views) |
| **cmdb-assistant** | `/change-audit` | | X | NetBox audit trail queries with filtering |
| **cmdb-assistant** | `/ip-conflicts` | | X | Detect IP conflicts and overlapping prefixes |
| **project-hygiene** | *PostToolUse hook* | X | | Removes temp files, warns about unexpected root files | | **project-hygiene** | *PostToolUse hook* | X | | Removes temp files, warns about unexpected root files |
| **data-platform** | `/ingest` | | X | Load data from CSV, Parquet, JSON into DataFrame | | **data-platform** | `/ingest` | | X | Load data from CSV, Parquet, JSON into DataFrame |
| **data-platform** | `/profile` | | X | Generate data profiling report with statistics | | **data-platform** | `/profile` | | X | Generate data profiling report with statistics |
@@ -66,6 +76,9 @@ Quick reference for all commands in the Leo Claude Marketplace.
| **data-platform** | `/explain` | | X | Explain query execution plan | | **data-platform** | `/explain` | | X | Explain query execution plan |
| **data-platform** | `/lineage` | | X | Show dbt model lineage and dependencies | | **data-platform** | `/lineage` | | X | Show dbt model lineage and dependencies |
| **data-platform** | `/run` | | X | Run dbt models with validation | | **data-platform** | `/run` | | X | Run dbt models with validation |
| **data-platform** | `/lineage-viz` | | X | dbt lineage visualization as Mermaid diagrams |
| **data-platform** | `/dbt-test` | | X | Formatted dbt test runner with summary and failure details |
| **data-platform** | `/data-quality` | | X | DataFrame quality checks (nulls, duplicates, types, outliers) |
| **data-platform** | `/initial-setup` | | X | Setup wizard for data-platform MCP servers | | **data-platform** | `/initial-setup` | | X | Setup wizard for data-platform MCP servers |
| **data-platform** | *SessionStart hook* | X | | Checks PostgreSQL connection (non-blocking warning) | | **data-platform** | *SessionStart hook* | X | | Checks PostgreSQL connection (non-blocking warning) |
| **viz-platform** | `/initial-setup` | | X | Setup wizard for viz-platform MCP server | | **viz-platform** | `/initial-setup` | | X | Setup wizard for viz-platform MCP server |
@@ -75,7 +88,15 @@ Quick reference for all commands in the Leo Claude Marketplace.
| **viz-platform** | `/theme-new` | | X | Create new custom theme with design tokens | | **viz-platform** | `/theme-new` | | X | Create new custom theme with design tokens |
| **viz-platform** | `/theme-css` | | X | Export theme as CSS custom properties | | **viz-platform** | `/theme-css` | | X | Export theme as CSS custom properties |
| **viz-platform** | `/component` | | X | Inspect DMC component props and validation | | **viz-platform** | `/component` | | X | Inspect DMC component props and validation |
| **viz-platform** | `/chart-export` | | X | Export charts to PNG, SVG, PDF via kaleido |
| **viz-platform** | `/accessibility-check` | | X | Color blind validation (WCAG contrast ratios) |
| **viz-platform** | `/breakpoints` | | X | Configure responsive layout breakpoints |
| **viz-platform** | *SessionStart hook* | X | | Checks DMC version (non-blocking warning) | | **viz-platform** | *SessionStart hook* | X | | Checks DMC version (non-blocking warning) |
| **contract-validator** | `/validate-contracts` | | X | Full marketplace compatibility validation |
| **contract-validator** | `/check-agent` | | X | Validate single agent definition |
| **contract-validator** | `/list-interfaces` | | X | Show all plugin interfaces |
| **contract-validator** | `/dependency-graph` | | X | Mermaid visualization of plugin dependencies |
| **contract-validator** | `/initial-setup` | | X | Setup wizard for contract-validator MCP |
--- ---
@@ -91,6 +112,7 @@ Quick reference for all commands in the Leo Claude Marketplace.
| **Infrastructure** | cmdb-assistant | NetBox CMDB management | | **Infrastructure** | cmdb-assistant | NetBox CMDB management |
| **Data Engineering** | data-platform | pandas, PostgreSQL, dbt operations | | **Data Engineering** | data-platform | pandas, PostgreSQL, dbt operations |
| **Visualization** | viz-platform | DMC validation, Plotly charts, theming | | **Visualization** | viz-platform | DMC validation, Plotly charts, theming |
| **Validation** | contract-validator | Cross-plugin compatibility checks |
| **Maintenance** | project-hygiene | Automatic cleanup | | **Maintenance** | project-hygiene | Automatic cleanup |
--- ---
@@ -249,9 +271,10 @@ Some plugins require MCP server connectivity:
| cmdb-assistant | NetBox | Infrastructure CMDB | | cmdb-assistant | NetBox | Infrastructure CMDB |
| data-platform | pandas, PostgreSQL, dbt | DataFrames, database queries, dbt builds | | data-platform | pandas, PostgreSQL, dbt | DataFrames, database queries, dbt builds |
| viz-platform | viz-platform | DMC validation, charts, layouts, themes, pages | | viz-platform | viz-platform | DMC validation, charts, layouts, themes, pages |
| contract-validator | contract-validator | Plugin interface parsing, compatibility validation |
Ensure credentials are configured in `~/.config/claude/gitea.env`, `~/.config/claude/netbox.env`, or `~/.config/claude/postgres.env`. Ensure credentials are configured in `~/.config/claude/gitea.env`, `~/.config/claude/netbox.env`, or `~/.config/claude/postgres.env`.
--- ---
*Last Updated: 2026-01-26* *Last Updated: 2026-01-28*

View File

@@ -522,6 +522,56 @@ 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**

View File

@@ -0,0 +1,149 @@
# 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

View File

@@ -1,7 +1,8 @@
{ {
"name": "code-sentinel", "name": "code-sentinel",
"description": "Security scanning and code refactoring tools", "description": "Security scanning and code refactoring tools",
"version": "1.0.0", "version": "1.0.1",
"defaultModel": "sonnet",
"author": { "author": {
"name": "Leo Miranda", "name": "Leo Miranda",
"email": "leobmiranda@gmail.com" "email": "leobmiranda@gmail.com"

View File

@@ -1,5 +1,7 @@
--- ---
name: security-reviewer
description: Security-focused code review agent description: Security-focused code review agent
model: opus
--- ---
# Security Reviewer Agent # Security Reviewer Agent

View File

@@ -1,6 +1,7 @@
{ {
"name": "contract-validator", "name": "contract-validator",
"version": "1.0.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",

View File

@@ -1,3 +1,9 @@
---
name: agent-check
description: Agent definition validator for quick verification
model: haiku
---
# Agent Check Agent # Agent Check Agent
You are an agent definition validator. Your role is to verify that a specific agent's tool references and data flow are valid. You are an agent definition validator. Your role is to verify that a specific agent's tool references and data flow are valid.

View File

@@ -1,6 +1,7 @@
{ {
"name": "data-platform", "name": "data-platform",
"version": "1.0.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",

View File

@@ -1,3 +1,9 @@
---
name: data-analysis
description: Data analysis specialist for exploration and profiling
model: opus
---
# Data Analysis Agent # Data Analysis Agent
You are a data analysis specialist. Your role is to help users explore, profile, and understand their data. You are a data analysis specialist. Your role is to help users explore, profile, and understand their data.

View File

@@ -52,7 +52,13 @@ Then proceed with the sync.
- Single commit: `docs: sync documentation with code changes` - Single commit: `docs: sync documentation with code changes`
- Include summary of what was updated in commit body - Include summary of what was updated in commit body
5. **Output** 5. **Clear Queue**
After successful sync, clear the queue file:
```bash
echo "# Doc Guardian Queue - cleared after sync on $(date +%Y-%m-%d)" > .doc-guardian-queue
```
6. **Output**
``` ```
## Documentation Sync Complete ## Documentation Sync Complete

View File

@@ -2,6 +2,10 @@
# doc-guardian notification hook # doc-guardian notification hook
# Tracks documentation dependencies and queues updates # Tracks documentation dependencies and queues updates
# This is a command hook - guaranteed not to block workflow # This is a command hook - guaranteed not to block workflow
#
# IMPORTANT: Output is purely informational - uses passive language
# to avoid triggering Claude to seek user confirmation.
# Run /doc-sync to process the queue when ready.
# Read tool input from stdin (JSON with file_path) # Read tool input from stdin (JSON with file_path)
INPUT=$(cat) INPUT=$(cat)
@@ -44,6 +48,30 @@ DEPENDENT_DOCS="${DOC_DEPS[$MODIFIED_TYPE]}"
# Queue file for tracking pending updates # Queue file for tracking pending updates
QUEUE_FILE="${CLAUDE_PROJECT_ROOT:-.}/.doc-guardian-queue" QUEUE_FILE="${CLAUDE_PROJECT_ROOT:-.}/.doc-guardian-queue"
# Debounce: skip notification if same type was logged in last 5 seconds
# This prevents 4+ rapid notifications during batch edits
DEBOUNCE_SECONDS=5
if [ -f "$QUEUE_FILE" ]; then
LAST_ENTRY=$(tail -1 "$QUEUE_FILE" 2>/dev/null || true)
LAST_TYPE=$(echo "$LAST_ENTRY" | cut -d'|' -f2 | tr -d ' ')
LAST_TIME=$(echo "$LAST_ENTRY" | cut -d'|' -f1 | tr -d ' ')
if [ "$LAST_TYPE" = "$MODIFIED_TYPE" ] && [ -n "$LAST_TIME" ]; then
# Convert timestamps to seconds for comparison
LAST_EPOCH=$(date -d "$LAST_TIME" +%s 2>/dev/null || echo "0")
NOW_EPOCH=$(date +%s)
DIFF=$((NOW_EPOCH - LAST_EPOCH))
if [ "$DIFF" -lt "$DEBOUNCE_SECONDS" ]; then
# Still add to queue, but skip notification
{
echo "$(date +%Y-%m-%dT%H:%M:%S) | $MODIFIED_TYPE | $FILE_PATH | $DEPENDENT_DOCS"
} >> "$QUEUE_FILE" 2>/dev/null || true
exit 0
fi
fi
fi
# Add to queue (create if doesn't exist, append if does) # Add to queue (create if doesn't exist, append if does)
{ {
echo "$(date +%Y-%m-%dT%H:%M:%S) | $MODIFIED_TYPE | $FILE_PATH | $DEPENDENT_DOCS" echo "$(date +%Y-%m-%dT%H:%M:%S) | $MODIFIED_TYPE | $FILE_PATH | $DEPENDENT_DOCS"
@@ -52,7 +80,8 @@ QUEUE_FILE="${CLAUDE_PROJECT_ROOT:-.}/.doc-guardian-queue"
# Count pending updates # Count pending updates
PENDING_COUNT=$(wc -l < "$QUEUE_FILE" 2>/dev/null | tr -d ' ' || echo "1") PENDING_COUNT=$(wc -l < "$QUEUE_FILE" 2>/dev/null | tr -d ' ' || echo "1")
# Output notification with specific docs that need updating # Output passive notification (no action implied)
echo "[doc-guardian] $MODIFIED_TYPE changed → update needed: $DEPENDENT_DOCS (${PENDING_COUNT} pending)" # Uses "queued" instead of "update needed" to avoid triggering Claude to ask about it
echo "[doc-guardian] drift queued: $MODIFIED_TYPE$DEPENDENT_DOCS ($PENDING_COUNT total)"
exit 0 exit 0

View File

@@ -1,19 +1,16 @@
{ {
"hooks": { "hooks": [
"PreToolUse": [ {
{ "event": "PreToolUse",
"matcher": "Bash", "matcher": "Bash",
"hooks": [ "type": "command",
{ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/branch-check.sh"
"type": "command", },
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/branch-check.sh" {
}, "event": "PreToolUse",
{ "matcher": "Bash",
"type": "command", "type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/commit-msg-check.sh" "command": "${CLAUDE_PLUGIN_ROOT}/hooks/commit-msg-check.sh"
} }
] ]
}
]
}
} }

View File

@@ -1,6 +1,7 @@
{ {
"name": "pr-review", "name": "pr-review",
"version": "1.0.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",

View File

@@ -1,3 +1,9 @@
---
name: security-reviewer
description: Security-focused code reviewer for PR analysis
model: opus
---
# Security Reviewer Agent # Security Reviewer Agent
## Visual Output Requirements ## Visual Output Requirements

View File

@@ -1,6 +1,7 @@
{ {
"name": "projman", "name": "projman",
"version": "3.2.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",

View File

@@ -1,12 +1,42 @@
--- ---
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
You are a code quality reviewer focused on catching issues before sprint close. You are a code quality reviewer focused on catching issues before sprint close.
## Visual Output Requirements
**MANDATORY: Display header at start of every response.**
### Header Format
```
╔══════════════════════════════════════════════════════════════════╗
║ 📋 PROJMAN ║
║ 🏁 CLOSING ║
║ Code Review: [Sprint Name] ║
╚══════════════════════════════════════════════════════════════════╝
```
Replace `[Sprint Name]` with the actual sprint/milestone name.
### When to Display Header
- At the start of every response
- After completing review of each file group
- In final review summary
### Nested Plugin Calls
If invoking another plugin during review, use indented single-line header:
```
┌──────────────────────────────────────────────────────────────────┐
│ [ICON] [PLUGIN-NAME] · [Action] (triggered by: projman) │
└──────────────────────────────────────────────────────────────────┘
```
## Your Role ## Your Role
- Identify issues that should be fixed before work is marked complete - Identify issues that should be fixed before work is marked complete

View File

@@ -31,6 +31,38 @@ 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.** **If you find yourself about to run a bash command for Gitea, STOP and use the MCP tool instead.**
## Visual Output Requirements
**MANDATORY: Display header at start of every response.**
### Header Format
```
╔══════════════════════════════════════════════════════════════════╗
║ 📋 PROJMAN ║
║ ⚡ EXECUTION ║
║ [Issue Title] ║
╚══════════════════════════════════════════════════════════════════╝
```
Replace `[Issue Title]` with the issue being implemented.
### When to Display Header
- At the start of every response
- After completing a checkpoint
- When switching to a new issue
### Nested Plugin Calls
If invoking another plugin during execution, use indented single-line header:
```
┌──────────────────────────────────────────────────────────────────┐
│ [ICON] [PLUGIN-NAME] · [Action] (triggered by: projman) │
└──────────────────────────────────────────────────────────────────┘
```
### Header Refresh
For long implementation sessions, refresh the header periodically to maintain visual context.
## Your Personality ## Your Personality
**Implementation-Focused:** **Implementation-Focused:**

View File

@@ -36,6 +36,57 @@ 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.** **If you find yourself about to run a bash command for Gitea, STOP and use the MCP tool instead.**
## Visual Output Requirements
**MANDATORY: Display header at start of every response.**
### Header Format
```
╔══════════════════════════════════════════════════════════════════╗
║ 📋 PROJMAN ║
║ ⚡ EXECUTION ║
║ [Sprint Name] ║
╚══════════════════════════════════════════════════════════════════╝
```
Replace `[Sprint Name]` with the actual sprint/milestone name.
### Sprint Progress Block
After the header, display a progress block:
```
┌─ Sprint Progress ────────────────────────────────────────────────┐
│ [Sprint Name] │
│ ████████████░░░░░░░░░░░░░░░░░░ 40% complete │
│ ✅ Done: 4 ⏳ Active: 2 ⬚ Pending: 4 │
│ Current: │
│ #271 ⏳ Implement header component │
│ #272 ⏳ Update agent instructions │
└──────────────────────────────────────────────────────────────────┘
```
### Progress Bar Calculation
- Width: 30 characters
- Filled: `█` (completed percentage)
- Empty: `░` (remaining percentage)
- Calculate: `(closed_issues / total_issues) * 30`
### When to Refresh
- At the start of every response
- After completing an issue
- When user requests status update
- After major phase transitions
### Nested Plugin Calls
If invoking another plugin, use indented single-line header:
```
┌──────────────────────────────────────────────────────────────────┐
│ [ICON] [PLUGIN-NAME] · [Action] (triggered by: projman) │
└──────────────────────────────────────────────────────────────────┘
```
## Your Personality ## Your Personality
**Concise and Action-Oriented:** **Concise and Action-Oriented:**

View File

@@ -1,6 +1,7 @@
--- ---
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
@@ -36,6 +37,38 @@ 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.** **If you find yourself about to run a bash command for Gitea, STOP and use the MCP tool instead.**
## Visual Output Requirements
**MANDATORY: Display header at start of every response.**
### Header Format
```
╔══════════════════════════════════════════════════════════════════╗
║ 📋 PROJMAN ║
║ 🎯 PLANNING ║
║ [Sprint Name] ║
╚══════════════════════════════════════════════════════════════════╝
```
Replace `[Sprint Name]` with the actual sprint/milestone name.
### When to Display Header
- At the start of every response
- After major phase transitions
- In final planning summary
### Nested Plugin Calls
If invoking another plugin during planning, use indented single-line header:
```
┌──────────────────────────────────────────────────────────────────┐
│ [ICON] [PLUGIN-NAME] · [Action] (triggered by: projman) │
└──────────────────────────────────────────────────────────────────┘
```
### Header Refresh
For long planning sessions, refresh the header periodically to maintain visual context.
## Your Personality ## Your Personality
**Thoughtful and Methodical:** **Thoughtful and Methodical:**

View File

@@ -686,3 +686,16 @@ and select "Report an issue I experienced" to describe it.
- Verify labels exist in the marketplace repo: `Source/Diagnostic`, `Type/Bug` - Verify labels exist in the marketplace repo: `Source/Diagnostic`, `Type/Bug`
- Check the label fetch output in Step 7.2 for errors - Check the label fetch output in Step 7.2 for errors
- If labels don't exist, create them first with `/labels-sync` in the marketplace repo - If labels don't exist, create them first with `/labels-sync` in the marketplace repo
## Visual Output
When executing this command, display the plugin header:
```
╔══════════════════════════════════════════════════════════════════╗
║ 📋 PROJMAN ║
║ Debug Report ║
╚══════════════════════════════════════════════════════════════════╝
```
Then proceed with the diagnostic workflow.

View File

@@ -385,6 +385,13 @@ git push -u origin fix/issue-[NUMBER]-[brief-description]
git checkout development git checkout development
``` ```
**⚠️ IMPORTANT: Issue will NOT auto-close**
PRs merged to `development` do NOT trigger Gitea's auto-close feature.
Auto-close only works when merging to the default branch (`main`).
You MUST manually close the issue in Step 15 after the PR is merged.
5. Add comment to original issue: 5. Add comment to original issue:
``` ```
mcp__plugin_projman_gitea__add_comment( mcp__plugin_projman_gitea__add_comment(
@@ -417,9 +424,14 @@ Next Steps:
**This step runs AFTER the user has verified the fix works.** **This step runs AFTER the user has verified the fix works.**
**⚠️ MANDATORY: You MUST manually close the issue.**
PRs merged to `development` do NOT auto-close issues (Gitea only auto-closes
on merges to the default branch `main`). Always close manually after merge.
When user returns and confirms the fix is working: When user returns and confirms the fix is working:
**1. Close the issue:** **1. Close the issue (REQUIRED - won't auto-close):**
``` ```
mcp__plugin_projman_gitea__update_issue( mcp__plugin_projman_gitea__update_issue(
@@ -572,3 +584,16 @@ Error Message → File to Check
"labels not found" → labels.py, gitea_client.py "labels not found" → labels.py, gitea_client.py
"create local.*file" → Command .md file (DO NOT section) "create local.*file" → Command .md file (DO NOT section)
``` ```
## Visual Output
When executing this command, display the plugin header:
```
╔══════════════════════════════════════════════════════════════════╗
║ 📋 PROJMAN ║
║ Debug Review ║
╚══════════════════════════════════════════════════════════════════╝
```
Then proceed with the investigation workflow.

View File

@@ -443,6 +443,20 @@ If something isn't working after restart, check:
--- ---
## Visual Output
When executing this command, display the plugin header:
```
╔══════════════════════════════════════════════════════════════════╗
║ 📋 PROJMAN ║
║ ⚙️ SETUP ║
║ Initial Setup Wizard ║
╚══════════════════════════════════════════════════════════════════╝
```
Then proceed with the setup workflow.
## Re-Running This Command ## Re-Running This Command
This command is safe to run multiple times: This command is safe to run multiple times:

View File

@@ -158,6 +158,19 @@ When creating missing labels, match the format used by existing labels in the re
- Ensure you're running in a directory with a git repository - Ensure you're running in a directory with a git repository
- Check that the `origin` remote is configured - Check that the `origin` remote is configured
## Visual Output
When executing this command, display the plugin header:
```
╔══════════════════════════════════════════════════════════════════╗
║ 📋 PROJMAN ║
║ Labels Sync ║
╚══════════════════════════════════════════════════════════════════╝
```
Then proceed with the sync workflow.
## When to Run ## When to Run
Run `/labels-sync` when: Run `/labels-sync` when:

View File

@@ -207,6 +207,20 @@ You're ready to use projman commands:
--- ---
## Visual Output
When executing this command, display the plugin header:
```
╔══════════════════════════════════════════════════════════════════╗
║ 📋 PROJMAN ║
║ ⚙️ SETUP ║
║ Project Initialization ║
╚══════════════════════════════════════════════════════════════════╝
```
Then proceed with the project setup workflow.
## Troubleshooting ## Troubleshooting
**MCP tools not working?** **MCP tools not working?**

View File

@@ -180,6 +180,20 @@ MCP tools will now use the new repository.
--- ---
## Visual Output
When executing this command, display the plugin header:
```
╔══════════════════════════════════════════════════════════════════╗
║ 📋 PROJMAN ║
║ ⚙️ SETUP ║
║ Project Sync ║
╚══════════════════════════════════════════════════════════════════╝
```
Then proceed with the sync workflow.
## Troubleshooting ## Troubleshooting
**"Repository not found" but it exists:** **"Repository not found" but it exists:**

View File

@@ -119,3 +119,16 @@ Summary:
**Lesson Linking:** **Lesson Linking:**
- Search lessons with implementation link in metadata - Search lessons with implementation link in metadata
- Or search by version/sprint tags - Or search by version/sprint tags
## Visual Output
When executing this command, display the plugin header:
```
╔══════════════════════════════════════════════════════════════════╗
║ 📋 PROJMAN ║
║ Proposal Status ║
╚══════════════════════════════════════════════════════════════════╝
```
Then proceed with the status report.

View File

@@ -74,6 +74,20 @@ Otherwise, review staged changes or changes in the last 5 commits.
3. Compile findings into the structured report 3. Compile findings into the structured report
4. Provide recommendation: READY / NEEDS ATTENTION / BLOCK 4. Provide recommendation: READY / NEEDS ATTENTION / BLOCK
## Visual Output
When executing this command, display the plugin header:
```
╔══════════════════════════════════════════════════════════════════╗
║ 📋 PROJMAN ║
║ 🏁 CLOSING ║
║ Code Review ║
╚══════════════════════════════════════════════════════════════════╝
```
Then proceed with the review workflow.
## Do NOT ## Do NOT
- Rewrite or refactor code automatically - Rewrite or refactor code automatically

View File

@@ -284,6 +284,22 @@ Would you like me to handle git operations?
[Y/n] [Y/n]
``` ```
## Visual Output
When executing this command, display the plugin header:
```
╔══════════════════════════════════════════════════════════════════╗
║ 📋 PROJMAN ║
║ 🏁 CLOSING ║
║ [Sprint Name] ║
╚══════════════════════════════════════════════════════════════════╝
```
Replace `[Sprint Name]` with the actual sprint/milestone name.
Then proceed with the sprint close workflow.
## Getting Started ## Getting Started
Simply run `/sprint-close` when your sprint is complete. The orchestrator will guide you through: Simply run `/sprint-close` when your sprint is complete. The orchestrator will guide you through:

View File

@@ -178,3 +178,16 @@ flowchart LR
Open: 16 | In Progress: 1 | Completed: 1 Open: 16 | In Progress: 1 | Completed: 1
``` ```
## Visual Output
When executing this command, display the plugin header:
```
╔══════════════════════════════════════════════════════════════════╗
║ 📋 PROJMAN ║
║ Sprint Diagram ║
╚══════════════════════════════════════════════════════════════════╝
```
Then proceed to generate the diagram.

View File

@@ -375,6 +375,20 @@ Milestone: Sprint 17 - User Authentication (Due: 2025-02-01)
Wiki: https://gitea.example.com/org/repo/wiki/Change-V1.2.0%3A-Proposal Wiki: https://gitea.example.com/org/repo/wiki/Change-V1.2.0%3A-Proposal
``` ```
## Visual Output
When executing this command, display the plugin header:
```
╔══════════════════════════════════════════════════════════════════╗
║ 📋 PROJMAN ║
║ 🎯 PLANNING ║
║ Sprint Planning ║
╚══════════════════════════════════════════════════════════════════╝
```
Then proceed with the command workflow.
## Getting Started ## Getting Started
Invoke the planner agent by providing your sprint goals. The agent will guide you through the planning process. Invoke the planner agent by providing your sprint goals. The agent will guide you through the planning process.

View File

@@ -410,6 +410,22 @@ Executors save checkpoints after major steps:
- [ ] Step 4 - [ ] Step 4
``` ```
## Visual Output
When executing this command, display the plugin header:
```
╔══════════════════════════════════════════════════════════════════╗
║ 📋 PROJMAN ║
║ ⚡ EXECUTION ║
║ [Sprint Name] ║
╚══════════════════════════════════════════════════════════════════╝
```
Replace `[Sprint Name]` with the actual sprint/milestone name from Gitea.
Then proceed with the command workflow.
## Getting Started ## Getting Started
Simply invoke `/sprint-start` and the orchestrator will: Simply invoke `/sprint-start` and the orchestrator will:

View File

@@ -206,6 +206,28 @@ Run `/sprint-status` when you want to:
- Use `/sprint-close` when all issues are completed - Use `/sprint-close` when all issues are completed
- Use `/sprint-plan` to adjust scope if blocked items can't be unblocked - Use `/sprint-plan` to adjust scope if blocked items can't be unblocked
## Visual Output
When executing this command, display the plugin header followed by a progress block:
```
╔══════════════════════════════════════════════════════════════════╗
║ 📋 PROJMAN ║
║ ⚡ EXECUTION ║
║ [Sprint Name] ║
╚══════════════════════════════════════════════════════════════════╝
┌─ Sprint Progress ────────────────────────────────────────────────┐
│ [Sprint Name] │
│ ████████████░░░░░░░░░░░░░░░░░░ 40% complete │
│ ✅ Done: 4 ⏳ Active: 2 ⬚ Pending: 4 │
└──────────────────────────────────────────────────────────────────┘
```
Replace `[Sprint Name]` with the actual sprint/milestone name. Calculate percentage from completed vs total issues.
Then proceed with the full status report.
## Example Usage ## Example Usage
``` ```

View File

@@ -70,6 +70,19 @@ Analyze CHANGELOG.md and suggest appropriate semantic version bump.
**Recommendation:** No release needed **Recommendation:** No release needed
``` ```
## Visual Output
When executing this command, display the plugin header:
```
╔══════════════════════════════════════════════════════════════════╗
║ 📋 PROJMAN ║
║ Version Analysis ║
╚══════════════════════════════════════════════════════════════════╝
```
Then proceed with the version analysis.
## Integration ## Integration
This command helps maintain proper versioning workflow: This command helps maintain proper versioning workflow:

View File

@@ -161,3 +161,17 @@ If framework not detected:
1. List what was checked 1. List what was checked
2. Ask user to specify the test command 2. Ask user to specify the test command
3. Offer common suggestions based on file types found 3. Offer common suggestions based on file types found
## Visual Output
When executing this command, display the plugin header:
```
╔══════════════════════════════════════════════════════════════════╗
║ 📋 PROJMAN ║
║ 🏁 CLOSING ║
║ Test Verification ║
╚══════════════════════════════════════════════════════════════════╝
```
Then proceed with the test check workflow.

View File

@@ -111,6 +111,19 @@ pytest tests/test_orders.py -v
| Cargo.toml | cargo test | | Cargo.toml | cargo test |
| mix.exs | ExUnit | | mix.exs | ExUnit |
## Visual Output
When executing this command, display the plugin header:
```
╔══════════════════════════════════════════════════════════════════╗
║ 📋 PROJMAN ║
║ Test Generation ║
╚══════════════════════════════════════════════════════════════════╝
```
Then proceed with the test generation workflow.
## Integration with /test-check ## Integration with /test-check
- `/test-gen` creates new tests - `/test-gen` creates new tests

View File

@@ -81,6 +81,29 @@ if [[ -f ".env" ]]; then
fi fi
fi fi
# ============================================================================
# Check version consistency across files (early drift detection)
# ============================================================================
# Versions must stay in sync across: README.md, marketplace.json, CHANGELOG.md
# Drift here causes confusion and release issues
if [[ -f "README.md" && -f ".claude-plugin/marketplace.json" && -f "CHANGELOG.md" ]]; then
VERSION_README=$(grep -oE "^# .* - v[0-9]+\.[0-9]+\.[0-9]+" README.md 2>/dev/null | grep -oE "[0-9]+\.[0-9]+\.[0-9]+" || echo "")
# Extract metadata.version specifically (appears after "metadata" in marketplace.json)
VERSION_MARKETPLACE=$(sed -n '/"metadata"/,/}/p' .claude-plugin/marketplace.json 2>/dev/null | grep -oE '"version"[[:space:]]*:[[:space:]]*"[0-9]+\.[0-9]+\.[0-9]+"' | head -1 | grep -oE "[0-9]+\.[0-9]+\.[0-9]+" || echo "")
VERSION_CHANGELOG=$(grep -oE "^## \[[0-9]+\.[0-9]+\.[0-9]+\]" CHANGELOG.md 2>/dev/null | head -1 | grep -oE "[0-9]+\.[0-9]+\.[0-9]+" || echo "")
if [[ -n "$VERSION_README" && -n "$VERSION_MARKETPLACE" && -n "$VERSION_CHANGELOG" ]]; then
if [[ "$VERSION_README" != "$VERSION_MARKETPLACE" ]] || [[ "$VERSION_README" != "$VERSION_CHANGELOG" ]]; then
echo "$PREFIX Version mismatch detected:"
echo "$PREFIX README.md: v$VERSION_README"
echo "$PREFIX marketplace.json: v$VERSION_MARKETPLACE"
echo "$PREFIX CHANGELOG.md: v$VERSION_CHANGELOG"
echo "$PREFIX Run /suggest-version to analyze and fix"
fi
fi
fi
# Check for CHANGELOG.md [Unreleased] content (version management) # Check for CHANGELOG.md [Unreleased] content (version management)
if [[ -f "CHANGELOG.md" ]]; then if [[ -f "CHANGELOG.md" ]]; then
# Check if there's content under [Unreleased] that hasn't been released # Check if there's content under [Unreleased] that hasn't been released

View File

@@ -1,6 +1,7 @@
{ {
"name": "viz-platform", "name": "viz-platform",
"version": "1.0.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",

View File

@@ -1,3 +1,9 @@
---
name: component-check
description: DMC component validation specialist
model: haiku
---
# Component Check Agent # Component Check Agent
You are a strict component validation specialist. Your role is to verify Dash Mantine Components are used correctly, preventing runtime errors from invalid props. You are a strict component validation specialist. Your role is to verify Dash Mantine Components are used correctly, preventing runtime errors from invalid props.

View File

@@ -143,6 +143,16 @@ 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/"
@@ -151,6 +161,40 @@ for plugin_dir in "$PLUGINS_DIR"/*/; do
echo "$plugin_name valid" echo "$plugin_name valid"
done done
# 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+) ==="