Contributing to OMNISKILL
Thank you for your interest in contributing to OMNISKILL! This document provides guidelines and workflows for contributing.
How to Contribute
Adding a New Skill
- Use the skill factory (recommended):
"Create a new skill for [domain]" โ triggers the skill-factory pipeline
- Manual creation:
- Copy
skills/_template/toskills/your-skill-name/ - Fill in
manifest.yamlwith your skill's metadata - Write your
SKILL.mdfollowing the template structure - Add resources, examples, and tests
- Run validation:
python scripts/validate.py skills/your-skill-name
Skill Quality Standards
Every skill MUST:
- [ ] Have a complete
manifest.yamlpassing schema validation - [ ] Have a
SKILL.mdwith all required sections (Identity, When to Use, Workflow, Rules, Output, Handoff) - [ ] Declare at least one trigger keyword
- [ ] Have no conflicting triggers with existing skills
- [ ] Include at least one example interaction in
examples/ - [ ] Include at least one test case in
tests/cases/
Every skill SHOULD:
- [ ] Include resources (cheat sheets, references) in
resources/ - [ ] Include output templates in
templates/ - [ ] Support all 5 platforms (or document which are unsupported in overrides)
Adding a Skill to a Bundle
- Edit the bundle's
bundle.yaml - Add your skill name to the
skills:list - Update the meta-skill if the new skill changes routing logic
- Run bundle validation:
python scripts/validate.py bundles/bundle-name
Creating a New Bundle
- Create directory
bundles/your-bundle-kit/ - Create
bundle.yamlfollowingschemas/bundle-manifest.schema.yaml - Create
meta-skill/SKILL.mdandmeta-skill/manifest.yaml - Optionally add
shared-resources/ - Register in
omniskill.yaml
Modifying an Agent
- Edit the agent's
AGENT.mdand/oragent-manifest.yaml - Ensure all referenced skills still exist
- Ensure all handoff targets are valid agents
- Run validation:
python scripts/validate.py agents/agent-name
Pull Request Process
- Fork the repository
- Create a feature branch:
git checkout -b feat/your-feature - Make your changes
- Run full validation:
python scripts/validate.py --all - Update
CHANGELOG.mdunder[Unreleased] - Submit a PR with a clear description
Naming Conventions
| Entity | Convention | Example |
|---|---|---|
| Skills | kebab-case |
react-best-practices |
| Bundles | kebab-case-kit |
web-dev-kit |
| Agents | kebab-case-agent |
spec-writer-agent |
| Pipelines | kebab-case |
sdd-pipeline |
| Synapses | kebab-case |
sequential-thinking |
| Hooks | snake_case.py |
pre_step.py |
Adding a Synapse (v2.0)
- Copy
synapses/_template/tosynapses/your-synapse/ - Write
SYNAPSE.mddefining firing phases, rules, and resources - Create
manifest.yamlwithtype: coreortype: optional - Add resource files as needed
- Register in
omniskill.yamlundersynapses: - Validate:
python scripts/validate.py --synapses
Adding a Hook (v2.0)
- Create
hooks/your_hook.pywith anexecute(context)function - Register in
hooks/hooks.yamlwith the lifecycle event it handles - Validate:
python scripts/validate.py --hooks
Validation Commands
python scripts/validate.py --all # Validate everything
python scripts/validate.py --skills # Skills only
python scripts/validate.py --agents # Agents + guardrails
python scripts/validate.py --synapses # Synapses
python scripts/validate.py --hooks # Hook system
python scripts/validate.py --pipelines # Pipeline schemas
Code of Conduct
Be respectful, constructive, and collaborative. We're building something amazing together.