Contributing
Purpose 2: Curate and contribute high-quality skills through teamwork.
AcaClaw is for the global academic community — contributions from researchers are especially welcome.
How to Contribute
Create a Skill
Write a skill for your academic domain in the acaclaw-skills repository.
- Fork acaclaw-skills
- Create your skill following the SKILL.md format
- Add tests that verify the skill works in the shared AcaClaw Conda environment
- Open a PR — you’ll be credited as Creator
Test Skills
Run skills against real-world data in your domain. Report edge cases, write test cases.
- Credited as Tester
Fix Bugs
Track down and fix edge cases in existing skills.
- Credited as Debugger
Review Code
Review PRs before skills are published to ClawHub.
- Credited as Reviewer
Write Documentation
Tutorials, usage guides, translations.
- Credited as Documenter
Maintain Skills
Keep existing skills compatible with new OpenClaw releases and environment updates.
- Credited as Maintainer
Recognized Roles
| Role | Description |
|---|---|
| Creator | Original author who designed and implemented the skill |
| Author | Wrote significant portions of the skill’s functionality |
| Tester | Validated the skill across environments, wrote test cases |
| Maintainer | Keeps the skill updated and compatible with new OpenClaw releases |
| Debugger | Fixed critical bugs or edge cases |
| Reviewer | Reviewed code and provided quality feedback before publishing |
| Documenter | Wrote usage guides, examples, or translations |
Every contribution is tracked, every contributor is named.
Quality Gates
Before a skill is published to ClawHub, it must pass:
| Gate | What it checks |
|---|---|
| Code review | At least one reviewer signs off |
| Integration tests | Skill runs against pinned OpenClaw version |
| Environment compatibility | Dependencies resolve cleanly in shared Conda env |
| Security review | No exfiltration, no dangerous commands |
| Compatibility test | Works in both Standard and Maximum security modes |
| Attribution check | ## Contributors section present and complete |
Environment Compatibility
All skills share a single Conda environment (env/conda/environment-base.yml). When adding a new skill:
- Declare only the packages your skill actually imports in
skills.json - Ensure your version requirements are compatible with the existing environment
- Run the full test suite to verify no conflicts with other skills
- If a conflict exists, work with maintainers to resolve it before publishing
A skill that introduces an unresolvable dependency conflict will not be shipped.
Attribution
- Every skill includes a
## Contributorstable in its SKILL.md (rendered on ClawHub) - Every contributor is showcased on acaclaw.com/hub
- Git history is the canonical authorship record
Contributing to the AcaClaw App
The sections above focus on contributing skills. The commands below are for developing the AcaClaw application and distribution itself, not the separate acaclaw-skills repository.
Development Setup
# Clone the repo
git clone https://github.com/acaclaw/acaclaw.git
cd acaclaw
# Install dependencies
npm install
# Run tests
npx vitest run
# Type check
npx tsc --noEmit
Local Development Commands
Run these commands from the repository root when working on the local app:
| Task | Command |
|---|---|
| Start the local gateway and open the UI | bash scripts/start.sh |
| Start the local gateway without opening the UI automatically | bash scripts/start.sh --no-browser |
| Check whether the gateway is running | bash scripts/start.sh --status |
| Stop the local gateway | bash scripts/stop.sh |
| Restart the local gateway | bash scripts/stop.sh && bash scripts/start.sh |
| Reinstall the current checkout into your local AcaClaw profile after plugin/script/config changes | bash scripts/install.sh |
| Rebuild and deploy UI-only changes | npm --prefix ui run build && npm run deploy |
License
By contributing, you agree that your contributions will be licensed under the MIT License.