agentleFS
OutThisLifeOutThisLife/brooklyn-skills/skills/work/SKILL.md

work

Skill207 starsChanged 4 months agoMITView on GitHub

Kick off a task in a fresh isolated git worktree instead of the current checkout. Use when the user invokes /work (optionally with a slug or description) to start something new without touching their working tree.

42 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use authoring, done and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • automagik-devSkill

    authoring

    Write or revise a Genie skill so it survives the shipped contract — frontmatter, house size, starter card, and runtime-neutral voice.

    Also in 3 projects that use this

  • robzolkosSkill

    done

    Reset the working directory for the next task by ensuring no uncommitted changes exist, then switching to the main branch and pulling latest.

    Also in 3 projects that use this

  • Google CloudSkill

    fix

    Plan a remediation strategy after a test failure.

    Also in 4 projects that use this

  • AlexPEClubSkill

    refine

    Always use when the user wants to discuss an exsiting feature or specification. Open an existing feature spec to improve, extend, or fundamentally challenge it. Pass the feature ID as argument (e.g. /refine PROJ-2).

    Also in 3 projects that use this

  • MicrosoftSkill

    merge

    Merge changes from the topic branch to the merge base branch. Use when the user wants to merge their session's work back to the base branch.

    Also in 3 projects that use this

  • Microsoft AzureSkill

    test

    Also in 6 projects that use this

The file

Show its rules and text

We split this skill into the rules it gives an agent

18 rules. 0 are common, 12 are distinctive, and 6 are very specific to this project.

  • 0

    Common

    Most of the 37 edited versions we read keep these.

  • 12

    Distinctive

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Look at what the repo already does, and copy it.

    line 17
  2. Very specific:

    Create the worktree + branch and cd into it.

    line 18
  3. Distinctive:

    Do the requested work there.

    line 19
  4. Distinctive:

    Do these in order before writing any fix:

    line 23
  5. Very specific:

    Load the repo's own gate skill first: If the repo has a deployment or brain skill (a <prefix>-repo skill, a triage/claim system), load it …

    line 25
  6. Very specific:

    Find the issue: Search open and closed issues with several phrasings (gh issue list --state all --search "<q>"), plus in:title variants.

    line 32
  7. Very specific:

    Look for a PR that already fixes it: Search with gh pr list --state all --search "<issue#>" and with keywords.

    line 36
  8. Distinctive:

    If a complete fix exists, salvage it (cherry-pick the commit so authorship is kept) instead of writing a parallel one.

    line 39
  9. Distinctive:

    Reproduce the user-visible path end to end: Run it on a detached base worktree and on the branch, and keep both outputs as before/after …

    line 51
  10. Distinctive:

    Re-run any failures on the base worktree: before calling them unrelated.

    line 54
  11. Distinctive:

    Never git stash in a worktree while other agents run: the stash list is shared repo-wide, so a pop can grab another worker's WIP.

    line 89
  12. Distinctive:

    Do the task in the worktree.

    line 93
  13. Very specific:

    Never git stash in a worktree: refs/stash is shared by every worktree of the repo, so a parallel agent can pop your entry (or you pop …

    line 95
  14. Very specific:

    Every worker and subagent gets its own worktree, and the worktree path is in its instructions.

    line 99
  15. Distinctive:

    Never edit, install, build, typecheck, or test in the primary checkout.

    line 104
  16. Distinctive:

    Prefer direct execution for focused fixes.

    line 105
  17. Distinctive:

    Default to pnpm for JavaScript package commands and install examples when the repository supports it.

    line 108
  18. Distinctive:

    When handing off, tell the user the worktree path and how to run it.

    line 110

“Common” is measured: kept by at least 6 in 10 of the 37 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

/work

/work [slug] is a declaration for this task: "spin up a dedicated worktree and do the work there." It applies to what the user is starting right now — it is not a standing rule that all work always happens in worktrees.

When invoked:

  1. Look at what the repo already does, and copy it.
  2. Create the worktree + branch and cd into it.
  3. Do the requested work there.

Work aimed at an issue ("if it's open and reproducible")

Do these in order before writing any fix:

  1. Load the repo's own gate skill first. If the repo has a deployment or brain skill (a <prefix>-repo skill, a triage/claim system), load it before searching. Its per-issue gates (claim, overlap check, side-effect screen, risk title, auto-merge classifier) apply to a single /work fix as much as to a sweep. Skipping them because the request said "/work" rather than "triage" is the failure: the PR ships without the risk and side-effect sections she expects, and can duplicate her own open PR.
  2. Find the issue. Search open and closed issues with several phrasings (gh issue list --state all --search "<q>"), plus in:title variants. A closed issue with a close-by-PR may already cover it. Check that before you call a newer report a duplicate.
  3. Look for a PR that already fixes it. Search with gh pr list --state all --search "<issue#>" and with keywords. Drafts count: a contributor can park a finished fix as a draft because of an open-PR cap. If a complete fix exists, salvage it (cherry-pick the commit so authorship is kept) instead of writing a parallel one. Check her own open PRs too (gh pr list --author @me --state open --json number,title,files,mergeable,autoMergeRequest), not only contributors': an armed-but-CONFLICTING PR of hers on the same function is live work. Fold both into ONE combined PR that supersedes them (cherry-pick what applies, port the rest by hand onto main's current file layout, keep every Co-authored-by), then disarm (gh pr merge N --disable-auto) and close the sources with a comment linking the replacement.
  4. Prove it red on the base. Apply only the tests first (gh pr diff <N> > f.diff && git apply --include='tests/*' f.diff), run them, and see them fail. Then remove the file and git cherry-pick the real commit, so the test file isn't left as an untracked conflict.
  5. Reproduce the user-visible path end to end. Run it on a detached base worktree and on the branch, and keep both outputs as before/after evidence for the PR body.
  6. Re-run any failures on the base worktree before calling them unrelated. "Fails identically on untouched base" is the claim to report.

Answer the "is it open / can it be repro'd" part first in the handoff, then the fix and the PR link.

Read the repo's conventions

git worktree list                                   # sibling dirs + branches
git branch -a --sort=-committerdate | head -20      # branch prefix/slug pattern
git remote show origin | sed -n 's/.*HEAD branch: //p'   # default branch
  • Branch prefix — mirror the dominant one (e.g. <initials>/<slug>). None obvious → ask.
  • Worktree dir — mirror sibling naming/location (commonly <repo>-<short> next to the primary checkout). Short suffix ≠ full branch is fine.
  • Base — current default branch unless they name another.
  • Slug — from the /work argument, else the task description.

Create it

repo="$(git rev-parse --show-toplevel)"
parent="$(dirname "$repo")"
default="$(git -C "$repo" remote show origin | sed -n 's/.*HEAD branch: //p')"
git -C "$repo" fetch origin "$default"
git -C "$repo" worktree add -b <prefix>/<slug> "$parent/$(basename "$repo")-<short>" "origin/$default"
cd "$parent/$(basename "$repo")-<short>"

Reuse a matching worktree/branch if one already exists — don't duplicate. Match how siblings handle node_modules / .venv / symlinks.

  • Never git stash in a worktree while other agents run: the stash list is shared repo-wide, so a pop can grab another worker's WIP. Commit WIP instead.

Then

  • Do the task in the worktree; never in the primary checkout, and never in another agent's worktree.
  • Never git stash in a worktree: refs/stash is shared by every worktree of the repo, so a parallel agent can pop your entry (or you pop theirs). To test against base, copy the file aside (git show HEAD:<path> > …) or use a throwaway worktree instead.
  • Every worker and subagent gets its own worktree, and the worktree path is in its instructions. Fixes use a bb/* branch. Verification, typecheck, and tests use a detached worktree at origin/<default>. When its lockfile matches the primary's, symlink every node_modules (root and workspace packages) to the primary's; install only on a lock change, after removing those links. Never edit, install, build, typecheck, or test in the primary checkout.
  • Prefer direct execution for focused fixes. Do not delegate routine sibling-path audits or cleanup; reserve subagents for substantial independent work that clearly saves time.
  • Default to pnpm for JavaScript package commands and install examples when the repository supports it. Respect an existing different package-manager/lockfile contract rather than introducing a second lockfile.
  • UI → ui-only + ui-system. Tests → whatever the repo uses.
  • When handing off, tell the user the worktree path and how to run it.
  • Ship → commit, push the branch, open a PR/MR to the default branch.
  • Cleaning up → offer to remove worktrees whose branch is already merged.
  • Reviewing an existing PR instead of new work → pr-triage.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.