Thank you for your interest in contributing! This guide will help you get started with development.
- Python 3.8+ - For hooks development
- Node.js 16+ - For npm package development
- Git - Version control
# Clone the repository
git clone git@github.com:alienzhou/skill-discuss-for-specs.git
cd skill-discuss-for-specs
# Install Python dependencies (runtime + dev)
pip install -e ".[dev]"
# Install npm dependencies (for npm package)
cd npm-package
npm install
cd ..skill-discuss-for-specs/
├── skills/ # Skill definitions (Markdown instructions for AI)
│ └── discuss-for-specs/ # Unified discussion skill
│ ├── SKILL.md # Core skill content
│ ├── headers/ # Platform-specific YAML headers
│ └── references/ # Templates and reference docs
├── hooks/ # Python automation scripts (source)
│ ├── common/ # Shared utilities
│ └── stop/ # Precipitation check (snapshot-based)
├── npm-package/ # NPM package for distribution
│ ├── src/ # Package source code
│ ├── bin/ # CLI entry point
│ ├── scripts/ # Build scripts
│ ├── dist/ # [Generated] Built skills for all platforms
│ └── hooks/ # [Generated] Copied from root hooks/
├── config/ # Configuration files
├── templates/ # File templates for new discussions
├── tests/ # Python tests
└── docs/ # Documentation
| Path | Type | Description |
|---|---|---|
skills/ |
Source | Skill Markdown files |
hooks/ |
Source | Python hook scripts |
npm-package/src/ |
Source | Package JS code |
npm-package/dist/ |
Generated | Built skills (gitignored) |
npm-package/hooks/ |
Generated | Copied hooks (gitignored) |
The npm package bundles skills and hooks for distribution:
cd npm-package
# Build the package (copies hooks, builds skills for each platform)
npm run build
# This generates:
# - dist/claude-code/ - Skills built for Claude Code
# - dist/cursor/ - Skills built for Cursor
# - hooks/ - Copied from root hooks/# Run all tests
python -m pytest tests/
# Run specific test file
python -m pytest tests/test_meta_parser.py -v- Install the skills in Claude Code or Cursor
- Start a discussion with the AI
- Verify the discussion flow works as expected
Skills are pure Markdown files in skills/*/SKILL.md:
- Edit the SKILL.md file
- Test with actual discussions
- Run
npm run buildin npm-package/ to rebuild
Hooks are Python scripts in hooks/:
- Edit the hook script
- Run tests:
python -m pytest tests/ - Run
npm run buildin npm-package/ to copy hooks
- Add platform header in
skills/*/headers/<platform-name>.yaml - Add platform configuration in
npm-package/src/platform-config.js - Update
npm-package/scripts/build.jsto include the platform
- Python: Follow PEP 8
- JavaScript: ES modules, use existing patterns
- Markdown: Keep lines readable, use consistent formatting
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Make your changes
- Run tests to ensure nothing is broken
- Commit with clear messages
- Push and create a Pull Request
- Check existing issues
- Read the documentation
- Open a new issue for discussion