- Create new proposal-status.md command
- Shows all proposals with status (Pending, In Progress, Implemented, Abandoned)
- Tree view of implementations under each proposal
- Links to issues and lessons learned
- Update README with new command documentation
Phase 4 of V04.1.0 Wiki-Based Planning Enhancement.
Closes#164
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add Metadata section to lesson structure with Implementation link
- Update lesson examples to include metadata with wiki reference
- Enable bidirectional traceability: lessons ↔ implementation pages
Phase 3 of V04.1.0 Wiki-Based Planning Enhancement.
Closes#163
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add step 5: Update wiki implementation page status (Implemented/Partial/Failed)
- Add step 6: Update wiki proposal page when all implementations complete
- Add update_wiki_page to MCP tools in both sprint-close.md and orchestrator.md
- Add critical reminders for wiki status updates
Implements Phase 2 of V04.1.0 Wiki-Based Planning Enhancement.
Closes#162
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Phase 1 implementation for Change V04.1.0:
- Add flexible input source detection (file, wiki, conversation)
- Add wiki proposal and implementation page creation
- Add wiki reference to created issues
- Add cleanup step to delete local files after migration
- Update planner agent with wiki workflow responsibilities
Closes#161
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Hooks should be in separate hooks/hooks.json file (auto-discovered),
NOT inline in plugin.json.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Cherry-pick fix from hotfix/data-platform-hooks to development.
Hooks must be in separate hooks/hooks.json file (auto-discovered),
NOT inline in plugin.json.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Hooks should be in separate hooks/hooks.json file (auto-discovered),
NOT inline in plugin.json. Previous documentation was wrong.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Previous fix was wrong. Hooks should be in separate hooks/hooks.json
file (auto-discovered), NOT inline in plugin.json.
Pattern matches working plugins: projman, pr-review, claude-config-maintainer
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add critical warning about hooks and agents field formats
to prevent future manifest validation failures.
References lesson: plugin-manifest-validation---hooks-and-agents-format-requirements
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove invalid "agents": ["./agents/"] - agent .md files don't need registration
- Inline hooks instead of external reference "hooks/hooks.json"
- Delete orphaned hooks.json file (content now in plugin.json)
This fixes "invalid input" validation errors for hooks and agents fields.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- doc-guardian: Hook now tracks documentation dependencies and outputs
specific files needing updates (e.g., commands → COMMANDS-CHEATSHEET.md)
- projman: SessionStart hook now suggests /sprint-plan when open issues
exist without milestone, and warns about unreleased CHANGELOG entries
- projman: Add /suggest-version command for semantic version recommendations
- docs: Update COMMANDS-CHEATSHEET.md with data-platform plugin (was missing)
- docs: Update CLAUDE.md with data-platform and version 4.0.0
Fixes documentation drift and lack of proactive workflow suggestions.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Version 3.2.0 includes:
- New features: netbox device params, claude-config-maintainer auto-enforce
- Bug fixes: cmdb-assistant schemas, netbox tool names, API URLs
- All hooks converted to command type
- Versioning workflow with release script
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add scripts/release.sh for consistent version releases
- Fix CHANGELOG.md: consolidate all changes under [Unreleased]
- Update CLAUDE.md with comprehensive versioning documentation
- Include all commits since v3.1.1 in [Unreleased] section
The release script ensures version consistency across:
- Git tags
- README.md title
- marketplace.json version
- CHANGELOG.md sections
Addresses #143
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The CLAUDE.md mandatory rule instructed clearing the plugin cache
mid-session, which breaks all MCP tools that were already loaded.
MCP tools are loaded with absolute paths to the venv, and deleting
the cache removes the venv while the session still references it.
Changes:
- CLAUDE.md: Replace "ALWAYS CLEAR CACHE" with "VERIFY AND RESTART"
- verify-hooks.sh: Change cache existence from error to info message
- DEBUGGING-CHECKLIST.md: Add section explaining cache timing
Fixes#145
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds a new "user-reported" mode alongside the existing automated
diagnostics mode. Users can now choose to:
1. Run automated diagnostics (existing behavior)
2. Report an issue they experienced while using any plugin command
User-reported mode:
- Step 0: Mode selection via AskUserQuestion
- Step 0.1: Structured feedback gathering
- Which plugin/command was affected
- What the user was trying to do
- What went wrong (error, missing feature, unexpected behavior, docs)
- Expected vs actual behavior
- Any workarounds found
- Step 5.1: Smart label generation based on problem type
- Step 6.1: User-friendly issue template with investigation hints
This allows capturing UX issues, missing features, and documentation
problems that wouldn't be caught by automated MCP tool tests.
Fixes#139
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Tag v3.1.2 was never created. Remove the changelog entry to
avoid confusion between documented and actual releases.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Expand parameter schemas for 15 update tools that previously only exposed
the 'id' field. The underlying Python implementation already supported
all fields via **kwargs, but Claude couldn't discover available parameters.
Updated tools:
- virtualization: update_virtual_machine, update_cluster
- dcim: update_site, update_location, update_rack, update_manufacturer,
update_device_type, update_device_role, update_platform,
update_interface, update_cable
- ipam: update_vrf, update_prefix, update_ip_address, update_vlan
Each tool now exposes all commonly-used optional fields matching the
NetBox API, following the pattern established by dcim_update_device.
Fixes#137
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Claude API has a 64-character limit on tool names. Claude Code uses a
36-character prefix (mcp__plugin_cmdb-assistant_netbox__), leaving only
28 characters for the actual tool name.
Shortened 33 tools that exceeded this limit:
- virtualization_* -> virt_* (19 tools)
- circuits_*_circuit_type* -> circ_*_type* (3 tools)
- circuits_*_circuit_termination* -> circ_*_termination* (3 tools)
- wireless_*_wireless_* -> wlan_* (8 tools)
Added TOOL_NAME_MAP to route shortened names to original method names.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The /initial-setup command was generating NETBOX_API_URL without the
/api suffix, causing all MCP tools to fail with JSON parsing errors.
Changes:
- Update example URL to include /api suffix
- Add instruction to auto-append /api if user forgets
- Fix validation test to be consistent with actual usage
Root cause: Setup asked for base URL (https://netbox.company.com) but
NetBoxClient expects API URL (https://netbox.company.com/api). The
validation test incorrectly added /api/ making it pass, while the
actual MCP server failed.
Fixes#126
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Fixes multiple issues from diagnostic #123:
1. create_label_smart type safety (labels.py)
- Add isinstance(result, dict) checks after API calls
- Return structured error dict if API returns unexpected type
- Prevents "list indices must be integers" crash
2. debug-report always uses curl with labels
- Remove MCP option - always use curl for marketplace issues
- Add label ID fetching step (Source/Diagnostic, Type/Bug)
- Include labels in curl POST payload
- Avoids branch protection restrictions on main branch
Fixes#123
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
When NetBox MCP tools fail with JSON decode errors, the error message
now includes:
- HTTP status code
- Response content length
- Preview of actual content received (first 200 bytes)
This helps diagnose transient issues like network timeouts or
incomplete responses that result in cryptic "Expecting value" errors.
Fixes#120
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>