refactor: extract skills from commands across 8 plugins
Refactored commands to extract reusable skills following the Commands → Skills separation pattern. Each command is now <50 lines and references skill files for detailed knowledge. Plugins refactored: - claude-config-maintainer: 5 commands → 7 skills - code-sentinel: 3 commands → 2 skills - contract-validator: 5 commands → 6 skills - data-platform: 10 commands → 6 skills - doc-guardian: 5 commands → 6 skills (replaced nested dir) - git-flow: 8 commands → 7 skills Skills contain: workflows, validation rules, conventions, reference data, tool documentation Commands now contain: YAML frontmatter, agent assignment, skills list, brief workflow steps, parameters Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -4,29 +4,18 @@ description: Analyze CLAUDE.md for optimization opportunities and plugin integra
|
||||
|
||||
# Analyze CLAUDE.md
|
||||
|
||||
This command analyzes your project's CLAUDE.md file and provides a detailed report on optimization opportunities and plugin integration status.
|
||||
Analyze your CLAUDE.md and provide a scored report with recommendations.
|
||||
|
||||
## Skills to Load
|
||||
|
||||
- skills/visual-header.md
|
||||
- skills/analysis-workflow.md
|
||||
- skills/optimization-patterns.md
|
||||
- skills/pre-change-protocol.md
|
||||
|
||||
## 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
|
||||
2. **Analyze Structure** - Evaluates organization, headers, and flow
|
||||
3. **Check Content** - Reviews clarity, completeness, and conciseness
|
||||
4. **Identify Issues** - Finds redundancy, verbosity, and missing sections
|
||||
5. **Detect Active Plugins** - Identifies marketplace plugins enabled in the project
|
||||
6. **Check Plugin Integration** - Verifies CLAUDE.md references active plugins
|
||||
7. **Generate Report** - Provides scored assessment with recommendations
|
||||
Display: `CONFIG-MAINTAINER - CLAUDE.md Analysis`
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -34,202 +23,27 @@ Then proceed with the analysis.
|
||||
/config-analyze
|
||||
```
|
||||
|
||||
Or invoke the maintainer agent directly:
|
||||
## Workflow
|
||||
|
||||
```
|
||||
Analyze the CLAUDE.md file in this project
|
||||
```
|
||||
1. Locate and parse CLAUDE.md
|
||||
2. Evaluate structure, clarity, completeness, conciseness
|
||||
3. Find redundancy, verbosity, missing sections
|
||||
4. Detect active marketplace plugins
|
||||
5. Verify plugin integration in CLAUDE.md
|
||||
6. Generate scored report with recommendations
|
||||
|
||||
## Analysis Criteria
|
||||
## Scoring (100 points)
|
||||
|
||||
### Structure (25 points)
|
||||
- Logical section ordering
|
||||
- Clear header hierarchy
|
||||
- Easy navigation
|
||||
- Appropriate grouping
|
||||
|
||||
### Clarity (25 points)
|
||||
- Clear instructions
|
||||
- Good examples
|
||||
- Unambiguous language
|
||||
- Appropriate detail level
|
||||
|
||||
### Completeness (25 points)
|
||||
- Project overview present
|
||||
- Quick start commands documented
|
||||
- Critical rules highlighted
|
||||
- Key workflows covered
|
||||
- **Pre-Change Protocol section present** (MANDATORY - see below)
|
||||
|
||||
### Conciseness (25 points)
|
||||
- No unnecessary repetition
|
||||
- Efficient information density
|
||||
- Appropriate length for project size
|
||||
- No generic filler content
|
||||
|
||||
## Pre-Change Protocol Check (MANDATORY)
|
||||
|
||||
**This check is CRITICAL.** The Pre-Change Protocol section ensures Claude performs comprehensive dependency analysis before making any code changes, preventing missed references and incomplete updates.
|
||||
|
||||
### What to Check
|
||||
|
||||
Search CLAUDE.md for:
|
||||
- Section header containing "Pre-Change" or "Before Any Code Change"
|
||||
- References to `grep -rn` or impact search
|
||||
- Checklist with "Files That Will Be Affected"
|
||||
- Requirement for user verification before proceeding
|
||||
|
||||
### If Missing
|
||||
|
||||
**Flag as HIGH PRIORITY issue:**
|
||||
|
||||
```
|
||||
1. [HIGH] Missing Pre-Change Protocol section
|
||||
CLAUDE.md lacks mandatory dependency-check protocol.
|
||||
Impact: Claude may miss file references when making changes,
|
||||
leading to broken dependencies and incomplete updates.
|
||||
|
||||
Recommendation: Add Pre-Change Protocol section immediately.
|
||||
This is the #1 cause of cascading bugs from incomplete changes.
|
||||
```
|
||||
|
||||
### Required Section Content
|
||||
|
||||
The Pre-Change Protocol section must include:
|
||||
1. Requirement to run grep search and show results
|
||||
2. List of files that will be affected
|
||||
3. List of files searched but not changed (with reasoning)
|
||||
4. Documentation that references the change target
|
||||
5. User verification checkpoint before proceeding
|
||||
6. Post-change verification step
|
||||
|
||||
## Plugin Integration Analysis
|
||||
|
||||
After the content analysis, the command detects and analyzes marketplace plugin integration:
|
||||
|
||||
### Detection Method
|
||||
|
||||
1. **Read `.claude/settings.local.json`** - Check for enabled MCP servers
|
||||
2. **Map MCP servers to plugins** - Use marketplace registry to identify active plugins:
|
||||
- `gitea` → projman
|
||||
- `netbox` → cmdb-assistant
|
||||
3. **Check for hooks** - Identify hook-based plugins (project-hygiene)
|
||||
4. **Scan CLAUDE.md** - Look for plugin integration content
|
||||
|
||||
### Plugin Coverage Scoring
|
||||
|
||||
For each detected plugin, verify CLAUDE.md contains:
|
||||
- Plugin section header or mention
|
||||
- Available commands documentation
|
||||
- MCP tools reference (if applicable)
|
||||
- Usage guidelines
|
||||
|
||||
Coverage is reported as percentage: `(plugins referenced / plugins detected) * 100`
|
||||
|
||||
## Expected Output
|
||||
|
||||
```
|
||||
CLAUDE.md Analysis Report
|
||||
=========================
|
||||
|
||||
File: /path/to/project/CLAUDE.md
|
||||
Lines: 245
|
||||
Last Modified: 2025-01-18
|
||||
|
||||
Overall Score: 72/100
|
||||
|
||||
Category Scores:
|
||||
- Structure: 20/25 (Good)
|
||||
- Clarity: 18/25 (Good)
|
||||
- Completeness: 22/25 (Excellent)
|
||||
- Conciseness: 12/25 (Needs Work)
|
||||
|
||||
Strengths:
|
||||
+ Clear project overview with good context
|
||||
+ Critical rules prominently displayed
|
||||
+ Comprehensive coverage of workflows
|
||||
|
||||
Issues Found:
|
||||
|
||||
1. [HIGH] Verbose explanations (lines 45-78)
|
||||
Section "Running Tests" has 34 lines that could be 8 lines.
|
||||
Impact: Harder to scan, important info buried
|
||||
|
||||
2. [MEDIUM] Duplicate content (lines 102-115, 189-200)
|
||||
Same git workflow documented twice.
|
||||
Impact: Maintenance burden, inconsistency risk
|
||||
|
||||
3. [MEDIUM] Missing Quick Start section
|
||||
No clear "how to get started" instructions.
|
||||
Impact: Slower onboarding for Claude
|
||||
|
||||
4. [LOW] Inconsistent header formatting
|
||||
Mix of "## Title" and "## Title:" styles.
|
||||
Impact: Minor readability issue
|
||||
|
||||
Recommendations:
|
||||
1. Add Quick Start section at top (priority: high)
|
||||
2. Condense Testing section to essentials (priority: high)
|
||||
3. Remove duplicate git workflow (priority: medium)
|
||||
4. Standardize header formatting (priority: low)
|
||||
|
||||
Estimated improvement: 15-20 points after changes
|
||||
|
||||
---
|
||||
|
||||
Plugin Integration Analysis
|
||||
===========================
|
||||
|
||||
Detected Active Plugins:
|
||||
✓ projman (via gitea MCP server)
|
||||
✓ cmdb-assistant (via netbox MCP server)
|
||||
✓ project-hygiene (via PostToolUse hook)
|
||||
|
||||
Plugin Coverage: 33% (1/3 plugins referenced)
|
||||
|
||||
✓ projman - Referenced in CLAUDE.md
|
||||
✗ cmdb-assistant - NOT referenced
|
||||
✗ project-hygiene - NOT referenced
|
||||
|
||||
Missing Integration Content:
|
||||
|
||||
1. cmdb-assistant
|
||||
Add infrastructure management commands and NetBox MCP tools reference.
|
||||
|
||||
2. project-hygiene
|
||||
Add cleanup hook documentation and configuration options.
|
||||
|
||||
---
|
||||
|
||||
Would you like me to:
|
||||
[1] Implement all content recommendations
|
||||
[2] Add missing plugin integrations to CLAUDE.md
|
||||
[3] Do both (recommended)
|
||||
[4] Show preview of changes first
|
||||
```
|
||||
|
||||
## When to Use
|
||||
|
||||
Run `/config-analyze` when:
|
||||
- Setting up a new project with existing CLAUDE.md
|
||||
- CLAUDE.md feels too long or hard to use
|
||||
- Claude seems to miss instructions
|
||||
- Before major project changes
|
||||
- Periodic maintenance (quarterly)
|
||||
- After installing new marketplace plugins
|
||||
- When Claude doesn't seem to use available plugin tools
|
||||
| Category | Points |
|
||||
|----------|--------|
|
||||
| Structure | 25 |
|
||||
| Clarity | 25 |
|
||||
| Completeness | 25 |
|
||||
| Conciseness | 25 |
|
||||
|
||||
## Follow-Up Actions
|
||||
|
||||
After analysis, you can:
|
||||
- Run `/config-optimize` to automatically improve the file
|
||||
- Manually address specific issues
|
||||
- Request detailed recommendations for any section
|
||||
- Compare with best practice templates
|
||||
|
||||
## Tips
|
||||
|
||||
- Run analysis after significant project changes
|
||||
- Address HIGH priority issues first
|
||||
- Keep scores above 70/100 for best results
|
||||
- Re-analyze after making changes to verify improvement
|
||||
1. Implement content recommendations
|
||||
2. Add missing plugin integrations
|
||||
3. Do both (recommended)
|
||||
4. Show preview first
|
||||
|
||||
@@ -4,248 +4,45 @@ description: Show diff between current CLAUDE.md and last commit
|
||||
|
||||
# Compare CLAUDE.md Changes
|
||||
|
||||
This command shows differences between your current CLAUDE.md file and previous versions, helping track configuration drift and review changes before committing.
|
||||
Show differences between CLAUDE.md versions to track configuration drift.
|
||||
|
||||
## Skills to Load
|
||||
|
||||
- skills/visual-header.md
|
||||
- skills/diff-analysis.md
|
||||
|
||||
## 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
|
||||
2. **Compare Versions** - Shows diff against last commit or specified revision
|
||||
3. **Highlight Sections** - Groups changes by affected sections
|
||||
4. **Summarize Impact** - Explains what the changes mean for Claude's behavior
|
||||
Display: `CONFIG-MAINTAINER - CLAUDE.md Diff`
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
/config-diff
|
||||
/config-diff # Working vs last commit
|
||||
/config-diff --commit=abc1234 # Working vs specific commit
|
||||
/config-diff --from=v1.0 --to=v2.0 # Compare two commits
|
||||
/config-diff --section="Critical Rules" # Specific section only
|
||||
```
|
||||
|
||||
Compare against a specific commit:
|
||||
## Workflow
|
||||
|
||||
```
|
||||
/config-diff --commit=abc1234
|
||||
/config-diff --commit=HEAD~3
|
||||
```
|
||||
|
||||
Compare two specific commits:
|
||||
|
||||
```
|
||||
/config-diff --from=abc1234 --to=def5678
|
||||
```
|
||||
|
||||
Show only specific sections:
|
||||
|
||||
```
|
||||
/config-diff --section="Critical Rules"
|
||||
/config-diff --section="Quick Start"
|
||||
```
|
||||
|
||||
## Comparison Modes
|
||||
|
||||
### Default: Working vs Last Commit
|
||||
Shows uncommitted changes to CLAUDE.md:
|
||||
```
|
||||
/config-diff
|
||||
```
|
||||
|
||||
### Working vs Specific Commit
|
||||
Shows changes since a specific point:
|
||||
```
|
||||
/config-diff --commit=v1.0.0
|
||||
```
|
||||
|
||||
### Commit to Commit
|
||||
Shows changes between two historical versions:
|
||||
```
|
||||
/config-diff --from=v1.0.0 --to=v2.0.0
|
||||
```
|
||||
|
||||
### Branch Comparison
|
||||
Shows CLAUDE.md differences between branches:
|
||||
```
|
||||
/config-diff --branch=main
|
||||
/config-diff --from=feature-branch --to=main
|
||||
```
|
||||
|
||||
## Expected Output
|
||||
|
||||
```
|
||||
CLAUDE.md Diff Report
|
||||
=====================
|
||||
|
||||
File: /path/to/project/CLAUDE.md
|
||||
Comparing: Working copy vs HEAD (last commit)
|
||||
Commit: abc1234 "Update build commands" (2 days ago)
|
||||
|
||||
Summary:
|
||||
- Lines added: 12
|
||||
- Lines removed: 5
|
||||
- Net change: +7 lines
|
||||
- Sections affected: 3
|
||||
|
||||
Section Changes:
|
||||
----------------
|
||||
|
||||
## Quick Start [MODIFIED]
|
||||
- Added new environment variable requirement
|
||||
- Updated test command with coverage flag
|
||||
|
||||
## Critical Rules [ADDED CONTENT]
|
||||
+ New rule: "Never modify database migrations directly"
|
||||
|
||||
## Architecture [UNCHANGED]
|
||||
|
||||
## Common Operations [MODIFIED]
|
||||
- Removed deprecated deployment command
|
||||
- Added new Docker workflow
|
||||
|
||||
Detailed Diff:
|
||||
--------------
|
||||
|
||||
--- CLAUDE.md (HEAD)
|
||||
+++ CLAUDE.md (working)
|
||||
|
||||
@@ -15,7 +15,10 @@
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
+export DATABASE_URL=postgres://... # Required
|
||||
pip install -r requirements.txt
|
||||
-pytest
|
||||
+pytest --cov=src # Run with coverage
|
||||
uvicorn main:app --reload
|
||||
```
|
||||
|
||||
@@ -45,6 +48,7 @@
|
||||
## Critical Rules
|
||||
|
||||
- Never modify `.env` files directly
|
||||
+- Never modify database migrations directly
|
||||
- Always run tests before committing
|
||||
|
||||
Behavioral Impact:
|
||||
------------------
|
||||
|
||||
These changes will affect Claude's behavior:
|
||||
|
||||
1. [NEW REQUIREMENT] Claude will now export DATABASE_URL before running
|
||||
2. [MODIFIED] Test command now includes coverage reporting
|
||||
3. [NEW RULE] Claude will avoid direct migration modifications
|
||||
|
||||
Review: Do these changes reflect your intended configuration?
|
||||
```
|
||||
|
||||
## Section-Focused View
|
||||
|
||||
When using `--section`, output focuses on specific areas:
|
||||
|
||||
```
|
||||
/config-diff --section="Critical Rules"
|
||||
|
||||
CLAUDE.md Section Diff: Critical Rules
|
||||
======================================
|
||||
|
||||
--- HEAD
|
||||
+++ Working
|
||||
|
||||
## Critical Rules
|
||||
|
||||
- Never modify `.env` files directly
|
||||
+- Never modify database migrations directly
|
||||
+- Always use type hints in Python code
|
||||
- Always run tests before committing
|
||||
-- Keep functions under 50 lines
|
||||
|
||||
Changes:
|
||||
+ 2 rules added
|
||||
- 1 rule removed
|
||||
|
||||
Impact: Claude will follow 2 new constraints and no longer enforce
|
||||
the 50-line function limit.
|
||||
```
|
||||
1. Find project's CLAUDE.md file
|
||||
2. Show diff against target revision
|
||||
3. Group changes by affected sections
|
||||
4. Explain behavioral implications
|
||||
|
||||
## Options
|
||||
|
||||
| Option | Description |
|
||||
|--------|-------------|
|
||||
| `--commit=REF` | Compare working copy against specific commit/tag |
|
||||
| `--from=REF` | Starting point for comparison |
|
||||
| `--to=REF` | Ending point for comparison (default: HEAD) |
|
||||
| `--branch=NAME` | Compare against branch tip |
|
||||
| `--section=NAME` | Show only changes to specific section |
|
||||
| `--stat` | Show only statistics, no detailed diff |
|
||||
| `--no-color` | Disable colored output |
|
||||
| `--context=N` | Lines of context around changes (default: 3) |
|
||||
|
||||
## Understanding the Output
|
||||
|
||||
### Change Indicators
|
||||
|
||||
| Symbol | Meaning |
|
||||
|--------|---------|
|
||||
| `+` | Line added |
|
||||
| `-` | Line removed |
|
||||
| `@@` | Location marker showing line numbers |
|
||||
| `[MODIFIED]` | Section has changes |
|
||||
| `[ADDED]` | New section created |
|
||||
| `[REMOVED]` | Section deleted |
|
||||
| `[UNCHANGED]` | No changes to section |
|
||||
|
||||
### Impact Categories
|
||||
|
||||
- **NEW REQUIREMENT** - Claude will now need to do something new
|
||||
- **REMOVED REQUIREMENT** - Claude no longer needs to do something
|
||||
- **MODIFIED** - Existing behavior changed
|
||||
- **NEW RULE** - New constraint added
|
||||
- **RELAXED RULE** - Constraint removed or softened
|
||||
| `--commit=REF` | Compare against specific commit |
|
||||
| `--from=REF` | Starting point |
|
||||
| `--to=REF` | Ending point (default: HEAD) |
|
||||
| `--section=NAME` | Show only specific section |
|
||||
| `--stat` | Statistics only |
|
||||
|
||||
## When to Use
|
||||
|
||||
Run `/config-diff` when:
|
||||
- Before committing CLAUDE.md changes
|
||||
- Reviewing what changed after pulling updates
|
||||
- Debugging unexpected Claude behavior
|
||||
- Auditing configuration changes over time
|
||||
- Comparing configurations across branches
|
||||
|
||||
## Integration with Other Commands
|
||||
|
||||
| Workflow | Commands |
|
||||
|----------|----------|
|
||||
| Review before commit | `/config-diff` then `git commit` |
|
||||
| After optimization | `/config-optimize` then `/config-diff` |
|
||||
| Audit history | `/config-diff --from=v1.0.0 --to=HEAD` |
|
||||
| Branch comparison | `/config-diff --branch=main` |
|
||||
|
||||
## Tips
|
||||
|
||||
1. **Review before committing** - Always check what changed
|
||||
2. **Track behavioral changes** - Focus on rules and requirements sections
|
||||
3. **Use section filtering** - Large files benefit from focused diffs
|
||||
4. **Compare across releases** - Use tags to track major changes
|
||||
5. **Check after merges** - Ensure CLAUDE.md didn't get conflict artifacts
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### "No changes detected"
|
||||
- CLAUDE.md matches the comparison target
|
||||
- Check if you're comparing the right commits
|
||||
|
||||
### "File not found in commit"
|
||||
- CLAUDE.md didn't exist at that commit
|
||||
- Use `git log -- CLAUDE.md` to find when it was created
|
||||
|
||||
### "Not a git repository"
|
||||
- This command requires git history
|
||||
- Initialize git or use file backup comparison instead
|
||||
- Reviewing changes after pull
|
||||
- Debugging unexpected behavior
|
||||
|
||||
@@ -4,343 +4,45 @@ description: Lint CLAUDE.md for common anti-patterns and best practices
|
||||
|
||||
# Lint CLAUDE.md
|
||||
|
||||
This command checks your CLAUDE.md file against best practices and detects common anti-patterns that can cause issues with Claude Code.
|
||||
Check CLAUDE.md against best practices and detect common anti-patterns.
|
||||
|
||||
## Skills to Load
|
||||
|
||||
- skills/visual-header.md
|
||||
- skills/lint-rules.md
|
||||
|
||||
## 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
|
||||
2. **Check Security** - Detects hardcoded paths, secrets, and sensitive data
|
||||
3. **Validate Content** - Identifies anti-patterns and problematic instructions
|
||||
4. **Verify Format** - Ensures consistent formatting and style
|
||||
5. **Generate Report** - Provides actionable findings with fix suggestions
|
||||
Display: `CONFIG-MAINTAINER - CLAUDE.md Lint`
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
/config-lint
|
||||
/config-lint # Full lint
|
||||
/config-lint --fix # Auto-fix issues
|
||||
/config-lint --rules=security # Check specific category
|
||||
```
|
||||
|
||||
Lint with auto-fix:
|
||||
## Workflow
|
||||
|
||||
```
|
||||
/config-lint --fix
|
||||
```
|
||||
|
||||
Check specific rules only:
|
||||
|
||||
```
|
||||
/config-lint --rules=security,structure
|
||||
```
|
||||
|
||||
## Linting Rules
|
||||
|
||||
### Security Rules (SEC)
|
||||
|
||||
| Rule | Description | Severity |
|
||||
|------|-------------|----------|
|
||||
| SEC001 | Hardcoded absolute paths | Warning |
|
||||
| SEC002 | Potential secrets/API keys | Error |
|
||||
| SEC003 | Hardcoded IP addresses | Warning |
|
||||
| SEC004 | Exposed credentials patterns | Error |
|
||||
| SEC005 | Hardcoded URLs with tokens | Error |
|
||||
| SEC006 | Environment variable values (not names) | Warning |
|
||||
|
||||
### Structure Rules (STR)
|
||||
|
||||
| Rule | Description | Severity |
|
||||
|------|-------------|----------|
|
||||
| STR001 | Missing required sections | Error |
|
||||
| STR002 | Invalid header hierarchy (h3 before h2) | Warning |
|
||||
| STR003 | Orphaned content (text before first header) | Info |
|
||||
| STR004 | Excessive nesting depth (>4 levels) | Warning |
|
||||
| STR005 | Empty sections | Warning |
|
||||
| STR006 | Missing section content | Warning |
|
||||
|
||||
### Content Rules (CNT)
|
||||
|
||||
| Rule | Description | Severity |
|
||||
|------|-------------|----------|
|
||||
| CNT001 | Contradictory instructions | Error |
|
||||
| CNT002 | Vague or ambiguous rules | Warning |
|
||||
| CNT003 | Overly long sections (>100 lines) | Info |
|
||||
| CNT004 | Duplicate content | Warning |
|
||||
| CNT005 | TODO/FIXME in production config | Warning |
|
||||
| CNT006 | Outdated version references | Info |
|
||||
| CNT007 | Broken internal links | Warning |
|
||||
|
||||
### Format Rules (FMT)
|
||||
|
||||
| Rule | Description | Severity |
|
||||
|------|-------------|----------|
|
||||
| FMT001 | Inconsistent header styles | Info |
|
||||
| FMT002 | Inconsistent list markers | Info |
|
||||
| FMT003 | Missing code block language | Info |
|
||||
| FMT004 | Trailing whitespace | Info |
|
||||
| FMT005 | Missing blank lines around headers | Info |
|
||||
| FMT006 | Inconsistent indentation | Info |
|
||||
|
||||
### Best Practice Rules (BPR)
|
||||
|
||||
| Rule | Description | Severity |
|
||||
|------|-------------|----------|
|
||||
| BPR001 | No Quick Start section | Warning |
|
||||
| BPR002 | No Critical Rules section | Warning |
|
||||
| BPR003 | Instructions without examples | Info |
|
||||
| BPR004 | Commands without explanation | Info |
|
||||
| BPR005 | Rules without rationale | Info |
|
||||
| BPR006 | Missing plugin integration docs | Info |
|
||||
|
||||
## Expected Output
|
||||
|
||||
```
|
||||
CLAUDE.md Lint Report
|
||||
=====================
|
||||
|
||||
File: /path/to/project/CLAUDE.md
|
||||
Rules checked: 25
|
||||
Time: 0.3s
|
||||
|
||||
Summary:
|
||||
Errors: 2
|
||||
Warnings: 5
|
||||
Info: 3
|
||||
|
||||
Findings:
|
||||
---------
|
||||
|
||||
[ERROR] SEC002: Potential secret detected (line 45)
|
||||
│ api_key = "sk-1234567890abcdef"
|
||||
│ ^^^^^^^^^^^^^^^^^^^^^^
|
||||
└─ Hardcoded API key found. Use environment variable reference instead.
|
||||
|
||||
Suggested fix:
|
||||
- api_key = "sk-1234567890abcdef"
|
||||
+ api_key = $OPENAI_API_KEY # Set in environment
|
||||
|
||||
[ERROR] CNT001: Contradictory instructions (lines 23, 67)
|
||||
│ Line 23: "Always run tests before committing"
|
||||
│ Line 67: "Skip tests for documentation-only changes"
|
||||
│
|
||||
└─ These rules conflict. Clarify the exception explicitly.
|
||||
|
||||
Suggested fix:
|
||||
+ "Always run tests before committing, except for documentation-only
|
||||
+ changes (files in docs/ directory)"
|
||||
|
||||
[WARNING] SEC001: Hardcoded absolute path (line 12)
|
||||
│ Database location: /home/user/data/myapp.db
|
||||
│ ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
└─ Absolute paths break portability. Use relative or variable.
|
||||
|
||||
Suggested fix:
|
||||
- Database location: /home/user/data/myapp.db
|
||||
+ Database location: ./data/myapp.db # Or $DATA_DIR/myapp.db
|
||||
|
||||
[WARNING] STR002: Invalid header hierarchy (line 34)
|
||||
│ ### Subsection
|
||||
│ (no preceding ## header)
|
||||
│
|
||||
└─ H3 header without parent H2. Add H2 or promote to H2.
|
||||
|
||||
[WARNING] CNT004: Duplicate content (lines 45-52, 89-96)
|
||||
│ Same git workflow documented twice
|
||||
│
|
||||
└─ Remove duplicate or consolidate into single section.
|
||||
|
||||
[WARNING] STR005: Empty section (line 78)
|
||||
│ ## Troubleshooting
|
||||
│ (no content)
|
||||
│
|
||||
└─ Add content or remove empty section.
|
||||
|
||||
[WARNING] BPR002: No Critical Rules section
|
||||
│ Missing "Critical Rules" or "Important Rules" section
|
||||
│
|
||||
└─ Add a section highlighting must-follow rules for Claude.
|
||||
|
||||
[INFO] FMT003: Missing code block language (line 56)
|
||||
│ ```
|
||||
│ npm install
|
||||
│ ```
|
||||
│
|
||||
└─ Specify language for syntax highlighting: ```bash
|
||||
|
||||
[INFO] CNT003: Overly long section (lines 100-215)
|
||||
│ "Architecture" section is 115 lines
|
||||
│
|
||||
└─ Consider breaking into subsections or condensing.
|
||||
|
||||
[INFO] FMT001: Inconsistent header styles
|
||||
│ Line 10: "## Quick Start"
|
||||
│ Line 25: "## Architecture:"
|
||||
│ (colon suffix inconsistent)
|
||||
│
|
||||
└─ Standardize header format throughout document.
|
||||
|
||||
---
|
||||
|
||||
Auto-fixable: 4 issues (run with --fix)
|
||||
Manual review required: 6 issues
|
||||
|
||||
Run `/config-lint --fix` to apply automatic fixes.
|
||||
```
|
||||
1. Parse markdown structure and hierarchy
|
||||
2. Check for hardcoded paths, secrets, sensitive data
|
||||
3. Identify content anti-patterns
|
||||
4. Verify consistent formatting
|
||||
5. Generate report with fix suggestions
|
||||
|
||||
## Options
|
||||
|
||||
| Option | Description |
|
||||
|--------|-------------|
|
||||
| `--fix` | Automatically fix auto-fixable issues |
|
||||
| `--rules=LIST` | Check only specified rule categories |
|
||||
| `--ignore=LIST` | Skip specified rules (e.g., `--ignore=FMT001,FMT002`) |
|
||||
| `--severity=LEVEL` | Show only issues at or above level (error/warning/info) |
|
||||
| `--format=FORMAT` | Output format: `text` (default), `json`, `sarif` |
|
||||
| `--config=FILE` | Use custom lint configuration |
|
||||
| `--fix` | Auto-fix issues |
|
||||
| `--rules=LIST` | Check specific categories |
|
||||
| `--ignore=LIST` | Skip specified rules |
|
||||
| `--severity=LEVEL` | Filter by severity |
|
||||
| `--strict` | Treat warnings as errors |
|
||||
|
||||
## Rule Categories
|
||||
|
||||
Use `--rules` to focus on specific areas:
|
||||
|
||||
```
|
||||
/config-lint --rules=security # Only security checks
|
||||
/config-lint --rules=structure # Only structure checks
|
||||
/config-lint --rules=security,content # Multiple categories
|
||||
```
|
||||
|
||||
Available categories:
|
||||
- `security` - SEC rules
|
||||
- `structure` - STR rules
|
||||
- `content` - CNT rules
|
||||
- `format` - FMT rules
|
||||
- `bestpractice` - BPR rules
|
||||
|
||||
## Custom Configuration
|
||||
|
||||
Create `.claude-lint.json` in project root:
|
||||
|
||||
```json
|
||||
{
|
||||
"rules": {
|
||||
"SEC001": "warning",
|
||||
"FMT001": "off",
|
||||
"CNT003": {
|
||||
"severity": "warning",
|
||||
"maxLines": 150
|
||||
}
|
||||
},
|
||||
"ignore": [
|
||||
"FMT*"
|
||||
],
|
||||
"requiredSections": [
|
||||
"Quick Start",
|
||||
"Critical Rules",
|
||||
"Project Overview"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Anti-Pattern Examples
|
||||
|
||||
### Hardcoded Secrets (SEC002)
|
||||
```markdown
|
||||
# BAD
|
||||
API_KEY=sk-1234567890abcdef
|
||||
|
||||
# GOOD
|
||||
API_KEY=$OPENAI_API_KEY # Set via environment
|
||||
```
|
||||
|
||||
### Hardcoded Paths (SEC001)
|
||||
```markdown
|
||||
# BAD
|
||||
Config file: /home/john/projects/myapp/config.yml
|
||||
|
||||
# GOOD
|
||||
Config file: ./config.yml
|
||||
Config file: $PROJECT_ROOT/config.yml
|
||||
```
|
||||
|
||||
### Contradictory Rules (CNT001)
|
||||
```markdown
|
||||
# BAD
|
||||
- Always use TypeScript
|
||||
- JavaScript files are acceptable for scripts
|
||||
|
||||
# GOOD
|
||||
- Always use TypeScript for source code
|
||||
- JavaScript (.js) is acceptable only for config files and scripts
|
||||
```
|
||||
|
||||
### Vague Instructions (CNT002)
|
||||
```markdown
|
||||
# BAD
|
||||
- Be careful with the database
|
||||
|
||||
# GOOD
|
||||
- Never run DELETE without WHERE clause
|
||||
- Always backup before migrations
|
||||
```
|
||||
|
||||
### Invalid Hierarchy (STR002)
|
||||
```markdown
|
||||
# BAD
|
||||
# Main Title
|
||||
### Skipped Level
|
||||
|
||||
# GOOD
|
||||
# Main Title
|
||||
## Section
|
||||
### Subsection
|
||||
```
|
||||
|
||||
## When to Use
|
||||
|
||||
Run `/config-lint` when:
|
||||
- Before committing CLAUDE.md changes
|
||||
- During code review for CLAUDE.md modifications
|
||||
- Setting up CI/CD checks for configuration files
|
||||
- After major edits to catch introduced issues
|
||||
- Periodically as maintenance check
|
||||
|
||||
## Integration with CI/CD
|
||||
|
||||
Add to your CI pipeline:
|
||||
|
||||
```yaml
|
||||
# GitHub Actions example
|
||||
- name: Lint CLAUDE.md
|
||||
run: claude /config-lint --strict --format=sarif > lint-results.sarif
|
||||
|
||||
- name: Upload SARIF
|
||||
uses: github/codeql-action/upload-sarif@v2
|
||||
with:
|
||||
sarif_file: lint-results.sarif
|
||||
```
|
||||
|
||||
## Tips
|
||||
|
||||
1. **Start with errors** - Fix errors before warnings
|
||||
2. **Use --fix carefully** - Review auto-fixes before committing
|
||||
3. **Configure per-project** - Different projects have different needs
|
||||
4. **Integrate in CI** - Catch issues before they reach main
|
||||
5. **Review periodically** - Run lint check monthly as maintenance
|
||||
|
||||
## Related Commands
|
||||
|
||||
| Command | Relationship |
|
||||
|---------|--------------|
|
||||
| `/config-analyze` | Deeper content analysis (complements lint) |
|
||||
| `/config-optimize` | Applies fixes and improvements |
|
||||
| `/config-diff` | Shows what changed (run lint before commit) |
|
||||
- During code review
|
||||
- Periodically as maintenance
|
||||
|
||||
@@ -4,255 +4,46 @@ description: Initialize a new CLAUDE.md file for a project
|
||||
|
||||
# Initialize CLAUDE.md
|
||||
|
||||
This command creates a new CLAUDE.md file tailored to your project, gathering context and generating appropriate content.
|
||||
Create a new CLAUDE.md file tailored to your project.
|
||||
|
||||
## Skills to Load
|
||||
|
||||
- skills/visual-header.md
|
||||
- skills/claude-md-structure.md
|
||||
- skills/pre-change-protocol.md
|
||||
|
||||
## 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
|
||||
2. **Detect Stack** - Identifies technologies, frameworks, and tools
|
||||
3. **Generate Content** - Creates tailored CLAUDE.md sections
|
||||
4. **Review & Refine** - Allows customization before saving
|
||||
5. **Save File** - Creates the CLAUDE.md in project root
|
||||
Display: `CONFIG-MAINTAINER - CLAUDE.md Initialization`
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
/config-init
|
||||
/config-init # Interactive
|
||||
/config-init --minimal # Minimal version
|
||||
/config-init --comprehensive # Detailed version
|
||||
```
|
||||
|
||||
Or with options:
|
||||
## Workflow
|
||||
|
||||
```
|
||||
/config-init --template=api # Use API project template
|
||||
/config-init --minimal # Create minimal version
|
||||
/config-init --comprehensive # Create detailed version
|
||||
```
|
||||
|
||||
## Initialization Workflow
|
||||
|
||||
```
|
||||
CLAUDE.md Initialization
|
||||
========================
|
||||
|
||||
Step 1: Project Analysis
|
||||
------------------------
|
||||
Scanning project structure...
|
||||
|
||||
Detected:
|
||||
- Language: Python 3.11
|
||||
- Framework: FastAPI
|
||||
- Package Manager: pip (requirements.txt found)
|
||||
- Testing: pytest
|
||||
- Docker: Yes (Dockerfile found)
|
||||
- Git: Yes (.git directory)
|
||||
|
||||
Step 2: Clarifying Questions
|
||||
----------------------------
|
||||
|
||||
1. Project Description:
|
||||
What does this project do? (1-2 sentences)
|
||||
> [User provides description]
|
||||
|
||||
2. Build/Run Commands:
|
||||
Detected commands - are these correct?
|
||||
- Install: pip install -r requirements.txt
|
||||
- Test: pytest
|
||||
- Run: uvicorn main:app --reload
|
||||
[Y/n/edit]
|
||||
|
||||
3. Critical Rules:
|
||||
Any rules Claude MUST follow?
|
||||
Examples: "Never modify migrations", "Always use type hints"
|
||||
> [User provides rules]
|
||||
|
||||
4. Sensitive Areas:
|
||||
Any files/directories Claude should be careful with?
|
||||
> [User provides or skips]
|
||||
|
||||
Step 3: Generate CLAUDE.md
|
||||
--------------------------
|
||||
|
||||
Generating content based on:
|
||||
- Project type: FastAPI web API
|
||||
- Detected technologies
|
||||
- Your provided context
|
||||
|
||||
Preview:
|
||||
|
||||
---
|
||||
# CLAUDE.md
|
||||
|
||||
## Project Overview
|
||||
[Generated description]
|
||||
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt # Install dependencies
|
||||
pytest # Run tests
|
||||
uvicorn main:app --reload # Start dev server
|
||||
```
|
||||
|
||||
## Architecture
|
||||
[Generated based on structure]
|
||||
|
||||
## Critical Rules
|
||||
[Your provided rules]
|
||||
|
||||
## File Structure
|
||||
[Generated from analysis]
|
||||
---
|
||||
|
||||
Save this CLAUDE.md? [Y/n/edit]
|
||||
|
||||
Step 4: Complete
|
||||
----------------
|
||||
|
||||
CLAUDE.md created successfully!
|
||||
|
||||
Location: /path/to/project/CLAUDE.md
|
||||
Lines: 87
|
||||
Score: 85/100 (following best practices)
|
||||
|
||||
Recommendations:
|
||||
- Run /config-analyze periodically to maintain quality
|
||||
- Update when adding major features
|
||||
- Add troubleshooting section as issues are discovered
|
||||
```
|
||||
1. Analyze project structure, ask clarifying questions
|
||||
2. Detect technologies, frameworks, tools
|
||||
3. Generate tailored CLAUDE.md sections
|
||||
4. Allow review and customization
|
||||
5. Save file in project root
|
||||
|
||||
## Templates
|
||||
|
||||
### Minimal Template
|
||||
For small projects or when starting fresh:
|
||||
- Project Overview (required)
|
||||
- Quick Start (required)
|
||||
- Critical Rules (required)
|
||||
- **Pre-Change Protocol (required)**
|
||||
| Template | Sections |
|
||||
|----------|----------|
|
||||
| Minimal | Overview, Quick Start, Critical Rules, Pre-Change Protocol |
|
||||
| Standard | + Architecture, Common Operations, File Structure |
|
||||
| Comprehensive | + Troubleshooting, Integration Points, Workflow |
|
||||
|
||||
### Standard Template (default)
|
||||
For typical projects:
|
||||
- Project Overview
|
||||
- Quick Start
|
||||
- Architecture
|
||||
- Critical Rules
|
||||
- **Pre-Change Protocol**
|
||||
- Common Operations
|
||||
- File Structure
|
||||
|
||||
### Comprehensive Template
|
||||
For large or complex projects:
|
||||
- All standard sections plus:
|
||||
- Detailed Architecture
|
||||
- **Pre-Change Protocol**
|
||||
- Troubleshooting
|
||||
- Integration Points
|
||||
- Development Workflow
|
||||
- Deployment Notes
|
||||
|
||||
### Pre-Change Protocol Section (MANDATORY in ALL templates)
|
||||
|
||||
**This section MUST be included in every generated CLAUDE.md:**
|
||||
|
||||
```markdown
|
||||
## ⛔ MANDATORY: Before Any Code Change
|
||||
|
||||
**Claude MUST show this checklist BEFORE editing any file:**
|
||||
|
||||
### 1. Impact Search Results
|
||||
Run and show output of:
|
||||
\`\`\`bash
|
||||
grep -rn "PATTERN" --include="*.sh" --include="*.md" --include="*.json" --include="*.py" | grep -v ".git"
|
||||
\`\`\`
|
||||
|
||||
### 2. Files That Will Be Affected
|
||||
Numbered list of every file to be modified, with the specific change for each.
|
||||
|
||||
### 3. Files Searched But Not Changed (and why)
|
||||
Proof that related files were checked and determined unchanged.
|
||||
|
||||
### 4. Documentation That References This
|
||||
List of docs that mention this feature/script/function.
|
||||
|
||||
**User verifies this list before Claude proceeds. If Claude skips this, stop immediately.**
|
||||
|
||||
### After Changes
|
||||
Run the same grep and show results proving no references remain unaddressed.
|
||||
```
|
||||
|
||||
**Rationale:** This protocol prevents incomplete changes where Claude modifies some files but misses others that reference the same code, causing cascading bugs.
|
||||
|
||||
## Auto-Detection
|
||||
|
||||
The command automatically detects:
|
||||
|
||||
| What | How |
|
||||
|------|-----|
|
||||
| Language | File extensions, config files |
|
||||
| Framework | package.json, requirements.txt, etc. |
|
||||
| Build system | Makefile, package.json scripts, etc. |
|
||||
| Testing | pytest.ini, jest.config, etc. |
|
||||
| Docker | Dockerfile, docker-compose.yml |
|
||||
| Database | Connection strings, ORM configs |
|
||||
|
||||
## Customization
|
||||
|
||||
After generation, you can:
|
||||
- Edit any section before saving
|
||||
- Add additional sections
|
||||
- Remove unnecessary sections
|
||||
- Adjust detail level
|
||||
- Add project-specific content
|
||||
**Note:** Pre-Change Protocol is MANDATORY in all templates.
|
||||
|
||||
## When to Use
|
||||
|
||||
Run `/config-init` when:
|
||||
- Starting a new project
|
||||
- Project lacks CLAUDE.md
|
||||
- Existing CLAUDE.md is outdated/poor quality
|
||||
- Taking over an unfamiliar project
|
||||
|
||||
## Tips
|
||||
|
||||
1. **Provide accurate description** - This shapes the whole file
|
||||
2. **Include critical rules** - What must Claude never do?
|
||||
3. **Review generated content** - Auto-detection isn't perfect
|
||||
4. **Start minimal, grow as needed** - Add sections when required
|
||||
5. **Keep it current** - Update when project changes significantly
|
||||
|
||||
## Examples
|
||||
|
||||
### For a CLI Tool
|
||||
```
|
||||
/config-init
|
||||
|
||||
> Description: CLI tool for managing cloud infrastructure
|
||||
> Critical rules: Never delete resources without confirmation, always show dry-run first
|
||||
```
|
||||
|
||||
### For a Web App
|
||||
```
|
||||
/config-init
|
||||
|
||||
> Description: E-commerce platform with React frontend and Node.js backend
|
||||
> Critical rules: Never expose API keys, always validate user input, follow the existing component patterns
|
||||
```
|
||||
|
||||
### For a Library
|
||||
```
|
||||
/config-init --template=minimal
|
||||
|
||||
> Description: Python library for parsing log files
|
||||
> Critical rules: Maintain backward compatibility, all public functions need docstrings
|
||||
```
|
||||
- Taking over unfamiliar project
|
||||
|
||||
@@ -4,231 +4,47 @@ description: Optimize CLAUDE.md structure and content
|
||||
|
||||
# Optimize CLAUDE.md
|
||||
|
||||
This command automatically optimizes your project's CLAUDE.md file based on best practices and identified issues.
|
||||
Automatically optimize CLAUDE.md based on best practices.
|
||||
|
||||
## Skills to Load
|
||||
|
||||
- skills/visual-header.md
|
||||
- skills/optimization-patterns.md
|
||||
- skills/pre-change-protocol.md
|
||||
- skills/claude-md-structure.md
|
||||
|
||||
## 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. **Plan Changes** - Determines what to restructure, condense, or add
|
||||
3. **Show Preview** - Displays before/after comparison
|
||||
4. **Apply Changes** - Updates the file with your approval
|
||||
5. **Verify Results** - Confirms improvements achieved
|
||||
Display: `CONFIG-MAINTAINER - CLAUDE.md Optimization`
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
/config-optimize
|
||||
/config-optimize # Full optimization
|
||||
/config-optimize --condense # Reduce verbosity
|
||||
/config-optimize --dry-run # Preview only
|
||||
```
|
||||
|
||||
Or specify specific optimizations:
|
||||
## Workflow
|
||||
|
||||
```
|
||||
/config-optimize --condense # Focus on reducing verbosity
|
||||
/config-optimize --restructure # Focus on reorganization
|
||||
/config-optimize --add-missing # Focus on adding missing sections
|
||||
```
|
||||
|
||||
## Optimization Actions
|
||||
|
||||
### Restructure
|
||||
- Reorder sections by importance
|
||||
- Group related content together
|
||||
- Improve header hierarchy
|
||||
- Add navigation aids
|
||||
|
||||
### Condense
|
||||
- Remove redundant explanations
|
||||
- Convert verbose text to bullet points
|
||||
- Eliminate duplicate content
|
||||
- Shorten overly detailed sections
|
||||
|
||||
### Enhance
|
||||
- Add missing essential sections
|
||||
- **Add Pre-Change Protocol if missing (HIGH PRIORITY)**
|
||||
- Improve unclear instructions
|
||||
- Add helpful examples
|
||||
- Highlight critical rules
|
||||
|
||||
### Format
|
||||
- Standardize header styles
|
||||
- Fix code block formatting
|
||||
- Align list formatting
|
||||
- Improve table layouts
|
||||
|
||||
## Expected Output
|
||||
|
||||
```
|
||||
CLAUDE.md Optimization
|
||||
======================
|
||||
|
||||
Current Analysis:
|
||||
- Score: 72/100
|
||||
- Lines: 245
|
||||
- Issues: 4
|
||||
|
||||
Planned Optimizations:
|
||||
|
||||
1. ADD: Quick Start section (new, ~15 lines)
|
||||
+ Build command
|
||||
+ Test command
|
||||
+ Run command
|
||||
|
||||
2. CONDENSE: Testing section (34 → 8 lines)
|
||||
Before: Verbose explanation with redundant setup info
|
||||
After: Concise command reference with comments
|
||||
|
||||
3. REMOVE: Duplicate git workflow (lines 189-200)
|
||||
Keeping: Original at lines 102-115
|
||||
|
||||
4. FORMAT: Standardize headers
|
||||
Changing 12 headers from "## Title:" to "## Title"
|
||||
|
||||
Preview Changes? [Y/n] y
|
||||
|
||||
--- CLAUDE.md (before)
|
||||
+++ CLAUDE.md (after)
|
||||
|
||||
@@ -1,5 +1,20 @@
|
||||
# CLAUDE.md
|
||||
|
||||
+## Quick Start
|
||||
+
|
||||
+```bash
|
||||
+# Install dependencies
|
||||
+pip install -r requirements.txt
|
||||
+
|
||||
+# Run tests
|
||||
+pytest
|
||||
+
|
||||
+# Start development server
|
||||
+python manage.py runserver
|
||||
+```
|
||||
+
|
||||
## Project Overview
|
||||
...
|
||||
|
||||
[Full diff shown]
|
||||
|
||||
Apply these changes? [Y/n] y
|
||||
|
||||
Optimization Complete!
|
||||
- Previous score: 72/100
|
||||
- New score: 89/100
|
||||
- Lines reduced: 245 → 198 (-19%)
|
||||
- Issues resolved: 4/4
|
||||
|
||||
Backup saved to: .claude/backups/CLAUDE.md.2025-01-18
|
||||
```
|
||||
|
||||
## Safety Features
|
||||
|
||||
### Backup Creation
|
||||
- Automatic backup before changes
|
||||
- Stored in `.claude/backups/`
|
||||
- Easy restoration if needed
|
||||
|
||||
### Preview Mode
|
||||
- All changes shown before applying
|
||||
- Diff format for easy review
|
||||
- Option to approve/reject
|
||||
|
||||
### Selective Application
|
||||
- Can apply individual changes
|
||||
- Skip specific optimizations
|
||||
- Iterative refinement
|
||||
1. Identify optimization opportunities
|
||||
2. Plan restructure, condense, or add actions
|
||||
3. Show before/after preview
|
||||
4. Apply changes with approval
|
||||
5. Verify improvements
|
||||
|
||||
## Options
|
||||
|
||||
| Option | Description |
|
||||
|--------|-------------|
|
||||
| `--dry-run` | Show changes without applying |
|
||||
| `--no-backup` | Skip backup creation |
|
||||
| `--dry-run` | Preview without applying |
|
||||
| `--no-backup` | Skip backup |
|
||||
| `--aggressive` | Maximum condensation |
|
||||
| `--preserve-comments` | Keep all existing comments |
|
||||
| `--section=NAME` | Optimize specific section only |
|
||||
| `--section=NAME` | Optimize specific section |
|
||||
|
||||
## Pre-Change Protocol (Mandatory Addition)
|
||||
**Priority:** Add Pre-Change Protocol if missing.
|
||||
|
||||
**If CLAUDE.md is missing the Pre-Change Protocol section, optimization MUST add it.**
|
||||
## Safety
|
||||
|
||||
This is the highest priority enhancement because it prevents cascading bugs from incomplete code changes.
|
||||
|
||||
### Detection
|
||||
|
||||
Search CLAUDE.md for:
|
||||
- "Pre-Change" or "Before Any Code Change" in headers
|
||||
- References to impact search or grep verification
|
||||
- User verification checkpoint
|
||||
|
||||
### If Missing
|
||||
|
||||
Add this section (position: after Critical Rules, before Common Operations):
|
||||
|
||||
```markdown
|
||||
## ⛔ MANDATORY: Before Any Code Change
|
||||
|
||||
**Claude MUST show this checklist BEFORE editing any file:**
|
||||
|
||||
### 1. Impact Search Results
|
||||
Run and show output of:
|
||||
\`\`\`bash
|
||||
grep -rn "PATTERN" --include="*.sh" --include="*.md" --include="*.json" --include="*.py" | grep -v ".git"
|
||||
\`\`\`
|
||||
|
||||
### 2. Files That Will Be Affected
|
||||
Numbered list of every file to be modified, with the specific change for each.
|
||||
|
||||
### 3. Files Searched But Not Changed (and why)
|
||||
Proof that related files were checked and determined unchanged.
|
||||
|
||||
### 4. Documentation That References This
|
||||
List of docs that mention this feature/script/function.
|
||||
|
||||
**User verifies this list before Claude proceeds. If Claude skips this, stop immediately.**
|
||||
|
||||
### After Changes
|
||||
Run the same grep and show results proving no references remain unaddressed.
|
||||
```
|
||||
|
||||
## When to Use
|
||||
|
||||
Run `/config-optimize` when:
|
||||
- Analysis shows score below 70
|
||||
- File has grown too long
|
||||
- Structure needs reorganization
|
||||
- Missing critical sections
|
||||
- After major refactoring
|
||||
|
||||
## Best Practices
|
||||
|
||||
1. **Run analysis first** - Understand current state
|
||||
2. **Review preview carefully** - Ensure nothing important lost
|
||||
3. **Test after changes** - Verify Claude follows instructions
|
||||
4. **Keep backups** - Restore if issues arise
|
||||
5. **Iterate** - Multiple small optimizations beat one large one
|
||||
|
||||
## Rollback
|
||||
|
||||
If optimization causes issues:
|
||||
|
||||
```bash
|
||||
# Restore from backup
|
||||
cp .claude/backups/CLAUDE.md.TIMESTAMP ./CLAUDE.md
|
||||
```
|
||||
|
||||
Or ask:
|
||||
```
|
||||
Restore CLAUDE.md from the most recent backup
|
||||
```
|
||||
- Auto backup to `.claude/backups/`
|
||||
- Preview before applying
|
||||
|
||||
112
plugins/claude-config-maintainer/skills/analysis-workflow.md
Normal file
112
plugins/claude-config-maintainer/skills/analysis-workflow.md
Normal file
@@ -0,0 +1,112 @@
|
||||
# CLAUDE.md Analysis Workflow
|
||||
|
||||
This skill defines the workflow for analyzing CLAUDE.md files.
|
||||
|
||||
## Analysis Steps
|
||||
|
||||
1. **Locate File** - Find CLAUDE.md in project root
|
||||
2. **Parse Structure** - Extract headers and sections
|
||||
3. **Evaluate Content** - Score against criteria
|
||||
4. **Detect Plugins** - Identify active marketplace plugins
|
||||
5. **Check Integration** - Verify plugin references
|
||||
6. **Generate Report** - Provide scored assessment
|
||||
|
||||
## Content Analysis
|
||||
|
||||
### What to Check
|
||||
|
||||
| Area | Check For |
|
||||
|------|-----------|
|
||||
| Structure | Header hierarchy, section ordering, grouping |
|
||||
| Clarity | Clear instructions, examples, unambiguous language |
|
||||
| Completeness | Required sections present, workflows documented |
|
||||
| Conciseness | No redundancy, efficient density, appropriate length |
|
||||
|
||||
### Required Sections Check
|
||||
|
||||
1. Project Overview - present?
|
||||
2. Quick Start - present with commands?
|
||||
3. Critical Rules - present?
|
||||
4. **Pre-Change Protocol** - present? (HIGH PRIORITY if missing)
|
||||
|
||||
## Plugin Integration Analysis
|
||||
|
||||
### Detection Method
|
||||
|
||||
1. Read `.claude/settings.local.json` for enabled MCP servers
|
||||
2. Map MCP servers to plugins:
|
||||
- `gitea` -> projman
|
||||
- `netbox` -> cmdb-assistant
|
||||
3. Check for hook-based plugins (project-hygiene)
|
||||
4. Scan CLAUDE.md for plugin references
|
||||
|
||||
### Coverage Scoring
|
||||
|
||||
For each detected plugin, verify CLAUDE.md contains:
|
||||
- Plugin section header or mention
|
||||
- Available commands documentation
|
||||
- MCP tools reference (if applicable)
|
||||
- Usage guidelines
|
||||
|
||||
Coverage = (plugins referenced / plugins detected) * 100%
|
||||
|
||||
## Report Format
|
||||
|
||||
```
|
||||
CLAUDE.md Analysis Report
|
||||
=========================
|
||||
|
||||
File: /path/to/project/CLAUDE.md
|
||||
Lines: N
|
||||
Last Modified: YYYY-MM-DD
|
||||
|
||||
Overall Score: NN/100
|
||||
|
||||
Category Scores:
|
||||
- Structure: NN/25 (Rating)
|
||||
- Clarity: NN/25 (Rating)
|
||||
- Completeness: NN/25 (Rating)
|
||||
- Conciseness: NN/25 (Rating)
|
||||
|
||||
Strengths:
|
||||
+ [Positive finding]
|
||||
|
||||
Issues Found:
|
||||
|
||||
N. [SEVERITY] Issue description (location)
|
||||
Context explaining the problem.
|
||||
Impact: What happens if not fixed.
|
||||
|
||||
Recommendations:
|
||||
N. Action to take (priority: high/medium/low)
|
||||
|
||||
---
|
||||
|
||||
Plugin Integration Analysis
|
||||
===========================
|
||||
|
||||
Detected Active Plugins:
|
||||
[check] plugin-name (via detection method)
|
||||
|
||||
Plugin Coverage: NN% (N/N plugins referenced)
|
||||
|
||||
Missing Integration Content:
|
||||
N. plugin-name
|
||||
What to add.
|
||||
```
|
||||
|
||||
## Issue Severity
|
||||
|
||||
| Level | When to Use |
|
||||
|-------|-------------|
|
||||
| HIGH | Missing mandatory sections, security issues |
|
||||
| MEDIUM | Missing recommended content, duplicate content |
|
||||
| LOW | Formatting issues, minor improvements |
|
||||
|
||||
## Follow-Up Actions
|
||||
|
||||
After analysis, offer:
|
||||
1. Implement all content recommendations
|
||||
2. Add missing plugin integrations
|
||||
3. Do both (recommended)
|
||||
4. Show preview of changes first
|
||||
113
plugins/claude-config-maintainer/skills/claude-md-structure.md
Normal file
113
plugins/claude-config-maintainer/skills/claude-md-structure.md
Normal file
@@ -0,0 +1,113 @@
|
||||
# CLAUDE.md Structure Reference
|
||||
|
||||
This skill defines the standard structure, required sections, and templates for CLAUDE.md files.
|
||||
|
||||
## Required Sections
|
||||
|
||||
Every CLAUDE.md MUST have these sections:
|
||||
|
||||
| Section | Purpose | Priority |
|
||||
|---------|---------|----------|
|
||||
| Project Overview | What the project does | Required |
|
||||
| Quick Start | Build/test/run commands | Required |
|
||||
| Critical Rules | Must-follow constraints | Required |
|
||||
| Pre-Change Protocol | Dependency check before edits | **MANDATORY** |
|
||||
|
||||
## Recommended Sections
|
||||
|
||||
| Section | When to Include |
|
||||
|---------|-----------------|
|
||||
| Architecture | Complex projects with multiple components |
|
||||
| Common Operations | Projects with repetitive tasks |
|
||||
| File Structure | Large codebases |
|
||||
| Troubleshooting | Projects with known gotchas |
|
||||
| Integration Points | Projects with external dependencies |
|
||||
|
||||
## Header Hierarchy
|
||||
|
||||
```
|
||||
# CLAUDE.md (H1 - only one)
|
||||
## Section (H2 - main sections)
|
||||
### Subsection (H3 - within sections)
|
||||
#### Detail (H4 - rarely needed)
|
||||
```
|
||||
|
||||
**Rules:**
|
||||
- Never skip levels (no H3 before H2)
|
||||
- Maximum depth: 4 levels
|
||||
- No orphaned content before first header
|
||||
|
||||
## Templates
|
||||
|
||||
### Minimal Template
|
||||
For small projects:
|
||||
```markdown
|
||||
# CLAUDE.md
|
||||
|
||||
## Project Overview
|
||||
[Description]
|
||||
|
||||
## Quick Start
|
||||
[Commands]
|
||||
|
||||
## Critical Rules
|
||||
[Constraints]
|
||||
|
||||
## Pre-Change Protocol
|
||||
[Mandatory section - see pre-change-protocol.md]
|
||||
```
|
||||
|
||||
### Standard Template (Default)
|
||||
```markdown
|
||||
# CLAUDE.md
|
||||
|
||||
## Project Overview
|
||||
## Quick Start
|
||||
## Architecture
|
||||
## Critical Rules
|
||||
## Pre-Change Protocol
|
||||
## Common Operations
|
||||
## File Structure
|
||||
```
|
||||
|
||||
### Comprehensive Template
|
||||
For large projects - adds:
|
||||
- Detailed Architecture
|
||||
- Troubleshooting
|
||||
- Integration Points
|
||||
- Development Workflow
|
||||
- Deployment Notes
|
||||
|
||||
## Auto-Detection Signals
|
||||
|
||||
| Technology | Detection Method |
|
||||
|------------|------------------|
|
||||
| Language | File extensions, config files |
|
||||
| Framework | package.json, requirements.txt, Cargo.toml |
|
||||
| Build system | Makefile, scripts in package.json |
|
||||
| Testing | pytest.ini, jest.config.js, go.mod |
|
||||
| Docker | Dockerfile, docker-compose.yml |
|
||||
| Database | ORM configs, connection strings |
|
||||
|
||||
## Section Content Guidelines
|
||||
|
||||
### Project Overview
|
||||
- 1-3 sentences describing purpose
|
||||
- Target audience if relevant
|
||||
- Key technologies used
|
||||
|
||||
### Quick Start
|
||||
- Install command
|
||||
- Test command
|
||||
- Run command
|
||||
- Each with brief inline comment
|
||||
|
||||
### Critical Rules
|
||||
- Numbered or bulleted list
|
||||
- Specific, actionable constraints
|
||||
- Include rationale for non-obvious rules
|
||||
|
||||
### Architecture
|
||||
- High-level component diagram (ASCII or description)
|
||||
- Data flow explanation
|
||||
- Key file/directory purposes
|
||||
97
plugins/claude-config-maintainer/skills/diff-analysis.md
Normal file
97
plugins/claude-config-maintainer/skills/diff-analysis.md
Normal file
@@ -0,0 +1,97 @@
|
||||
# CLAUDE.md Diff Analysis
|
||||
|
||||
This skill defines how to analyze and present CLAUDE.md differences.
|
||||
|
||||
## Comparison Modes
|
||||
|
||||
| Mode | Command | Description |
|
||||
|------|---------|-------------|
|
||||
| Working vs HEAD | `/config-diff` | Uncommitted changes |
|
||||
| Working vs Commit | `--commit=REF` | Changes since specific point |
|
||||
| Commit to Commit | `--from=X --to=Y` | Historical comparison |
|
||||
| Branch Comparison | `--branch=NAME` | Cross-branch differences |
|
||||
|
||||
## Change Indicators
|
||||
|
||||
| Symbol | Meaning |
|
||||
|--------|---------|
|
||||
| `+` | Line added |
|
||||
| `-` | Line removed |
|
||||
| `@@` | Location marker (line numbers) |
|
||||
| `[MODIFIED]` | Section has changes |
|
||||
| `[ADDED]` | New section created |
|
||||
| `[REMOVED]` | Section deleted |
|
||||
| `[UNCHANGED]` | No changes to section |
|
||||
|
||||
## Impact Categories
|
||||
|
||||
| Category | Meaning |
|
||||
|----------|---------|
|
||||
| NEW REQUIREMENT | Claude will need to do something new |
|
||||
| REMOVED REQUIREMENT | Claude no longer needs to do something |
|
||||
| MODIFIED | Existing behavior changed |
|
||||
| NEW RULE | New constraint added |
|
||||
| RELAXED RULE | Constraint removed or softened |
|
||||
|
||||
## Report Format
|
||||
|
||||
```
|
||||
CLAUDE.md Diff Report
|
||||
=====================
|
||||
|
||||
File: /path/to/project/CLAUDE.md
|
||||
Comparing: [mode description]
|
||||
Commit: [ref] "[message]" (time ago)
|
||||
|
||||
Summary:
|
||||
- Lines added: N
|
||||
- Lines removed: N
|
||||
- Net change: +/-N lines
|
||||
- Sections affected: N
|
||||
|
||||
Section Changes:
|
||||
----------------
|
||||
|
||||
## Section Name [STATUS]
|
||||
+/- Change description
|
||||
|
||||
Detailed Diff:
|
||||
--------------
|
||||
|
||||
--- CLAUDE.md (before)
|
||||
+++ CLAUDE.md (after)
|
||||
|
||||
@@ -N,M +N,M @@
|
||||
context
|
||||
-removed
|
||||
+added
|
||||
context
|
||||
|
||||
Behavioral Impact:
|
||||
------------------
|
||||
|
||||
These changes will affect Claude's behavior:
|
||||
|
||||
N. [CATEGORY] Description of impact
|
||||
```
|
||||
|
||||
## Section-Focused View
|
||||
|
||||
When using `--section=NAME`:
|
||||
- Filter diff to only that section
|
||||
- Show section-specific statistics
|
||||
- Highlight behavioral impact for that area
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### No changes detected
|
||||
- File matches comparison target
|
||||
- Verify comparing correct commits
|
||||
|
||||
### File not found in commit
|
||||
- CLAUDE.md didn't exist at that point
|
||||
- Use `git log -- CLAUDE.md` to find creation
|
||||
|
||||
### Not a git repository
|
||||
- Command requires git history
|
||||
- Initialize git or use file backup comparison
|
||||
136
plugins/claude-config-maintainer/skills/lint-rules.md
Normal file
136
plugins/claude-config-maintainer/skills/lint-rules.md
Normal file
@@ -0,0 +1,136 @@
|
||||
# CLAUDE.md Lint Rules
|
||||
|
||||
This skill defines all linting rules for validating CLAUDE.md files.
|
||||
|
||||
## Rule Categories
|
||||
|
||||
### Security Rules (SEC)
|
||||
|
||||
| Rule | Description | Severity | Auto-fix |
|
||||
|------|-------------|----------|----------|
|
||||
| SEC001 | Hardcoded absolute paths | Warning | Yes |
|
||||
| SEC002 | Potential secrets/API keys | Error | No |
|
||||
| SEC003 | Hardcoded IP addresses | Warning | No |
|
||||
| SEC004 | Exposed credentials patterns | Error | No |
|
||||
| SEC005 | Hardcoded URLs with tokens | Error | No |
|
||||
| SEC006 | Environment variable values (not names) | Warning | No |
|
||||
|
||||
### Structure Rules (STR)
|
||||
|
||||
| Rule | Description | Severity | Auto-fix |
|
||||
|------|-------------|----------|----------|
|
||||
| STR001 | Missing required sections | Error | Yes |
|
||||
| STR002 | Invalid header hierarchy (h3 before h2) | Warning | Yes |
|
||||
| STR003 | Orphaned content before first header | Info | No |
|
||||
| STR004 | Excessive nesting depth (>4 levels) | Warning | No |
|
||||
| STR005 | Empty sections | Warning | Yes |
|
||||
| STR006 | Missing section content | Warning | No |
|
||||
|
||||
### Content Rules (CNT)
|
||||
|
||||
| Rule | Description | Severity | Auto-fix |
|
||||
|------|-------------|----------|----------|
|
||||
| CNT001 | Contradictory instructions | Error | No |
|
||||
| CNT002 | Vague or ambiguous rules | Warning | No |
|
||||
| CNT003 | Overly long sections (>100 lines) | Info | No |
|
||||
| CNT004 | Duplicate content | Warning | No |
|
||||
| CNT005 | TODO/FIXME in production config | Warning | No |
|
||||
| CNT006 | Outdated version references | Info | No |
|
||||
| CNT007 | Broken internal links | Warning | No |
|
||||
|
||||
### Format Rules (FMT)
|
||||
|
||||
| Rule | Description | Severity | Auto-fix |
|
||||
|------|-------------|----------|----------|
|
||||
| FMT001 | Inconsistent header styles | Info | Yes |
|
||||
| FMT002 | Inconsistent list markers | Info | Yes |
|
||||
| FMT003 | Missing code block language | Info | Yes |
|
||||
| FMT004 | Trailing whitespace | Info | Yes |
|
||||
| FMT005 | Missing blank lines around headers | Info | Yes |
|
||||
| FMT006 | Inconsistent indentation | Info | Yes |
|
||||
|
||||
### Best Practice Rules (BPR)
|
||||
|
||||
| Rule | Description | Severity | Auto-fix |
|
||||
|------|-------------|----------|----------|
|
||||
| BPR001 | No Quick Start section | Warning | No |
|
||||
| BPR002 | No Critical Rules section | Warning | No |
|
||||
| BPR003 | Instructions without examples | Info | No |
|
||||
| BPR004 | Commands without explanation | Info | No |
|
||||
| BPR005 | Rules without rationale | Info | No |
|
||||
| BPR006 | Missing plugin integration docs | Info | No |
|
||||
|
||||
## Anti-Pattern Examples
|
||||
|
||||
### SEC002: Hardcoded Secrets
|
||||
```markdown
|
||||
# BAD
|
||||
API_KEY=sk-1234567890abcdef
|
||||
|
||||
# GOOD
|
||||
API_KEY=$OPENAI_API_KEY # Set via environment
|
||||
```
|
||||
|
||||
### SEC001: Hardcoded Paths
|
||||
```markdown
|
||||
# BAD
|
||||
Config file: /home/john/projects/myapp/config.yml
|
||||
|
||||
# GOOD
|
||||
Config file: ./config.yml
|
||||
Config file: $PROJECT_ROOT/config.yml
|
||||
```
|
||||
|
||||
### CNT001: Contradictory Rules
|
||||
```markdown
|
||||
# BAD
|
||||
- Always use TypeScript
|
||||
- JavaScript files are acceptable for scripts
|
||||
|
||||
# GOOD
|
||||
- Always use TypeScript for source code
|
||||
- JavaScript (.js) is acceptable only for config files and scripts
|
||||
```
|
||||
|
||||
### CNT002: Vague Instructions
|
||||
```markdown
|
||||
# BAD
|
||||
- Be careful with the database
|
||||
|
||||
# GOOD
|
||||
- Never run DELETE without WHERE clause
|
||||
- Always backup before migrations
|
||||
```
|
||||
|
||||
### STR002: Invalid Hierarchy
|
||||
```markdown
|
||||
# BAD
|
||||
# Main Title
|
||||
### Skipped Level
|
||||
|
||||
# GOOD
|
||||
# Main Title
|
||||
## Section
|
||||
### Subsection
|
||||
```
|
||||
|
||||
## Output Format
|
||||
|
||||
```
|
||||
[SEVERITY] RULE_ID: Description (line N)
|
||||
| Context line showing issue
|
||||
| ^^^^^^ indicator
|
||||
+-- Explanation of problem
|
||||
|
||||
Suggested fix:
|
||||
- old line
|
||||
+ new line
|
||||
```
|
||||
|
||||
## Severity Levels
|
||||
|
||||
| Level | Meaning | Action |
|
||||
|-------|---------|--------|
|
||||
| Error | Must fix | Blocks commit |
|
||||
| Warning | Should fix | Review recommended |
|
||||
| Info | Consider fixing | Optional improvement |
|
||||
136
plugins/claude-config-maintainer/skills/optimization-patterns.md
Normal file
136
plugins/claude-config-maintainer/skills/optimization-patterns.md
Normal file
@@ -0,0 +1,136 @@
|
||||
# CLAUDE.md Optimization Patterns
|
||||
|
||||
This skill defines patterns for optimizing CLAUDE.md files.
|
||||
|
||||
## Optimization Categories
|
||||
|
||||
### Restructure
|
||||
- Reorder sections by importance (Quick Start near top)
|
||||
- Group related content together
|
||||
- Improve header hierarchy
|
||||
- Add navigation aids (TOC for long files)
|
||||
|
||||
### Condense
|
||||
- Remove redundant explanations
|
||||
- Convert verbose text to bullet points
|
||||
- Eliminate duplicate content
|
||||
- Shorten overly detailed sections
|
||||
|
||||
### Enhance
|
||||
- Add missing essential sections
|
||||
- **Add Pre-Change Protocol if missing (HIGH PRIORITY)**
|
||||
- Improve unclear instructions
|
||||
- Add helpful examples
|
||||
- Highlight critical rules
|
||||
|
||||
### Format
|
||||
- Standardize header styles (no trailing colons)
|
||||
- Fix code block formatting (add language tags)
|
||||
- Align list formatting (consistent markers)
|
||||
- Improve table layouts
|
||||
|
||||
## Scoring Criteria
|
||||
|
||||
### Structure (25 points)
|
||||
- Logical section ordering
|
||||
- Clear header hierarchy
|
||||
- Easy navigation
|
||||
- Appropriate grouping
|
||||
|
||||
### Clarity (25 points)
|
||||
- Clear instructions
|
||||
- Good examples
|
||||
- Unambiguous language
|
||||
- Appropriate detail level
|
||||
|
||||
### Completeness (25 points)
|
||||
- Project overview present
|
||||
- Quick start commands documented
|
||||
- Critical rules highlighted
|
||||
- Key workflows covered
|
||||
- Pre-Change Protocol present (MANDATORY)
|
||||
|
||||
### Conciseness (25 points)
|
||||
- No unnecessary repetition
|
||||
- Efficient information density
|
||||
- Appropriate length for project size
|
||||
- No generic filler content
|
||||
|
||||
## Score Interpretation
|
||||
|
||||
| Score | Rating | Action |
|
||||
|-------|--------|--------|
|
||||
| 90-100 | Excellent | Maintenance only |
|
||||
| 70-89 | Good | Minor improvements |
|
||||
| 50-69 | Needs Work | Optimization recommended |
|
||||
| Below 50 | Poor | Major restructuring needed |
|
||||
|
||||
## Common Optimizations
|
||||
|
||||
### Verbose to Concise
|
||||
```markdown
|
||||
# Before (34 lines)
|
||||
## Running Tests
|
||||
To run the tests, you first need to make sure you have all the
|
||||
dependencies installed. The dependencies are listed in requirements.txt.
|
||||
Once you have installed the dependencies, you can run the tests using
|
||||
pytest. Pytest will automatically discover all test files...
|
||||
|
||||
# After (8 lines)
|
||||
## Running Tests
|
||||
```bash
|
||||
pip install -r requirements.txt # Install dependencies
|
||||
pytest # Run all tests
|
||||
pytest -v # Verbose output
|
||||
pytest tests/unit/ # Run specific directory
|
||||
```
|
||||
```
|
||||
|
||||
### Duplicate Removal
|
||||
- Keep first occurrence
|
||||
- Add cross-reference if needed: "See [Section Name] above"
|
||||
|
||||
### Header Standardization
|
||||
```markdown
|
||||
# Before
|
||||
## Quick Start:
|
||||
## Architecture
|
||||
## Testing:
|
||||
|
||||
# After
|
||||
## Quick Start
|
||||
## Architecture
|
||||
## Testing
|
||||
```
|
||||
|
||||
### Code Block Enhancement
|
||||
```markdown
|
||||
# Before
|
||||
```
|
||||
npm install
|
||||
npm test
|
||||
```
|
||||
|
||||
# After
|
||||
```bash
|
||||
npm install # Install dependencies
|
||||
npm test # Run test suite
|
||||
```
|
||||
```
|
||||
|
||||
## Safety Features
|
||||
|
||||
### Backup Creation
|
||||
- Always backup before changes
|
||||
- Store in `.claude/backups/CLAUDE.md.TIMESTAMP`
|
||||
- Easy restoration if needed
|
||||
|
||||
### Preview Mode
|
||||
- Show all changes before applying
|
||||
- Use diff format for easy review
|
||||
- Allow approve/reject per change
|
||||
|
||||
### Selective Application
|
||||
- Can apply individual changes
|
||||
- Skip specific optimizations
|
||||
- Iterative refinement supported
|
||||
@@ -0,0 +1,83 @@
|
||||
# Pre-Change Protocol
|
||||
|
||||
This skill defines the mandatory Pre-Change Protocol section that MUST be included in every CLAUDE.md file.
|
||||
|
||||
## Why This Is Mandatory
|
||||
|
||||
The Pre-Change Protocol prevents the #1 cause of bugs from AI-assisted coding: **incomplete changes where Claude modifies some files but misses others that reference the same code**.
|
||||
|
||||
Without this protocol:
|
||||
- Claude may rename a function but miss callers
|
||||
- Claude may modify a config but miss documentation
|
||||
- Claude may update a schema but miss dependent code
|
||||
|
||||
## Detection
|
||||
|
||||
Search CLAUDE.md for these indicators:
|
||||
- Header containing "Pre-Change" or "Before Any Code Change"
|
||||
- References to `grep -rn` or impact search
|
||||
- Checklist with "Files That Will Be Affected"
|
||||
- User verification checkpoint
|
||||
|
||||
## Required Section Content
|
||||
|
||||
```markdown
|
||||
## MANDATORY: Before Any Code Change
|
||||
|
||||
**Claude MUST show this checklist BEFORE editing any file:**
|
||||
|
||||
### 1. Impact Search Results
|
||||
Run and show output of:
|
||||
```bash
|
||||
grep -rn "PATTERN" --include="*.sh" --include="*.md" --include="*.json" --include="*.py" | grep -v ".git"
|
||||
```
|
||||
|
||||
### 2. Files That Will Be Affected
|
||||
Numbered list of every file to be modified, with the specific change for each.
|
||||
|
||||
### 3. Files Searched But Not Changed (and why)
|
||||
Proof that related files were checked and determined unchanged.
|
||||
|
||||
### 4. Documentation That References This
|
||||
List of docs that mention this feature/script/function.
|
||||
|
||||
**User verifies this list before Claude proceeds. If Claude skips this, stop immediately.**
|
||||
|
||||
### After Changes
|
||||
Run the same grep and show results proving no references remain unaddressed.
|
||||
```
|
||||
|
||||
## Placement
|
||||
|
||||
Insert Pre-Change Protocol section:
|
||||
- **After:** Critical Rules section
|
||||
- **Before:** Common Operations section
|
||||
|
||||
## If Missing During Analysis
|
||||
|
||||
Flag as **HIGH PRIORITY** issue:
|
||||
|
||||
```
|
||||
1. [HIGH] Missing Pre-Change Protocol section
|
||||
CLAUDE.md lacks mandatory dependency-check protocol.
|
||||
Impact: Claude may miss file references when making changes,
|
||||
leading to broken dependencies and incomplete updates.
|
||||
|
||||
Recommendation: Add Pre-Change Protocol section immediately.
|
||||
This is the #1 cause of cascading bugs from incomplete changes.
|
||||
```
|
||||
|
||||
## If Missing During Optimization
|
||||
|
||||
**Automatically add the section** at the correct position. This is the highest priority enhancement.
|
||||
|
||||
## Variations
|
||||
|
||||
The exact wording can vary, but these elements are required:
|
||||
|
||||
1. **Search requirement** - Must run grep/search before changes
|
||||
2. **Affected files list** - Must enumerate all files to modify
|
||||
3. **Non-affected files proof** - Must show what was checked but unchanged
|
||||
4. **Documentation check** - Must list referencing docs
|
||||
5. **User checkpoint** - Must pause for user verification
|
||||
6. **Post-change verification** - Must verify after changes
|
||||
52
plugins/claude-config-maintainer/skills/visual-header.md
Normal file
52
plugins/claude-config-maintainer/skills/visual-header.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# Visual Header Display
|
||||
|
||||
This skill defines the standard visual header for claude-config-maintainer commands.
|
||||
|
||||
## Header Format
|
||||
|
||||
```
|
||||
+-----------------------------------------------------------------+
|
||||
| CONFIG-MAINTAINER - [Command Name] |
|
||||
+-----------------------------------------------------------------+
|
||||
```
|
||||
|
||||
## Command-Specific Headers
|
||||
|
||||
### /config-analyze
|
||||
```
|
||||
+-----------------------------------------------------------------+
|
||||
| CONFIG-MAINTAINER - CLAUDE.md Analysis |
|
||||
+-----------------------------------------------------------------+
|
||||
```
|
||||
|
||||
### /config-optimize
|
||||
```
|
||||
+-----------------------------------------------------------------+
|
||||
| CONFIG-MAINTAINER - CLAUDE.md Optimization |
|
||||
+-----------------------------------------------------------------+
|
||||
```
|
||||
|
||||
### /config-lint
|
||||
```
|
||||
+-----------------------------------------------------------------+
|
||||
| CONFIG-MAINTAINER - CLAUDE.md Lint |
|
||||
+-----------------------------------------------------------------+
|
||||
```
|
||||
|
||||
### /config-diff
|
||||
```
|
||||
+-----------------------------------------------------------------+
|
||||
| CONFIG-MAINTAINER - CLAUDE.md Diff |
|
||||
+-----------------------------------------------------------------+
|
||||
```
|
||||
|
||||
### /config-init
|
||||
```
|
||||
+-----------------------------------------------------------------+
|
||||
| CONFIG-MAINTAINER - CLAUDE.md Initialization |
|
||||
+-----------------------------------------------------------------+
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Display the header at the start of command execution, before any analysis or output.
|
||||
Reference in New Issue
Block a user