Thanks for your interest in contributing! Whether you're fixing a bug, improving an existing skill, or building a new one — we'd love your help.
Questions? Start a thread in GitHub Discussions.
# Fork and clone
git clone https://github.com/<your-username>/founder-skills.git
cd founder-skills
# Install dependencies (requires Python 3.12+ and uv)
uv sync --extra dev-
Branch from
mainusing a descriptive prefix:feat/— new functionalityfix/— bug fixesskill/— new skill end-to-end
-
Before pushing, run all checks:
uv run ruff check . # lint uv run ruff format --check . # format check uv run mypy founder-skills/skills/market-sizing/scripts/ # typecheck per skill uv run mypy founder-skills/skills/deck-review/scripts/ uv run mypy founder-skills/skills/ic-sim/scripts/ uv run mypy founder-skills/skills/financial-model-review/scripts/ uv run mypy founder-skills/skills/competitive-positioning/scripts/ uv run mypy founder-skills/tests/ uv run pytest # tests (e2e auto-skips without auth)
The deck-review e2e smoke (
tests/test_e2e_deck_review.py) is gated by thee2emarker and skips unless one of these is set:ANTHROPIC_API_KEY,CLAUDE_CODE_OAUTH_TOKEN, or localclaude /loginauth (macOS Keychain or~/.claude/.credentials.json). To explicitly skip it for a faster run:uv run pytest -m "not e2e" -
Open a PR against
main. The PR template will guide you through the checklist.
All commits must be signed off under the Developer Certificate of Origin (DCO). This certifies that you have the right to submit the code under the project's open-source license.
Sign off every commit:
git commit -s -m "feat: add new skill"This adds a Signed-off-by: Your Name <your@email.com> line. If you forget, amend:
git commit --amend -sRead DESIGN.md first — it explains the artifact pipeline, script-backed workflow, and coaching philosophy that every skill follows.
A complete skill consists of:
founder-skills/
skills/<name>/
SKILL.md # Skill definition (workflow, phases, outputs)
scripts/ # Python scripts (PEP 723 inline metadata)
checklist.py # Validation/scoring script
compose_report.py # Report assembly script
...
references/ # Reference materials, rubrics, examples
agents/<name>.md # Agent definition (frontmatter + system prompt)
tests/test_<name>.py # Regression tests
Use the existing skills (market-sizing, deck-review, ic-sim, financial-model-review, competitive-positioning) as templates. Skills and agents are auto-discovered from the directory structure — no registration needed. Key conventions:
- Scripts output JSON to stdout, warnings/errors to stderr
- Scripts support
--prettyfor human-readable output and-o <file>to write to file - Scripts use PEP 723 inline metadata for dependencies
- Agent definitions go in
founder-skills/agents/<name>.md
These changes are generally welcome without prior discussion:
- Fixing bugs in scripts
- Improving reference materials and rubrics
- Adding test cases
- Clarifying agent prompts
For larger changes — restructuring a workflow, changing scoring methodology, altering output formats — please open an issue first to discuss the approach.
- One logical change per PR. Don't bundle unrelated fixes.
- Link to an issue when one exists (
Closes #123). - All CI checks must pass — lint, typecheck, and tests.
- DCO sign-off required on every commit.
- New skills must include SKILL.md, agent definition, tests, and reference files.
Ruff handles linting and formatting. Key settings:
- 120-character line limit
- PEP 723 inline metadata for script dependencies
- JSON to stdout, warnings/errors to stderr
Don't worry about formatting — just run uv run ruff format . before committing.
Use the bug report template. Include which skill is affected and steps to reproduce.
Use the feature request template for new skill ideas or improvements. For open-ended discussion, use GitHub Discussions.