Skip to main content
Thanks for wanting to contribute! Once you’ve built and tested your Ability in the OpenHome Live Editor, this guide walks you through downloading it and submitting it to the community repo as a pull request.

Source on GitHub

The canonical CONTRIBUTING.md in the abilities repo. This page mirrors it — refer to the GitHub copy if anything looks out of date.

Branching & Merging Strategy

We use a simplified Git Flow. All contributions follow this flow:
Never open a PR directly to main. All PRs must target dev. PRs targeting main will be closed and you’ll be asked to re-open against dev.

How the Repo Is Organized

You submit to community/ only. Exceptional community abilities can be promoted to official over time.

Step-by-Step Guide

1. Fork the Repo

Go to openhome-dev/abilities and click Fork in the top-right corner. This creates your own copy of the repo under your GitHub account — the copy you’ll push your changes to.

2. Clone Your Fork

Clone your fork, then point it at the upstream repo so you can stay in sync:

3. Create Your Ability Branch

Branch off dev — not main:
Use a descriptive branch name like add-dad-jokes, add-pomodoro-timer, or fix-weather-error-handling.

4. Add Your Ability

Once your Ability is finalized and tested in the Live Editor:
  1. In the Live Editor, create a commit of your Ability.
  2. Download it with the Download button at the bottom-left of the Live Editor. This saves your Ability as a zip file.
  3. Unzip the file, then place the Ability folder inside the community/ folder of your cloned repo, so it lives at community/your-ability-name/. You can move it with your file explorer, or from the repo root:
The folder name under community/ becomes your ability’s name. Use lowercase, hyphenated names (for example, dad-jokes) — not underscores or spaces.

5. Sync with dev Before Submitting

dev is under active development, so pull the latest changes into your branch before opening your PR to avoid conflicts:

6. Submit Your PR

Commit your ability and push it to your fork:
Open a Pull Request on GitHub:
  • Base branch: dev (not main)
  • Compare branch: add-your-ability-name
  • Fill out the PR template completely

What Happens After You Open a PR

  1. Automated checks runvalidate-ability, path-check, security-scan, and linting must all pass.
  2. A maintainer reviews — typically within 3–5 business days.
  3. Feedback round — push additional commits to the same branch; the PR updates automatically.
  4. Merge to dev — once approved, a maintainer squash-merges your PR into dev.
  5. Promotion to main — periodically, maintainers validate dev and merge it into main. Your ability becomes available on the Marketplace at that point.

Review Checklist

Before opening your PR, make sure:
  • PR targets the dev branch (not main)
  • Files are in community/your-ability-name/ (not in official/)
  • README.md is present with a description, suggested trigger words, and setup instructions
  • No hardcoded API keys (use "YOUR_API_KEY_HERE" placeholders)

What NOT to Do

Promotion Path

Community abilities that stand out can be promoted to Official status: When promoted, the ability moves from community/ to official/, gets the Official badge on Marketplace, and OpenHome takes over maintenance (author stays credited).

Getting Help

Discord

Ask questions and share works-in-progress with the community.

Report a Bug

Found a bug in an ability? Open an issue.

Suggest an Ability

Vote on and suggest new ability ideas in Discussions.

SDK Reference

Full SDK docs for ability authors.

License

By submitting a PR, you agree that your contribution is licensed under the MIT License. Original authorship is always credited in your ability’s README and in CONTRIBUTORS.md.