yusyus
|
38e8969ae7
|
feat: Merge PR #249 - Bootstrap skill with fixes and MCP optionality
Merged PR #249 from @MiaoDX with enhancements:
Bootstrap Feature:
- Self-bootstrap: Generate skill-seekers as Claude Code skill
- Robust frontmatter detection (dynamic line finding)
- SKILL.md validation (YAML + Markdown structure)
- Comprehensive error handling (uv check, permission checks)
- 6 E2E tests with venv isolation
MCP Optionality (User Feature):
- MCP removed from core dependencies
- Optional install: pip install skill-seekers[mcp]
- Lazy loading with helpful error messages
- Interactive setup wizard on first run
- Backward compatible
Bug Fixes:
- Fixed codebase_scraper.py AttributeError (line 1193)
- Fixed test_bootstrap_skill_e2e.py Path vs str issue
- Updated test version expectations to 2.7.0
- Added httpx to core (required for async scraping)
- Added anthropic to core (required for AI enhancement)
Testing:
- 6 new bootstrap E2E tests (all passing)
- 1207/1217 tests passing (99.2% pass rate)
- All bootstrap and enhancement tests pass
- Remaining failures are pre-existing test infrastructure issues
Documentation:
- Updated CHANGELOG.md with v2.7.0 notes
- Updated README.md with bootstrap and installation options
- Added setup wizard guide
Files Modified (9):
- CHANGELOG.md, README.md - Documentation updates
- pyproject.toml - MCP optional, httpx/anthropic core, markers, entry points
- scripts/bootstrap_skill.sh - Dynamic frontmatter, validation, error handling
- src/skill_seekers/cli/install_skill.py - Lazy MCP loading
- tests/test_cli_paths.py - Version 2.7.0
- uv.lock - Dependency updates
New Files (2):
- src/skill_seekers/cli/setup_wizard.py - Interactive installation guide (95 lines)
- tests/test_bootstrap_skill_e2e.py - E2E bootstrap tests (169 lines)
Credits: @MiaoDX for PR #249
Co-Authored-By: MiaoDX <MiaoDX@hotmail.com>
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-01-17 20:37:30 +03:00 |
|
yusyus
|
891ce2dbc6
|
feat: Complete multi-platform feature parity implementation
This commit implements full feature parity across all platforms (Claude, Gemini, OpenAI, Markdown) and all skill modes (Docs, GitHub, PDF, Unified, Local Repo).
## Core Changes
### Phase 1: MCP Package Tool Multi-Platform Support
- Added `target` parameter to `package_skill_tool()` in packaging_tools.py
- Updated MCP server definition to expose `target` parameter
- Platform-specific packaging: ZIP for Claude/OpenAI/Markdown, tar.gz for Gemini
- Platform-specific output messages and instructions
### Phase 2: MCP Upload Tool Multi-Platform Support
- Added `target` parameter to `upload_skill_tool()` in packaging_tools.py
- Added optional `api_key` parameter for API key override
- Updated MCP server definition with platform selection
- Platform-specific API key validation (ANTHROPIC_API_KEY, GOOGLE_API_KEY, OPENAI_API_KEY)
- Graceful handling of Markdown (upload not supported)
### Phase 3: Standalone MCP Enhancement Tool
- Created new `enhance_skill_tool()` function (140+ lines)
- Supports both 'local' mode (Claude Code Max) and 'api' mode (platform APIs)
- Added MCP server definition for `enhance_skill`
- Works with Claude, Gemini, and OpenAI
- Integrated into MCP tools exports
### Phase 4: Unified Config Splitting Support
- Added `is_unified_config()` method to detect multi-source configs
- Implemented `split_by_source()` method to split by source type (docs, github, pdf)
- Updated auto-detection to recommend 'source' strategy for unified configs
- Added 'source' to valid CLI strategy choices
- Updated MCP tool documentation for unified support
### Phase 5: Comprehensive Feature Matrix Documentation
- Created `docs/FEATURE_MATRIX.md` (~400 lines)
- Complete platform comparison tables
- Skill mode support matrix
- CLI and MCP tool coverage matrices
- Platform-specific notes and FAQs
- Workflow examples for each combination
- Updated README.md with feature matrix section
## Files Modified
**Core Implementation:**
- src/skill_seekers/mcp/tools/packaging_tools.py
- src/skill_seekers/mcp/server_fastmcp.py
- src/skill_seekers/mcp/tools/__init__.py
- src/skill_seekers/cli/split_config.py
- src/skill_seekers/mcp/tools/splitting_tools.py
**Documentation:**
- docs/FEATURE_MATRIX.md (NEW)
- README.md
**Tests:**
- tests/test_install_multiplatform.py (already existed)
## Test Results
- ✅ 699 tests passing
- ✅ All multiplatform install tests passing (6/6)
- ✅ No regressions introduced
- ✅ All syntax checks passed
- ✅ Import tests successful
## Breaking Changes
None - all changes are backward compatible with default `target='claude'`
## Migration Guide
Existing MCP calls without `target` parameter will continue to work (defaults to 'claude').
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2025-12-28 21:35:21 +03:00 |
|
yusyus
|
b7cd317efb
|
feat(A1.7): Add install_skill MCP tool for one-command workflow automation
Implements complete end-to-end skill installation in a single command:
fetch_config → scrape_docs → enhance_skill_local → package_skill → upload_skill
Changes:
- MCP Tool: Added install_skill_tool() to server.py (~300 lines)
- Input validation (config_name XOR config_path)
- 5-phase orchestration with error handling
- Dry-run mode for workflow preview
- Mandatory AI enhancement (30-60 sec, 3/10→9/10 quality boost)
- Auto-upload to Claude (if ANTHROPIC_API_KEY set)
- CLI Integration: New install command
- Created install_skill.py CLI wrapper (~150 lines)
- Updated main.py with install subcommand
- Added entry point to pyproject.toml
- Testing: Comprehensive test suite
- Created test_install_skill.py with 13 tests
- Tests cover validation, dry-run, orchestration, error handling
- All tests passing (13/13)
- Documentation: Updated all user-facing docs
- CLAUDE.md: Added MCP tool (10 tools total) and CLI examples
- README.md: Added prominent one-command workflow section
- FLEXIBLE_ROADMAP.md: Marked A1.7 as complete
Features:
- Zero friction: One command instead of 5 separate steps
- Quality guaranteed: Mandatory enhancement ensures 9/10 quality
- Complete automation: From config to uploaded skill
- Intelligent: Auto-detects config type (name vs path)
- Flexible: Dry-run, unlimited, no-upload modes
- Well-tested: 13 unit tests with mocking
Usage:
skill-seekers install --config react
skill-seekers install --config configs/custom.json --no-upload
skill-seekers install --config django --unlimited
skill-seekers install --config react --dry-run
Closes #204
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2025-12-21 20:17:59 +03:00 |
|