Compare commits
48 Commits
079e119726
...
v5.4.0
| Author | SHA1 | Date | |
|---|---|---|---|
| 59cc67f857 | |||
| 6e9b703151 | |||
| b603743811 | |||
| a63ccc079d | |||
| d4481ec09f | |||
| 50951378f7 | |||
| b3975c2f4f | |||
| 8a95e061ad | |||
| 4983cc9feb | |||
| cf4d1b595c | |||
| 5aff53972e | |||
| d429319392 | |||
| 6613ef1d67 | |||
| 5b1b0f609c | |||
| 0acd42ea65 | |||
| 6619d0a2fb | |||
| 8c1890c258 | |||
| e44d97edc2 | |||
| dc96207da7 | |||
| c998c0a2dc | |||
| 14633736aa | |||
| af46046bc8 | |||
| f669479122 | |||
| dc08ce1439 | |||
| d457e458a8 | |||
| 7c4959fb77 | |||
| ba4db941ab | |||
| 1dad393eaf | |||
| 2173f3389a | |||
| d8971efafe | |||
| e3a8ebd4da | |||
| fab1345bcb | |||
| 193908721c | |||
| 7e9f70d0a7 | |||
| 86413c4801 | |||
| b5d36865ee | |||
| 79ee93ea88 | |||
| 3561025dfc | |||
| 36e6ac2dd0 | |||
| d27c440631 | |||
| e56d685a68 | |||
| 3e0e779803 | |||
| 5638891d01 | |||
| 611b50b150 | |||
| 74198743ab | |||
| cde5c67134 | |||
| baad41da98 | |||
| d57bff184e |
@@ -6,12 +6,12 @@
|
||||
},
|
||||
"metadata": {
|
||||
"description": "Project management plugins with Gitea and NetBox integrations",
|
||||
"version": "5.1.0"
|
||||
"version": "5.4.0"
|
||||
},
|
||||
"plugins": [
|
||||
{
|
||||
"name": "projman",
|
||||
"version": "3.2.0",
|
||||
"version": "3.3.0",
|
||||
"description": "Sprint planning and project management with Gitea integration",
|
||||
"source": "./plugins/projman",
|
||||
"author": {
|
||||
@@ -27,7 +27,7 @@
|
||||
},
|
||||
{
|
||||
"name": "doc-guardian",
|
||||
"version": "1.0.0",
|
||||
"version": "1.1.0",
|
||||
"description": "Automatic documentation drift detection and synchronization",
|
||||
"source": "./plugins/doc-guardian",
|
||||
"author": {
|
||||
@@ -75,7 +75,7 @@
|
||||
},
|
||||
{
|
||||
"name": "cmdb-assistant",
|
||||
"version": "1.1.0",
|
||||
"version": "1.2.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.0.0",
|
||||
"version": "1.1.0",
|
||||
"description": "CLAUDE.md optimization and maintenance for Claude Code projects",
|
||||
"source": "./plugins/claude-config-maintainer",
|
||||
"author": {
|
||||
@@ -106,7 +106,7 @@
|
||||
},
|
||||
{
|
||||
"name": "clarity-assist",
|
||||
"version": "1.0.0",
|
||||
"version": "1.2.0",
|
||||
"description": "Prompt optimization and requirement clarification with ND-friendly accommodations",
|
||||
"source": "./plugins/clarity-assist",
|
||||
"author": {
|
||||
@@ -121,7 +121,7 @@
|
||||
},
|
||||
{
|
||||
"name": "git-flow",
|
||||
"version": "1.0.0",
|
||||
"version": "1.2.0",
|
||||
"description": "Git workflow automation with intelligent commit messages and branch management",
|
||||
"source": "./plugins/git-flow",
|
||||
"author": {
|
||||
@@ -136,7 +136,7 @@
|
||||
},
|
||||
{
|
||||
"name": "pr-review",
|
||||
"version": "1.0.0",
|
||||
"version": "1.1.0",
|
||||
"description": "Multi-agent pull request review with confidence scoring and actionable feedback",
|
||||
"source": "./plugins/pr-review",
|
||||
"author": {
|
||||
@@ -152,7 +152,7 @@
|
||||
},
|
||||
{
|
||||
"name": "data-platform",
|
||||
"version": "1.0.0",
|
||||
"version": "1.2.0",
|
||||
"description": "Data engineering tools with pandas, PostgreSQL/PostGIS, and dbt integration",
|
||||
"source": "./plugins/data-platform",
|
||||
"author": {
|
||||
@@ -168,7 +168,7 @@
|
||||
},
|
||||
{
|
||||
"name": "viz-platform",
|
||||
"version": "1.0.0",
|
||||
"version": "1.1.0",
|
||||
"description": "Visualization tools with Dash Mantine Components validation, Plotly charts, and theming",
|
||||
"source": "./plugins/viz-platform",
|
||||
"author": {
|
||||
@@ -184,7 +184,7 @@
|
||||
},
|
||||
{
|
||||
"name": "contract-validator",
|
||||
"version": "1.0.0",
|
||||
"version": "1.2.0",
|
||||
"description": "Cross-plugin compatibility validation and Claude.md agent verification",
|
||||
"source": "./plugins/contract-validator",
|
||||
"author": {
|
||||
|
||||
112
CHANGELOG.md
112
CHANGELOG.md
@@ -4,10 +4,119 @@ 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/).
|
||||
|
||||
## [Unreleased]
|
||||
## [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
|
||||
|
||||
### Added
|
||||
|
||||
#### Sprint 5: Documentation (V5.2.0 Plugin Enhancements)
|
||||
Documentation and guides for the plugin enhancements initiative.
|
||||
|
||||
**git-flow v1.2.0:**
|
||||
- **Branching Strategy Guide** (`docs/BRANCHING-STRATEGY.md`) - Complete documentation of `development -> staging -> main` promotion flow with Mermaid diagrams
|
||||
|
||||
**clarity-assist v1.2.0:**
|
||||
- **ND Support Guide** (`docs/ND-SUPPORT.md`) - Documentation of neurodivergent accommodations, features, and usage examples
|
||||
|
||||
**Gitea MCP Server:**
|
||||
- **`update_issue` milestone parameter** - Can now assign/change milestones programmatically
|
||||
|
||||
**Sprint Completed:**
|
||||
- Milestone: Sprint 5 - Documentation (closed 2026-01-28)
|
||||
- Issues: #266, #267, #268, #269
|
||||
- Wiki: [Change V5.2.0: Plugin Enhancements (Sprint 5 Documentation)](https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/wiki/Change-V5.2.0%3A-Plugin-Enhancements-%28Sprint-5-Documentation%29)
|
||||
|
||||
---
|
||||
|
||||
#### Sprint 4: Commands (V5.2.0 Plugin Enhancements)
|
||||
Implementation of 18 new user-facing commands across 8 plugins.
|
||||
|
||||
@@ -55,6 +164,7 @@ Implementation of 18 new user-facing commands across 8 plugins.
|
||||
|
||||
### Fixed
|
||||
- **MCP:** Project directory detection - all run.sh scripts now capture `CLAUDE_PROJECT_DIR` from PWD before changing directories
|
||||
- **Docs:** Added Gitea auto-close behavior and MCP session restart notes to DEBUGGING-CHECKLIST.md
|
||||
|
||||
---
|
||||
|
||||
|
||||
142
CLAUDE.md
142
CLAUDE.md
@@ -1,48 +1,44 @@
|
||||
# CLAUDE.md
|
||||
|
||||
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
|
||||
- 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**
|
||||
### Behavioral Rules
|
||||
|
||||
### 2. WHEN USER SAYS SOMETHING IS WRONG - BELIEVE THEM
|
||||
- The user knows their system better than you
|
||||
- Investigate thoroughly before disagreeing
|
||||
- If user suspects cache, CHECK THE CACHE
|
||||
- If user suspects a file, READ THE FILE
|
||||
- **Your confidence is often wrong. User's instincts are often right.**
|
||||
| Rule | Summary |
|
||||
|------|---------|
|
||||
| **Check everything** | Search cache (`~/.claude/plugins/cache/`), installed (`~/.claude/plugins/marketplaces/`), and source (`~/claude-plugins-work/`) |
|
||||
| **Believe the user** | User knows their system. Investigate before disagreeing. |
|
||||
| **Verify before "done"** | Run commands, show output, check all locations. "Done" = verified working. |
|
||||
| **Show what's asked** | Don't interpret or summarize unless asked. |
|
||||
|
||||
### 3. NEVER SAY "DONE" WITHOUT VERIFICATION
|
||||
- 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"**
|
||||
### After Plugin Updates
|
||||
|
||||
### 4. SHOW EXACTLY WHAT USER ASKS FOR
|
||||
- If user asks for messages, show the MESSAGES
|
||||
- If user asks for code, show the CODE
|
||||
- If user asks for output, show the OUTPUT
|
||||
- **Don't interpret or summarize unless asked**
|
||||
Run `./scripts/verify-hooks.sh`. If changes affect MCP servers or hooks, inform user to restart session.
|
||||
**DO NOT clear cache mid-session** - breaks loaded MCP tools.
|
||||
|
||||
### 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
|
||||
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)
|
||||
### Repository Rules
|
||||
|
||||
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
|
||||
|
||||
**Repository:** leo-claude-mktplace
|
||||
**Version:** 5.1.0
|
||||
**Version:** 5.4.0
|
||||
**Status:** Production Ready
|
||||
|
||||
A plugin marketplace for Claude Code containing:
|
||||
|
||||
| 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 |
|
||||
| `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 |
|
||||
| `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 |
|
||||
| `cmdb-assistant` | NetBox CMDB integration for infrastructure management | 1.0.0 |
|
||||
| `data-platform` | pandas, PostgreSQL, and dbt integration for data engineering | 1.0.0 |
|
||||
| `viz-platform` | DMC validation, Plotly charts, and theming for dashboards | 1.0.0 |
|
||||
| `contract-validator` | Cross-plugin compatibility validation and agent verification | 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.1.0 |
|
||||
| `viz-platform` | DMC validation, Plotly charts, and theming for dashboards | 1.1.0 |
|
||||
| `contract-validator` | Cross-plugin compatibility validation and agent verification | 1.1.0 |
|
||||
| `project-hygiene` | Post-task cleanup automation via hooks | 0.1.0 |
|
||||
|
||||
## Quick Start
|
||||
@@ -85,16 +81,17 @@ A plugin marketplace for Claude Code containing:
|
||||
| Category | Commands |
|
||||
|----------|----------|
|
||||
| **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` |
|
||||
| **Versioning** | `/suggest-version` |
|
||||
| **PR Review** | `/pr-review:initial-setup`, `/pr-review:project-init` |
|
||||
| **Docs** | `/doc-audit`, `/doc-sync` |
|
||||
| **PR Review** | `/pr-review`, `/pr-summary`, `/pr-findings`, `/pr-diff` |
|
||||
| **Docs** | `/doc-audit`, `/doc-sync`, `/changelog-gen`, `/doc-coverage`, `/stale-docs` |
|
||||
| **Security** | `/security-scan`, `/refactor`, `/refactor-dry` |
|
||||
| **Config** | `/config-analyze`, `/config-optimize` |
|
||||
| **Data** | `/ingest`, `/profile`, `/schema`, `/explain`, `/lineage`, `/run` |
|
||||
| **Visualization** | `/component`, `/chart`, `/dashboard`, `/theme`, `/theme-new`, `/theme-css` |
|
||||
| **Validation** | `/validate-contracts`, `/check-agent`, `/list-interfaces` |
|
||||
| **Config** | `/config-analyze`, `/config-optimize`, `/config-diff`, `/config-lint` |
|
||||
| **Data** | `/ingest`, `/profile`, `/schema`, `/explain`, `/lineage`, `/lineage-viz`, `/run`, `/dbt-test`, `/data-quality` |
|
||||
| **Visualization** | `/component`, `/chart`, `/chart-export`, `/dashboard`, `/theme`, `/theme-new`, `/theme-css`, `/accessibility-check`, `/breakpoints` |
|
||||
| **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` |
|
||||
|
||||
## Repository Structure
|
||||
@@ -161,40 +158,6 @@ leo-claude-mktplace/
|
||||
└── 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
|
||||
|
||||
### 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.
|
||||
|
||||
### 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 Pattern | Mode | Capabilities |
|
||||
@@ -376,4 +354,4 @@ The script will:
|
||||
|
||||
---
|
||||
|
||||
**Last Updated:** 2026-01-24
|
||||
**Last Updated:** 2026-01-28
|
||||
|
||||
18
README.md
18
README.md
@@ -1,4 +1,4 @@
|
||||
# Leo Claude Marketplace - v5.1.0
|
||||
# Leo Claude Marketplace - v5.4.0
|
||||
|
||||
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)
|
||||
- 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 Workflow Automation**
|
||||
@@ -44,14 +44,14 @@ Comprehensive pull request review using specialized agents.
|
||||
- Actionable feedback with suggested fixes
|
||||
- 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.md Optimization and Maintenance**
|
||||
|
||||
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*
|
||||
**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
|
||||
- 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
|
||||
|
||||
@@ -84,7 +84,7 @@ Transform vague requests into clear specifications using structured methodology.
|
||||
|
||||
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)
|
||||
**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.
|
||||
|
||||
**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
|
||||
|
||||
@@ -122,7 +122,7 @@ Comprehensive data engineering toolkit with persistent DataFrame storage.
|
||||
- 100k row limit with chunking support
|
||||
- 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
|
||||
|
||||
@@ -138,7 +138,7 @@ Visualization toolkit with version-locked component validation and design token
|
||||
- 5 Page tools for multi-page app structure
|
||||
- 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
|
||||
|
||||
|
||||
@@ -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** | `/suggest-version` | | X | Analyze CHANGELOG and recommend semantic version bump |
|
||||
| **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-push` | | X | Commit and push to remote in one operation |
|
||||
| **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-summary` | | X | Quick summary of PR changes |
|
||||
| **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** | `/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-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 |
|
||||
| **code-sentinel** | `/security-scan` | | X | Full security audit (SQL injection, XSS, secrets, etc.) |
|
||||
| **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-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-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** | `/cmdb-search` | | X | Search NetBox for devices, IPs, sites |
|
||||
| **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-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-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 |
|
||||
| **data-platform** | `/ingest` | | X | Load data from CSV, Parquet, JSON into DataFrame |
|
||||
| **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** | `/lineage` | | X | Show dbt model lineage and dependencies |
|
||||
| **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** | *SessionStart hook* | X | | Checks PostgreSQL connection (non-blocking warning) |
|
||||
| **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-css` | | X | Export theme as CSS custom properties |
|
||||
| **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) |
|
||||
| **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 |
|
||||
| **Data Engineering** | data-platform | pandas, PostgreSQL, dbt operations |
|
||||
| **Visualization** | viz-platform | DMC validation, Plotly charts, theming |
|
||||
| **Validation** | contract-validator | Cross-plugin compatibility checks |
|
||||
| **Maintenance** | project-hygiene | Automatic cleanup |
|
||||
|
||||
---
|
||||
@@ -249,9 +271,10 @@ Some plugins require MCP server connectivity:
|
||||
| cmdb-assistant | NetBox | Infrastructure CMDB |
|
||||
| data-platform | pandas, PostgreSQL, dbt | DataFrames, database queries, dbt builds |
|
||||
| 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`.
|
||||
|
||||
---
|
||||
|
||||
*Last Updated: 2026-01-26*
|
||||
*Last Updated: 2026-01-28*
|
||||
|
||||
@@ -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
|
||||
|
||||
1. **Never commit tokens**
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
**Purpose:** Systematic approach to diagnose and fix plugin loading issues.
|
||||
|
||||
Last Updated: 2026-01-22
|
||||
Last Updated: 2026-01-28
|
||||
|
||||
---
|
||||
|
||||
@@ -186,6 +186,47 @@ echo -e "\n=== Config Files ==="
|
||||
| Wrong path edits | Changes don't take effect | Edit installed path or reinstall after source changes |
|
||||
| Missing credentials | MCP connection errors | Create `~/.config/claude/gitea.env` with API credentials |
|
||||
| Invalid hook events | Hooks don't fire | Use only valid event names (see Step 7) |
|
||||
| Gitea issues not closing | Merged to non-default branch | Manually close issues (see below) |
|
||||
| MCP changes not taking effect | Session caching | Restart Claude Code session (see below) |
|
||||
|
||||
### Gitea Auto-Close Behavior
|
||||
|
||||
**Issue:** Using `Closes #XX` or `Fixes #XX` in commit/PR messages does NOT auto-close issues when merging to `development`.
|
||||
|
||||
**Root Cause:** Gitea only auto-closes issues when merging to the **default branch** (typically `main` or `master`). Merging to `development`, `staging`, or any other branch will NOT trigger auto-close.
|
||||
|
||||
**Workaround:**
|
||||
1. Use the Gitea MCP tool to manually close issues after merging to development:
|
||||
```
|
||||
mcp__plugin_projman_gitea__update_issue(issue_number=XX, state="closed")
|
||||
```
|
||||
2. Or close issues via the Gitea web UI
|
||||
3. The auto-close keywords will still work when the changes are eventually merged to `main`
|
||||
|
||||
**Recommendation:** Include the `Closes #XX` keywords in commits anyway - they'll work when the final merge to `main` happens.
|
||||
|
||||
### MCP Session Restart Requirement
|
||||
|
||||
**Issue:** Changes to MCP servers, hooks, or plugin configuration don't take effect immediately.
|
||||
|
||||
**Root Cause:** Claude Code loads MCP tools and plugin configuration at session start. These are cached in session memory and not reloaded dynamically.
|
||||
|
||||
**What requires a session restart:**
|
||||
- MCP server code changes (Python files in `mcp-servers/`)
|
||||
- Changes to `.mcp.json` files
|
||||
- Changes to `hooks/hooks.json`
|
||||
- Changes to `plugin.json`
|
||||
- Adding new MCP tools or modifying tool signatures
|
||||
|
||||
**What does NOT require a restart:**
|
||||
- Command/skill markdown files (`.md`) - these are read on invocation
|
||||
- Agent markdown files - read when agent is invoked
|
||||
|
||||
**Correct workflow after plugin changes:**
|
||||
1. Make changes to source files
|
||||
2. Run `./scripts/verify-hooks.sh` to validate
|
||||
3. Inform user: "Please restart Claude Code for changes to take effect"
|
||||
4. **Do NOT clear cache mid-session** - see "Cache Clearing" section
|
||||
|
||||
---
|
||||
|
||||
|
||||
149
docs/MODEL-RECOMMENDATIONS.md
Normal file
149
docs/MODEL-RECOMMENDATIONS.md
Normal 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
|
||||
@@ -53,6 +53,7 @@ class GiteaClient:
|
||||
self,
|
||||
state: str = 'open',
|
||||
labels: Optional[List[str]] = None,
|
||||
milestone: Optional[str] = None,
|
||||
repo: Optional[str] = None
|
||||
) -> List[Dict]:
|
||||
"""
|
||||
@@ -61,6 +62,7 @@ class GiteaClient:
|
||||
Args:
|
||||
state: Issue state (open, closed, all)
|
||||
labels: Filter by labels
|
||||
milestone: Filter by milestone title (exact match)
|
||||
repo: Repository in 'owner/repo' format
|
||||
|
||||
Returns:
|
||||
@@ -71,6 +73,8 @@ class GiteaClient:
|
||||
params = {'state': state}
|
||||
if labels:
|
||||
params['labels'] = ','.join(labels)
|
||||
if milestone:
|
||||
params['milestones'] = milestone
|
||||
logger.info(f"Listing issues from {owner}/{target_repo} with state={state}")
|
||||
response = self.session.get(url, params=params)
|
||||
response.raise_for_status()
|
||||
@@ -135,9 +139,24 @@ class GiteaClient:
|
||||
body: Optional[str] = None,
|
||||
state: Optional[str] = None,
|
||||
labels: Optional[List[str]] = None,
|
||||
milestone: Optional[int] = None,
|
||||
repo: Optional[str] = None
|
||||
) -> Dict:
|
||||
"""Update existing issue. Repo must be 'owner/repo' format."""
|
||||
"""
|
||||
Update existing issue.
|
||||
|
||||
Args:
|
||||
issue_number: Issue number to update
|
||||
title: New title (optional)
|
||||
body: New body (optional)
|
||||
state: New state - 'open' or 'closed' (optional)
|
||||
labels: New labels (optional)
|
||||
milestone: Milestone ID to assign (optional)
|
||||
repo: Repository in 'owner/repo' format
|
||||
|
||||
Returns:
|
||||
Updated issue dictionary
|
||||
"""
|
||||
owner, target_repo = self._parse_repo(repo)
|
||||
url = f"{self.base_url}/repos/{owner}/{target_repo}/issues/{issue_number}"
|
||||
data = {}
|
||||
@@ -149,6 +168,8 @@ class GiteaClient:
|
||||
data['state'] = state
|
||||
if labels is not None:
|
||||
data['labels'] = labels
|
||||
if milestone is not None:
|
||||
data['milestone'] = milestone
|
||||
logger.info(f"Updating issue #{issue_number} in {owner}/{target_repo}")
|
||||
response = self.session.patch(url, json=data)
|
||||
response.raise_for_status()
|
||||
|
||||
@@ -26,6 +26,44 @@ logging.getLogger("mcp").setLevel(logging.ERROR)
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def _coerce_types(arguments: dict) -> dict:
|
||||
"""
|
||||
Coerce argument types to handle MCP serialization quirks.
|
||||
|
||||
MCP sometimes passes integers as strings and arrays as JSON strings.
|
||||
This function normalizes them to the expected Python types.
|
||||
"""
|
||||
coerced = {}
|
||||
for key, value in arguments.items():
|
||||
if value is None:
|
||||
coerced[key] = value
|
||||
continue
|
||||
|
||||
# Coerce integer fields
|
||||
int_fields = {'issue_number', 'milestone_id', 'pr_number', 'depends_on', 'milestone', 'limit'}
|
||||
if key in int_fields and isinstance(value, str):
|
||||
try:
|
||||
coerced[key] = int(value)
|
||||
continue
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
# Coerce array fields that might be JSON strings
|
||||
array_fields = {'labels', 'tags', 'issue_numbers', 'comments'}
|
||||
if key in array_fields and isinstance(value, str):
|
||||
try:
|
||||
parsed = json.loads(value)
|
||||
if isinstance(parsed, list):
|
||||
coerced[key] = parsed
|
||||
continue
|
||||
except json.JSONDecodeError:
|
||||
pass
|
||||
|
||||
coerced[key] = value
|
||||
|
||||
return coerced
|
||||
|
||||
|
||||
class GiteaMCPServer:
|
||||
"""MCP Server for Gitea integration"""
|
||||
|
||||
@@ -88,6 +126,10 @@ class GiteaMCPServer:
|
||||
"items": {"type": "string"},
|
||||
"description": "Filter by labels"
|
||||
},
|
||||
"milestone": {
|
||||
"type": "string",
|
||||
"description": "Filter by milestone title (exact match)"
|
||||
},
|
||||
"repo": {
|
||||
"type": "string",
|
||||
"description": "Repository name (for PMO mode)"
|
||||
@@ -168,6 +210,10 @@ class GiteaMCPServer:
|
||||
"items": {"type": "string"},
|
||||
"description": "New labels"
|
||||
},
|
||||
"milestone": {
|
||||
"type": "integer",
|
||||
"description": "Milestone ID to assign"
|
||||
},
|
||||
"repo": {
|
||||
"type": "string",
|
||||
"description": "Repository name (for PMO mode)"
|
||||
@@ -895,6 +941,9 @@ class GiteaMCPServer:
|
||||
List of TextContent with results
|
||||
"""
|
||||
try:
|
||||
# Coerce types to handle MCP serialization quirks
|
||||
arguments = _coerce_types(arguments)
|
||||
|
||||
# Route to appropriate tool handler
|
||||
if name == "list_issues":
|
||||
result = await self.issue_tools.list_issues(**arguments)
|
||||
|
||||
@@ -98,6 +98,7 @@ class IssueTools:
|
||||
self,
|
||||
state: str = 'open',
|
||||
labels: Optional[List[str]] = None,
|
||||
milestone: Optional[str] = None,
|
||||
repo: Optional[str] = None
|
||||
) -> List[Dict]:
|
||||
"""
|
||||
@@ -106,6 +107,7 @@ class IssueTools:
|
||||
Args:
|
||||
state: Issue state (open, closed, all)
|
||||
labels: Filter by labels
|
||||
milestone: Filter by milestone title (exact match)
|
||||
repo: Override configured repo (for PMO multi-repo)
|
||||
|
||||
Returns:
|
||||
@@ -124,7 +126,7 @@ class IssueTools:
|
||||
loop = asyncio.get_event_loop()
|
||||
return await loop.run_in_executor(
|
||||
None,
|
||||
lambda: self.gitea.list_issues(state, labels, repo)
|
||||
lambda: self.gitea.list_issues(state, labels, milestone, repo)
|
||||
)
|
||||
|
||||
async def get_issue(
|
||||
@@ -200,6 +202,7 @@ class IssueTools:
|
||||
body: Optional[str] = None,
|
||||
state: Optional[str] = None,
|
||||
labels: Optional[List[str]] = None,
|
||||
milestone: Optional[int] = None,
|
||||
repo: Optional[str] = None
|
||||
) -> Dict:
|
||||
"""
|
||||
@@ -211,6 +214,7 @@ class IssueTools:
|
||||
body: New body (optional)
|
||||
state: New state - 'open' or 'closed' (optional)
|
||||
labels: New labels (optional)
|
||||
milestone: Milestone ID to assign (optional)
|
||||
repo: Override configured repo (for PMO multi-repo)
|
||||
|
||||
Returns:
|
||||
@@ -229,7 +233,7 @@ class IssueTools:
|
||||
loop = asyncio.get_event_loop()
|
||||
return await loop.run_in_executor(
|
||||
None,
|
||||
lambda: self.gitea.update_issue(issue_number, title, body, state, labels, repo)
|
||||
lambda: self.gitea.update_issue(issue_number, title, body, state, labels, milestone, repo)
|
||||
)
|
||||
|
||||
async def add_comment(
|
||||
|
||||
@@ -90,6 +90,10 @@ After clarification, you receive a structured specification:
|
||||
[List of assumptions]
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
- [Neurodivergent Support Guide](docs/ND-SUPPORT.md) - How clarity-assist supports ND users with executive function challenges and cognitive differences
|
||||
|
||||
## Integration
|
||||
|
||||
For CLAUDE.md integration instructions, see `claude-md-integration.md`.
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
# Clarity Coach Agent
|
||||
|
||||
## Visual Output Requirements
|
||||
|
||||
**MANDATORY: Display header at start of every response.**
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 💬 CLARITY-ASSIST · Clarity Coach │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Role
|
||||
|
||||
You are a patient, structured coach specializing in helping users articulate their requirements clearly. You are trained in neurodivergent-friendly communication patterns and use evidence-based techniques for effective requirement gathering.
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /clarify - Full Prompt Optimization
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 💬 CLARITY-ASSIST · Prompt Optimization │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the workflow.
|
||||
|
||||
## Purpose
|
||||
|
||||
Transform vague, incomplete, or ambiguous requests into clear, actionable specifications using the 4-D methodology with neurodivergent-friendly accommodations.
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /quick-clarify - Rapid Clarification Mode
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 💬 CLARITY-ASSIST · Quick Clarify │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the workflow.
|
||||
|
||||
## Purpose
|
||||
|
||||
Single-pass clarification for requests that are mostly clear but need minor disambiguation.
|
||||
|
||||
328
plugins/clarity-assist/docs/ND-SUPPORT.md
Normal file
328
plugins/clarity-assist/docs/ND-SUPPORT.md
Normal file
@@ -0,0 +1,328 @@
|
||||
# Neurodivergent Support in clarity-assist
|
||||
|
||||
This document describes how clarity-assist is designed to support users with neurodivergent traits, including ADHD, autism, anxiety, and other conditions that affect executive function, sensory processing, or cognitive style.
|
||||
|
||||
## Overview
|
||||
|
||||
### Purpose
|
||||
|
||||
clarity-assist exists to help all users transform vague or incomplete requests into clear, actionable specifications. For neurodivergent users specifically, it addresses common challenges:
|
||||
|
||||
- **Executive function difficulties** - Breaking down complex tasks, getting started, managing scope
|
||||
- **Working memory limitations** - Keeping track of context across long conversations
|
||||
- **Decision fatigue** - Facing too many open-ended choices
|
||||
- **Processing style differences** - Preferring structured, predictable interactions
|
||||
- **Anxiety around uncertainty** - Needing clear expectations and explicit confirmation
|
||||
|
||||
### Philosophy
|
||||
|
||||
Our design philosophy centers on three principles:
|
||||
|
||||
1. **Reduce cognitive load** - Never force the user to hold too much in their head at once
|
||||
2. **Provide structure** - Use consistent, predictable patterns for all interactions
|
||||
3. **Respect different communication styles** - Accommodate rather than assume one "right" way to think
|
||||
|
||||
## Features for ND Users
|
||||
|
||||
### 1. Reduced Cognitive Load
|
||||
|
||||
**Prompt Simplification**
|
||||
- The 4-D methodology (Deconstruct, Diagnose, Develop, Deliver) breaks down complex requests into manageable phases
|
||||
- Users never need to specify everything upfront - clarification happens incrementally
|
||||
|
||||
**Task Breakdown**
|
||||
- Large requests are decomposed into explicit components
|
||||
- Dependencies and relationships are surfaced rather than left implicit
|
||||
- Scope boundaries are clearly defined (in-scope vs. out-of-scope)
|
||||
|
||||
### 2. Structured Output
|
||||
|
||||
**Consistent Formatting**
|
||||
- Every clarification session produces the same structured specification:
|
||||
- Summary (1-2 sentences)
|
||||
- Scope (In/Out)
|
||||
- Requirements table (numbered, prioritized)
|
||||
- Assumptions list
|
||||
- This predictability reduces the mental effort of parsing responses
|
||||
|
||||
**Predictable Patterns**
|
||||
- Questions always follow the same format
|
||||
- Progress summaries appear at regular intervals
|
||||
- Escalation (simple to complex) is always offered, never forced
|
||||
|
||||
**Bulleted Lists Over Prose**
|
||||
- Requirements are presented as scannable lists, not paragraphs
|
||||
- Options are numbered for easy reference
|
||||
- Key information is highlighted with bold labels
|
||||
|
||||
### 3. Customizable Verbosity
|
||||
|
||||
**Detail Levels**
|
||||
- `/clarify` - Full methodology for complex requests (more thorough, more questions)
|
||||
- `/quick-clarify` - Rapid mode for simple disambiguation (fewer questions, faster)
|
||||
|
||||
**User Control**
|
||||
- Users can always say "that's enough detail" to end questioning early
|
||||
- The plugin offers to break sessions into smaller parts
|
||||
- "Good enough for now" is explicitly validated as an acceptable outcome
|
||||
|
||||
### 4. Vagueness Detection
|
||||
|
||||
The `UserPromptSubmit` hook automatically detects prompts that might benefit from clarification and gently suggests using `/clarify`.
|
||||
|
||||
**Detection Signals**
|
||||
- Short prompts (< 10 words) without specific technical terms
|
||||
- Vague action phrases: "help me", "fix this", "make it better"
|
||||
- Ambiguous scope words: "somehow", "something", "stuff", "etc."
|
||||
- Open questions without context
|
||||
|
||||
**Non-Blocking Approach**
|
||||
- The hook never prevents you from proceeding
|
||||
- It provides a suggestion with a vagueness score (percentage)
|
||||
- You can disable auto-suggestions entirely via environment variable
|
||||
|
||||
### 5. Focus Aids
|
||||
|
||||
**Task Prioritization**
|
||||
- Requirements are tagged as Must/Should/Could/Won't (MoSCoW)
|
||||
- Critical items are separated from nice-to-haves
|
||||
- Scope creep is explicitly called out and deferred
|
||||
|
||||
**Context Switching Warnings**
|
||||
- When questions touch multiple areas, the plugin acknowledges the complexity
|
||||
- Offers to focus on one aspect at a time
|
||||
- Summarizes frequently to rebuild context after interruptions
|
||||
|
||||
## How It Works
|
||||
|
||||
### The UserPromptSubmit Hook
|
||||
|
||||
When you submit a prompt, the vagueness detection hook (`hooks/vagueness-check.sh`) runs automatically:
|
||||
|
||||
```
|
||||
User submits prompt
|
||||
|
|
||||
v
|
||||
Hook reads prompt from stdin
|
||||
|
|
||||
v
|
||||
Skip if: empty, starts with /, or contains file paths
|
||||
|
|
||||
v
|
||||
Calculate vagueness score (0.0 - 1.0)
|
||||
- Short prompts: +0.3
|
||||
- Vague action phrases: +0.2
|
||||
- Ambiguous scope words: +0.15
|
||||
- Missing technical specifics: +0.2
|
||||
- Short questions without context: +0.15
|
||||
|
|
||||
v
|
||||
If score >= threshold (default 0.6):
|
||||
- Output gentle suggestion with [clarity-assist] prefix
|
||||
- Show vagueness percentage
|
||||
|
|
||||
v
|
||||
Exit 0 (always non-blocking)
|
||||
```
|
||||
|
||||
### Example Hook Output
|
||||
|
||||
```
|
||||
[clarity-assist] Your prompt could benefit from more clarity.
|
||||
[clarity-assist] Consider running /clarity-assist to refine your request.
|
||||
[clarity-assist] (Vagueness score: 65% - this is a suggestion, not a block)
|
||||
```
|
||||
|
||||
### The 4-D Methodology
|
||||
|
||||
| Phase | What Happens | ND Benefit |
|
||||
|-------|--------------|------------|
|
||||
| **Deconstruct** | Break request into components | Shows the full picture without overwhelming |
|
||||
| **Diagnose** | Identify gaps and conflicts | Surfaces hidden assumptions |
|
||||
| **Develop** | Ask structured questions | Option-based, chunked, contextual |
|
||||
| **Deliver** | Produce specification | Consistent, scannable format |
|
||||
|
||||
## Usage Examples
|
||||
|
||||
### Before: Vague Request
|
||||
|
||||
```
|
||||
User: Make the app faster
|
||||
```
|
||||
|
||||
This triggers vagueness detection because:
|
||||
- Short (4 words)
|
||||
- Vague action ("make")
|
||||
- No specific technical context
|
||||
- No measurable outcome
|
||||
|
||||
### After: Clarified with /clarify
|
||||
|
||||
```
|
||||
User: /clarify Make the app faster
|
||||
|
||||
Claude: Let me help clarify what kind of performance improvements you're looking for.
|
||||
|
||||
**What type of slowness are you experiencing?**
|
||||
1. Initial page load takes too long
|
||||
2. Interactions feel sluggish (clicking, typing)
|
||||
3. API calls are slow
|
||||
4. All of the above
|
||||
5. Other
|
||||
|
||||
[I'm asking because each has very different solutions]
|
||||
```
|
||||
|
||||
```
|
||||
User: 1
|
||||
|
||||
Claude: Initial page load - got it.
|
||||
|
||||
**What's an acceptable load time for you?**
|
||||
1. Under 1 second (aggressive)
|
||||
2. Under 2 seconds (standard)
|
||||
3. Under 3 seconds (relaxed)
|
||||
4. I don't have a specific target
|
||||
|
||||
[This helps me know whether to suggest quick wins or a major optimization effort]
|
||||
```
|
||||
|
||||
After 2-3 more questions, the user receives:
|
||||
|
||||
```markdown
|
||||
## Clarified Request
|
||||
|
||||
### Summary
|
||||
Optimize initial page load time to under 2 seconds by addressing bundle size and initial render blocking resources.
|
||||
|
||||
### Scope
|
||||
**In Scope:**
|
||||
- Bundle analysis and splitting
|
||||
- Lazy loading non-critical components
|
||||
- Image optimization
|
||||
- CSS/JS minification check
|
||||
|
||||
**Out of Scope:**
|
||||
- Backend API optimization
|
||||
- Database query performance
|
||||
- CDN setup
|
||||
|
||||
### Requirements
|
||||
| # | Requirement | Priority | Notes |
|
||||
|---|-------------|----------|-------|
|
||||
| 1 | Page loads in < 2s on 4G | Must | Measured via Lighthouse |
|
||||
| 2 | Largest contentful paint < 1.5s | Should | Core Web Vital |
|
||||
| 3 | No layout shift after load | Should | CLS < 0.1 |
|
||||
|
||||
### Assumptions
|
||||
- Current load time is > 3 seconds (based on "too long" description)
|
||||
- Target browsers: modern evergreen (Chrome, Firefox, Safari)
|
||||
- Build tooling already configured (webpack/vite)
|
||||
```
|
||||
|
||||
### Common Patterns Detected
|
||||
|
||||
| Pattern | Example | What It Triggers |
|
||||
|---------|---------|------------------|
|
||||
| Missing context | "Fix the bug" | "Which bug? In which file or feature?" |
|
||||
| Ambiguous scope | "Update the user stuff" | "What specifically needs updating?" |
|
||||
| Unclear goals | "Make it better" | "Better in what way? Faster? Cleaner? More features?" |
|
||||
| Implicit knowledge | "Do it like last time" | "I don't have context from previous sessions" |
|
||||
| Conflicting requests | "Keep it simple but add everything" | "Which matters more: simplicity or completeness?" |
|
||||
|
||||
### Quick-Clarify Example
|
||||
|
||||
For simpler requests that just need minor disambiguation:
|
||||
|
||||
```
|
||||
User: /quick-clarify Add a delete button to the user list
|
||||
|
||||
Claude: I'll add a delete button to each row in the user list.
|
||||
|
||||
**Should deletion require confirmation?**
|
||||
1. Yes - show confirmation dialog (Recommended)
|
||||
2. No - delete immediately
|
||||
3. Soft delete - mark as deleted but keep data
|
||||
|
||||
[Asking because accidental deletions can be problematic]
|
||||
```
|
||||
|
||||
```
|
||||
User: 1
|
||||
|
||||
Claude: Got it. I'll implement a delete button with confirmation dialog. Starting now.
|
||||
```
|
||||
|
||||
## Configuration Options
|
||||
|
||||
### Environment Variables
|
||||
|
||||
| Variable | Default | Description |
|
||||
|----------|---------|-------------|
|
||||
| `CLARITY_ASSIST_AUTO_SUGGEST` | `true` | Enable/disable automatic vagueness detection |
|
||||
| `CLARITY_ASSIST_VAGUENESS_THRESHOLD` | `0.6` | Score threshold to trigger suggestion (0.0-1.0) |
|
||||
|
||||
### Disabling Auto-Suggestions
|
||||
|
||||
If you find the vagueness detection unhelpful, disable it in your shell profile or `.env`:
|
||||
|
||||
```bash
|
||||
export CLARITY_ASSIST_AUTO_SUGGEST=false
|
||||
```
|
||||
|
||||
### Adjusting Sensitivity
|
||||
|
||||
To make detection more or less sensitive:
|
||||
|
||||
```bash
|
||||
# More sensitive (suggests more often)
|
||||
export CLARITY_ASSIST_VAGUENESS_THRESHOLD=0.4
|
||||
|
||||
# Less sensitive (only very vague prompts)
|
||||
export CLARITY_ASSIST_VAGUENESS_THRESHOLD=0.8
|
||||
```
|
||||
|
||||
## Tips for ND Users
|
||||
|
||||
### If You're Feeling Overwhelmed
|
||||
|
||||
- Use `/quick-clarify` instead of `/clarify` for faster interactions
|
||||
- Say "let's focus on just one thing" to narrow scope
|
||||
- Ask to "pause and summarize" at any point
|
||||
- It's OK to say "I don't know" - the plugin will offer concrete alternatives
|
||||
|
||||
### If You Have Executive Function Challenges
|
||||
|
||||
- Start with `/clarify` even for tasks you think are simple - it helps with planning
|
||||
- The structured specification can serve as a checklist
|
||||
- Use the scope boundaries to prevent scope creep
|
||||
|
||||
### If You Prefer Detailed Structure
|
||||
|
||||
- The 4-D methodology provides a predictable framework
|
||||
- All output follows consistent formatting
|
||||
- Questions always offer numbered options
|
||||
|
||||
### If You Have Anxiety About Getting It Right
|
||||
|
||||
- The plugin validates "good enough for now" as acceptable
|
||||
- You can always revisit and change earlier answers
|
||||
- Assumptions are explicitly listed - nothing is hidden
|
||||
|
||||
## Accessibility Notes
|
||||
|
||||
- All output uses standard markdown that works with screen readers
|
||||
- No time pressure - take as long as you need between responses
|
||||
- Questions are designed to be answerable without deep context retrieval
|
||||
- Visual patterns (bold, bullets, tables) create scannable structure
|
||||
|
||||
## Feedback
|
||||
|
||||
If you have suggestions for improving neurodivergent support in clarity-assist, please open an issue at:
|
||||
|
||||
https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/issues
|
||||
|
||||
Include the label `clarity-assist` and describe:
|
||||
- What challenge you faced
|
||||
- What would have helped
|
||||
- Any specific accommodations you'd like to see
|
||||
@@ -7,6 +7,16 @@ description: CLAUDE.md optimization and maintenance agent
|
||||
|
||||
You are the **Maintainer Agent** - a specialist in creating and optimizing CLAUDE.md configuration files for Claude Code projects. Your role is to ensure CLAUDE.md files are clear, concise, well-structured, and follow best practices.
|
||||
|
||||
## Visual Output Requirements
|
||||
|
||||
**MANDATORY: Display header at start of every response.**
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ ⚙️ CONFIG-MAINTAINER · CLAUDE.md Optimization │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Your Personality
|
||||
|
||||
**Optimization-Focused:**
|
||||
|
||||
@@ -6,6 +6,18 @@ description: Analyze CLAUDE.md for optimization opportunities and plugin integra
|
||||
|
||||
This command analyzes your project's CLAUDE.md file and provides a detailed report on optimization opportunities and plugin integration status.
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ ⚙️ CONFIG-MAINTAINER · CLAUDE.md Analysis │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the analysis.
|
||||
|
||||
## What This Command Does
|
||||
|
||||
1. **Read CLAUDE.md** - Locates and reads the project's CLAUDE.md file
|
||||
|
||||
@@ -6,6 +6,18 @@ description: Show diff between current CLAUDE.md and last commit
|
||||
|
||||
This command shows differences between your current CLAUDE.md file and previous versions, helping track configuration drift and review changes before committing.
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ ⚙️ CONFIG-MAINTAINER · CLAUDE.md Diff │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the diff.
|
||||
|
||||
## What This Command Does
|
||||
|
||||
1. **Detect CLAUDE.md Location** - Finds the project's CLAUDE.md file
|
||||
|
||||
@@ -6,6 +6,18 @@ description: Lint CLAUDE.md for common anti-patterns and best practices
|
||||
|
||||
This command checks your CLAUDE.md file against best practices and detects common anti-patterns that can cause issues with Claude Code.
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ ⚙️ CONFIG-MAINTAINER · CLAUDE.md Lint │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the linting.
|
||||
|
||||
## What This Command Does
|
||||
|
||||
1. **Parse Structure** - Validates markdown structure and hierarchy
|
||||
|
||||
@@ -6,6 +6,18 @@ description: Initialize a new CLAUDE.md file for a project
|
||||
|
||||
This command creates a new CLAUDE.md file tailored to your project, gathering context and generating appropriate content.
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ ⚙️ CONFIG-MAINTAINER · CLAUDE.md Initialization │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the initialization.
|
||||
|
||||
## What This Command Does
|
||||
|
||||
1. **Gather Context** - Analyzes project structure and asks clarifying questions
|
||||
|
||||
@@ -6,6 +6,18 @@ description: Optimize CLAUDE.md structure and content
|
||||
|
||||
This command automatically optimizes your project's CLAUDE.md file based on best practices and identified issues.
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ ⚙️ CONFIG-MAINTAINER · CLAUDE.md Optimization │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the optimization.
|
||||
|
||||
## What This Command Does
|
||||
|
||||
1. **Analyze Current File** - Identifies all optimization opportunities
|
||||
|
||||
@@ -2,6 +2,16 @@
|
||||
|
||||
You are an infrastructure management assistant specialized in NetBox CMDB operations. You help users query, document, and manage their network infrastructure.
|
||||
|
||||
## Visual Output Requirements
|
||||
|
||||
**MANDATORY: Display header at start of every response.**
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🖥️ CMDB-ASSISTANT · Infrastructure Management │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Capabilities
|
||||
|
||||
You have full access to NetBox via MCP tools covering:
|
||||
|
||||
@@ -4,6 +4,18 @@ description: Audit NetBox changes with filtering by date, user, or object type
|
||||
|
||||
# CMDB Change Audit
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🖥️ CMDB-ASSISTANT · Change Audit │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the audit.
|
||||
|
||||
Query and analyze the NetBox audit log for change tracking and compliance.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -4,6 +4,18 @@ description: Audit NetBox data quality and identify consistency issues
|
||||
|
||||
# CMDB Data Quality Audit
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🖥️ CMDB-ASSISTANT · Data Quality Audit │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the audit.
|
||||
|
||||
Analyze NetBox data for quality issues and best practice violations.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# CMDB Device Management
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🖥️ CMDB-ASSISTANT · Device Management │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the operation.
|
||||
|
||||
Manage network devices in NetBox - create, view, update, or delete.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# CMDB IP Management
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🖥️ CMDB-ASSISTANT · IP Management │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the operation.
|
||||
|
||||
Manage IP addresses and prefixes in NetBox.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -4,6 +4,18 @@ description: Register the current machine into NetBox with all running applicati
|
||||
|
||||
# CMDB Machine Registration
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🖥️ CMDB-ASSISTANT · Machine Registration │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the registration.
|
||||
|
||||
Register the current machine into NetBox, including hardware info, network interfaces, and running applications (Docker containers, services).
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# CMDB Search
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🖥️ CMDB-ASSISTANT · Search │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the search.
|
||||
|
||||
Search NetBox for devices, IPs, sites, or any CMDB object.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# CMDB Site Management
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🖥️ CMDB-ASSISTANT · Site Management │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the operation.
|
||||
|
||||
Manage sites and locations in NetBox.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -4,6 +4,18 @@ description: Synchronize current machine state with existing NetBox record
|
||||
|
||||
# CMDB Machine Sync
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🖥️ CMDB-ASSISTANT · Machine Sync │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the synchronization.
|
||||
|
||||
Update an existing NetBox device record with the current machine state. Compares local system information with NetBox and applies changes.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -4,6 +4,18 @@ description: Generate infrastructure topology diagrams from NetBox data
|
||||
|
||||
# CMDB Topology Visualization
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🖥️ CMDB-ASSISTANT · Topology │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the visualization.
|
||||
|
||||
Generate Mermaid diagrams showing infrastructure topology from NetBox.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -4,6 +4,18 @@ description: Interactive setup wizard for cmdb-assistant plugin - configures Net
|
||||
|
||||
# CMDB Assistant Setup Wizard
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🖥️ CMDB-ASSISTANT · Setup Wizard │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the setup.
|
||||
|
||||
This command sets up the cmdb-assistant plugin with NetBox integration.
|
||||
|
||||
## Important Context
|
||||
|
||||
@@ -4,6 +4,18 @@ description: Detect IP address conflicts and overlapping prefixes in NetBox
|
||||
|
||||
# CMDB IP Conflict Detection
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🖥️ CMDB-ASSISTANT · IP Conflict Detection │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the analysis.
|
||||
|
||||
Scan NetBox IPAM data to identify IP address conflicts and overlapping prefixes.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
{
|
||||
"name": "code-sentinel",
|
||||
"description": "Security scanning and code refactoring tools",
|
||||
"version": "1.0.0",
|
||||
"version": "1.0.1",
|
||||
"defaultModel": "sonnet",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
"email": "leobmiranda@gmail.com"
|
||||
|
||||
@@ -6,6 +6,16 @@ description: Code structure and refactoring specialist
|
||||
|
||||
You are a software architect specializing in code quality, design patterns, and refactoring.
|
||||
|
||||
## Visual Output Requirements
|
||||
|
||||
**MANDATORY: Display header at start of every response.**
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔒 CODE-SENTINEL · Refactor Advisory │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Expertise
|
||||
|
||||
- Martin Fowler's refactoring catalog
|
||||
|
||||
@@ -1,11 +1,23 @@
|
||||
---
|
||||
name: security-reviewer
|
||||
description: Security-focused code review agent
|
||||
model: opus
|
||||
---
|
||||
|
||||
# Security Reviewer Agent
|
||||
|
||||
You are a security engineer specializing in application security and secure coding practices.
|
||||
|
||||
## Visual Output Requirements
|
||||
|
||||
**MANDATORY: Display header at start of every response.**
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔒 CODE-SENTINEL · Security Review │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Expertise
|
||||
|
||||
- OWASP Top 10 vulnerabilities
|
||||
|
||||
@@ -6,6 +6,18 @@ description: Preview refactoring changes without applying them
|
||||
|
||||
Analyze and preview refactoring opportunities without making changes.
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔒 CODE-SENTINEL · Refactor Preview │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the analysis.
|
||||
|
||||
## Usage
|
||||
```
|
||||
/refactor-dry <target> [--all]
|
||||
|
||||
@@ -6,6 +6,18 @@ description: Apply refactoring patterns to improve code structure and maintainab
|
||||
|
||||
Apply refactoring transformations to specified code.
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔒 CODE-SENTINEL · Refactor │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the refactoring workflow.
|
||||
|
||||
## Usage
|
||||
```
|
||||
/refactor <target> [--pattern=<pattern>]
|
||||
|
||||
@@ -6,6 +6,18 @@ description: Full security audit of codebase - scans all files for vulnerability
|
||||
|
||||
Comprehensive security audit of the project.
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔒 CODE-SENTINEL · Security Scan │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the scan workflow.
|
||||
|
||||
## Process
|
||||
|
||||
1. **File Discovery**
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"name": "contract-validator",
|
||||
"version": "1.0.0",
|
||||
"version": "1.1.0",
|
||||
"defaultModel": "sonnet",
|
||||
"description": "Cross-plugin compatibility validation and Claude.md agent verification",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
|
||||
@@ -1,7 +1,23 @@
|
||||
---
|
||||
name: agent-check
|
||||
description: Agent definition validator for quick verification
|
||||
model: haiku
|
||||
---
|
||||
|
||||
# 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.
|
||||
|
||||
## Visual Output Requirements
|
||||
|
||||
**MANDATORY: Display header at start of every response.**
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ ✅ CONTRACT-VALIDATOR · Agent Validation │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Capabilities
|
||||
|
||||
- Parse agent definitions from CLAUDE.md
|
||||
|
||||
@@ -2,6 +2,16 @@
|
||||
|
||||
You are a contract validation specialist. Your role is to perform comprehensive cross-plugin compatibility validation for the entire marketplace.
|
||||
|
||||
## Visual Output Requirements
|
||||
|
||||
**MANDATORY: Display header at start of every response.**
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ ✅ CONTRACT-VALIDATOR · Full Validation │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Capabilities
|
||||
|
||||
- Parse plugin interfaces from README.md files
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /check-agent - Validate Agent Definition
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ ✅ CONTRACT-VALIDATOR · Agent Check │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the validation.
|
||||
|
||||
Validate a single agent's tool references and data flow.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /dependency-graph - Generate Dependency Visualization
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ ✅ CONTRACT-VALIDATOR · Dependency Graph │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the visualization.
|
||||
|
||||
Generate a Mermaid flowchart showing plugin dependencies, data flows, and tool relationships.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -4,6 +4,18 @@ description: Interactive setup wizard for contract-validator plugin - verifies M
|
||||
|
||||
# Contract-Validator Setup Wizard
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ ✅ CONTRACT-VALIDATOR · Setup Wizard │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the setup.
|
||||
|
||||
This command sets up the contract-validator plugin for cross-plugin compatibility validation.
|
||||
|
||||
## Important Context
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /list-interfaces - Show Plugin Interfaces
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ ✅ CONTRACT-VALIDATOR · List Interfaces │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the interface listing.
|
||||
|
||||
Display what each plugin in the marketplace produces and accepts.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /validate-contracts - Full Contract Validation
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ ✅ CONTRACT-VALIDATOR · Full Validation │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the validation.
|
||||
|
||||
Run comprehensive cross-plugin compatibility validation for the entire marketplace.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"name": "data-platform",
|
||||
"version": "1.0.0",
|
||||
"version": "1.1.0",
|
||||
"defaultModel": "sonnet",
|
||||
"description": "Data engineering tools with pandas, PostgreSQL/PostGIS, and dbt integration",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
|
||||
@@ -1,7 +1,23 @@
|
||||
---
|
||||
name: data-analysis
|
||||
description: Data analysis specialist for exploration and profiling
|
||||
model: opus
|
||||
---
|
||||
|
||||
# Data Analysis Agent
|
||||
|
||||
You are a data analysis specialist. Your role is to help users explore, profile, and understand their data.
|
||||
|
||||
## Visual Output Requirements
|
||||
|
||||
**MANDATORY: Display header at start of every response.**
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 📊 DATA-PLATFORM · Data Analysis │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Capabilities
|
||||
|
||||
- Profile datasets with statistical summaries
|
||||
|
||||
@@ -2,6 +2,16 @@
|
||||
|
||||
You are a data ingestion specialist. Your role is to help users load, transform, and prepare data for analysis.
|
||||
|
||||
## Visual Output Requirements
|
||||
|
||||
**MANDATORY: Display header at start of every response.**
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 📊 DATA-PLATFORM · Data Ingestion │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Capabilities
|
||||
|
||||
- Load data from CSV, Parquet, JSON files
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /data-quality - Data Quality Assessment
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 📊 DATA-PLATFORM · Data Quality │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the assessment.
|
||||
|
||||
Comprehensive data quality check for DataFrames with pass/warn/fail scoring.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /dbt-test - Run dbt Tests
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 📊 DATA-PLATFORM · dbt Tests │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the tests.
|
||||
|
||||
Execute dbt tests with formatted pass/fail results.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /explain - dbt Model Explanation
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 📊 DATA-PLATFORM · Model Explanation │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the explanation.
|
||||
|
||||
Explain a dbt model's purpose, dependencies, and SQL logic.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /ingest - Data Ingestion
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 📊 DATA-PLATFORM · Ingest │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the ingestion.
|
||||
|
||||
Load data from files or database into the data platform.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -4,6 +4,18 @@ description: Interactive setup wizard for data-platform plugin - configures MCP
|
||||
|
||||
# Data Platform Setup Wizard
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 📊 DATA-PLATFORM · Setup Wizard │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the setup.
|
||||
|
||||
This command sets up the data-platform plugin with pandas, PostgreSQL, and dbt integration.
|
||||
|
||||
## Important Context
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /lineage-viz - Mermaid Lineage Visualization
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 📊 DATA-PLATFORM · Lineage Visualization │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the visualization.
|
||||
|
||||
Generate Mermaid flowchart syntax for dbt model lineage.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /lineage - Data Lineage Visualization
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 📊 DATA-PLATFORM · Lineage │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the visualization.
|
||||
|
||||
Show data lineage for dbt models or database tables.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /profile - Data Profiling
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 📊 DATA-PLATFORM · Data Profile │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the profiling.
|
||||
|
||||
Generate statistical profile and quality report for a DataFrame.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /run - Execute dbt Models
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 📊 DATA-PLATFORM · dbt Run │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the execution.
|
||||
|
||||
Run dbt models with automatic pre-validation.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /schema - Schema Exploration
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 📊 DATA-PLATFORM · Schema Explorer │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the exploration.
|
||||
|
||||
Display schema information for database tables or DataFrames.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -6,6 +6,16 @@ description: Specialized agent for documentation analysis and drift detection
|
||||
|
||||
You are an expert technical writer and documentation analyst. Your role is to detect discrepancies between code and documentation.
|
||||
|
||||
## Visual Output Requirements
|
||||
|
||||
**MANDATORY: Display header at start of every response.**
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 📝 DOC-GUARDIAN · Documentation Analysis │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Capabilities
|
||||
|
||||
1. **Pattern Recognition**
|
||||
|
||||
@@ -6,6 +6,18 @@ description: Generate changelog from conventional commits in Keep-a-Changelog fo
|
||||
|
||||
Generate a changelog entry from conventional commits.
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 📝 DOC-GUARDIAN · Changelog Generation │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the generation.
|
||||
|
||||
## Process
|
||||
|
||||
1. **Identify Commit Range**
|
||||
|
||||
@@ -6,6 +6,18 @@ description: Full documentation audit - scans entire project for doc drift witho
|
||||
|
||||
Perform a comprehensive documentation drift analysis.
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 📝 DOC-GUARDIAN · Documentation Audit │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the audit.
|
||||
|
||||
## Process
|
||||
|
||||
1. **Inventory Documentation Files**
|
||||
|
||||
@@ -6,6 +6,18 @@ description: Calculate documentation coverage percentage for functions and class
|
||||
|
||||
Analyze codebase to calculate documentation coverage metrics.
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 📝 DOC-GUARDIAN · Documentation Coverage │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the analysis.
|
||||
|
||||
## Process
|
||||
|
||||
1. **Scan Source Files**
|
||||
|
||||
@@ -6,6 +6,18 @@ description: Synchronize all pending documentation updates in a single commit
|
||||
|
||||
Apply all pending documentation updates detected by doc-guardian hooks.
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 📝 DOC-GUARDIAN · Documentation Sync │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the sync.
|
||||
|
||||
## Process
|
||||
|
||||
1. **Review Pending Queue**
|
||||
@@ -40,7 +52,13 @@ Apply all pending documentation updates detected by doc-guardian hooks.
|
||||
- Single commit: `docs: sync documentation with code changes`
|
||||
- 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
|
||||
|
||||
|
||||
@@ -6,6 +6,18 @@ description: Detect documentation files that are stale relative to their associa
|
||||
|
||||
Identify documentation files that may be outdated based on commit history.
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 📝 DOC-GUARDIAN · Stale Documentation Check │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the check.
|
||||
|
||||
## Process
|
||||
|
||||
1. **Map Documentation to Code**
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
# doc-guardian notification hook
|
||||
# Tracks documentation dependencies and queues updates
|
||||
# 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)
|
||||
INPUT=$(cat)
|
||||
@@ -44,6 +48,30 @@ DEPENDENT_DOCS="${DOC_DEPS[$MODIFIED_TYPE]}"
|
||||
# Queue file for tracking pending updates
|
||||
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)
|
||||
{
|
||||
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
|
||||
PENDING_COUNT=$(wc -l < "$QUEUE_FILE" 2>/dev/null | tr -d ' ' || echo "1")
|
||||
|
||||
# Output notification with specific docs that need updating
|
||||
echo "[doc-guardian] $MODIFIED_TYPE changed → update needed: $DEPENDENT_DOCS (${PENDING_COUNT} pending)"
|
||||
# Output passive notification (no action implied)
|
||||
# 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
|
||||
|
||||
@@ -119,6 +119,10 @@ The git-assistant agent helps resolve merge conflicts with analysis and recommen
|
||||
→ Status: Clean, up-to-date
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
- [Branching Strategy Guide](docs/BRANCHING-STRATEGY.md) - Detailed documentation of the `development -> staging -> main` promotion flow
|
||||
|
||||
## Integration
|
||||
|
||||
For CLAUDE.md integration instructions, see `claude-md-integration.md`.
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
# Git Assistant Agent
|
||||
|
||||
## Visual Output Requirements
|
||||
|
||||
**MANDATORY: Display header at start of every response.**
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔀 GIT-FLOW · Git Assistant │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Role
|
||||
|
||||
You are a git workflow assistant that helps users navigate complex git operations, resolve conflicts, and maintain clean repository history.
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /branch-cleanup - Clean Merged and Stale Branches
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔀 GIT-FLOW · Branch Cleanup │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the workflow.
|
||||
|
||||
## Purpose
|
||||
|
||||
Remove branches that have been merged OR whose remote tracking branch no longer exists, both locally and optionally on remote.
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /branch-start - Start New Branch
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔀 GIT-FLOW · Branch Start │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the workflow.
|
||||
|
||||
## Purpose
|
||||
|
||||
Create a new feature/fix/chore branch with consistent naming conventions.
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /commit-merge - Commit and Merge
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔀 GIT-FLOW · Commit & Merge │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the workflow.
|
||||
|
||||
## Purpose
|
||||
|
||||
Commit current changes, then merge the current branch into a target branch.
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /commit-push - Commit and Push
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔀 GIT-FLOW · Commit & Push │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the workflow.
|
||||
|
||||
## Purpose
|
||||
|
||||
Create a commit and push to the remote repository in one operation.
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /commit-sync - Commit, Push, and Sync
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔀 GIT-FLOW · Commit Sync │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the workflow.
|
||||
|
||||
## Purpose
|
||||
|
||||
Full sync operation: commit local changes, push to remote, sync with upstream/base branch, and clean up stale remote-tracking branches.
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /commit - Smart Commit
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔀 GIT-FLOW · Smart Commit │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the commit workflow.
|
||||
|
||||
## Purpose
|
||||
|
||||
Create a git commit with an auto-generated conventional commit message based on staged changes.
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /git-config - Configure git-flow
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔀 GIT-FLOW · Configuration │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the configuration.
|
||||
|
||||
## Purpose
|
||||
|
||||
Configure git-flow settings for the current project.
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /git-status - Enhanced Status
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔀 GIT-FLOW · Status │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the status display.
|
||||
|
||||
## Purpose
|
||||
|
||||
Show comprehensive git status with recommendations and insights.
|
||||
|
||||
541
plugins/git-flow/docs/BRANCHING-STRATEGY.md
Normal file
541
plugins/git-flow/docs/BRANCHING-STRATEGY.md
Normal file
@@ -0,0 +1,541 @@
|
||||
# Branching Strategy
|
||||
|
||||
## Overview
|
||||
|
||||
This document defines the branching strategy used by git-flow to manage code changes across environments. The strategy ensures:
|
||||
|
||||
- **Stability**: Production code is always release-ready
|
||||
- **Isolation**: Features are developed in isolation without affecting others
|
||||
- **Traceability**: Clear history of what changed and when
|
||||
- **Collaboration**: Multiple developers can work simultaneously without conflicts
|
||||
|
||||
The strategy follows a hierarchical promotion model: feature branches merge into development, which promotes to staging for testing, and finally to main for production release.
|
||||
|
||||
## Branch Types
|
||||
|
||||
### Main Branches
|
||||
|
||||
| Branch | Purpose | Stability | Direct Commits |
|
||||
|--------|---------|-----------|----------------|
|
||||
| `main` | Production releases | Highest | Never |
|
||||
| `staging` | Pre-production testing | High | Never |
|
||||
| `development` | Active development | Medium | Never |
|
||||
|
||||
### Feature Branches
|
||||
|
||||
Feature branches are short-lived branches created from `development` for implementing specific changes.
|
||||
|
||||
| Prefix | Purpose | Example |
|
||||
|--------|---------|---------|
|
||||
| `feat/` | New features | `feat/user-authentication` |
|
||||
| `fix/` | Bug fixes | `fix/login-timeout-error` |
|
||||
| `docs/` | Documentation only | `docs/api-reference` |
|
||||
| `refactor/` | Code restructuring | `refactor/auth-module` |
|
||||
| `test/` | Test additions/fixes | `test/auth-coverage` |
|
||||
| `chore/` | Maintenance tasks | `chore/update-dependencies` |
|
||||
|
||||
### Special Branches
|
||||
|
||||
| Branch | Purpose | Created From | Merges Into |
|
||||
|--------|---------|--------------|-------------|
|
||||
| `hotfix/*` | Emergency production fixes | `main` | `main` AND `development` |
|
||||
| `release/*` | Release preparation | `development` | `staging` then `main` |
|
||||
|
||||
## Branch Hierarchy
|
||||
|
||||
```
|
||||
PRODUCTION
|
||||
│
|
||||
▼
|
||||
┌───────────────[ main ]───────────────┐
|
||||
│ (stable releases) │
|
||||
│ ▲ │
|
||||
│ │ PR │
|
||||
│ │ │
|
||||
│ ┌───────┴───────┐ │
|
||||
│ │ staging │ │
|
||||
│ │ (testing) │ │
|
||||
│ └───────▲───────┘ │
|
||||
│ │ PR │
|
||||
│ │ │
|
||||
│ ┌─────────┴─────────┐ │
|
||||
│ │ development │ │
|
||||
│ │ (integration) │ │
|
||||
│ └─────────▲─────────┘ │
|
||||
│ ╱ │ ╲ │
|
||||
│ PR╱ │PR ╲PR │
|
||||
│ ╱ │ ╲ │
|
||||
│ ┌─────┴──┐ ┌──┴───┐ ┌┴─────┐ │
|
||||
│ │ feat/* │ │ fix/*│ │docs/*│ │
|
||||
│ └────────┘ └──────┘ └──────┘ │
|
||||
│ FEATURE BRANCHES │
|
||||
└───────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Workflow
|
||||
|
||||
### Feature Development
|
||||
|
||||
The standard workflow for implementing a new feature or fix:
|
||||
|
||||
```mermaid
|
||||
gitGraph
|
||||
commit id: "initial"
|
||||
branch development
|
||||
checkout development
|
||||
commit id: "dev-base"
|
||||
branch feat/new-feature
|
||||
checkout feat/new-feature
|
||||
commit id: "implement"
|
||||
commit id: "tests"
|
||||
commit id: "polish"
|
||||
checkout development
|
||||
merge feat/new-feature id: "PR merged"
|
||||
commit id: "other-work"
|
||||
```
|
||||
|
||||
**Steps:**
|
||||
|
||||
1. **Create branch from development**
|
||||
```bash
|
||||
git checkout development
|
||||
git pull origin development
|
||||
git checkout -b feat/add-user-auth
|
||||
```
|
||||
Or use git-flow command:
|
||||
```
|
||||
/branch-start add user authentication
|
||||
```
|
||||
|
||||
2. **Implement changes**
|
||||
- Make commits following conventional commit format
|
||||
- Keep commits atomic and focused
|
||||
- Push regularly to remote
|
||||
|
||||
3. **Create Pull Request**
|
||||
- Target: `development`
|
||||
- Include description of changes
|
||||
- Link related issues
|
||||
|
||||
4. **Review and merge**
|
||||
- Address review feedback
|
||||
- Squash or rebase as needed
|
||||
- Merge when approved
|
||||
|
||||
5. **Cleanup**
|
||||
- Delete feature branch after merge
|
||||
```
|
||||
/branch-cleanup
|
||||
```
|
||||
|
||||
### Release Promotion
|
||||
|
||||
Promoting code from development to production:
|
||||
|
||||
```mermaid
|
||||
gitGraph
|
||||
commit id: "v1.0.0" tag: "v1.0.0"
|
||||
branch development
|
||||
checkout development
|
||||
commit id: "feat-1"
|
||||
commit id: "feat-2"
|
||||
commit id: "fix-1"
|
||||
branch staging
|
||||
checkout staging
|
||||
commit id: "staging-test"
|
||||
checkout main
|
||||
merge staging id: "v1.1.0" tag: "v1.1.0"
|
||||
checkout development
|
||||
merge main id: "sync"
|
||||
```
|
||||
|
||||
**Steps:**
|
||||
|
||||
1. **Prepare release**
|
||||
- Ensure development is stable
|
||||
- Update version numbers
|
||||
- Update CHANGELOG.md
|
||||
|
||||
2. **Promote to staging**
|
||||
```bash
|
||||
git checkout staging
|
||||
git merge development
|
||||
git push origin staging
|
||||
```
|
||||
|
||||
3. **Test in staging**
|
||||
- Run integration tests
|
||||
- Perform QA validation
|
||||
- Fix any issues (merge fixes to development first, then re-promote)
|
||||
|
||||
4. **Promote to main**
|
||||
```bash
|
||||
git checkout main
|
||||
git merge staging
|
||||
git tag -a v1.1.0 -m "Release v1.1.0"
|
||||
git push origin main --tags
|
||||
```
|
||||
|
||||
5. **Sync development**
|
||||
```bash
|
||||
git checkout development
|
||||
git merge main
|
||||
git push origin development
|
||||
```
|
||||
|
||||
### Hotfix Handling
|
||||
|
||||
Emergency fixes for production issues:
|
||||
|
||||
```mermaid
|
||||
gitGraph
|
||||
commit id: "v1.0.0" tag: "v1.0.0"
|
||||
branch development
|
||||
checkout development
|
||||
commit id: "ongoing-work"
|
||||
checkout main
|
||||
branch hotfix/critical-bug
|
||||
checkout hotfix/critical-bug
|
||||
commit id: "fix"
|
||||
checkout main
|
||||
merge hotfix/critical-bug id: "v1.0.1" tag: "v1.0.1"
|
||||
checkout development
|
||||
merge main id: "sync-fix"
|
||||
```
|
||||
|
||||
**Steps:**
|
||||
|
||||
1. **Create hotfix branch from main**
|
||||
```bash
|
||||
git checkout main
|
||||
git pull origin main
|
||||
git checkout -b hotfix/critical-security-fix
|
||||
```
|
||||
|
||||
2. **Implement fix**
|
||||
- Minimal, focused changes only
|
||||
- Include tests for the fix
|
||||
- Follow conventional commit format
|
||||
|
||||
3. **Merge to main**
|
||||
```bash
|
||||
git checkout main
|
||||
git merge hotfix/critical-security-fix
|
||||
git tag -a v1.0.1 -m "Hotfix: critical security fix"
|
||||
git push origin main --tags
|
||||
```
|
||||
|
||||
4. **Merge to development** (critical step)
|
||||
```bash
|
||||
git checkout development
|
||||
git merge main
|
||||
git push origin development
|
||||
```
|
||||
|
||||
5. **Delete hotfix branch**
|
||||
```bash
|
||||
git branch -d hotfix/critical-security-fix
|
||||
git push origin --delete hotfix/critical-security-fix
|
||||
```
|
||||
|
||||
## PR Requirements
|
||||
|
||||
### To development
|
||||
|
||||
| Requirement | Description |
|
||||
|-------------|-------------|
|
||||
| Passing tests | All CI tests must pass |
|
||||
| Conventional commit | Message follows `type(scope): description` format |
|
||||
| No conflicts | Branch must be rebased on latest development |
|
||||
| Code review | At least one approval (recommended) |
|
||||
|
||||
### To staging
|
||||
|
||||
| Requirement | Description |
|
||||
|-------------|-------------|
|
||||
| All checks pass | CI, linting, tests, security scans |
|
||||
| From development | Only PRs from development branch |
|
||||
| Clean history | Squashed or rebased commits |
|
||||
| Release notes | CHANGELOG updated with version |
|
||||
|
||||
### To main (Protected)
|
||||
|
||||
| Requirement | Description |
|
||||
|-------------|-------------|
|
||||
| Source restriction | PRs only from `staging` or `development` |
|
||||
| All checks pass | Complete CI pipeline success |
|
||||
| Approvals | Minimum 1-2 reviewer approvals |
|
||||
| No direct push | Force push disabled |
|
||||
| Version tag | Must include version tag on merge |
|
||||
|
||||
## Branch Flow Diagram
|
||||
|
||||
### Complete Lifecycle
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
subgraph Feature["Feature Development"]
|
||||
A[Create feature branch] --> B[Implement changes]
|
||||
B --> C[Push commits]
|
||||
C --> D[Create PR to development]
|
||||
D --> E{Review passed?}
|
||||
E -->|No| B
|
||||
E -->|Yes| F[Merge to development]
|
||||
F --> G[Delete feature branch]
|
||||
end
|
||||
|
||||
subgraph Release["Release Cycle"]
|
||||
H[development stable] --> I[Create PR to staging]
|
||||
I --> J[Test in staging]
|
||||
J --> K{Tests passed?}
|
||||
K -->|No| L[Fix in development]
|
||||
L --> H
|
||||
K -->|Yes| M[Create PR to main]
|
||||
M --> N[Tag release]
|
||||
N --> O[Sync development]
|
||||
end
|
||||
|
||||
subgraph Hotfix["Hotfix Process"]
|
||||
P[Critical bug in prod] --> Q[Create hotfix from main]
|
||||
Q --> R[Implement fix]
|
||||
R --> S[Merge to main + tag]
|
||||
S --> T[Merge to development]
|
||||
end
|
||||
|
||||
G --> H
|
||||
O --> Feature
|
||||
T --> Feature
|
||||
```
|
||||
|
||||
### Release Cycle Timeline
|
||||
|
||||
```mermaid
|
||||
gantt
|
||||
title Release Cycle
|
||||
dateFormat YYYY-MM-DD
|
||||
section Feature Development
|
||||
Feature A :a1, 2024-01-01, 5d
|
||||
Feature B :a2, 2024-01-03, 4d
|
||||
Bug Fix :a3, 2024-01-06, 2d
|
||||
section Integration
|
||||
Merge to development:b1, after a1, 1d
|
||||
Integration testing :b2, after b1, 2d
|
||||
section Release
|
||||
Promote to staging :c1, after b2, 1d
|
||||
QA testing :c2, after c1, 3d
|
||||
Release to main :milestone, after c2, 0d
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
### Example 1: Adding a New Feature
|
||||
|
||||
**Scenario:** Add user password reset functionality
|
||||
|
||||
```bash
|
||||
# 1. Start from development
|
||||
git checkout development
|
||||
git pull origin development
|
||||
|
||||
# 2. Create feature branch
|
||||
git checkout -b feat/password-reset
|
||||
|
||||
# 3. Make changes and commit
|
||||
git add src/auth/password-reset.ts
|
||||
git commit -m "feat(auth): add password reset request handler"
|
||||
|
||||
git add src/email/templates/reset-email.html
|
||||
git commit -m "feat(email): add password reset email template"
|
||||
|
||||
git add tests/auth/password-reset.test.ts
|
||||
git commit -m "test(auth): add password reset tests"
|
||||
|
||||
# 4. Push and create PR
|
||||
git push -u origin feat/password-reset
|
||||
# Create PR targeting development
|
||||
|
||||
# 5. After merge, cleanup
|
||||
git checkout development
|
||||
git pull origin development
|
||||
git branch -d feat/password-reset
|
||||
```
|
||||
|
||||
### Example 2: Bug Fix
|
||||
|
||||
**Scenario:** Fix login timeout issue
|
||||
|
||||
```bash
|
||||
# 1. Create fix branch
|
||||
git checkout development
|
||||
git pull origin development
|
||||
git checkout -b fix/login-timeout
|
||||
|
||||
# 2. Fix and commit
|
||||
git add src/auth/session.ts
|
||||
git commit -m "fix(auth): increase session timeout to 30 minutes
|
||||
|
||||
The default 5-minute timeout was causing frequent re-authentication.
|
||||
Extended to 30 minutes based on user feedback.
|
||||
|
||||
Closes #456"
|
||||
|
||||
# 3. Push and create PR
|
||||
git push -u origin fix/login-timeout
|
||||
```
|
||||
|
||||
### Example 3: Documentation Update
|
||||
|
||||
**Scenario:** Update API documentation
|
||||
|
||||
```bash
|
||||
# 1. Create docs branch
|
||||
git checkout development
|
||||
git checkout -b docs/api-authentication
|
||||
|
||||
# 2. Update docs
|
||||
git add docs/api/authentication.md
|
||||
git commit -m "docs(api): document authentication endpoints
|
||||
|
||||
Add detailed documentation for:
|
||||
- POST /auth/login
|
||||
- POST /auth/logout
|
||||
- POST /auth/refresh
|
||||
- GET /auth/me"
|
||||
|
||||
# 3. Push and create PR
|
||||
git push -u origin docs/api-authentication
|
||||
```
|
||||
|
||||
### Example 4: Emergency Hotfix
|
||||
|
||||
**Scenario:** Critical security vulnerability in production
|
||||
|
||||
```bash
|
||||
# 1. Create hotfix from main
|
||||
git checkout main
|
||||
git pull origin main
|
||||
git checkout -b hotfix/sql-injection
|
||||
|
||||
# 2. Fix the issue
|
||||
git add src/db/queries.ts
|
||||
git commit -m "fix(security): sanitize SQL query parameters
|
||||
|
||||
CRITICAL: Addresses SQL injection vulnerability in user search.
|
||||
All user inputs are now properly parameterized.
|
||||
|
||||
CVE: CVE-2024-XXXXX"
|
||||
|
||||
# 3. Merge to main with tag
|
||||
git checkout main
|
||||
git merge hotfix/sql-injection
|
||||
git tag -a v2.1.1 -m "Hotfix: SQL injection vulnerability"
|
||||
git push origin main --tags
|
||||
|
||||
# 4. Sync to development (IMPORTANT!)
|
||||
git checkout development
|
||||
git merge main
|
||||
git push origin development
|
||||
|
||||
# 5. Cleanup
|
||||
git branch -d hotfix/sql-injection
|
||||
```
|
||||
|
||||
### Example 5: Release Promotion
|
||||
|
||||
**Scenario:** Release version 2.2.0
|
||||
|
||||
```bash
|
||||
# 1. Ensure development is ready
|
||||
git checkout development
|
||||
git pull origin development
|
||||
# Run full test suite
|
||||
npm test
|
||||
|
||||
# 2. Update version and changelog
|
||||
# Edit package.json, CHANGELOG.md
|
||||
git add package.json CHANGELOG.md
|
||||
git commit -m "chore(release): prepare v2.2.0"
|
||||
|
||||
# 3. Promote to staging
|
||||
git checkout staging
|
||||
git merge development
|
||||
git push origin staging
|
||||
|
||||
# 4. After QA approval, promote to main
|
||||
git checkout main
|
||||
git merge staging
|
||||
git tag -a v2.2.0 -m "Release v2.2.0"
|
||||
git push origin main --tags
|
||||
|
||||
# 5. Sync development
|
||||
git checkout development
|
||||
git merge main
|
||||
git push origin development
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### Environment Variables
|
||||
|
||||
Configure the branching strategy via environment variables:
|
||||
|
||||
```bash
|
||||
# Default base branch for new features
|
||||
GIT_DEFAULT_BASE=development
|
||||
|
||||
# Protected branches (comma-separated)
|
||||
GIT_PROTECTED_BRANCHES=main,master,development,staging,production
|
||||
|
||||
# Workflow style
|
||||
GIT_WORKFLOW_STYLE=feature-branch
|
||||
|
||||
# Auto-delete merged branches
|
||||
GIT_AUTO_DELETE_MERGED=true
|
||||
```
|
||||
|
||||
### Per-Project Configuration
|
||||
|
||||
Create `.git-flow.json` in project root:
|
||||
|
||||
```json
|
||||
{
|
||||
"defaultBase": "development",
|
||||
"protectedBranches": ["main", "staging", "development"],
|
||||
"branchPrefixes": ["feat", "fix", "docs", "refactor", "test", "chore"],
|
||||
"requirePR": {
|
||||
"main": true,
|
||||
"staging": true,
|
||||
"development": false
|
||||
},
|
||||
"squashOnMerge": {
|
||||
"development": true,
|
||||
"staging": false,
|
||||
"main": false
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
|
||||
### Do
|
||||
|
||||
- Keep feature branches short-lived (< 1 week)
|
||||
- Rebase feature branches on development regularly
|
||||
- Write descriptive commit messages
|
||||
- Delete branches after merging
|
||||
- Tag all releases on main
|
||||
- Always sync development after hotfixes
|
||||
|
||||
### Avoid
|
||||
|
||||
- Long-lived feature branches
|
||||
- Direct commits to protected branches
|
||||
- Force pushing to shared branches
|
||||
- Merging untested code to staging
|
||||
- Skipping the development sync after hotfixes
|
||||
|
||||
## Related Documentation
|
||||
|
||||
- [Branching Strategies Skill](/plugins/git-flow/skills/workflow-patterns/branching-strategies.md)
|
||||
- [git-flow README](/plugins/git-flow/README.md)
|
||||
- [Conventional Commits](https://www.conventionalcommits.org/)
|
||||
@@ -1,19 +1,16 @@
|
||||
{
|
||||
"hooks": {
|
||||
"PreToolUse": [
|
||||
{
|
||||
"matcher": "Bash",
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/branch-check.sh"
|
||||
},
|
||||
{
|
||||
"type": "command",
|
||||
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/commit-msg-check.sh"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
"hooks": [
|
||||
{
|
||||
"event": "PreToolUse",
|
||||
"matcher": "Bash",
|
||||
"type": "command",
|
||||
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/branch-check.sh"
|
||||
},
|
||||
{
|
||||
"event": "PreToolUse",
|
||||
"matcher": "Bash",
|
||||
"type": "command",
|
||||
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/commit-msg-check.sh"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"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",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
# Coordinator Agent
|
||||
|
||||
## Visual Output Requirements
|
||||
|
||||
**MANDATORY: Display header at start of every response.**
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔍 PR-REVIEW · Review Coordinator │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Role
|
||||
|
||||
You are the review coordinator that orchestrates the multi-agent PR review process. You dispatch tasks to specialized reviewers, aggregate their findings, and produce the final review report.
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
# Maintainability Auditor Agent
|
||||
|
||||
## Visual Output Requirements
|
||||
|
||||
**MANDATORY: Display header at start of every response.**
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔍 PR-REVIEW · Maintainability Audit │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Role
|
||||
|
||||
You are a code quality reviewer that identifies maintainability issues, code smells, and opportunities to improve code clarity and long-term health.
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
# Performance Analyst Agent
|
||||
|
||||
## Visual Output Requirements
|
||||
|
||||
**MANDATORY: Display header at start of every response.**
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔍 PR-REVIEW · Performance Analysis │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Role
|
||||
|
||||
You are a performance-focused code reviewer that identifies performance issues, inefficiencies, and optimization opportunities in pull request changes.
|
||||
|
||||
@@ -1,5 +1,21 @@
|
||||
---
|
||||
name: security-reviewer
|
||||
description: Security-focused code reviewer for PR analysis
|
||||
model: opus
|
||||
---
|
||||
|
||||
# Security Reviewer Agent
|
||||
|
||||
## Visual Output Requirements
|
||||
|
||||
**MANDATORY: Display header at start of every response.**
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔍 PR-REVIEW · Security Review │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Role
|
||||
|
||||
You are a security-focused code reviewer that identifies vulnerabilities, security anti-patterns, and potential exploits in pull request changes.
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
# Test Validator Agent
|
||||
|
||||
## Visual Output Requirements
|
||||
|
||||
**MANDATORY: Display header at start of every response.**
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔍 PR-REVIEW · Test Validation │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Role
|
||||
|
||||
You are a test quality reviewer that validates test coverage, test quality, and testing practices in pull request changes.
|
||||
|
||||
@@ -4,6 +4,18 @@ description: Interactive setup wizard for pr-review plugin - configures Gitea MC
|
||||
|
||||
# PR Review Setup Wizard
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔍 PR-REVIEW · Setup Wizard │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the setup.
|
||||
|
||||
This command sets up the pr-review plugin. It shares the Gitea MCP server with projman, so if you've already run `/initial-setup` for projman, most of the work is done.
|
||||
|
||||
## Important Context
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /pr-diff - Annotated PR Diff Viewer
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔍 PR-REVIEW · Diff Viewer │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the diff display.
|
||||
|
||||
## Purpose
|
||||
|
||||
Display the PR diff with inline annotations from review comments, making it easy to see what feedback has been given alongside the code changes.
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /pr-findings - Filter Review Findings
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔍 PR-REVIEW · Findings │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the findings display.
|
||||
|
||||
## Purpose
|
||||
|
||||
List and filter findings from a previous PR review by category, severity, or confidence level.
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /pr-review - Full Multi-Agent Review
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔍 PR-REVIEW · Full Review │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the review.
|
||||
|
||||
## Purpose
|
||||
|
||||
Conduct a comprehensive pull request review using specialized agents for security, performance, maintainability, and test coverage.
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# /pr-summary - Quick PR Summary
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔍 PR-REVIEW · Quick Summary │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the summary.
|
||||
|
||||
## Purpose
|
||||
|
||||
Generate a quick summary of PR changes without conducting a full multi-agent review.
|
||||
|
||||
@@ -4,6 +4,18 @@ description: Quick project setup - configures only project-level settings for PR
|
||||
|
||||
# Project Initialization (PR Review)
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔍 PR-REVIEW · Project Setup │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the setup.
|
||||
|
||||
Fast setup for a new project when system-level configuration is already complete.
|
||||
|
||||
**Use this when:**
|
||||
|
||||
@@ -4,6 +4,18 @@ description: Sync project configuration with current git remote - use after chan
|
||||
|
||||
# Project Sync (PR Review)
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────┐
|
||||
│ 🔍 PR-REVIEW · Project Sync │
|
||||
└──────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Then proceed with the synchronization.
|
||||
|
||||
Updates project configuration when the git remote URL has changed.
|
||||
|
||||
**Use this when:**
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"name": "projman",
|
||||
"version": "3.2.0",
|
||||
"version": "3.3.0",
|
||||
"defaultModel": "sonnet",
|
||||
"description": "Sprint planning and project management with Gitea integration",
|
||||
"author": {
|
||||
"name": "Leo Miranda",
|
||||
|
||||
@@ -1,12 +1,42 @@
|
||||
---
|
||||
name: code-reviewer
|
||||
description: Specialized agent for pre-sprint code quality review
|
||||
model: opus
|
||||
---
|
||||
|
||||
# Code Reviewer Agent
|
||||
|
||||
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
|
||||
|
||||
- Identify issues that should be fixed before work is marked complete
|
||||
|
||||
@@ -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.**
|
||||
|
||||
## 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
|
||||
|
||||
**Implementation-Focused:**
|
||||
|
||||
@@ -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.**
|
||||
|
||||
## 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
|
||||
|
||||
**Concise and Action-Oriented:**
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
---
|
||||
name: planner
|
||||
description: Sprint planning agent - thoughtful architecture analysis and issue creation
|
||||
model: opus
|
||||
---
|
||||
|
||||
# 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.**
|
||||
|
||||
## 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
|
||||
|
||||
**Thoughtful and Methodical:**
|
||||
|
||||
@@ -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`
|
||||
- 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
|
||||
|
||||
## Visual Output
|
||||
|
||||
When executing this command, display the plugin header:
|
||||
|
||||
```
|
||||
╔══════════════════════════════════════════════════════════════════╗
|
||||
║ 📋 PROJMAN ║
|
||||
║ Debug Report ║
|
||||
╚══════════════════════════════════════════════════════════════════╝
|
||||
```
|
||||
|
||||
Then proceed with the diagnostic workflow.
|
||||
|
||||
@@ -385,6 +385,13 @@ git push -u origin fix/issue-[NUMBER]-[brief-description]
|
||||
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:
|
||||
```
|
||||
mcp__plugin_projman_gitea__add_comment(
|
||||
@@ -417,9 +424,14 @@ Next Steps:
|
||||
|
||||
**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:
|
||||
|
||||
**1. Close the issue:**
|
||||
**1. Close the issue (REQUIRED - won't auto-close):**
|
||||
|
||||
```
|
||||
mcp__plugin_projman_gitea__update_issue(
|
||||
@@ -572,3 +584,16 @@ Error Message → File to Check
|
||||
"labels not found" → labels.py, gitea_client.py
|
||||
"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.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user