Migrated from design-system-swarm with fresh git history.
Old project history preserved in /home/overbits/apps/design-system-swarm
Core components:
- MCP Server (Python FastAPI with mcp 1.23.1)
- Claude Plugin (agents, commands, skills, strategies, hooks, core)
- DSS Backend (dss-mvp1 - token translation, Figma sync)
- Admin UI (Node.js/React)
- Server (Node.js/Express)
- Storybook integration (dss-mvp1/.storybook)
Self-contained configuration:
- All paths relative or use DSS_BASE_PATH=/home/overbits/dss
- PYTHONPATH configured for dss-mvp1 and dss-claude-plugin
- .env file with all configuration
- Claude plugin uses ${CLAUDE_PLUGIN_ROOT} for portability
Migration completed: $(date)
🤖 Clean migration with full functionality preserved
13 KiB
UI Development Plugins - Implementation Roadmap
Date: 2025-12-06 Status: Research Complete - Ready for Implementation Validated By: Gemini 3 Pro Preview (Deep Thinking + Expert Analysis)
Executive Summary
Comprehensive analysis of external Claude Code marketplaces identified 9 high-value plugins for UI/component development that can be adapted to DSS MCP format. All plugins leverage existing DSS infrastructure (CredentialVault, Strategy Pattern, DSSContext) and require minimal new dependencies.
Key Findings:
- ✅ Analyzed 90+ plugins across 3 major marketplaces
- ✅ Designed adaptation patterns from client-side to server-side
- ✅ Created 3-week implementation roadmap
- ✅ All plugins integrate with existing DSS architecture
Research Coverage
External Marketplaces Analyzed
-
Dev-GOM/claude-code-marketplace
- CDP Browser Automation (perfect for DSS LOCAL mode)
- TODO Collector
- Complexity Monitor
- Auto-Docs
-
Anthropic Official Plugins
- frontend-design skill (production-grade UI generation)
-
kivilaid/plugin-marketplace
- 77 plugins including Git automation, code review, testing tools
Adaptation Strategy
Pattern 1: Hook → MCP Tool
- Convert pre/post execution logic to standalone tool
- Example: Pre-commit hook →
run_pre_commit_checkstool
Pattern 2: Skill → MCP Tool + Description
- Tool does the work, description teaches Claude how to use it
- Example: frontend-design skill →
scaffold_component+ rich description
Pattern 3: Command → MCP Tool
- Direct conversion of command to tool
- Example:
/generate-story→generate_storybook_storytool
9 Recommended Plugins (3-Week Roadmap)
Phase 1: Foundation Tools (Week 1) - START HERE
1. Component Scaffolding Plugin
Priority: 🔴 HIGHEST
Effort: 2 days
Dependencies: jinja2>=3.1.2
Tools:
scaffold_component- Generate React component with tests, stories, docs- Parameters: component_name, component_type, include_tests, include_stories, template
- Templates: basic, form, layout, data-display
Value Proposition:
- Most requested feature by UI developers
- Immediate productivity gain (30-60 min → 2 min)
- Foundation for other plugins (establishes template system)
- Zero learning curve (generates familiar structure)
Implementation:
# File: plugins/component_scaffolding.py
from jinja2 import Environment, FileSystemLoader
from ..core.context import DSSContext
TOOLS = [
types.Tool(
name="scaffold_component",
description="Generate React component with tests, Storybook stories, and documentation",
inputSchema={
"type": "object",
"properties": {
"component_name": {"type": "string"},
"component_type": {"enum": ["functional", "class"]},
"template": {"enum": ["basic", "form", "layout", "data-display"]},
"include_tests": {"type": "boolean", "default": True},
"include_stories": {"type": "boolean", "default": True}
},
"required": ["component_name"]
}
)
]
Templates Required:
functional_component.tsx.j2test.spec.tsx.j2story.stories.tsx.j2README.md.j2
2. Storybook Integration Plugin
Priority: 🔴 HIGH
Effort: 2 days
Dependencies: Built-in AST parsing (Python ast module)
Tools:
generate_story- Create Storybook story from componentupdate_story- Update existing story with new propsvalidate_stories- Check story coverage across components
Value Proposition:
- Critical for design system workflow
- Reduces Storybook maintenance overhead
- Ensures component documentation stays in sync
- Generates CSF3-compliant stories automatically
Implementation:
# File: plugins/storybook_integration.py
import ast
from pathlib import Path
TOOLS = [
types.Tool(name="generate_story", ...),
types.Tool(name="update_story", ...),
types.Tool(name="validate_stories", ...)
]
class PluginTools:
async def _parse_component_props(self, component_path: str):
"""Extract props from TypeScript/React component using AST"""
# Parse component file, extract props interface
# Return structured props data
3. Design Token Validator Plugin
Priority: 🔴 HIGH Effort: 3 days Dependencies: Existing Figma integration (CredentialVault)
Tools:
validate_tokens- Compare local tokens with Figmasync_figma_tokens- Pull latest tokens from Figmagenerate_token_report- Create mismatch report
Value Proposition:
- Prevents design-dev token drift
- Ensures design system consistency
- Automated validation in CI/CD
- Reduces manual QA overhead
Implementation:
# File: plugins/design_token_validator.py
from ..context.credential_vault import get_credential_vault
class PluginTools:
async def __init__(self, **kwargs):
vault = get_credential_vault()
self.figma_token = await vault.get_credential("figma_access_token", user_id)
async def _fetch_figma_tokens(self, file_key: str):
"""Fetch design tokens from Figma API"""
# Use Figma REST API to get styles/variables
Phase 2: Testing & Quality Tools (Week 2)
4. CDP Browser Plugin (Adapted from Dev-GOM)
Priority: 🟡 MEDIUM
Effort: 3 days
Dependencies: playwright>=1.40.0 (already planned for LOCAL mode)
Source: https://github.com/Dev-GOM/claude-code-marketplace CDP Browser Automation
Integration: Enhance LocalBrowserStrategy with CDP capabilities
Value Proposition:
- Enables LOCAL mode browser automation (Phase 2 requirement)
- Direct adaptation from proven external plugin
- Advanced debugging capabilities
- Real-time DOM inspection
5. Accessibility Checker Plugin
Priority: 🟡 MEDIUM
Effort: 2 days
Dependencies: playwright (already planned), axe-core (npm, via playwright)
Tools:
run_a11y_audit- Run axe-core accessibility auditcheck_aria_compliance- Validate ARIA attributesgenerate_a11y_report- Create accessibility report
Value Proposition:
- Critical for production-ready components
- Catches accessibility issues early
- Automated compliance checking
- Generates actionable reports
Implementation:
# File: plugins/accessibility_checker.py
from ..strategies.local.browser import LocalBrowserStrategy
class PluginTools:
async def _run_axe_audit(self, url: str):
"""Run axe-core via Playwright"""
strategy = LocalBrowserStrategy()
page = await strategy.get_page()
await page.goto(url)
# Inject axe-core and run audit
results = await page.evaluate("""
() => axe.run()
""")
return results
6. TODO Collector Plugin (Adapted from Dev-GOM)
Priority: 🟢 LOW Effort: 1 day Dependencies: None (built-in file system)
Source: https://github.com/Dev-GOM/claude-code-marketplace TODO Collector
Tools:
collect_todos- Scan project for TODO commentscategorize_todos- Group by priority/assigneegenerate_todo_report- Create actionable report
Value Proposition:
- Quick win (low complexity, high utility)
- Helps teams track technical debt
- Automated TODO tracking
- CI/CD integration potential
Phase 3: Advanced Tools (Week 3)
7. Visual Regression Plugin
Priority: 🟢 LOW
Effort: 2 days
Dependencies: playwright, image diffing library
Tools:
capture_baseline- Capture component screenshots as baselinecompare_screenshots- Detect visual regressionsgenerate_visual_report- Show visual diffs
8. Performance Monitor Plugin
Priority: 🟢 LOW Effort: 2 days Dependencies: Webpack/Vite integration
Tools:
analyze_bundle_size- Track bundle sizes over timemeasure_render_time- Component render performancegenerate_perf_report- Performance dashboard
9. Component Documentation Generator Plugin
Priority: 🟢 LOW Effort: 3 days Dependencies: TypeScript parser, JSDoc support
Tools:
generate_component_docs- Auto-generate API docs from propsupdate_readme- Keep README in sync with componentvalidate_docs- Check documentation completeness
Implementation Strategy
Template System Architecture
tools/dss_mcp/plugins/
├── component_scaffolding/
│ ├── __init__.py (empty)
│ ├── tool.py (exports TOOLS and PluginTools)
│ ├── requirements.txt (jinja2>=3.1.2)
│ └── templates/
│ ├── functional_component.tsx.j2
│ ├── test.spec.tsx.j2
│ ├── story.stories.tsx.j2
│ └── README.md.j2
├── storybook_integration/
│ └── tool.py
├── design_token_validator/
│ └── tool.py
└── _template.py
Integration with Existing DSS Infrastructure
1. Use CredentialVault (already implemented):
from ..context.credential_vault import get_credential_vault
vault = get_credential_vault()
figma_token = await vault.get_credential("figma_access_token", user_id)
2. Use DSSContext (already implemented):
from ..core.context import DSSContext
ctx = await DSSContext.get_instance()
project_root = ctx.get_project_root()
3. Use Strategy Pattern (already implemented):
# Accessibility checker adapts to LOCAL/REMOTE mode
if ctx.mode == "LOCAL":
dom = await local_browser_strategy.get_dom_snapshot()
else:
dom = await remote_browser_strategy.get_dom_snapshot()
Dependency Management
New Dependencies Required
Phase 1:
jinja2>=3.1.2- Template rendering (Component Scaffolding)
Phase 2:
playwright>=1.40.0- Browser automation (already planned for LOCAL mode)
Total New Dependencies: 1 (jinja2 only)
Installation Workflow
# 1. Create plugin with requirements.txt
mkdir -p tools/dss_mcp/plugins/component_scaffolding
echo "jinja2>=3.1.2" > tools/dss_mcp/plugins/component_scaffolding/requirements.txt
# 2. Install dependencies
./tools/install_plugin_deps.sh
# 3. Restart server
supervisorctl restart dss-mcp
Risk Mitigation
Risk 1: External plugin code quality unknown
Mitigation: Manually review all adapted code, don't copy blindly Action: Treat external plugins as inspiration, not copy-paste sources
Risk 2: Playwright dependency adds complexity
Mitigation: Playwright only required for LOCAL mode (optional) Action: Gracefully degrade tools when Playwright unavailable
Risk 3: Template maintenance overhead
Mitigation: Start with 3 basic templates, expand based on usage Action: Version templates, allow project-specific overrides
Success Metrics
Week 1 Success Criteria
- ✅ 3 plugins implemented and tested
- ✅ Component scaffolding generates working React component
- ✅ Storybook integration creates valid CSF3 stories
- ✅ Token validator detects mismatches with Figma
Week 2 Success Criteria
- ✅ CDP browser plugin integrated into LOCAL mode
- ✅ A11y checker runs on sample components
- ✅ TODO collector scans project and generates report
Week 3 Success Criteria
- ✅ All 9 plugins operational
- ✅ Documentation complete for each plugin
- ✅ Team training session conducted
Next Immediate Actions
1. Create Plugin Development Branch
git checkout -b feature/ui-development-plugins
2. Install Template Dependencies
pip install jinja2>=3.1.2
3. Create Template Directory Structure
mkdir -p tools/dss_mcp/plugins/component_scaffolding/templates
4. Implement Component Scaffolding Plugin First
- Copy
_template.pytocomponent_scaffolding/tool.py - Define 1 tool:
scaffold_component - Create 3 Jinja2 templates (component, test, story)
- Test with real component creation
5. Document Plugin in README
- Add usage examples
- Document template variables
- Explain customization options
Final Recommendation
START IMMEDIATELY with Phase 1, Priority 1 (Component Scaffolding).
Why Component Scaffolding First:
- Immediate Value: Generates actual code files developers can use today
- Foundation: Establishes template system for other plugins
- Low Risk: Only needs jinja2, no external dependencies
- High Visibility: Team sees tangible results quickly
- Quick Win: 2 days to working plugin
Confidence Level: Very High (95%)
- Architecture validated by deep thinking + expert analysis
- External marketplace research complete
- Implementation path clear with concrete examples
- Risk mitigation strategies defined
- All dependencies minimal and well-understood
Last Updated: 2025-12-06 Next Review: After Phase 1 completion (Week 1)