cw-orient

GitHub

在 Codewhale 会话开始时建立仓库真实状态,验证工作树、分支及版本信息,防止因多工作树导致编辑错误。

docs/skills/cw-orient/SKILL.md codewhale-hq/Codewhale

Trigger Scenarios

开始新会话或恢复会话 接手他人工作或不确定当前检出状态 准备编辑文件前需确认归属

Install

npx skills add codewhale-hq/Codewhale --skill cw-orient -g -y
More Options

Non-standard path

npx skills add https://github.com/codewhale-hq/Codewhale/tree/main/docs/skills/cw-orient -g -y

Use without installing

npx skills use codewhale-hq/Codewhale@cw-orient

指定 Agent (Claude Code)

npx skills add codewhale-hq/Codewhale --skill cw-orient -a claude-code -g -y

安装 repo 全部 skill

npx skills add codewhale-hq/Codewhale --all -g -y

预览 repo 内 skill

npx skills add codewhale-hq/Codewhale --list

SKILL.md

Frontmatter
{
    "name": "cw-orient",
    "description": "Use at the start of any Codewhale work session, or when unsure which checkout, branch, or worktree is authoritative: establish live repo truth before reading a plan or editing a file."
}

cw-orient

Open every session on live truth, not on a handoff note, a directory name, or what was true last time. This repo runs many worktrees at once; the cheapest bug to avoid is editing the wrong one. Five commands, then you know where you are.

This is stage 1 of the loop: orient → cw-slice → cw-gates → cw-dogfood → cw-land → cw-handoff.

When to use

  • Starting a session, resuming one, or taking over from another agent.
  • A handoff, issue, or plan tells you the state of the repo — verify before trusting it.
  • You are about to edit and are not certain this checkout owns the files.

Workflow

  1. Locate yourself. Checkout, branch, dirt, and how far you are from the remote:

    git rev-parse --show-toplevel && git branch --show-current
    git status --short --branch
    git log --oneline --decorate -10
    

    A detached HEAD or a branch with no upstream is normal here — note it, don't "fix" it silently.

  2. See the other lanes. Worktree sprawl is the standing hazard: several checkouts of this repo are usually live, each with its own dirty state.

    git worktree list
    git branch --sort=-committerdate --format='%(committerdate:short) %(refname:short)' | head -20
    

    If the work you were asked to do already has a checkout or worktree, use it. Do not start a second copy of the same lane, and do not create a worktree just because another agent is in this one — partition by file.

  3. Read the dirt before you touch it. Modified files you did not write belong to someone else — another agent, another lane, an in-flight slice:

    git status --porcelain
    git diff --stat
    

    Preserve them. Leave them unstaged, and do not git checkout -- or stash another writer's work to get a clean tree. Only if your change genuinely conflicts with that dirt is a fresh worktree warranted (cw-land).

  4. Fix which guidance applies. The nearest scoped AGENTS.md wins over the root one, and it is where the per-area rules actually live:

    find . -name AGENTS.md -not -path './tmp/*' -not -path '*/node_modules/*' -not -path './target/*'
    

    Today: root AGENTS.md, crates/tui/AGENTS.md, crates/localization/locales/AGENTS.md, web/AGENTS.md. Read the one that owns the files you are about to touch.

  5. Establish version truth from source, not memory.

    grep -m1 '^version' Cargo.toml
    ./scripts/release/check-versions.sh
    

    check-versions.sh is the drift gate across the workspace version, npm, Cargo.lock, the changelog, and the README. If it disagrees with what you were told, believe the script.

  6. Only if the task is about the community queue — issues, PRs, harvesting, credit — pull the live queue with the gh-* skills in this directory rather than assuming from memory. When the task is local-only, stay offline and record the missing external receipt instead.

Red flags / don't

  • Don't infer the active lane from a directory name, a stale handoff, or a .md file's confident prose. All three have been wrong here.
  • Don't treat a plan document as current state. Plans describe intent; git describes reality.
  • Don't clean, stash, reset, or git checkout -- files you did not modify. Worktree dirt is usually another writer, not garbage.
  • Don't start work in a worktree whose branch is already merged to main — that lane is retirement material, not a base.
  • Don't skip step 4 because the root AGENTS.md "probably covers it". The scoped files carry the rules that actually get violated.
  • Don't fetch, browse, or hit GitHub when the task was scoped local-only.

Output

Open with a short status block. Skip fields that are empty or normal — a clean tree on main with no related worktrees is one line, not five:

  • checkout path, branch (or detached HEAD), base commit;
  • dirty files and whose they appear to be;
  • other worktrees that own related work;
  • workspace version and whether check-versions.sh agrees;
  • which AGENTS.md files govern this change.

Version History

  • 6f95551 Current 2026-10-19 04:41

    更新规则:明确禁止仅因其他代理共享检出版本就创建新的 worktree;修正对 scripts/worktree-gc.sh 的过时引用。

  • 6e005de 2026-09-22 10:01

    移除文档中由运行时强制执行的常规行为约束(如调用限制、角色禁止等),仅保留安全边界和自动化解析所需的格式规范;精简输出模板。

  • aedb88b 2026-09-09 04:22

Same Skill Collection

crates/tui/assets/skills/batch/SKILL.md
crates/tui/assets/skills/best-of-n/SKILL.md
crates/tui/assets/skills/contributor-onboarding/SKILL.md
crates/tui/assets/skills/dataviz/SKILL.md
crates/tui/assets/skills/debug/SKILL.md
crates/tui/assets/skills/delegate/SKILL.md
crates/tui/assets/skills/dependency-update/SKILL.md
crates/tui/assets/skills/docx/SKILL.md
crates/tui/assets/skills/feishu/SKILL.md
crates/tui/assets/skills/fleet-manager/SKILL.md
crates/tui/assets/skills/forget/SKILL.md
crates/tui/assets/skills/frontend-design/SKILL.md
crates/tui/assets/skills/gmail/SKILL.md
crates/tui/assets/skills/google-calendar/SKILL.md
crates/tui/assets/skills/handoff/SKILL.md
crates/tui/assets/skills/help/SKILL.md
crates/tui/assets/skills/implement/SKILL.md
crates/tui/assets/skills/interview/SKILL.md
crates/tui/assets/skills/mcp-builder/SKILL.md
crates/tui/assets/skills/mcp-discovery/SKILL.md
crates/tui/assets/skills/pdf/SKILL.md
crates/tui/assets/skills/photos/SKILL.md
crates/tui/assets/skills/plan/SKILL.md
crates/tui/assets/skills/plugin-creator/SKILL.md
crates/tui/assets/skills/pptx/SKILL.md
crates/tui/assets/skills/research/SKILL.md
crates/tui/assets/skills/review/SKILL.md
crates/tui/assets/skills/security-review/SKILL.md
crates/tui/assets/skills/simplify/SKILL.md
crates/tui/assets/skills/skill-creator/SKILL.md
crates/tui/assets/skills/skill-installer/SKILL.md
crates/tui/assets/skills/test/SKILL.md
crates/tui/assets/skills/v4-best-practices/SKILL.md
crates/tui/assets/skills/verify/SKILL.md
crates/tui/assets/skills/webapp-testing/SKILL.md
crates/tui/assets/skills/xlsx/SKILL.md
docs/skills/codew-release-qa-sweep/SKILL.md
docs/skills/contributor-onboarding/SKILL.md
docs/skills/cw-dogfood/SKILL.md
docs/skills/cw-gates/SKILL.md
docs/skills/cw-handoff/SKILL.md
docs/skills/cw-land/SKILL.md
docs/skills/cw-slice/SKILL.md
docs/skills/gh-assign-issues/SKILL.md
docs/skills/gh-close-issues/SKILL.md
docs/skills/gh-compile-issues/SKILL.md
docs/skills/gh-credit-harvest/SKILL.md
docs/skills/gh-file-issue/SKILL.md
docs/skills/gh-find-prs/SKILL.md

Metadata

Files
0
Version
6f95551
Hash
e3e3e006
Indexed
2026-09-09 04:22

홈 - 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-10-22 16:06
浙ICP备14020137号-1