Compare commits
33 Commits
da628a3774
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| d13c310e67 | |||
| faafbd56f5 | |||
| 7380b07312 | |||
| 4cbcc7d391 | |||
| 4baad6c2b5 | |||
| 398fc50099 | |||
| 7b127d8e5c | |||
| ba7350e130 | |||
| 4b7c40e1f5 | |||
| 9673c0c994 | |||
| e1d1ffc555 | |||
| 318d027bfa | |||
| 34a5e4a5a3 | |||
| 9710d296e4 | |||
| 59b5545a9b | |||
| b3c388b732 | |||
| a4fb5b6feb | |||
| de4126bf68 | |||
| 5a8c3b041f | |||
| 33a7c91f4f | |||
| 8781179fd0 | |||
| 7d0b6050f9 | |||
| 6209ab9597 | |||
| 2c41ca338d | |||
| 34fc1d842c | |||
| 9eece4daa3 | |||
| 871d1bff58 | |||
| d90a8d05af | |||
| 044c49ba95 | |||
| ab3847c656 | |||
| 76105e98e0 | |||
| 49891c1e0c | |||
| c6182a3fda |
205
.claude-plugin/marketplace-full.json
Normal file
205
.claude-plugin/marketplace-full.json
Normal file
@@ -0,0 +1,205 @@
|
||||
{
|
||||
"name": "leo-claude-mktplace",
|
||||
"owner": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
},
|
||||
"metadata": {
|
||||
"description": "Project management plugins with Gitea and NetBox integrations",
|
||||
"version": "7.1.0"
|
||||
},
|
||||
"plugins": [
|
||||
{
|
||||
"name": "projman",
|
||||
"version": "7.1.0",
|
||||
"description": "Sprint planning and project management with Gitea integration",
|
||||
"source": "./plugins/projman",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
},
|
||||
"homepage": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/src/branch/main/plugins/projman/README.md",
|
||||
"repository": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace.git",
|
||||
"hooks": ["./hooks/hooks.json"],
|
||||
"category": "development",
|
||||
"tags": ["sprint", "agile", "gitea", "project-management"],
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "doc-guardian",
|
||||
"version": "7.1.0",
|
||||
"description": "Automatic documentation drift detection and synchronization",
|
||||
"source": "./plugins/doc-guardian",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
},
|
||||
"homepage": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/src/branch/main/plugins/doc-guardian/README.md",
|
||||
"repository": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace.git",
|
||||
"hooks": ["./hooks/hooks.json"],
|
||||
"category": "productivity",
|
||||
"tags": ["documentation", "drift-detection", "sync"],
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "code-sentinel",
|
||||
"version": "7.1.0",
|
||||
"description": "Security scanning and code refactoring tools",
|
||||
"source": "./plugins/code-sentinel",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
},
|
||||
"homepage": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/src/branch/main/plugins/code-sentinel/README.md",
|
||||
"repository": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace.git",
|
||||
"hooks": ["./hooks/hooks.json"],
|
||||
"category": "security",
|
||||
"tags": ["security-scan", "refactoring", "vulnerabilities"],
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "project-hygiene",
|
||||
"version": "7.1.0",
|
||||
"description": "Post-task cleanup hook that removes temp files and manages orphaned files",
|
||||
"source": "./plugins/project-hygiene",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
},
|
||||
"homepage": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/src/branch/main/plugins/project-hygiene/README.md",
|
||||
"repository": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace.git",
|
||||
"hooks": ["./hooks/hooks.json"],
|
||||
"category": "productivity",
|
||||
"tags": ["cleanup", "automation", "hygiene"],
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "cmdb-assistant",
|
||||
"version": "7.1.0",
|
||||
"description": "NetBox CMDB integration with data quality validation and machine registration",
|
||||
"source": "./plugins/cmdb-assistant",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
},
|
||||
"homepage": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/src/branch/main/plugins/cmdb-assistant/README.md",
|
||||
"repository": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace.git",
|
||||
"hooks": ["./hooks/hooks.json"],
|
||||
"category": "infrastructure",
|
||||
"tags": ["cmdb", "netbox", "dcim", "ipam", "data-quality", "validation"],
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "claude-config-maintainer",
|
||||
"version": "7.1.0",
|
||||
"description": "CLAUDE.md and settings.local.json optimization for Claude Code projects",
|
||||
"source": "./plugins/claude-config-maintainer",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
},
|
||||
"homepage": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/src/branch/main/plugins/claude-config-maintainer/README.md",
|
||||
"repository": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace.git",
|
||||
"hooks": ["./hooks/hooks.json"],
|
||||
"category": "development",
|
||||
"tags": ["claude-md", "configuration", "optimization"],
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "clarity-assist",
|
||||
"version": "7.1.0",
|
||||
"description": "Prompt optimization and requirement clarification with ND-friendly accommodations",
|
||||
"source": "./plugins/clarity-assist",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
},
|
||||
"homepage": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/src/branch/main/plugins/clarity-assist/README.md",
|
||||
"repository": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace.git",
|
||||
"hooks": ["./hooks/hooks.json"],
|
||||
"category": "productivity",
|
||||
"tags": ["prompts", "requirements", "clarification", "nd-friendly"],
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "git-flow",
|
||||
"version": "7.1.0",
|
||||
"description": "Git workflow automation with intelligent commit messages and branch management",
|
||||
"source": "./plugins/git-flow",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
},
|
||||
"homepage": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/src/branch/main/plugins/git-flow/README.md",
|
||||
"repository": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace.git",
|
||||
"hooks": ["./hooks/hooks.json"],
|
||||
"category": "development",
|
||||
"tags": ["git", "workflow", "commits", "branching"],
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "pr-review",
|
||||
"version": "7.1.0",
|
||||
"description": "Multi-agent pull request review with confidence scoring and actionable feedback",
|
||||
"source": "./plugins/pr-review",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
},
|
||||
"homepage": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/src/branch/main/plugins/pr-review/README.md",
|
||||
"repository": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace.git",
|
||||
"hooks": ["./hooks/hooks.json"],
|
||||
"category": "development",
|
||||
"tags": ["code-review", "pull-requests", "security", "quality"],
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "data-platform",
|
||||
"version": "7.1.0",
|
||||
"description": "Data engineering tools with pandas, PostgreSQL/PostGIS, and dbt integration",
|
||||
"source": "./plugins/data-platform",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
},
|
||||
"homepage": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/src/branch/main/plugins/data-platform/README.md",
|
||||
"repository": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace.git",
|
||||
"hooks": ["./hooks/hooks.json"],
|
||||
"category": "data",
|
||||
"tags": ["pandas", "postgresql", "postgis", "dbt", "data-engineering", "etl"],
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "viz-platform",
|
||||
"version": "7.1.0",
|
||||
"description": "Visualization tools with Dash Mantine Components validation, Plotly charts, and theming",
|
||||
"source": "./plugins/viz-platform",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
},
|
||||
"homepage": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/src/branch/main/plugins/viz-platform/README.md",
|
||||
"repository": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace.git",
|
||||
"hooks": ["./hooks/hooks.json"],
|
||||
"category": "visualization",
|
||||
"tags": ["dash", "plotly", "mantine", "charts", "dashboards", "theming", "dmc"],
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "contract-validator",
|
||||
"version": "7.1.0",
|
||||
"description": "Cross-plugin compatibility validation and Claude.md agent verification",
|
||||
"source": "./plugins/contract-validator",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
},
|
||||
"homepage": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/src/branch/main/plugins/contract-validator/README.md",
|
||||
"repository": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace.git",
|
||||
"hooks": ["./hooks/hooks.json"],
|
||||
"category": "development",
|
||||
"tags": ["validation", "contracts", "compatibility", "agents", "interfaces", "cross-plugin"],
|
||||
"license": "MIT"
|
||||
}
|
||||
]
|
||||
}
|
||||
109
.claude-plugin/marketplace-lean.json
Normal file
109
.claude-plugin/marketplace-lean.json
Normal file
@@ -0,0 +1,109 @@
|
||||
{
|
||||
"name": "leo-claude-mktplace",
|
||||
"owner": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
},
|
||||
"metadata": {
|
||||
"description": "Project management plugins with Gitea and NetBox integrations",
|
||||
"version": "7.1.0"
|
||||
},
|
||||
"plugins": [
|
||||
{
|
||||
"name": "projman",
|
||||
"version": "7.1.0",
|
||||
"description": "Sprint planning and project management with Gitea integration",
|
||||
"source": "./plugins/projman",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
},
|
||||
"homepage": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/src/branch/main/plugins/projman/README.md",
|
||||
"repository": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace.git",
|
||||
"hooks": ["./hooks/hooks.json"],
|
||||
"category": "development",
|
||||
"tags": ["sprint", "agile", "gitea", "project-management"],
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "git-flow",
|
||||
"version": "7.1.0",
|
||||
"description": "Git workflow automation with intelligent commit messages and branch management",
|
||||
"source": "./plugins/git-flow",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
},
|
||||
"homepage": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/src/branch/main/plugins/git-flow/README.md",
|
||||
"repository": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace.git",
|
||||
"hooks": ["./hooks/hooks.json"],
|
||||
"category": "development",
|
||||
"tags": ["git", "workflow", "commits", "branching"],
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "pr-review",
|
||||
"version": "7.1.0",
|
||||
"description": "Multi-agent pull request review with confidence scoring and actionable feedback",
|
||||
"source": "./plugins/pr-review",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
},
|
||||
"homepage": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/src/branch/main/plugins/pr-review/README.md",
|
||||
"repository": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace.git",
|
||||
"hooks": ["./hooks/hooks.json"],
|
||||
"category": "development",
|
||||
"tags": ["code-review", "pull-requests", "security", "quality"],
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "clarity-assist",
|
||||
"version": "7.1.0",
|
||||
"description": "Prompt optimization and requirement clarification with ND-friendly accommodations",
|
||||
"source": "./plugins/clarity-assist",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
},
|
||||
"homepage": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/src/branch/main/plugins/clarity-assist/README.md",
|
||||
"repository": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace.git",
|
||||
"hooks": ["./hooks/hooks.json"],
|
||||
"category": "productivity",
|
||||
"tags": ["prompts", "requirements", "clarification", "nd-friendly"],
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "code-sentinel",
|
||||
"version": "7.1.0",
|
||||
"description": "Security scanning and code refactoring tools",
|
||||
"source": "./plugins/code-sentinel",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
},
|
||||
"homepage": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/src/branch/main/plugins/code-sentinel/README.md",
|
||||
"repository": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace.git",
|
||||
"hooks": ["./hooks/hooks.json"],
|
||||
"category": "security",
|
||||
"tags": ["security-scan", "refactoring", "vulnerabilities"],
|
||||
"license": "MIT"
|
||||
},
|
||||
{
|
||||
"name": "doc-guardian",
|
||||
"version": "7.1.0",
|
||||
"description": "Automatic documentation drift detection and synchronization",
|
||||
"source": "./plugins/doc-guardian",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
},
|
||||
"homepage": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/src/branch/main/plugins/doc-guardian/README.md",
|
||||
"repository": "https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace.git",
|
||||
"hooks": ["./hooks/hooks.json"],
|
||||
"category": "productivity",
|
||||
"tags": ["documentation", "drift-detection", "sync"],
|
||||
"license": "MIT"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,12 +6,12 @@
|
||||
},
|
||||
"metadata": {
|
||||
"description": "Project management plugins with Gitea and NetBox integrations",
|
||||
"version": "7.0.0"
|
||||
"version": "7.1.0"
|
||||
},
|
||||
"plugins": [
|
||||
{
|
||||
"name": "projman",
|
||||
"version": "3.4.0",
|
||||
"version": "7.1.0",
|
||||
"description": "Sprint planning and project management with Gitea integration",
|
||||
"source": "./plugins/projman",
|
||||
"author": {
|
||||
@@ -27,7 +27,7 @@
|
||||
},
|
||||
{
|
||||
"name": "doc-guardian",
|
||||
"version": "1.1.0",
|
||||
"version": "7.1.0",
|
||||
"description": "Automatic documentation drift detection and synchronization",
|
||||
"source": "./plugins/doc-guardian",
|
||||
"author": {
|
||||
@@ -43,7 +43,7 @@
|
||||
},
|
||||
{
|
||||
"name": "code-sentinel",
|
||||
"version": "1.0.1",
|
||||
"version": "7.1.0",
|
||||
"description": "Security scanning and code refactoring tools",
|
||||
"source": "./plugins/code-sentinel",
|
||||
"author": {
|
||||
@@ -59,7 +59,7 @@
|
||||
},
|
||||
{
|
||||
"name": "project-hygiene",
|
||||
"version": "0.1.0",
|
||||
"version": "7.1.0",
|
||||
"description": "Post-task cleanup hook that removes temp files and manages orphaned files",
|
||||
"source": "./plugins/project-hygiene",
|
||||
"author": {
|
||||
@@ -75,7 +75,7 @@
|
||||
},
|
||||
{
|
||||
"name": "cmdb-assistant",
|
||||
"version": "1.2.0",
|
||||
"version": "7.1.0",
|
||||
"description": "NetBox CMDB integration with data quality validation and machine registration",
|
||||
"source": "./plugins/cmdb-assistant",
|
||||
"author": {
|
||||
@@ -91,7 +91,7 @@
|
||||
},
|
||||
{
|
||||
"name": "claude-config-maintainer",
|
||||
"version": "1.2.0",
|
||||
"version": "7.1.0",
|
||||
"description": "CLAUDE.md and settings.local.json optimization for Claude Code projects",
|
||||
"source": "./plugins/claude-config-maintainer",
|
||||
"author": {
|
||||
@@ -107,7 +107,7 @@
|
||||
},
|
||||
{
|
||||
"name": "clarity-assist",
|
||||
"version": "1.2.0",
|
||||
"version": "7.1.0",
|
||||
"description": "Prompt optimization and requirement clarification with ND-friendly accommodations",
|
||||
"source": "./plugins/clarity-assist",
|
||||
"author": {
|
||||
@@ -123,7 +123,7 @@
|
||||
},
|
||||
{
|
||||
"name": "git-flow",
|
||||
"version": "1.2.0",
|
||||
"version": "7.1.0",
|
||||
"description": "Git workflow automation with intelligent commit messages and branch management",
|
||||
"source": "./plugins/git-flow",
|
||||
"author": {
|
||||
@@ -139,7 +139,7 @@
|
||||
},
|
||||
{
|
||||
"name": "pr-review",
|
||||
"version": "1.1.0",
|
||||
"version": "7.1.0",
|
||||
"description": "Multi-agent pull request review with confidence scoring and actionable feedback",
|
||||
"source": "./plugins/pr-review",
|
||||
"author": {
|
||||
@@ -155,7 +155,7 @@
|
||||
},
|
||||
{
|
||||
"name": "data-platform",
|
||||
"version": "1.3.0",
|
||||
"version": "7.1.0",
|
||||
"description": "Data engineering tools with pandas, PostgreSQL/PostGIS, and dbt integration",
|
||||
"source": "./plugins/data-platform",
|
||||
"author": {
|
||||
@@ -171,7 +171,7 @@
|
||||
},
|
||||
{
|
||||
"name": "viz-platform",
|
||||
"version": "1.1.0",
|
||||
"version": "7.1.0",
|
||||
"description": "Visualization tools with Dash Mantine Components validation, Plotly charts, and theming",
|
||||
"source": "./plugins/viz-platform",
|
||||
"author": {
|
||||
@@ -187,7 +187,7 @@
|
||||
},
|
||||
{
|
||||
"name": "contract-validator",
|
||||
"version": "1.2.0",
|
||||
"version": "7.1.0",
|
||||
"description": "Cross-plugin compatibility validation and Claude.md agent verification",
|
||||
"source": "./plugins/contract-validator",
|
||||
"author": {
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -132,4 +132,5 @@ site/
|
||||
*credentials*
|
||||
*secret*
|
||||
*token*
|
||||
!**/token-budget-report.md
|
||||
!.gitkeep
|
||||
|
||||
24
.mcp-full.json
Normal file
24
.mcp-full.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"mcpServers": {
|
||||
"gitea": {
|
||||
"command": "./mcp-servers/gitea/run.sh",
|
||||
"args": []
|
||||
},
|
||||
"netbox": {
|
||||
"command": "./mcp-servers/netbox/run.sh",
|
||||
"args": []
|
||||
},
|
||||
"viz-platform": {
|
||||
"command": "./mcp-servers/viz-platform/run.sh",
|
||||
"args": []
|
||||
},
|
||||
"data-platform": {
|
||||
"command": "./mcp-servers/data-platform/run.sh",
|
||||
"args": []
|
||||
},
|
||||
"contract-validator": {
|
||||
"command": "./mcp-servers/contract-validator/run.sh",
|
||||
"args": []
|
||||
}
|
||||
}
|
||||
}
|
||||
8
.mcp-lean.json
Normal file
8
.mcp-lean.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"mcpServers": {
|
||||
"gitea": {
|
||||
"command": "./mcp-servers/gitea/run.sh",
|
||||
"args": []
|
||||
}
|
||||
}
|
||||
}
|
||||
46
CHANGELOG.md
46
CHANGELOG.md
@@ -6,6 +6,52 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Fixed
|
||||
|
||||
- Confirmed projman `metadata.json` exists with gitea MCP mapping
|
||||
- Synced `marketplace-full.json` and `marketplace-lean.json` to current version (were stale)
|
||||
- Added `metadata.json` validation to `validate-marketplace.sh` — rejects `mcp_servers` in `plugin.json`, verifies MCP server references
|
||||
- Updated `CANONICAL-PATHS.md` to current version
|
||||
|
||||
### Changed
|
||||
|
||||
- Deprecated `switch-profile.sh` in favor of `claude-launch.sh`
|
||||
|
||||
---
|
||||
|
||||
## [7.1.0] - 2026-02-04
|
||||
|
||||
### Added
|
||||
|
||||
- **marketplace:** Task-specific launcher script for token optimization
|
||||
- New script: `scripts/claude-launch.sh` loads only needed plugins via `--plugin-dir`
|
||||
- Profiles: sprint (default), review, data, infra, full
|
||||
- Reduces token overhead from ~22K to ~4-6K tokens
|
||||
- Enables `ENABLE_TOOL_SEARCH=true` for MCP lazy loading
|
||||
- **marketplace:** Lean/full profile config files for manual switching (superseded by `claude-launch.sh`)
|
||||
- Files: `.mcp-lean.json`, `.mcp-full.json`, `marketplace-lean.json`, `marketplace-full.json`
|
||||
- Script `scripts/switch-profile.sh` available but `claude-launch.sh` is the recommended approach
|
||||
- Full profile remains the default baseline; launcher handles selective loading
|
||||
- **projman:** Token usage estimation reporting at sprint workflow boundaries
|
||||
- New skill: `token-budget-report.md` with MCP overhead and skill loading estimation model
|
||||
- Token report displayed at end of `/sprint-plan` and `/sprint-close`
|
||||
- On-demand via `/sprint-status --tokens`
|
||||
- Helps identify which phases and components consume the most context budget
|
||||
|
||||
### Changed
|
||||
|
||||
- **projman:** `/sprint-status` now uses conditional skill loading for reduced token overhead
|
||||
- Only loads `mcp-tools-reference.md` by default (~1.5k tokens vs ~5k)
|
||||
- `--diagram` flag loads `dependency-management.md` and `progress-tracking.md`
|
||||
- `--tokens` flag loads `token-budget-report.md`
|
||||
- Estimated savings: ~3.5k tokens per status check
|
||||
|
||||
### Fixed
|
||||
|
||||
- **docs:** Stale command references in data-platform visual-header.md and viz-platform claude-md-integration.md updated to v7.0.0 namespaced names
|
||||
- **docs:** git-flow visual-header.md and git-status.md quick actions updated to namespaced commands
|
||||
- **docs:** projman/CONFIGURATION.md and docs/DEBUGGING-CHECKLIST.md updated with correct command names
|
||||
|
||||
---
|
||||
|
||||
## [7.0.0] - 2026-02-03
|
||||
|
||||
47
README.md
47
README.md
@@ -1,7 +1,32 @@
|
||||
# Leo Claude Marketplace - v7.0.0
|
||||
# Leo Claude Marketplace - v7.1.0
|
||||
|
||||
A collection of Claude Code plugins for project management, infrastructure automation, and development workflows.
|
||||
|
||||
## Quick Start
|
||||
|
||||
Use the launcher script to load only the plugins you need, reducing token overhead from ~22K to ~4-6K tokens:
|
||||
|
||||
```bash
|
||||
./scripts/claude-launch.sh [profile] [extra-args...]
|
||||
```
|
||||
|
||||
| Profile | Plugins Loaded | Use Case |
|
||||
|---------|----------------|----------|
|
||||
| `sprint` | projman, git-flow, pr-review, code-sentinel, doc-guardian, clarity-assist | Default. Sprint planning and development |
|
||||
| `review` | pr-review, code-sentinel | Lightweight code review |
|
||||
| `data` | data-platform, viz-platform | Data engineering and visualization |
|
||||
| `infra` | cmdb-assistant | Infrastructure/CMDB management |
|
||||
| `full` | All 12 plugins via marketplace.json | When you need everything |
|
||||
|
||||
**Examples:**
|
||||
```bash
|
||||
./scripts/claude-launch.sh # Default sprint profile
|
||||
./scripts/claude-launch.sh data --model opus # Data profile with Opus
|
||||
./scripts/claude-launch.sh full # Load all plugins
|
||||
```
|
||||
|
||||
The script enables `ENABLE_TOOL_SEARCH=true` for MCP lazy loading.
|
||||
|
||||
## Plugins
|
||||
|
||||
### Development & Project Management
|
||||
@@ -22,7 +47,7 @@ AI-guided sprint planning with full Gitea integration. Transforms a proven 15-sp
|
||||
|
||||
**Commands:** `/sprint-plan`, `/sprint-start`, `/sprint-status`, `/sprint-close`, `/labels-sync`, `/pm-setup`, `/pm-review`, `/pm-test`, `/pm-debug`, `/suggest-version`, `/proposal-status`, `/rfc`
|
||||
|
||||
#### [git-flow](./plugins/git-flow) *NEW in v3.0.0*
|
||||
#### [git-flow](./plugins/git-flow)
|
||||
**Git Workflow Automation**
|
||||
|
||||
Smart git operations with intelligent commit messages and branch management.
|
||||
@@ -35,7 +60,7 @@ Smart git operations with intelligent commit messages and branch management.
|
||||
|
||||
**Commands:** `/git-commit`, `/git-commit-push`, `/git-commit-merge`, `/git-commit-sync`, `/branch-start`, `/branch-cleanup`, `/git-status`, `/git-config`
|
||||
|
||||
#### [pr-review](./plugins/pr-review) *NEW in v3.0.0*
|
||||
#### [pr-review](./plugins/pr-review)
|
||||
**Multi-Agent PR Review**
|
||||
|
||||
Comprehensive pull request review using specialized agents.
|
||||
@@ -54,7 +79,7 @@ Analyze, optimize, and create CLAUDE.md configuration files. Audit and optimize
|
||||
|
||||
**Commands:** `/analyze`, `/optimize`, `/init`, `/config-diff`, `/config-lint`, `/config-audit-settings`, `/config-optimize-settings`, `/config-permissions-map`
|
||||
|
||||
#### [contract-validator](./plugins/contract-validator) *NEW in v5.0.0*
|
||||
#### [contract-validator](./plugins/contract-validator)
|
||||
**Cross-Plugin Compatibility Validation**
|
||||
|
||||
Validate plugin marketplaces for command conflicts, tool overlaps, and broken agent references.
|
||||
@@ -69,7 +94,7 @@ Validate plugin marketplaces for command conflicts, tool overlaps, and broken ag
|
||||
|
||||
### Productivity
|
||||
|
||||
#### [clarity-assist](./plugins/clarity-assist) *NEW in v3.0.0*
|
||||
#### [clarity-assist](./plugins/clarity-assist)
|
||||
**Prompt Optimization with ND Accommodations**
|
||||
|
||||
Transform vague requests into clear specifications using structured methodology.
|
||||
@@ -112,7 +137,7 @@ Full CRUD operations for network infrastructure management directly from Claude
|
||||
|
||||
### Data Engineering
|
||||
|
||||
#### [data-platform](./plugins/data-platform) *NEW in v4.0.0*
|
||||
#### [data-platform](./plugins/data-platform)
|
||||
**pandas, PostgreSQL/PostGIS, and dbt Integration**
|
||||
|
||||
Comprehensive data engineering toolkit with persistent DataFrame storage.
|
||||
@@ -127,7 +152,7 @@ Comprehensive data engineering toolkit with persistent DataFrame storage.
|
||||
|
||||
### Visualization
|
||||
|
||||
#### [viz-platform](./plugins/viz-platform) *NEW in v4.0.0*
|
||||
#### [viz-platform](./plugins/viz-platform)
|
||||
**Dash Mantine Components Validation and Theming**
|
||||
|
||||
Visualization toolkit with version-locked component validation and design token theming.
|
||||
@@ -171,7 +196,7 @@ Full Gitea API integration for project management.
|
||||
| Wiki | `list_wiki_pages`, `get_wiki_page`, `create_wiki_page`, `update_wiki_page`, `create_lesson`, `search_lessons` |
|
||||
| Milestones | `list_milestones`, `get_milestone`, `create_milestone`, `update_milestone`, `delete_milestone` |
|
||||
| Dependencies | `list_issue_dependencies`, `create_issue_dependency`, `remove_issue_dependency`, `get_execution_order` |
|
||||
| **Pull Requests** | `list_pull_requests`, `get_pull_request`, `get_pr_diff`, `get_pr_comments`, `create_pr_review`, `add_pr_comment` *(NEW in v3.0.0)* |
|
||||
| **Pull Requests** | `list_pull_requests`, `get_pull_request`, `get_pr_diff`, `get_pr_comments`, `create_pr_review`, `add_pr_comment` |
|
||||
| Validation | `validate_repo_org`, `get_branch_protection` |
|
||||
|
||||
### NetBox MCP Server (shared)
|
||||
@@ -186,7 +211,7 @@ Comprehensive NetBox REST API integration for infrastructure management.
|
||||
| Virtualization | Clusters, VMs, Interfaces |
|
||||
| Extras | Tags, Custom Fields, Audit Log |
|
||||
|
||||
### Data Platform MCP Server (shared) *NEW in v4.0.0*
|
||||
### Data Platform MCP Server (shared)
|
||||
|
||||
pandas, PostgreSQL/PostGIS, and dbt integration for data engineering.
|
||||
|
||||
@@ -197,7 +222,7 @@ pandas, PostgreSQL/PostGIS, and dbt integration for data engineering.
|
||||
| PostGIS | `st_tables`, `st_geometry_type`, `st_srid`, `st_extent` |
|
||||
| dbt | `dbt_parse`, `dbt_run`, `dbt_test`, `dbt_build`, `dbt_compile`, `dbt_ls`, `dbt_docs_generate`, `dbt_lineage` |
|
||||
|
||||
### Viz Platform MCP Server (shared) *NEW in v4.0.0*
|
||||
### Viz Platform MCP Server (shared)
|
||||
|
||||
Dash Mantine Components validation and visualization tools.
|
||||
|
||||
@@ -209,7 +234,7 @@ Dash Mantine Components validation and visualization tools.
|
||||
| Theme | `theme_create`, `theme_extend`, `theme_validate`, `theme_export_css`, `theme_list`, `theme_activate` |
|
||||
| Page | `page_create`, `page_add_navbar`, `page_set_auth`, `page_list`, `page_get_app_config` |
|
||||
|
||||
### Contract Validator MCP Server (shared) *NEW in v5.0.0*
|
||||
### Contract Validator MCP Server (shared)
|
||||
|
||||
Cross-plugin compatibility validation tools.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
**This file defines ALL valid paths in this repository. No exceptions. No inference. No assumptions.**
|
||||
|
||||
Last Updated: 2026-01-30 (v5.4.1)
|
||||
Last Updated: 2026-02-04 (v7.1.0)
|
||||
|
||||
---
|
||||
|
||||
@@ -12,10 +12,18 @@ Last Updated: 2026-01-30 (v5.4.1)
|
||||
leo-claude-mktplace/
|
||||
├── .claude/ # Claude Code local settings
|
||||
├── .claude-plugin/ # Marketplace manifest
|
||||
│ └── marketplace.json
|
||||
│ ├── marketplace.json
|
||||
│ ├── marketplace-lean.json # Lean profile (6 core plugins)
|
||||
│ └── marketplace-full.json # Full profile (all plugins)
|
||||
├── .mcp-lean.json # Lean profile MCP config (gitea only)
|
||||
├── .mcp-full.json # Full profile MCP config (all servers)
|
||||
├── .scratch/ # Transient work (auto-cleaned)
|
||||
├── docs/ # All documentation
|
||||
│ ├── architecture/ # Draw.io diagrams and specs
|
||||
│ ├── prompts/ # Shared prompt templates
|
||||
│ │ └── INDEX.md # Prompt template index
|
||||
│ ├── project-lessons-learned/ # Project-level lessons (not sprint-specific)
|
||||
│ │ └── INDEX.md # Lessons index
|
||||
│ ├── CANONICAL-PATHS.md # This file - single source of truth
|
||||
│ ├── COMMANDS-CHEATSHEET.md # All commands quick reference
|
||||
│ ├── CONFIGURATION.md # Centralized configuration guide
|
||||
@@ -150,7 +158,9 @@ leo-claude-mktplace/
|
||||
│ ├── validate-marketplace.sh # Marketplace compliance validation
|
||||
│ ├── verify-hooks.sh # Verify all hooks use correct event types
|
||||
│ ├── setup-venvs.sh # Setup MCP server venvs (create only, never delete)
|
||||
│ └── release.sh # Release automation with version bumping
|
||||
│ ├── release.sh # Release automation with version bumping
|
||||
│ ├── claude-launch.sh # Task-specific launcher with profile selection
|
||||
│ └── switch-profile.sh # DEPRECATED: use claude-launch.sh instead
|
||||
├── CLAUDE.md
|
||||
├── README.md
|
||||
├── LICENSE
|
||||
@@ -168,6 +178,7 @@ leo-claude-mktplace/
|
||||
|---------|---------|---------|
|
||||
| Plugin location | `plugins/{plugin-name}/` | `plugins/projman/` |
|
||||
| Plugin manifest | `plugins/{plugin-name}/.claude-plugin/plugin.json` | `plugins/projman/.claude-plugin/plugin.json` |
|
||||
| Plugin MCP mapping (optional) | `plugins/{plugin-name}/.claude-plugin/metadata.json` | `plugins/projman/.claude-plugin/metadata.json` |
|
||||
| Plugin commands | `plugins/{plugin-name}/commands/` | `plugins/projman/commands/` |
|
||||
| Plugin agents | `plugins/{plugin-name}/agents/` | `plugins/projman/agents/` |
|
||||
| Plugin skills | `plugins/{plugin-name}/skills/` | `plugins/projman/skills/` |
|
||||
@@ -305,6 +316,7 @@ All MCP servers are defined in `.mcp.json` at repository root:
|
||||
|
||||
| Date | Change | By |
|
||||
|------|--------|-----|
|
||||
| 2026-02-04 | v7.1.0: Added profile configs, prompts/, project-lessons-learned/, metadata.json, deprecated switch-profile.sh | Claude Code |
|
||||
| 2026-01-30 | v5.5.0: Removed plugin-level mcp-servers symlinks - all MCP config now in root .mcp.json | Claude Code |
|
||||
| 2026-01-26 | v5.0.0: Added contract-validator plugin and MCP server | Claude Code |
|
||||
| 2026-01-26 | v4.1.0: Added viz-platform plugin and MCP server | Claude Code |
|
||||
|
||||
@@ -279,8 +279,8 @@ Error: Could not find a suitable TLS CA certificate bundle, invalid path:
|
||||
|
||||
Use these commands for automated checking:
|
||||
|
||||
- `/debug report` - Run full diagnostics, create issue if problems found
|
||||
- `/debug review` - Investigate existing diagnostic issues and propose fixes
|
||||
- `/pm-debug report` - Run full diagnostics, create issue if problems found
|
||||
- `/pm-debug review` - Investigate existing diagnostic issues and propose fixes
|
||||
|
||||
---
|
||||
|
||||
|
||||
0
docs/prompts/INDEX.md
Normal file
0
docs/prompts/INDEX.md
Normal file
1
plugins/cmdb-assistant/.claude-plugin/metadata.json
Normal file
1
plugins/cmdb-assistant/.claude-plugin/metadata.json
Normal file
@@ -0,0 +1 @@
|
||||
{"mcp_servers": ["netbox"]}
|
||||
1
plugins/contract-validator/.claude-plugin/metadata.json
Normal file
1
plugins/contract-validator/.claude-plugin/metadata.json
Normal file
@@ -0,0 +1 @@
|
||||
{"mcp_servers": ["contract-validator"]}
|
||||
1
plugins/data-platform/.claude-plugin/metadata.json
Normal file
1
plugins/data-platform/.claude-plugin/metadata.json
Normal file
@@ -0,0 +1 @@
|
||||
{"mcp_servers": ["data-platform"]}
|
||||
@@ -14,16 +14,18 @@ Display at the start of every command execution:
|
||||
|
||||
| Command | Header Text |
|
||||
|---------|-------------|
|
||||
| initial-setup | Setup Wizard |
|
||||
| ingest | Ingest |
|
||||
| profile | Data Profile |
|
||||
| schema | Schema Explorer |
|
||||
| data-setup | Setup Wizard |
|
||||
| data-ingest | Ingest |
|
||||
| data-profile | Data Profile |
|
||||
| data-schema | Schema Explorer |
|
||||
| data-quality | Data Quality |
|
||||
| run | dbt Run |
|
||||
| data-run | dbt Run |
|
||||
| dbt-test | dbt Tests |
|
||||
| lineage | Lineage |
|
||||
| data-lineage | Lineage |
|
||||
| lineage-viz | Lineage Visualization |
|
||||
| explain | Model Explanation |
|
||||
| data-explain | Model Explanation |
|
||||
| data-review | Data Review |
|
||||
| data-gate | Data Gate |
|
||||
|
||||
## Summary Box Format
|
||||
|
||||
|
||||
1
plugins/doc-guardian/.claude-plugin/metadata.json
Normal file
1
plugins/doc-guardian/.claude-plugin/metadata.json
Normal file
@@ -0,0 +1 @@
|
||||
{"mcp_servers": ["gitea"]}
|
||||
1
plugins/git-flow/.claude-plugin/metadata.json
Normal file
1
plugins/git-flow/.claude-plugin/metadata.json
Normal file
@@ -0,0 +1 @@
|
||||
{"mcp_servers": ["gitea"]}
|
||||
@@ -51,6 +51,6 @@ Unstaged:
|
||||
2. Ready to commit with 1 staged file
|
||||
|
||||
--- Quick Actions ---
|
||||
/commit - Commit staged changes
|
||||
/commit-push - Commit and push
|
||||
/git-commit - Commit staged changes
|
||||
/git-commit-push - Commit and push
|
||||
```
|
||||
|
||||
@@ -19,28 +19,28 @@ Standard header format for consistent visual output across all git-flow commands
|
||||
|
||||
## Command Headers
|
||||
|
||||
### /commit
|
||||
### /git-commit
|
||||
```
|
||||
+----------------------------------------------------------------------+
|
||||
| GIT-FLOW Smart Commit |
|
||||
+----------------------------------------------------------------------+
|
||||
```
|
||||
|
||||
### /commit-push
|
||||
### /git-commit-push
|
||||
```
|
||||
+----------------------------------------------------------------------+
|
||||
| GIT-FLOW Commit & Push |
|
||||
+----------------------------------------------------------------------+
|
||||
```
|
||||
|
||||
### /commit-sync
|
||||
### /git-commit-sync
|
||||
```
|
||||
+----------------------------------------------------------------------+
|
||||
| GIT-FLOW Commit Sync |
|
||||
+----------------------------------------------------------------------+
|
||||
```
|
||||
|
||||
### /commit-merge
|
||||
### /git-commit-merge
|
||||
```
|
||||
+----------------------------------------------------------------------+
|
||||
| GIT-FLOW Commit & Merge |
|
||||
|
||||
1
plugins/pr-review/.claude-plugin/metadata.json
Normal file
1
plugins/pr-review/.claude-plugin/metadata.json
Normal file
@@ -0,0 +1 @@
|
||||
{"mcp_servers": ["gitea"]}
|
||||
1
plugins/projman/.claude-plugin/metadata.json
Normal file
1
plugins/projman/.claude-plugin/metadata.json
Normal file
@@ -0,0 +1 @@
|
||||
{"mcp_servers": ["gitea"]}
|
||||
@@ -5,6 +5,6 @@ See **[docs/CONFIGURATION.md](../../docs/CONFIGURATION.md)** for complete setup
|
||||
## Quick Commands
|
||||
|
||||
```
|
||||
/initial-setup # First time on this machine
|
||||
/project-init # New project (system already configured)
|
||||
/pm-setup --full # First time on this machine
|
||||
/pm-setup --quick # New project (system already configured)
|
||||
```
|
||||
|
||||
@@ -14,6 +14,7 @@ agent: orchestrator
|
||||
- skills/progress-tracking.md
|
||||
- skills/git-workflow.md
|
||||
- skills/sprint-lifecycle.md
|
||||
- skills/token-budget-report.md
|
||||
|
||||
## Purpose
|
||||
|
||||
@@ -82,3 +83,12 @@ If the sprint was linked to an RFC:
|
||||
║ [Sprint Name] ║
|
||||
╚══════════════════════════════════════════════════════════════════╝
|
||||
```
|
||||
|
||||
## Final Step: Token Budget Report
|
||||
|
||||
After displaying the closing summary and completing all workflow steps, generate a Token Budget Report per `skills/token-budget-report.md`.
|
||||
|
||||
- Phase: CLOSING
|
||||
- List all skills that were loaded during this closing session
|
||||
- Use the orchestrator agent's model (sonnet) for agent overhead
|
||||
- Display the formatted report
|
||||
|
||||
@@ -20,6 +20,7 @@ agent: planner
|
||||
- skills/planning-workflow.md
|
||||
- skills/label-taxonomy/labels-reference.md
|
||||
- skills/sprint-lifecycle.md
|
||||
- skills/token-budget-report.md
|
||||
|
||||
## Purpose
|
||||
|
||||
@@ -57,3 +58,12 @@ Execute the planning workflow as defined in `skills/planning-workflow.md`.
|
||||
║ [Sprint Name] ║
|
||||
╚══════════════════════════════════════════════════════════════════╝
|
||||
```
|
||||
|
||||
## Final Step: Token Budget Report
|
||||
|
||||
After displaying the planning summary and gaining sprint approval, generate a Token Budget Report per `skills/token-budget-report.md`.
|
||||
|
||||
- Phase: PLANNING
|
||||
- List all skills that were loaded during this planning session
|
||||
- Use the planner agent's model (sonnet) for agent overhead
|
||||
- Display the formatted report
|
||||
|
||||
@@ -1,46 +1,80 @@
|
||||
---
|
||||
description: Check current sprint progress, identify blockers, optionally generate dependency diagram
|
||||
description: Check current sprint progress, identify blockers, optionally generate dependency diagram or token budget report
|
||||
---
|
||||
|
||||
# Sprint Status
|
||||
|
||||
## Skills Required
|
||||
|
||||
**Always loaded:**
|
||||
- skills/mcp-tools-reference.md
|
||||
- skills/progress-tracking.md
|
||||
- skills/dependency-management.md
|
||||
- skills/sprint-lifecycle.md
|
||||
|
||||
**Conditional — only load if matching flag is present:**
|
||||
- skills/sprint-lifecycle.md — load if displaying lifecycle state (always, but this is small)
|
||||
- skills/dependency-management.md — load ONLY with `--diagram` flag
|
||||
- skills/token-budget-report.md — load ONLY with `--tokens` flag
|
||||
- skills/progress-tracking.md — load ONLY with `--diagram` flag
|
||||
|
||||
## Purpose
|
||||
|
||||
Check current sprint progress, identify blockers, and show execution status. Optionally generate a visual dependency diagram.
|
||||
Check current sprint progress, identify blockers, and show execution status. Optionally generate a visual dependency diagram or token budget report.
|
||||
|
||||
## Invocation
|
||||
|
||||
```
|
||||
/sprint-status # Text-based status report
|
||||
/sprint-status --diagram # Include Mermaid dependency diagram
|
||||
/sprint-status --tokens # Show token budget estimation report
|
||||
```
|
||||
|
||||
## Workflow
|
||||
|
||||
0. **Display Lifecycle State** - Read current Sprint/* state from milestone description per `skills/sprint-lifecycle.md` and display in output header.
|
||||
1. **Fetch Sprint Issues** - Get all issues for current milestone
|
||||
2. **Calculate Progress** - Count completed vs total issues
|
||||
3. **Identify Active Tasks** - Find issues with `Status/In-Progress`
|
||||
4. **Identify Blockers** - Find issues with `Status/Blocked`
|
||||
5. **Show Dependency Status** - Which tasks are now unblocked
|
||||
6. **Parse Progress Comments** - Extract real-time status from structured comments
|
||||
1. **Fetch Active Milestone** — `get_milestone` for the open milestone
|
||||
2. **Read Lifecycle State** — Parse `**Sprint State:**` from milestone description
|
||||
3. **Fetch Sprint Issues** — `list_issues` filtered by milestone
|
||||
4. **Calculate Progress** — Count closed vs total issues
|
||||
5. **Identify Blockers** — Find issues with `Status/Blocked` label
|
||||
6. **Display Output** — Format header + progress bar + issue table + blockers
|
||||
|
||||
### If --diagram flag:
|
||||
That's it. No dependency analysis, no token estimation, no progress comment parsing unless a flag asks for it.
|
||||
|
||||
7. **Fetch Dependencies** - Use `list_issue_dependencies` for each issue
|
||||
8. **Get Execution Order** - Use `get_execution_order` for batch grouping
|
||||
9. **Generate Mermaid Syntax** - Create flowchart with status colors
|
||||
### If --diagram flag, THEN ALSO:
|
||||
7. Fetch dependencies with `list_issue_dependencies`
|
||||
8. Load `skills/dependency-management.md`
|
||||
9. Load `skills/progress-tracking.md`
|
||||
10. Generate Mermaid diagram
|
||||
|
||||
### If --tokens flag, THEN ALSO:
|
||||
11. Load `skills/token-budget-report.md`
|
||||
12. **Generate Token Budget Report** - Execute `skills/token-budget-report.md` estimation model
|
||||
- Phase: STATUS (read-only snapshot, not a workflow boundary)
|
||||
- List MCP servers from `.mcp.json` with static overhead estimates
|
||||
- Show current session cost estimate based on skills loaded so far
|
||||
- Display formatted report per the skill's Display Format section
|
||||
|
||||
## Output Format
|
||||
|
||||
See `skills/progress-tracking.md` for the progress display format.
|
||||
### Default Output (no flags)
|
||||
|
||||
```
|
||||
╔══════════════════════════════════════════════════════════════════╗
|
||||
║ 📋 PROJMAN ║
|
||||
║ 📊 STATUS ║
|
||||
║ [Sprint Name] ║
|
||||
╚══════════════════════════════════════════════════════════════════╝
|
||||
|
||||
Sprint State: [Planning|Executing|Blocked|Review|Closing]
|
||||
|
||||
Progress: [██████████░░░░░░░░░░] 50% (5/10 issues)
|
||||
|
||||
| # | Title | Status | Labels |
|
||||
|---|-------|--------|--------|
|
||||
| 123 | Issue title | Open | Priority/High |
|
||||
| 124 | Another issue | Closed | Type/Bug |
|
||||
|
||||
Blockers:
|
||||
- #125: Blocked issue title (Status/Blocked)
|
||||
```
|
||||
|
||||
### Diagram Format (--diagram)
|
||||
|
||||
@@ -68,13 +102,3 @@ flowchart TD
|
||||
| In Progress | Yellow | #FFD700 |
|
||||
| Open | Blue | #ADD8E6 |
|
||||
| Blocked | Red | #FFB6C1 |
|
||||
|
||||
## Visual Output
|
||||
|
||||
```
|
||||
╔══════════════════════════════════════════════════════════════════╗
|
||||
║ 📋 PROJMAN ║
|
||||
║ 📊 STATUS ║
|
||||
║ [Sprint Name] ║
|
||||
╚══════════════════════════════════════════════════════════════════╝
|
||||
```
|
||||
|
||||
115
plugins/projman/skills/token-budget-report.md
Normal file
115
plugins/projman/skills/token-budget-report.md
Normal file
@@ -0,0 +1,115 @@
|
||||
---
|
||||
description: Token consumption estimation model and display format for sprint workflows
|
||||
---
|
||||
|
||||
# Token Budget Report
|
||||
|
||||
## Purpose
|
||||
|
||||
Provides directional token consumption estimates at sprint workflow boundaries. Not exact — Claude Code doesn't expose token metrics — but accurate enough to identify which phases and components consume the most context budget.
|
||||
|
||||
## When to Display
|
||||
|
||||
- End of `/sprint-plan` (after all issues created)
|
||||
- End of `/sprint-close` (after lessons captured)
|
||||
- On explicit request: `/sprint-status --tokens`
|
||||
|
||||
---
|
||||
|
||||
## Estimation Model
|
||||
|
||||
### MCP Tool Definitions (Static Overhead)
|
||||
|
||||
These are loaded once at session start. Update this table if MCP servers change.
|
||||
|
||||
| MCP Server | Default Tools | Est. Tokens | With Module Filter |
|
||||
|------------|--------------|-------------|-------------------|
|
||||
| netbox | 182 | ~19,810 | ~4,500 (dcim,ipam,virt,extras) |
|
||||
| gitea | 36 | ~4,785 | — |
|
||||
| data-platform | 32 | ~3,458 | — |
|
||||
| viz-platform | 20 | ~3,055 | — |
|
||||
| contract-validator | 8 | ~1,048 | — |
|
||||
| **Total (default)** | **278** | **~32,156** | — |
|
||||
| **Total (filtered)** | **~139** | **~16,846** | — |
|
||||
|
||||
### Skill Loading (Per Phase)
|
||||
|
||||
| Phase | Typical Skills Loaded | Est. Tokens |
|
||||
|-------|----------------------|-------------|
|
||||
| Planning (`/sprint-plan`) | mcp-tools-reference, label-taxonomy, sprint-planning, architecture-analysis, rfc-workflow | ~3,000–5,000 |
|
||||
| Execution (`/sprint-start`) | mcp-tools-reference, branch-security, plan-then-batch | ~2,000–3,000 |
|
||||
| Review (`/pm-review`) | mcp-tools-reference, review-checklist | ~1,500–2,500 |
|
||||
| Close (`/sprint-close`) | mcp-tools-reference, sprint-lifecycle, lessons-learned | ~2,000–3,000 |
|
||||
|
||||
To get actual numbers: count characters in each skill file loaded during the phase, divide by 4.
|
||||
|
||||
### Agent Overhead
|
||||
|
||||
| Agent | Model | Est. Overhead per Invocation |
|
||||
|-------|-------|------------------------------|
|
||||
| Planner | sonnet | ~500 tokens (frontmatter + system context) |
|
||||
| Orchestrator | sonnet | ~500 tokens |
|
||||
| Executor | sonnet | ~400 tokens |
|
||||
| Code Reviewer | sonnet | ~400 tokens |
|
||||
|
||||
---
|
||||
|
||||
## Display Format
|
||||
|
||||
```
|
||||
+-- Token Budget Report -----------------------------------------------+
|
||||
| Phase: [PLANNING / CLOSING] |
|
||||
| Sprint: [Sprint Name] |
|
||||
+----------------------------------------------------------------------+
|
||||
| |
|
||||
| MCP Overhead (session-wide): |
|
||||
| netbox ........... ~4,500 tk (filtered: dcim,ipam,virt,extras) |
|
||||
| gitea ............ ~4,785 tk |
|
||||
| data-platform .... ~3,458 tk |
|
||||
| viz-platform ..... ~3,055 tk |
|
||||
| contract-valid ... ~1,048 tk |
|
||||
| Subtotal ......... ~16,846 tk |
|
||||
| |
|
||||
| This Phase: |
|
||||
| Skills loaded .... ~X,XXX tk (N files) |
|
||||
| Agent overhead ... ~X,XXX tk (model: sonnet) |
|
||||
| Command file ..... ~XXX tk |
|
||||
| Subtotal ......... ~X,XXX tk |
|
||||
| |
|
||||
| Estimated Session Total: ~XX,XXX tk |
|
||||
| Typical Claude Code Budget: ~200,000 tk |
|
||||
| Estimated Usage: ~XX% |
|
||||
| |
|
||||
| Tip: Run `/doctor` for exact MCP overhead numbers. |
|
||||
+----------------------------------------------------------------------+
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Instructions for the Agent
|
||||
|
||||
When generating this report:
|
||||
|
||||
1. **MCP Overhead**: List the MCP servers from `.mcp.json` and use the static token estimates from the table above. If `NETBOX_ENABLED_MODULES` is set in the environment, use the filtered estimate for netbox.
|
||||
|
||||
2. **Skills Loaded**: Count the skill files that were loaded (referenced in the command's "Skills Required" section). Estimate tokens by reading each file's character count and dividing by 4.
|
||||
|
||||
3. **Agent Overhead**: Use the table above based on which agent ran during this phase.
|
||||
|
||||
4. **Totals**: Sum the phase subtotal. Add to MCP overhead for session estimate.
|
||||
|
||||
5. **Percentage**: Express as a percentage of ~200,000 tokens (typical Claude Code context window).
|
||||
|
||||
---
|
||||
|
||||
## Accuracy Disclaimer
|
||||
|
||||
These are estimates based on known file sizes and static overhead tables. Actual consumption varies based on:
|
||||
- Conversation length
|
||||
- Tool call results (especially large grep/read outputs)
|
||||
- File content read during the session
|
||||
- Number of agent invocations
|
||||
|
||||
For exact MCP overhead, run `/doctor`.
|
||||
|
||||
This report helps identify which *components* consume the most budget — not the precise total.
|
||||
@@ -99,3 +99,22 @@ For domain gate results displayed by orchestrator:
|
||||
| Hourglass | In progress |
|
||||
| Empty box | Pending / Not started |
|
||||
| Warning | Warning |
|
||||
|
||||
---
|
||||
|
||||
## Token Budget Report
|
||||
|
||||
Displayed at end of planning and closing phases:
|
||||
|
||||
```
|
||||
+-- Token Budget Report -----------------------------------------------+
|
||||
| Phase: [PHASE NAME] |
|
||||
| Sprint: [Sprint Name] |
|
||||
+----------------------------------------------------------------------+
|
||||
| MCP Overhead: ~XX,XXX tk |
|
||||
| Phase Cost: ~X,XXX tk (skills: N, agent: model) |
|
||||
| Est. Total: ~XX,XXX tk (~XX% of budget) |
|
||||
+----------------------------------------------------------------------+
|
||||
```
|
||||
|
||||
See `skills/token-budget-report.md` for full format and estimation model.
|
||||
|
||||
1
plugins/viz-platform/.claude-plugin/metadata.json
Normal file
1
plugins/viz-platform/.claude-plugin/metadata.json
Normal file
@@ -0,0 +1 @@
|
||||
{"mcp_servers": ["viz-platform"]}
|
||||
@@ -44,9 +44,9 @@ If using with data-platform, add this section:
|
||||
## Data + Visualization Workflow
|
||||
|
||||
### Data Loading (data-platform)
|
||||
- `/ingest {file}` - Load CSV, Parquet, or JSON
|
||||
- `/schema {table}` - View database schema
|
||||
- `/profile {data_ref}` - Statistical summary
|
||||
- `/data-ingest {file}` - Load CSV, Parquet, or JSON
|
||||
- `/data-schema {table}` - View database schema
|
||||
- `/data-profile {data_ref}` - Statistical summary
|
||||
|
||||
### Visualization (viz-platform)
|
||||
- `/viz-chart {type}` - Create charts from loaded data
|
||||
|
||||
91
scripts/claude-launch.sh
Executable file
91
scripts/claude-launch.sh
Executable file
@@ -0,0 +1,91 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# claude-launch.sh - Launch Claude Code with task-specific plugin profiles
|
||||
#
|
||||
# Usage: ./scripts/claude-launch.sh [profile] [extra-args...]
|
||||
#
|
||||
# Profiles:
|
||||
# sprint - Project management, git, PR review, security, docs (default)
|
||||
# infra - Infrastructure/CMDB management
|
||||
# data - Data engineering and visualization
|
||||
# review - Code review only (lightweight)
|
||||
# full - All plugins via marketplace.json (~22K tokens)
|
||||
#
|
||||
# Examples:
|
||||
# ./scripts/claude-launch.sh # Default sprint profile
|
||||
# ./scripts/claude-launch.sh sprint # Explicit sprint profile
|
||||
# ./scripts/claude-launch.sh data --model opus # Data profile with Opus
|
||||
# ./scripts/claude-launch.sh full # Load all plugins
|
||||
#
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# Colors for output
|
||||
CYAN='\033[0;36m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Script directory (for relative plugin paths)
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
REPO_ROOT="$(dirname "$SCRIPT_DIR")"
|
||||
PLUGINS_DIR="$REPO_ROOT/plugins"
|
||||
|
||||
# Default profile
|
||||
PROFILE="${1:-sprint}"
|
||||
|
||||
# Shift profile arg if provided (to pass remaining args to claude)
|
||||
if [[ $# -gt 0 ]]; then
|
||||
shift
|
||||
fi
|
||||
|
||||
# Define plugin lists for each profile
|
||||
declare -A PROFILES
|
||||
PROFILES[sprint]="projman git-flow pr-review code-sentinel doc-guardian clarity-assist"
|
||||
PROFILES[infra]="cmdb-assistant"
|
||||
PROFILES[data]="data-platform viz-platform"
|
||||
PROFILES[review]="pr-review code-sentinel"
|
||||
PROFILES[full]="" # Empty = use marketplace.json
|
||||
|
||||
# Validate profile
|
||||
if [[ ! ${PROFILES[$PROFILE]+_} ]]; then
|
||||
echo -e "${YELLOW}Unknown profile: $PROFILE${NC}"
|
||||
echo "Available profiles: sprint, infra, data, review, full"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Build --plugin-dir arguments
|
||||
PLUGIN_ARGS=()
|
||||
PLUGIN_LIST="${PROFILES[$PROFILE]}"
|
||||
|
||||
if [[ -n "$PLUGIN_LIST" ]]; then
|
||||
echo -e "${CYAN}Profile: $PROFILE${NC}"
|
||||
echo -e "${GREEN}Loading plugins:${NC}"
|
||||
|
||||
for plugin in $PLUGIN_LIST; do
|
||||
plugin_path="$PLUGINS_DIR/$plugin"
|
||||
if [[ -d "$plugin_path" ]]; then
|
||||
echo " • $plugin"
|
||||
PLUGIN_ARGS+=("--plugin-dir" "$plugin_path")
|
||||
else
|
||||
echo -e "${YELLOW} ⚠ $plugin (not found at $plugin_path)${NC}"
|
||||
fi
|
||||
done
|
||||
echo ""
|
||||
else
|
||||
echo -e "${CYAN}Profile: full${NC}"
|
||||
echo -e "${GREEN}Loading all plugins via marketplace.json${NC}"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# Enable MCP Tool Search for deferred tool loading
|
||||
export ENABLE_TOOL_SEARCH=true
|
||||
echo -e "${GREEN}MCP Tool Search: enabled${NC}"
|
||||
echo ""
|
||||
|
||||
# Launch claude with plugin args and any extra arguments
|
||||
if [[ ${#PLUGIN_ARGS[@]} -gt 0 ]]; then
|
||||
exec claude "${PLUGIN_ARGS[@]}" "$@"
|
||||
else
|
||||
exec claude "$@"
|
||||
fi
|
||||
@@ -116,19 +116,19 @@ validate_target() {
|
||||
}
|
||||
|
||||
# --- Get MCP Servers for Plugin ---
|
||||
# Reads the mcp_servers array from plugin.json
|
||||
# Reads the mcp_servers array from metadata.json (separate from plugin.json to avoid schema validation issues)
|
||||
# Returns newline-separated list of MCP server names, or empty if none
|
||||
get_mcp_servers() {
|
||||
local plugin_name="$1"
|
||||
local plugin_json="$REPO_ROOT/plugins/$plugin_name/.claude-plugin/plugin.json"
|
||||
local metadata_json="$REPO_ROOT/plugins/$plugin_name/.claude-plugin/metadata.json"
|
||||
|
||||
if [[ ! -f "$plugin_json" ]]; then
|
||||
if [[ ! -f "$metadata_json" ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
# Read mcp_servers array from plugin.json
|
||||
# Read mcp_servers array from metadata.json
|
||||
# Returns empty if field doesn't exist or is empty
|
||||
jq -r '.mcp_servers // [] | .[]' "$plugin_json" 2>/dev/null || true
|
||||
jq -r '.mcp_servers // [] | .[]' "$metadata_json" 2>/dev/null || true
|
||||
}
|
||||
|
||||
# --- Check if plugin has any MCP servers ---
|
||||
|
||||
@@ -68,16 +68,16 @@ get_available_plugins() {
|
||||
}
|
||||
|
||||
# --- Get MCP Servers for Plugin ---
|
||||
# Reads the mcp_servers array from plugin.json
|
||||
# Reads the mcp_servers array from metadata.json (separate from plugin.json to avoid schema validation issues)
|
||||
get_mcp_servers() {
|
||||
local plugin_name="$1"
|
||||
local plugin_json="$REPO_ROOT/plugins/$plugin_name/.claude-plugin/plugin.json"
|
||||
local metadata_json="$REPO_ROOT/plugins/$plugin_name/.claude-plugin/metadata.json"
|
||||
|
||||
if [[ ! -f "$plugin_json" ]]; then
|
||||
if [[ ! -f "$metadata_json" ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
jq -r '.mcp_servers // [] | .[]' "$plugin_json" 2>/dev/null || true
|
||||
jq -r '.mcp_servers // [] | .[]' "$metadata_json" 2>/dev/null || true
|
||||
}
|
||||
|
||||
# --- Check if plugin has any MCP servers defined ---
|
||||
|
||||
61
scripts/switch-profile.sh
Executable file
61
scripts/switch-profile.sh
Executable file
@@ -0,0 +1,61 @@
|
||||
#!/usr/bin/env bash
|
||||
# Switch between marketplace profiles
|
||||
# Usage: ./scripts/switch-profile.sh [lean|full]
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
echo "⚠️ DEPRECATED: use scripts/claude-launch.sh instead." >&2
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
ROOT_DIR="$(dirname "$SCRIPT_DIR")"
|
||||
MARKETPLACE_DIR="$ROOT_DIR/.claude-plugin"
|
||||
|
||||
case "${1:-lean}" in
|
||||
lean)
|
||||
cp "$MARKETPLACE_DIR/marketplace-lean.json" "$MARKETPLACE_DIR/marketplace.json"
|
||||
cp "$ROOT_DIR/.mcp-lean.json" "$ROOT_DIR/.mcp.json"
|
||||
rm -rf ~/.claude/plugins/cache/
|
||||
echo "Switched to LEAN profile (6 plugins, 1 MCP server)"
|
||||
echo "Plugin cache cleared."
|
||||
echo ""
|
||||
echo "Plugins: projman, git-flow, pr-review, clarity-assist, code-sentinel, doc-guardian"
|
||||
echo "MCP: gitea only"
|
||||
echo ""
|
||||
echo "Restart Claude Code session for changes to take effect."
|
||||
;;
|
||||
full)
|
||||
cp "$MARKETPLACE_DIR/marketplace-full.json" "$MARKETPLACE_DIR/marketplace.json"
|
||||
cp "$ROOT_DIR/.mcp-full.json" "$ROOT_DIR/.mcp.json"
|
||||
rm -rf ~/.claude/plugins/cache/
|
||||
echo "Switched to FULL profile (12 plugins, 5 MCP servers)"
|
||||
echo "Plugin cache cleared."
|
||||
echo ""
|
||||
echo "Plugins: all"
|
||||
echo "MCP: gitea, netbox, data-platform, viz-platform, contract-validator"
|
||||
echo ""
|
||||
echo "Restart Claude Code session for changes to take effect."
|
||||
;;
|
||||
status)
|
||||
# Check current profile by comparing files
|
||||
if diff -q "$MARKETPLACE_DIR/marketplace.json" "$MARKETPLACE_DIR/marketplace-lean.json" >/dev/null 2>&1; then
|
||||
echo "Current profile: LEAN (6 plugins, 1 MCP server)"
|
||||
elif diff -q "$MARKETPLACE_DIR/marketplace.json" "$MARKETPLACE_DIR/marketplace-full.json" >/dev/null 2>&1; then
|
||||
echo "Current profile: FULL (12 plugins, 5 MCP servers)"
|
||||
else
|
||||
echo "Current profile: CUSTOM (marketplace.json differs from both profiles)"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 [lean|full|status]"
|
||||
echo ""
|
||||
echo "Profiles:"
|
||||
echo " lean — 6 core plugins (projman, git-flow, pr-review, clarity-assist, code-sentinel, doc-guardian)"
|
||||
echo " 1 MCP server (gitea only)"
|
||||
echo " full — All 12 plugins"
|
||||
echo " 5 MCP servers (gitea, netbox, data-platform, viz-platform, contract-validator)"
|
||||
echo " status — Show current profile"
|
||||
echo ""
|
||||
echo "Note: Restart Claude Code session after switching for changes to take effect."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -77,19 +77,19 @@ validate_target() {
|
||||
}
|
||||
|
||||
# --- Get MCP Servers for Plugin ---
|
||||
# Reads the mcp_servers array from plugin.json
|
||||
# Reads the mcp_servers array from metadata.json (separate from plugin.json to avoid schema validation issues)
|
||||
# Returns newline-separated list of MCP server names, or empty if none
|
||||
get_mcp_servers() {
|
||||
local plugin_name="$1"
|
||||
local plugin_json="$REPO_ROOT/plugins/$plugin_name/.claude-plugin/plugin.json"
|
||||
local metadata_json="$REPO_ROOT/plugins/$plugin_name/.claude-plugin/metadata.json"
|
||||
|
||||
if [[ ! -f "$plugin_json" ]]; then
|
||||
if [[ ! -f "$metadata_json" ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
# Read mcp_servers array from plugin.json
|
||||
# Read mcp_servers array from metadata.json
|
||||
# Returns empty if field doesn't exist or is empty
|
||||
jq -r '.mcp_servers // [] | .[]' "$plugin_json" 2>/dev/null || true
|
||||
jq -r '.mcp_servers // [] | .[]' "$metadata_json" 2>/dev/null || true
|
||||
}
|
||||
|
||||
# --- Remove from .mcp.json ---
|
||||
|
||||
@@ -206,6 +206,35 @@ for plugin_dir in "$PLUGINS_DIR"/*/; do
|
||||
echo "✓ $plugin_name valid"
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "=== Validating Plugin Metadata (MCP Mappings) ==="
|
||||
|
||||
for plugin_dir in "$PLUGINS_DIR"/*/; do
|
||||
plugin_name=$(basename "$plugin_dir")
|
||||
metadata_json="$plugin_dir.claude-plugin/metadata.json"
|
||||
|
||||
if jq -e '.mcp_servers' "$plugin_dir.claude-plugin/plugin.json" >/dev/null 2>&1; then
|
||||
echo "ERROR: $plugin_name/plugin.json contains 'mcp_servers' — move to metadata.json"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -f "$metadata_json" ]]; then
|
||||
if ! jq empty "$metadata_json" 2>/dev/null; then
|
||||
echo "ERROR: Invalid JSON in $plugin_name/.claude-plugin/metadata.json"
|
||||
exit 1
|
||||
fi
|
||||
mcp_servers=$(jq -r '.mcp_servers // [] | .[]' "$metadata_json" 2>/dev/null)
|
||||
for server in $mcp_servers; do
|
||||
if [[ ! -d "$ROOT_DIR/mcp-servers/$server" ]]; then
|
||||
echo "ERROR: $plugin_name metadata.json references '$server' but mcp-servers/$server/ missing"
|
||||
exit 1
|
||||
fi
|
||||
echo " ✓ $plugin_name → $server"
|
||||
done
|
||||
fi
|
||||
done
|
||||
echo "✓ Plugin metadata validation passed"
|
||||
|
||||
# CRITICAL: Validate marketplace.json file references
|
||||
echo ""
|
||||
echo "=== Validating Marketplace File References (CRITICAL) ==="
|
||||
|
||||
Reference in New Issue
Block a user