Implements A1.7: One-command skill installation workflow Features: - MCP tool: install_skill (10 tools total) - CLI command: skill-seekers install - 5-phase orchestration: fetch → scrape → enhance → package → upload - Mandatory AI enhancement (3/10→9/10 quality boost) - Comprehensive testing: 24 tests (23 passed, 1 skipped) - Complete documentation updates Also includes A1.2 (fetch_config) and A1.9 (git-based config sources) Resolves merge conflicts in FLEXIBLE_ROADMAP.md: - Updated completed tasks count: 3 (A1.1, A1.2, A1.7) - Marked A1.2 and A1.7 as complete Closes #204
427 lines
17 KiB
Markdown
427 lines
17 KiB
Markdown
# Flexible Development Roadmap
|
|
**Philosophy:** Small incremental tasks → Pick one → Complete → Move to next
|
|
**No big milestones, just continuous progress!**
|
|
|
|
---
|
|
|
|
## 🎯 Current Status: v2.1.0 Released ✅
|
|
|
|
**Latest Release:** v2.1.0 (November 29, 2025)
|
|
|
|
**What Works:**
|
|
- ✅ Documentation scraping (HTML websites)
|
|
- ✅ GitHub repository scraping with unlimited local analysis
|
|
- ✅ PDF extraction and conversion
|
|
- ✅ Unified multi-source scraping (docs + GitHub + PDF)
|
|
- ✅ 9 MCP tools fully functional
|
|
- ✅ Auto-upload to Claude
|
|
- ✅ 24 preset configs (including 5 unified configs)
|
|
- ✅ Large docs support (40K+ pages)
|
|
- ✅ Configurable directory exclusions
|
|
- ✅ 427 tests passing
|
|
|
|
---
|
|
|
|
## 📋 Task Categories (Pick Any, Any Order)
|
|
|
|
### 🌐 **Category A: Community & Sharing**
|
|
Small tasks that build community features incrementally
|
|
|
|
#### A1: Config Sharing (Website Feature)
|
|
- [x] **Task A1.1:** Create simple JSON API endpoint to list configs ✅ **COMPLETE** (Issue #9)
|
|
- **Status:** Live at https://api.skillseekersweb.com
|
|
- **Features:** 6 REST endpoints, auto-categorization, auto-tags, filtering, SSL enabled
|
|
- **Branch:** `feature/a1-config-sharing`
|
|
- **Deployment:** Render with custom domain
|
|
- [x] **Task A1.2:** Add MCP tool `fetch_config` to download from website ✅ **COMPLETE**
|
|
- **Status:** Implemented in MCP server
|
|
- **Features:** List 24 configs, filter by category, download by name, save to local directory
|
|
- **Commands:** `list_available=true`, `category='web-frameworks'`, `config_name='react'`
|
|
- **Branch:** `feature/a1-config-sharing`
|
|
- [ ] **Task A1.3:** Add MCP tool `submit_config` to submit custom configs (Issue #11)
|
|
- **Purpose:** Allow users to submit custom configs via MCP (creates GitHub issue)
|
|
- **Features:** Validate config JSON, create GitHub issue, auto-label, return issue URL
|
|
- **Approach:** GitHub Issues backend (safe, uses GitHub auth/spam detection)
|
|
- **Time:** 2-3 hours
|
|
- [ ] **Task A1.4:** Create static config catalog website (GitHub Pages) (Issue #12)
|
|
- **Purpose:** Read-only catalog to browse/search configs (like npm registry)
|
|
- **Features:** Static HTML/JS, pulls from API, search/filter, copy JSON button
|
|
- **Architecture:** Website = browse, MCP = download/submit/manage
|
|
- **Time:** 2-3 hours
|
|
- [ ] **Task A1.5:** Add config rating/voting system (Issue #13)
|
|
- **Purpose:** Community feedback on config quality
|
|
- **Features:** Star ratings, vote counts, sort by rating, "most popular" section
|
|
- **Options:** GitHub reactions, backend database, or localStorage
|
|
- **Time:** 3-4 hours
|
|
- [ ] **Task A1.6:** Admin review queue for submitted configs (Issue #14)
|
|
- **Purpose:** Review community-submitted configs before publishing
|
|
- **Approach:** Use GitHub Issues with labels (no custom code needed)
|
|
- **Workflow:** Review → Validate → Test → Approve/Reject
|
|
- **Time:** 1-2 hours (GitHub Issues) or 4-6 hours (custom dashboard)
|
|
- [x] **Task A1.7:** Add MCP tool `install_skill` for one-command workflow (Issue #204) ✅ **COMPLETE!**
|
|
- **Purpose:** Complete one-command workflow: fetch → scrape → **enhance** → package → upload
|
|
- **Features:** Single command install, smart config detection, automatic AI enhancement (LOCAL)
|
|
- **Workflow:** fetch_config → scrape_docs → enhance_skill_local → package_skill → upload_skill
|
|
- **Critical:** Always includes AI enhancement step (30-60 sec, 3/10→9/10 quality boost)
|
|
- **Time:** 3-4 hours
|
|
- **Completed:** December 21, 2025 - 10 tools total, 13 tests passing, full automation working
|
|
- [ ] **Task A1.8:** Add smart skill detection and auto-install (Issue #205)
|
|
- **Purpose:** Auto-detect missing skills from user queries and offer to install them
|
|
- **Features:** Topic extraction, skill gap analysis, API search, smart suggestions
|
|
- **Modes:** Ask first (default), Auto-install, Suggest only, Manual
|
|
- **Example:** User asks about React → Claude detects → Suggests installing React skill
|
|
- **Time:** 4-6 hours
|
|
|
|
**Start Small:** ~~Pick A1.1 first (simple JSON endpoint)~~ ✅ A1.1 Complete! ~~Pick A1.2 next (MCP tool)~~ ✅ A1.2 Complete! Pick A1.3 next (MCP submit tool)
|
|
|
|
#### A2: Knowledge Sharing (Website Feature)
|
|
- [ ] **Task A2.1:** Design knowledge database schema
|
|
- [ ] **Task A2.2:** Create API endpoint to upload knowledge (.zip files)
|
|
- [ ] **Task A2.3:** Add MCP tool `fetch_knowledge` to download from site
|
|
- [ ] **Task A2.4:** Add knowledge preview/description
|
|
- [ ] **Task A2.5:** Add knowledge categorization (by framework/topic)
|
|
- [ ] **Task A2.6:** Add knowledge search functionality
|
|
|
|
**Start Small:** Pick A2.1 first (schema design, no coding)
|
|
|
|
#### A3: Simple Website Foundation
|
|
- [ ] **Task A3.1:** Create single-page static site (GitHub Pages)
|
|
- [ ] **Task A3.2:** Add config gallery view (display existing 12 configs)
|
|
- [ ] **Task A3.3:** Add "Submit Config" link (opens GitHub issue for now)
|
|
- [ ] **Task A3.4:** Add basic stats (total configs, downloads, etc.)
|
|
- [ ] **Task A3.5:** Add simple blog using GitHub Issues
|
|
- [ ] **Task A3.6:** Add RSS feed for updates
|
|
|
|
**Start Small:** Pick A3.1 first (single HTML page on GitHub Pages)
|
|
|
|
---
|
|
|
|
### 🛠️ **Category B: New Input Formats**
|
|
Add support for non-HTML documentation sources
|
|
|
|
#### B1: PDF Documentation Support
|
|
- [ ] **Task B1.1:** Research PDF parsing libraries (PyPDF2, pdfplumber, etc.)
|
|
- [ ] **Task B1.2:** Create simple PDF text extractor (proof of concept)
|
|
- [ ] **Task B1.3:** Add PDF page detection and chunking
|
|
- [ ] **Task B1.4:** Extract code blocks from PDFs (syntax detection)
|
|
- [ ] **Task B1.5:** Add PDF image extraction (diagrams, screenshots)
|
|
- [ ] **Task B1.6:** Create `pdf_scraper.py` CLI tool
|
|
- [ ] **Task B1.7:** Add MCP tool `scrape_pdf`
|
|
- [ ] **Task B1.8:** Create PDF config format (similar to web configs)
|
|
|
|
**Start Small:** Pick B1.1 first (just research, document findings)
|
|
|
|
#### B2: Microsoft Word (.docx) Support
|
|
- [ ] **Task B2.1:** Research .docx parsing (python-docx library)
|
|
- [ ] **Task B2.2:** Create simple .docx text extractor
|
|
- [ ] **Task B2.3:** Extract headings and create categories
|
|
- [ ] **Task B2.4:** Extract code blocks from Word docs
|
|
- [ ] **Task B2.5:** Extract tables and convert to markdown
|
|
- [ ] **Task B2.6:** Create `docx_scraper.py` CLI tool
|
|
- [ ] **Task B2.7:** Add MCP tool `scrape_docx`
|
|
|
|
**Start Small:** Pick B2.1 first (research only)
|
|
|
|
#### B3: Excel/Spreadsheet (.xlsx) Support
|
|
- [ ] **Task B3.1:** Research Excel parsing (openpyxl, pandas)
|
|
- [ ] **Task B3.2:** Create simple sheet → markdown converter
|
|
- [ ] **Task B3.3:** Add table detection and formatting
|
|
- [ ] **Task B3.4:** Extract API reference from spreadsheets (common pattern)
|
|
- [ ] **Task B3.5:** Create `xlsx_scraper.py` CLI tool
|
|
- [ ] **Task B3.6:** Add MCP tool `scrape_xlsx`
|
|
|
|
**Start Small:** Pick B3.1 first (research only)
|
|
|
|
#### B4: Markdown Files Support
|
|
- [ ] **Task B4.1:** Create markdown file crawler (for local docs)
|
|
- [ ] **Task B4.2:** Extract front matter (title, category, etc.)
|
|
- [ ] **Task B4.3:** Build category tree from folder structure
|
|
- [ ] **Task B4.4:** Add link resolution (internal references)
|
|
- [ ] **Task B4.5:** Create `markdown_scraper.py` CLI tool
|
|
- [ ] **Task B4.6:** Add MCP tool `scrape_markdown_dir`
|
|
|
|
**Start Small:** Pick B4.1 first (simple file walker)
|
|
|
|
---
|
|
|
|
### 💻 **Category C: Codebase Knowledge**
|
|
Generate skills from actual code repositories
|
|
|
|
#### C1: GitHub Repository Scraping
|
|
- [ ] **Task C1.1:** Create GitHub API client (fetch repo structure)
|
|
- [ ] **Task C1.2:** Extract README.md files
|
|
- [ ] **Task C1.3:** Extract code comments and docstrings
|
|
- [ ] **Task C1.4:** Detect programming language per file
|
|
- [ ] **Task C1.5:** Extract function/class signatures
|
|
- [ ] **Task C1.6:** Build usage examples from tests
|
|
- [ ] **Task C1.7:** Extract GitHub Issues (open/closed, labels, milestones)
|
|
- [ ] **Task C1.8:** Extract CHANGELOG.md and release notes
|
|
- [ ] **Task C1.9:** Extract GitHub Releases with version history
|
|
- [ ] **Task C1.10:** Create `github_scraper.py` CLI tool
|
|
- [ ] **Task C1.11:** Add MCP tool `scrape_github`
|
|
- [ ] **Task C1.12:** Add config format for GitHub repos
|
|
|
|
**Start Small:** Pick C1.1 first (basic GitHub API connection)
|
|
|
|
#### C2: Local Codebase Scraping
|
|
- [ ] **Task C2.1:** Create file tree walker (with .gitignore support)
|
|
- [ ] **Task C2.2:** Extract docstrings (Python, JS, etc.)
|
|
- [ ] **Task C2.3:** Extract function signatures and types
|
|
- [ ] **Task C2.4:** Build API reference from code
|
|
- [ ] **Task C2.5:** Extract inline comments as notes
|
|
- [ ] **Task C2.6:** Create dependency graph
|
|
- [ ] **Task C2.7:** Create `codebase_scraper.py` CLI tool
|
|
- [ ] **Task C2.8:** Add MCP tool `scrape_codebase`
|
|
|
|
**Start Small:** Pick C2.1 first (simple file walker)
|
|
|
|
#### C3: Code Pattern Recognition
|
|
- [ ] **Task C3.1:** Detect common patterns (singleton, factory, etc.)
|
|
- [ ] **Task C3.2:** Extract usage examples from test files
|
|
- [ ] **Task C3.3:** Build "how to" guides from code
|
|
- [ ] **Task C3.4:** Extract configuration patterns
|
|
- [ ] **Task C3.5:** Create architectural overview
|
|
|
|
**Start Small:** Pick C3.1 first (pattern detection research)
|
|
|
|
---
|
|
|
|
### 🔌 **Category D: Context7 Integration**
|
|
Explore integration with Context7 for enhanced context management
|
|
|
|
#### D1: Context7 Research & Planning
|
|
- [ ] **Task D1.1:** Research Context7 API and capabilities
|
|
- [ ] **Task D1.2:** Document potential use cases for Skill Seeker
|
|
- [ ] **Task D1.3:** Create integration design proposal
|
|
- [ ] **Task D1.4:** Identify which features benefit most
|
|
|
|
**Start Small:** Pick D1.1 first (pure research, no code)
|
|
|
|
#### D2: Context7 Basic Integration
|
|
- [ ] **Task D2.1:** Create Context7 API client
|
|
- [ ] **Task D2.2:** Test basic context storage/retrieval
|
|
- [ ] **Task D2.3:** Store scraped documentation in Context7
|
|
- [ ] **Task D2.4:** Query Context7 during skill building
|
|
- [ ] **Task D2.5:** Add MCP tool `sync_to_context7`
|
|
|
|
**Start Small:** Pick D2.1 first (basic API connection)
|
|
|
|
---
|
|
|
|
### 🚀 **Category E: MCP Enhancements**
|
|
Small improvements to existing MCP tools
|
|
|
|
#### E1: New MCP Tools
|
|
- [ ] **Task E1.1:** Add `fetch_config` MCP tool (download from website)
|
|
- [ ] **Task E1.2:** Add `fetch_knowledge` MCP tool (download skills)
|
|
- [x] **Task E1.3:** Add `scrape_pdf` MCP tool (✅ COMPLETED v1.0.0)
|
|
- [ ] **Task E1.4:** Add `scrape_docx` MCP tool
|
|
- [ ] **Task E1.5:** Add `scrape_xlsx` MCP tool
|
|
- [ ] **Task E1.6:** Add `scrape_github` MCP tool (see C1.11)
|
|
- [ ] **Task E1.7:** Add `scrape_codebase` MCP tool (see C2.8)
|
|
- [ ] **Task E1.8:** Add `scrape_markdown_dir` MCP tool (see B4.6)
|
|
- [ ] **Task E1.9:** Add `sync_to_context7` MCP tool (see D2.5)
|
|
|
|
**Start Small:** Pick E1.1 first (once A1.2 is done)
|
|
|
|
#### E2: MCP Quality Improvements
|
|
- [ ] **Task E2.1:** Add error handling to all tools
|
|
- [ ] **Task E2.2:** Add structured logging
|
|
- [ ] **Task E2.3:** Add progress indicators for long operations
|
|
- [ ] **Task E2.4:** Add validation for all inputs
|
|
- [ ] **Task E2.5:** Add helpful error messages
|
|
- [ ] **Task E2.6:** Add retry logic for network failures
|
|
|
|
**Start Small:** Pick E2.1 first (one tool at a time)
|
|
|
|
---
|
|
|
|
### ⚡ **Category F: Performance & Reliability**
|
|
Technical improvements to existing features
|
|
|
|
#### F1: Core Scraper Improvements
|
|
- [ ] **Task F1.1:** Add URL normalization (remove query params)
|
|
- [ ] **Task F1.2:** Add duplicate page detection
|
|
- [ ] **Task F1.3:** Add memory-efficient streaming for large docs
|
|
- [ ] **Task F1.4:** Add HTML parser fallback (lxml → html5lib)
|
|
- [ ] **Task F1.5:** Add network retry with exponential backoff
|
|
- [ ] **Task F1.6:** Fix package path output bug
|
|
|
|
**Start Small:** Pick F1.1 first (URL normalization only)
|
|
|
|
#### F2: Incremental Updates
|
|
- [ ] **Task F2.1:** Track page modification times (Last-Modified header)
|
|
- [ ] **Task F2.2:** Store page checksums/hashes
|
|
- [ ] **Task F2.3:** Compare on re-run, skip unchanged pages
|
|
- [ ] **Task F2.4:** Update only changed content
|
|
- [ ] **Task F2.5:** Preserve local annotations/edits
|
|
|
|
**Start Small:** Pick F2.1 first (just tracking, no logic)
|
|
|
|
---
|
|
|
|
### 🎨 **Category G: Tools & Utilities**
|
|
Small standalone tools that add value
|
|
|
|
#### G1: Config Tools
|
|
- [ ] **Task G1.1:** Create `validate_config.py` (enhanced validation)
|
|
- [ ] **Task G1.2:** Create `test_selectors.py` (interactive selector tester)
|
|
- [ ] **Task G1.3:** Create `auto_detect_selectors.py` (AI-powered)
|
|
- [ ] **Task G1.4:** Create `compare_configs.py` (diff two configs)
|
|
- [ ] **Task G1.5:** Create `optimize_config.py` (suggest improvements)
|
|
|
|
**Start Small:** Pick G1.1 first (simple validation script)
|
|
|
|
#### G2: Skill Quality Tools
|
|
- [ ] **Task G2.1:** Create `analyze_skill.py` (quality metrics)
|
|
- [ ] **Task G2.2:** Add code example counter
|
|
- [ ] **Task G2.3:** Add readability scoring
|
|
- [ ] **Task G2.4:** Add completeness checker
|
|
- [ ] **Task G2.5:** Create quality report generator
|
|
|
|
**Start Small:** Pick G2.1 first (basic metrics)
|
|
|
|
---
|
|
|
|
### 📚 **Category H: Community Response**
|
|
Respond to existing GitHub issues
|
|
|
|
#### H1: Address Open Issues
|
|
- [ ] **Task H1.1:** Respond to Issue #8: Prereqs to Getting Started
|
|
- [ ] **Task H1.2:** Investigate Issue #7: Laravel scraping issue
|
|
- [ ] **Task H1.3:** Create example project (Issue #4)
|
|
- [ ] **Task H1.4:** Answer Issue #3: Pro plan compatibility
|
|
- [ ] **Task H1.5:** Create self-documenting skill (Issue #1)
|
|
|
|
**Start Small:** Pick H1.1 first (just respond, don't solve)
|
|
|
|
---
|
|
|
|
### 🎓 **Category I: Content & Documentation**
|
|
Educational content and guides
|
|
|
|
#### I1: Video Tutorials
|
|
- [ ] **Task I1.1:** Write script for "Quick Start" video
|
|
- [ ] **Task I1.2:** Record "Quick Start" (5 min)
|
|
- [ ] **Task I1.3:** Write script for "MCP Setup" video
|
|
- [ ] **Task I1.4:** Record "MCP Setup" (8 min)
|
|
- [ ] **Task I1.5:** Write script for "Custom Config" video
|
|
- [ ] **Task I1.6:** Record "Custom Config" (10 min)
|
|
|
|
**Start Small:** Pick I1.1 first (just write script, no recording)
|
|
|
|
#### I2: Written Guides
|
|
- [ ] **Task I2.1:** Write troubleshooting guide
|
|
- [ ] **Task I2.2:** Write best practices guide
|
|
- [ ] **Task I2.3:** Write performance optimization guide
|
|
- [ ] **Task I2.4:** Write community config contribution guide
|
|
- [ ] **Task I2.5:** Write codebase scraping guide
|
|
|
|
**Start Small:** Pick I2.1 first (common issues + solutions)
|
|
|
|
---
|
|
|
|
### 🧪 **Category J: Testing & Quality**
|
|
Improve test coverage and quality
|
|
|
|
#### J1: Test Expansion
|
|
- [ ] **Task J1.1:** Install MCP package: `pip install mcp`
|
|
- [ ] **Task J1.2:** Verify all 14 tests pass
|
|
- [ ] **Task J1.3:** Add tests for new MCP tools (as they're created)
|
|
- [ ] **Task J1.4:** Add integration tests for PDF scraper
|
|
- [ ] **Task J1.5:** Add integration tests for GitHub scraper
|
|
- [ ] **Task J1.6:** Add end-to-end workflow tests
|
|
|
|
**Start Small:** Pick J1.1 first (just install package)
|
|
|
|
---
|
|
|
|
## 🎯 Recommended Starting Tasks (Pick 3-5)
|
|
|
|
### Quick Wins (1-2 hours each):
|
|
1. **H1.1** - Respond to Issue #8 (community engagement)
|
|
2. **J1.1** - Install MCP package (fix tests)
|
|
3. **A3.1** - Create simple GitHub Pages site (single HTML)
|
|
4. **B1.1** - Research PDF parsing (no coding, just notes)
|
|
5. **F1.1** - Add URL normalization (small code fix)
|
|
|
|
### Medium Tasks (3-5 hours each):
|
|
6. ~~**A1.1** - Create JSON API for configs (simple endpoint)~~ ✅ **COMPLETE**
|
|
7. **G1.1** - Create config validator script
|
|
8. **C1.1** - GitHub API client (basic connection)
|
|
9. **I1.1** - Write Quick Start video script
|
|
10. **E2.1** - Add error handling to one MCP tool
|
|
|
|
### Bigger Tasks (5-10 hours each):
|
|
11. **B1.2-B1.6** - Complete PDF scraper
|
|
12. **C1.7-C1.9** - Complete GitHub scraper
|
|
13. **A2.1-A2.3** - Knowledge sharing foundation
|
|
14. **I1.2** - Record and publish Quick Start video
|
|
|
|
---
|
|
|
|
## 📊 Progress Tracking
|
|
|
|
**Completed Tasks:** 3 (A1.1 ✅, A1.2 ✅, A1.7 ✅)
|
|
**In Progress:** 0
|
|
**Total Available Tasks:** 136
|
|
|
|
### Current Sprint: Choose Your Own Adventure!
|
|
**Pick 1-3 tasks** from any category that interest you most.
|
|
|
|
**No pressure, no deadlines, just progress!** ✨
|
|
|
|
---
|
|
|
|
## 🎨 Flexibility Rules
|
|
|
|
1. **Pick any task, any order** - No dependencies (mostly)
|
|
2. **Start small** - Research tasks before implementation
|
|
3. **One task at a time** - Focus, complete, move on
|
|
4. **Switch anytime** - Not enjoying it? Pick another!
|
|
5. **Document as you go** - Each task should update docs
|
|
6. **Test incrementally** - Each task should have a quick test
|
|
7. **Ship early** - Don't wait for "complete" features
|
|
|
|
---
|
|
|
|
## 🚀 How to Use This Roadmap
|
|
|
|
### Step 1: Pick a Task
|
|
- Read through categories
|
|
- Pick something that sounds interesting
|
|
- Check estimated time
|
|
- Choose 1-3 tasks for this week
|
|
|
|
### Step 2: Create Issue (Optional)
|
|
- Create GitHub issue for tracking
|
|
- Add labels (category, priority)
|
|
- Add to project board
|
|
|
|
### Step 3: Work on It
|
|
- Complete the task
|
|
- Test it
|
|
- Document it
|
|
- Mark as done ✅
|
|
|
|
### Step 4: Ship It
|
|
- Commit changes
|
|
- Update changelog
|
|
- Tag version (if significant)
|
|
- Announce on GitHub
|
|
|
|
### Step 5: Repeat
|
|
- Pick next task
|
|
- Keep moving forward!
|
|
|
|
---
|
|
|
|
**Philosophy:**
|
|
**Small steps → Consistent progress → Compound results**
|
|
|
|
**No rigid milestones. No big releases. Just continuous improvement!** 🎯
|
|
|
|
---
|
|
|
|
**Last Updated:** October 20, 2025
|