- Task-specific launcher script (claude-launch.sh) with profiles
- Lean/full profile switching for token optimization
- Token usage estimation via /sprint-status --tokens
- Conditional skill loading in /sprint-status
- Fixed stale command references in docs
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
claude-launch.sh uses --plugin-dir for selective loading,
making lean/full profile switching obsolete.
Full marketplace.json is now the permanent baseline.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
New script scripts/claude-launch.sh provides profile-based plugin loading
using --plugin-dir to reduce token overhead from ~22K to ~4-6K tokens.
Profiles: sprint, infra, data, review, full.
Enables MCP Tool Search for deferred tool loading.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Claude Code's strict schema validation silently rejects plugins with unknown
root-level fields in plugin.json (anthropics/claude-code#20409).
Moved mcp_servers to separate metadata.json files.
Updated install/uninstall/list scripts to read from new location.
Added cache clearing to switch-profile.sh.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- New skill: token-budget-report.md with MCP overhead and skill loading
estimation model based on known file sizes and static overhead tables
- Sprint-plan displays token report after planning complete
- Sprint-close displays token report after lessons captured
- Visual-output.md updated with token report format
- .gitignore exception for token-budget-report.md (not API tokens)
Helps identify which phases and components consume the most context budget.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
BREAKING CHANGE: All generic command names now prefixed with plugin namespace.
See CHANGELOG.md v7.0.0 for complete rename map.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Separate cognitive work from mechanical API execution to reduce
skill-related token consumption by ~76-83% during sprint workflows.
Changes:
- Add batch-execution.md skill with 4-phase protocol
- Promote mcp-tools-reference and batch-execution to frontmatter
for planner and orchestrator agents (auto-injected, zero re-read)
- Replace "Skills to Load" with phase-based "Skill Loading Protocol"
- Restructure planning-workflow.md Steps 8-10 for batch execution
- Update agent matrix in CLAUDE.md and docs/CONFIGURATION.md
- Add Phase-Based Skill Loading documentation section
- Clean up .gitignore (transient files, dev symlinks)
Token impact:
- 6-issue sprint planning: ~76% reduction
- 10-issue sprint planning: ~80% reduction
- 8-issue status updates: ~83% reduction
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Test Fixes:
- Fix mock_config fixture to use 'owner/repo' format (was separate fields)
- Update test_client_initialization to match current client API
- Add required 'org' argument to get_org_labels, list_repos, aggregate_issues tests
- Update error message assertion in test_no_repo_specified_error
- Fix test_create_issue to mock is_org_repo and label resolution
- Update aggregate_issues tests in test_issues.py with org argument
Documentation Updates:
- Expand tools table from 8 to 36 tools (organized by category)
- Update directory structure to show all 6 tool files
- Remove unused GITEA_OWNER from configuration docs
- Add automatic repository detection documentation
- Add project directory detection strategies
- Update test count from 42 to 64
- Create CHANGELOG.md with full version history
All 64 tests now pass. No production code changes.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Extract tool definitions and dispatcher from server.py into tool_registry.py
to enable transport-agnostic reuse. External consumers (e.g., HTTP transport
in gitea-mcp-remote) can now import and use the Gitea MCP tools without
duplicating code.
Changes:
- Create pyproject.toml with PEP 621 compliant package manifest (hatchling)
- Create tool_registry.py with get_tool_definitions() and create_tool_dispatcher()
- Refactor server.py to use registry (1100 -> 93 lines)
- Update __init__.py with package exports and __version__
The tool_filter parameter enables selective tool exposure for remote servers.
Stdio transport behavior is unchanged - all 36 tools still work identically.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>