---
url: https://canary.warp-drive.io/skills/contributors.md
---
# WarpDrive Contributor Skills

Skills for contributing to WarpDrive's own codebase, not for consuming `@warp-drive/*` packages
as a dependency in an app.

| If you need to... | Go to |
| --- | --- |
| Begin any session or task in this repo — get a working copy to make changes in | [Start in a Fresh Worktree](/skills/contributors/start-in-a-fresh-worktree.md) |
| Write a commit message or open a pull request | [Keep Commits Human-Authored](/skills/contributors/keep-commits-human-authored.md) |
| Fix a bug, add a guard, or add a fallback in WarpDrive's internals (`Store`, cache, graph, reactive signals, record arrays) | [Fix at the Source](/skills/contributors/fix-at-the-source.md) |
| Add or change a test that mocks HTTP, then commit it | [Commit Mock Cache Fixtures](/skills/contributors/commit-mock-cache-fixtures.md) |
| Write a new RFC, or implement one that's already been accepted | [Writing and Implementing RFCs](/skills/contributors/writing-and-implementing-rfcs.md) |
| Write or change documentation — a doc comment (TSDoc), a guide, an `upgrading/` or `blog/` page, a package README or `src/index.md`, or an agent skill (RFCs have their own row above; a release announcement has its own row below) | [Write Documentation](/skills/contributors/write-documentation.md) |
| Add a post under `blog/`, start a new major-version section of it, or retire a post (a release announcement also has its own row below) | [Publish a Blog Post](/skills/contributors/publish-a-blog-post.md) |
| Test a change — decide whether to run checks locally or push and let CI verify it | [Use CI as the Source of Truth](/skills/contributors/use-ci-as-the-source-of-truth.md) |
| Share setup/teardown across more than one test in a module | [Extract Test Setup Into Functions](/skills/contributors/extract-test-setup-into-functions.md) |
| Turn a finished change into a pull request — title, labels CI enforces, and backports | [Submit a PR](/skills/contributors/submit-a-pr.md) |
| Open a pull request, change what an open one does or its `:dart:` labels, or respond to a review about its release summary — decide whether to propose a summary file in `.next-release-post/` and write it | [Write a PR Blog Summary](/skills/contributors/write-a-pr-blog-summary.md) |
| Draft a blog post announcing a release, before the release ships — summarize a version's major changes and notable fixes | [Draft a Release Blog Post](/skills/contributors/draft-a-release-blog-post.md) |

If nothing above matches, the skill you need doesn't exist yet in this category.
