Agent skill

Codewhale Landing Workflow

by codewhale-hq in codewhale-hq/Codewhale

Decides how verified work should reach main, directly, in a worktree or on an integration branch, while keeping contributor credit and respecting merge gates.

MITAuto-check passedDevelopment

Install Codewhale Landing Workflow

skills CLI
$ npx skills add codewhale-hq/Codewhale --skill cw-land -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install codewhale-hq/Codewhale cw-land --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/codewhale-hq/Codewhale.git skills-src && mkdir -p .claude/skills && cp -r skills-src/docs/skills/cw-land .claude/skills/cw-land && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
cw-land
GitHub stars
41k
Token cost
~1.6k tokens
SKILL.md length
861 words
Files
1
Skills in repo
63
Repo updated
First seen
Licence
MIT

At a glance

Decides how verified work should reach main, directly, in a worktree or on an integration branch, while keeping contributor credit and respecting merge gates.

  • Works in 7 steps: Choose the landing shape. → Commit narrow and build-green. One… → Preserve credit mechanically, not just… → …
  • Turning verified work into a commit, branch or pull request
  • SKILL.md covers When to use, Workflow, Red flags / don't and Output
  • Calls git

What it does

This is the fifth stage of the Codewhale loop, after orienting, slicing, gates and dogfooding, and before handoff. The agent chooses a landing shape: a direct commit to main only for a small change when the checkout is current, clean and owns the affected files; a worktree for conflicting, dirty or independent work; or an integration branch for conflicts and several moving pull requests, which leaves the contributor's branch untouched.

Commits stay narrow and build-green, with real pass and fail counts in the message. Contributor credit is preserved mechanically: commits use the contributor's own GitHub-linked address, with a harvested-from line and a Co-authored-by trailer that lets automation close their pull request with credit. Local commit permission never implies push, merge, tag, release or deploy permission, and merging past a gate that has not passed is ruled out.

When your agent uses it

  • Turning verified work into a commit, branch or pull request
  • Landing someone else's pull request while keeping their authorship
  • Resolving conflicts caused by main moving while a pull request is open
  • Deciding whether to commit directly or use a worktree

Example prompts

  • “Land this verified fix: should it go straight to main or into a worktree?”
  • “Harvest the contributor's pull request and make sure they get co-author credit.”
  • “Main moved under my branch, so set up an integration branch for the conflicting pull requests.”

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Choose the landing shape.
  2. Commit narrow and build-green. One coherent change per commit; the tree
  3. Preserve credit mechanically, not just politely. Commit authorship and
  4. Landing someone else's work: their time is more expensive than ours.
  5. Verify mergeability against the real head. A PR that is clean against
  6. Merging under a gate. AGENTS.md ("Merging under a gate") owns this
  7. Clean up your own lane. When a worktree you created lands on main,

What it can do on your machine

Read from SKILL.md and the folder at commit 0ea319a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Codewhale Landing Workflow loads about 1.6k tokens when it runs. Until then it costs about 55 tokens; SKILL.md has 861 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~55
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from codewhale-hq/Codewhale at commit 0ea319a, republished under its MIT licence (© codewhale-hq). 861 words, ~1,610 tokens.

Download SKILL.mdSave it as .claude/skills/cw-land/SKILL.md (or your agent's skills folder).
name
cw-land
description
Use when turning verified Codewhale work into commits, branches, or a merge: choosing direct-main vs. worktree vs. integration branch, preserving contributor credit, and honoring the gate artifact before merging.

cw-land

Verified work still has to land without stepping on other writers, losing contributor credit, or merging past a gate that has not actually passed. This stage is about the boundary between "it works" and "it is in main" — and about which of those steps you are allowed to take.

Stage 5 of the loop: cw-orient → cw-slice → cw-gates → cw-dogfood → land → cw-handoff.

When to use

  • The change is verified and needs to become a commit on main.
  • You are landing someone else's PR, harvesting a contributor's work, or resolving a conflict caused by main moving.
  • You are about to merge something behind a required gate.

Workflow

  1. Choose the landing shape.

    • The checkout that already exists is the default. Direct to main is permitted for a small coherent change when that checkout is current and owns the affected files; when several agents share it, partition by file, stage only your paths, and retry a commit that fails on index.lock. Local commit permission never implies push, merge, tag, release, or deploy permission.
    • No maintainer PR branches (AGENTS.md): verified slices land on main directly and hosted CI runs there. PRs are for contributors.
    • A worktree is for a lane that genuinely conflicts with the dirt you found in cw-orient, or an experiment you may throw away — not for parallel agents on the same lane.
    • An integration branch (integration/<topic>-<pr>-<date>) is for resolving a contributor PR that conflicts with a moving main when you cannot push to their fork. It leaves their branch untouched.
  2. Commit narrow and build-green. One coherent change per commit; the tree builds at every commit. Put the real verification in the message — actual pass/fail counts, not "tests pass".

  3. Preserve credit mechanically, not just politely. Commit authorship and Co-authored-by: trailers must use the contributor's own GitHub-linked address — GitHub reads neither .github/AUTHOR_MAP nor .mailmap for the contribution graph; those are project conventions on top. When a contributor's work lands as our commit, it carries both:

    text
    Harvested from PR #N by @handle
    
    Co-authored-by: Name <github-linked-email>

    That trailer is what lets auto-close-harvested.yml close their PR with credit. Canonical human identities live in .github/AUTHOR_MAP.

    Whether a bot or agent also appears in a trailer no longer matters — the CI check that policed trailer identities was removed because it rejected ordinary agent commits. Give humans their credit; don't spend time scrubbing tool trailers.

  4. Landing someone else's work: their time is more expensive than ours.

    • Never make a contributor rebase around our churn. If their PR conflicts only because main moved, a maintainer resolves it.
    • Read their diff against the merge base first, so you know exactly what they added, then re-apply that — rather than hand-merging two large sides and hoping:
      bash
      git diff $(git merge-base main <pr-head>)..<pr-head>
    • Conflicts that split mid-function do not resolve by keeping both sides. Git's markers can land inside a body, so a both-sides resolution produces unbalanced braces that look plausible and do not compile. Default: take one side whole, then re-insert the other side's additions at their original anchor; when the conflict doesn't fit that pattern, resolve it however is correct and let the compiler judge.
    • maintainerCanModify does not guarantee push access to the fork. When the push is refused, land the resolved merge on an integration branch here.
    • Check the contribution gate before assuming a PR is stalled. An unlisted author's workflow runs sit at action_required and never start, so the PR looks abandoned when nobody has actually looked at it. Approve the runs, then fix the cause: add them to .github/APPROVED_CONTRIBUTORS (all:username), or comment /lgtm (PR scope) or /lgtmi (issue scope).
  5. Verify mergeability against the real head. A PR that is clean against main can still conflict with a release branch:

    bash
    git merge-tree $(git merge-base <base> <pr-head>) <base> <pr-head>
  6. Merging under a gate. AGENTS.md ("Merging under a gate") owns this: the artifact must literally say PASS, the review thread outranks the check rollup, and ambiguity blocks the merge — never the reverse.

  7. Clean up your own lane. When a worktree you created lands on main, remove it (git worktree remove <path>) and delete its merged branch. Leave other writers' worktrees alone; git worktree list shows them. Worktree sprawl was a 560 GB problem here once.

Show full SKILL.md (178 more words)Show less

Red flags / don't

  • Don't push, merge, tag, create a release, or deploy without explicit authorization. A local commit is not permission for any of those.
  • Don't rewrite published history, retag a release, or force-push a shared ref.
  • Don't commit AGENTS.md / CLAUDE.md operator controls that live outside the product repository into a public repo.
  • Don't stage another writer's dirty files to get a clean commit.
  • Don't merge on a green rollup alone when a review thread has open findings.
  • Don't harvest or close from a PR title or label — review the code, tests, comments, and checks.
  • Don't add another legacy call site for convenience once a replacement architecture is adopted. Declared migrations are one-way.
  • Don't leave new enforcement live: keep it dry-run/advisory unless approved.

Output

  • The landing shape you chose and why (direct main / worktree / integration).
  • Commit SHAs, branch name, and whether the branch is local-only or pushed.
  • The credit trailers applied and to whom.
  • The gate artifact's literal verdict at merge time, if a gate applies.
  • Exactly which public actions you took, and which you deliberately did not.

© codewhale-hq, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in docs/skills/cw-land of codewhale-hq/Codewhale.

Open the folder on GitHubat commit 0ea319a

Compare with similar skills

Codewhale Landing Workflow next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Codewhale Landing Workflow compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Codewhale Landing Workflow this skillcodewhale-hq/Codewhale41k—~1.6kAutomated safety check: PassMIT
Contributor-First PR MergeHKUDS/OpenHarness16k1 repos~847Automated safety check: PassMIT
React Router Pull Request Creatorremix-run/react-router57k—~2.5kAutomated safety check: PassMIT
Pre-Release PR Triagejamiepine/voicebox57k—~3.1kAutomated safety check: PassMIT
Ansible Backport Creatoransible/ansible71k—~1.2kAutomated safety check: PassGPL-3.0
Draft Pull Request Creatorwordpress-mobile/WordPress-Android3.2k—~881Automated safety check: NotesGPL-2.0

Similar skills

  • Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.

    16k GitHub starsUsed in 1 repo~847 tokens
    DevelopmentAuto-check passed
  • React Router Pull Request Creator

    remix-run/react-router

    Packages finished React Router work into a draft pull request: branch, commit, push, a written PR body and the right GitHub labels.

    57k GitHub stars~2.5k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Pre-Release PR Triage

    jamiepine/voicebox

    Sorts a backlog of open pull requests into must-merge, candidate, superseded and deferred, writes a triage doc and works the merge loop before a release.

    57k GitHub stars~3.1k tokensUpdated 4 days ago
    DevelopmentAuto-check passed
  • Creates backports of a merged Ansible devel pull request onto the right stable branches by cherry-picking its merge commit onto new backport branches.

    71k GitHub stars~1.2k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Draft Pull Request Creator

    wordpress-mobile/WordPress-Android

    Commits and pushes current changes, writes a pull request title and body from the branch history and template, and opens a draft PR on GitHub after you approve it.

    3.2k GitHub stars~881 tokensUpdated yesterday
    DevelopmentAuto-check: notes
  • Clean Complete Branches

    jtenniswood/espcontrol

    Clean up completed Git branches and worktrees for this repository both locally and on GitHub.

    1.1k GitHub stars~820 tokensUpdated today
    DevelopmentAuto-check passed

More from codewhale-hq/Codewhale

All 63 skills in this repo
  • Codewhale Dogfood Install

    codewhale-hq/Codewhale

    Proves a Codewhale change in the real product: a stamped release build, an atomic local install, fresh-shell verification and manual QA that automated gates cannot cover.

    41k GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Codewhale Session Handoff

    codewhale-hq/Codewhale

    Writes a paste-ready handoff for the next agent session, opening with a state-check command block and separating done, suspected and blocked work.

    41k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Sub-Agent Delegation

    codewhale-hq/Codewhale

    Guides when and how to split multi-step coding, research or verification work into focused sub-agent runs while the parent keeps integration and final checks.

    41k GitHub stars~790 tokensUpdated today
    Auto-check passed
  • Codewhale Fleet Manager

    codewhale-hq/Codewhale

    Triages and manages Codewhale fleet runs and workers with typed commands, classifying failures and choosing a safe restart, resume or escalation.

    41k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • GitHub Issue Bulk Assigner

    codewhale-hq/Codewhale

    Moves a list of GitHub issues into a milestone or assigns them to owners with the gh CLI, checking each one before and after the change.

    41k GitHub stars~953 tokensUpdated today
    Auto-check passed
  • Codewhale Issue Filing

    codewhale-hq/Codewhale

    Turns a bug or idea into a single actionable Codewhale GitHub issue with evidence, a gap-naming title, acceptance criteria and related links.

    41k GitHub stars~1.3k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Codewhale Landing Workflow

What does Codewhale Landing Workflow do?

Decides how verified work should reach main, directly, in a worktree or on an integration branch, while keeping contributor credit and respecting merge gates. This is the fifth stage of the Codewhale loop, after orienting, slicing, gates and dogfooding, and before handoff. The agent chooses a landing shape: a direct commit to main only for a small change when the checkout is current, clean and owns the affected files; a worktree for conflicting, dirty or independent work; or an integration branch for conflicts and several moving pull requests, which leaves the contributor's branch untouched.

When should I use Codewhale Landing Workflow?

Codewhale Landing Workflow fits situations like: turning verified work into a commit, branch or pull request; landing someone else's pull request while keeping their authorship; resolving conflicts caused by main moving while a pull request is open; deciding whether to commit directly or use a worktree.

How do I install Codewhale Landing Workflow in Claude Code?

Run `npx skills add codewhale-hq/Codewhale --skill cw-land -a claude-code`. Or copy the skill folder (docs/skills/cw-land in codewhale-hq/Codewhale) into .claude/skills/cw-land in your project. Claude Code loads it when a task matches its description.

How do I install Codewhale Landing Workflow in Codex?

Run `npx skills add codewhale-hq/Codewhale --skill cw-land -a codex`. Or copy the skill folder (docs/skills/cw-land in codewhale-hq/Codewhale) into .agents/skills/cw-land in your project. Codex loads it when a task matches its description.

Can I use Codewhale Landing Workflow in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add codewhale-hq/Codewhale --skill cw-land -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cw-land, .gemini/skills/cw-land, .github/skills/cw-land and .opencode/skills/cw-land in your project.

What does Codewhale Landing Workflow need to run?

Going by SKILL.md and its folder, Codewhale Landing Workflow needs the command-line tools its instructions call (git).

Does Codewhale Landing Workflow access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Codewhale Landing Workflow safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Codewhale Landing Workflow use?

Codewhale Landing Workflow is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Codewhale Landing Workflow use?

About 1.6k tokens (SKILL.md is roughly 6.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Codewhale Landing Workflow?

Skills that share tags, products or a category with Codewhale Landing Workflow: Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars), React Router Pull Request Creator (remix-run/react-router, 57k stars), Pre-Release PR Triage (jamiepine/voicebox, 57k stars) and Ansible Backport Creator (ansible/ansible, 71k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Codewhale Landing Workflow?

codewhale-hq (a GitHub organization) maintains it in codewhale-hq/Codewhale, which has 41,082 GitHub stars. The repository holds 63 skills in this directory. The repository was last updated on October 11, 2026.

Source: codewhale-hq/Codewhale on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.