Squad Git Branching Workflow
microsoft/waza
Dev-first branching model for the Squad project: feature work branches from dev, issue branches follow a naming rule and parallel issues use git worktrees.
This skill must be used only when the user explicitly invokes /cabloy-worktree-environment or explicitly asks to perform the named Cabloy worktree-environment setup.
$ npx skills add cabloy/cabloy --skill cabloy-worktree-environment -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install cabloy/cabloy cabloy-worktree-environment --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/cabloy/cabloy.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/cabloy-worktree-environment .claude/skills/cabloy-worktree-environment && rm -rf skills-srcUse ~/.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/
Install the "cabloy-worktree-environment" agent skill from https://github.com/cabloy/cabloy/tree/main/.agents/skills/cabloy-worktree-environment into .claude/skills/cabloy-worktree-environment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cabloy-worktree-environment", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/cabloy/cabloy/tree/main/.agents/skills/cabloy-worktree-environmentType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add cabloy/cabloy --skill cabloy-worktree-environment -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install cabloy/cabloy cabloy-worktree-environment --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cabloy/cabloy.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/cabloy-worktree-environment .agents/skills/cabloy-worktree-environment && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cabloy-worktree-environment" agent skill from https://github.com/cabloy/cabloy/tree/main/.agents/skills/cabloy-worktree-environment into .agents/skills/cabloy-worktree-environment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cabloy-worktree-environment", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add cabloy/cabloy --skill cabloy-worktree-environment -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install cabloy/cabloy cabloy-worktree-environment --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cabloy/cabloy.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/cabloy-worktree-environment .cursor/skills/cabloy-worktree-environment && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cabloy-worktree-environment" agent skill from https://github.com/cabloy/cabloy/tree/main/.agents/skills/cabloy-worktree-environment into .cursor/skills/cabloy-worktree-environment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cabloy-worktree-environment", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/cabloy/cabloy.git --path .agents/skills/cabloy-worktree-environment--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add cabloy/cabloy --skill cabloy-worktree-environment -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install cabloy/cabloy cabloy-worktree-environment --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cabloy/cabloy.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/cabloy-worktree-environment .gemini/skills/cabloy-worktree-environment && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cabloy-worktree-environment" agent skill from https://github.com/cabloy/cabloy/tree/main/.agents/skills/cabloy-worktree-environment into .gemini/skills/cabloy-worktree-environment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cabloy-worktree-environment", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install cabloy/cabloy cabloy-worktree-environmentInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add cabloy/cabloy --skill cabloy-worktree-environment -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/cabloy/cabloy.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/cabloy-worktree-environment .github/skills/cabloy-worktree-environment && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cabloy-worktree-environment" agent skill from https://github.com/cabloy/cabloy/tree/main/.agents/skills/cabloy-worktree-environment into .github/skills/cabloy-worktree-environment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cabloy-worktree-environment", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add cabloy/cabloy --skill cabloy-worktree-environment -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install cabloy/cabloy cabloy-worktree-environment --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cabloy/cabloy.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/cabloy-worktree-environment .opencode/skills/cabloy-worktree-environment && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cabloy-worktree-environment" agent skill from https://github.com/cabloy/cabloy/tree/main/.agents/skills/cabloy-worktree-environment into .opencode/skills/cabloy-worktree-environment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cabloy-worktree-environment", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cabloy-worktree-environmentThis skill must be used only when the user explicitly invokes /cabloy-worktree-environment or explicitly asks to perform the named Cabloy worktree-environment setup.
Cabloy Worktree Environment is an agent skill from cabloy/cabloy. This skill must be used only when the user explicitly invokes /cabloy-worktree-environment or explicitly asks to perform the named Cabloy worktree-environment setup. It prepares a confirmation-gated, worktree-local Vona and Zova runtime environment for a linked Cabloy Basic or Cabloy Start Git worktree using Git metadata and fixed port baselines only. Do not use it merely because a request mentions worktrees, parallel work, ports, development, tests, or E2E; route those requests to cabloy-workflow for read-only…
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `evals/evals.json`).
It sits in Development, covering Git worktrees. It works with Git and npm. The repository describes itself as: Cabloy is a Node.js fullstack framework for AI vibe coding, with AI Spec-Driven Development guiding work from confirmed specs to verifiable delivery. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit afa6a6d. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
gitnpmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and npm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Cabloy Worktree Environment loads about 2.9k tokens when it runs. Until then it costs about 141 tokens; SKILL.md has 1,369 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
, source, expand, display, log, or send `.env*` file contents to the model4. write only a new or empty `vona/env/.env.local` and `zova/env/.env.local` in the current worktree after explicit confcommitted defaults, including `vona/env/.env` and `zova/env/.env`.nts below only. It must not inspect any `.env`, `.env.local`, `.env.*.local`, sibling worktree configuration, process en# vona/env/.env.local# zova/env/.env.local- `vona/env/.env.local`- `zova/env/.env.local`previewed Vona assignments to `vona/env/.env.local`previewed Zova assignments to `zova/env/.env.local`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.
The full file from cabloy/cabloy at commit afa6a6d, republished under its MIT licence (© cabloy). 1,369 words, ~2,855 tokens.
.claude/skills/cabloy-worktree-environment/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Use this skill only for explicit, user-controlled setup of the standard local runtime environment in an already-created linked Git worktree.
.env* file contents to the modelvona/env/.env.local and zova/env/.env.local in the current worktree after explicit confirmationnpm run init a separate, opt-in decisionBefore proposing configuration values or writing files:
git worktree list --porcelain -z and parse its NUL-delimited records without shell word splittinggit-dir and git-common-dir; equal paths identify the primary checkout, which this skill must rejectvona/env/, zova/env/, and the required root scripts existInterpretation:
| Marker | Edition | Managed clean E2E command |
|---|---|---|
__CABLOY_BASIC__ only | Cabloy Basic | npm run test:e2e |
__CABLOY_START__ only | Cabloy Start | npm run test:e2e |
Stop without edits when both markers are present, neither marker is present, the checkout is primary/unregistered, required environment directories are missing, or the selected edition's required scripts are unavailable.
Read Parallel Worktree Environment as the canonical shared recipe. Edition detection chooses command names and labels; it does not change the two-file environment model. Never change committed defaults, including vona/env/.env and zova/env/.env.
After validation, immediately generate the standard core tuple. Do not ask which processes the user intends to run and do not ask them to select Admin or Web.
For user-facing summaries, write exactly:
Environment isolation: Vona development + Zova development
Admin and Web use this same Zova environment. The user may later run either frontend command, but must not run both concurrently in one worktree. Use another linked worktree for concurrent development of the other flavor. Do not create a flavor-specific local override.
Recommendation generation uses Git worktree metadata and the fixed constants below only. It must not inspect any .env, .env.local, .env.*.local, sibling worktree configuration, process environment, listener table, lsof output, process command line, or external service. Do not use Read, cat, grep, source, dotenv, printenv, env, or diagnostics that expose env-file content for this workflow.
This means the proposal is deterministic convenience, not a live port reservation. If an application later reports a port collision, the user may say “Try another batch” before setup or create another linked worktree; the actual application bind remains authoritative.
Treat the primary checkout as ordinal 0. From the validated git worktree list --porcelain -z order, assign each linked worktree the next ordinal: the first linked worktree is 1, the second is 2, and so on. Let batch be 0 for the first proposal, and increase it only when the user says “Try another batch”.
Use one shared offset for every generated listener:
offset = linkedWorktreeOrdinal + batchUse these fixed baseline ports, which match the committed Cabloy defaults:
| Setting | Baseline | Recommended value |
|---|---|---|
SERVER_LISTEN_PORT | 7102 | 7102 + offset |
DEV_SERVER_PORT | 9000 | 9000 + offset |
DEV_SERVER_HMR_PORT | 24679 | 24679 + offset |
Set APP_NAME to the basename of the validated current worktree root. Do not inspect other worktrees’ configurations or append an env-derived suffix. Stop if that basename is empty or cannot be used as an application name without altering it; ask the user to rename/recreate the linked worktree instead.
Always recommend both local files:
# vona/env/.env.local
APP_NAME = <worktree-basename>
SERVER_LISTEN_PORT = <7102 + offset># zova/env/.env.local
APP_NAME = <worktree-basename>
API_BASE_URL = http://localhost:<recommended SERVER_LISTEN_PORT>
DEV_SERVER_PORT = <9000 + offset>
DEV_SERVER_HMR_PORT = <24679 + offset>All generated listener ports must be integers from 1 through 65535 and distinct within the tuple. If a batch would exceed that range, stop and require a different linked-worktree arrangement.
When the user says “Try another batch”, set batch = batch + 1, recompute the entire tuple, and show it again. Every recommended listener advances by exactly +1, and API_BASE_URL is regenerated from the new Vona port. Do not write during a batch change. This deterministic setup does not accept user-substituted values.
A unique APP_NAME separates ordinary framework-managed test database names and framework Redis prefixes. It does not isolate explicitly named databases, unprefixed custom Redis keys, mail, payment, webhooks, object storage, or other external services. Require a separate explicit design before claiming that any of those resources are isolated.
Before making any edit:
Environment isolation: Vona development + Zova development, the worktree ordinal, batch, and exact non-secret identity/port tuplegit check-ignore -v -- "$target" command for each target and require each command to succeed with a matching ignore ruleDo not treat silence as confirmation.
The only files this skill may create or change are:
vona/env/.env.localzova/env/.env.localTo preserve the no-env-content-disclosure boundary, inspect only each target's existence and whether it is empty; do not read its contents. If either target already exists and is non-empty, stop without reading or modifying either file. Explain that this skill deliberately will not access a pre-existing local environment file because it may contain secrets; the user must manage it outside this workflow or use a fresh linked worktree.
Only after final confirmation:
git check-ignore -v -- "$target" command for each target and abort unless each succeeds with a matching ignore rulevona/env/.env.localzova/env/.env.local.env.*.local filesNever:
.env defaultsIf a write cannot complete, restore each already changed target to its exact prior state: remove a newly created target or restore an originally empty target to an empty file. Report only the path and operation stage; never include environment-file content in the failure output.
After writing, verify only the known assignments that this skill generated and wrote, without re-reading any pre-existing local content. Confirm:
APP_NAME values matchAPI_BASE_URL targets the generated Vona portSERVER_LISTEN_PORT, DEV_SERVER_PORT, and DEV_SERVER_HMR_PORT are distinctReport only the files changed, the generated non-secret tuple, and external resources that remain shared.
Then ask exactly:
The local environment overrides are configured. Do you want to run
npm run initnow?
Do not run it without an affirmative answer. Explain that npm run init is not an environment allocator: it installs dependencies and runs generation/build-related work. In this linked worktree, it preserves the tracked base APP_NAME defaults in vona/env/.env and zova/env/.env; the generated broad .env.local files remain the worktree-specific identity source. Primary-checkout and non-Git project initialization may still establish base APP_NAME from the project directory.
Use focused checks appropriate to the detected edition:
git worktree list --porcelain -z
git rev-parse --path-format=absolute --show-toplevel
git rev-parse --path-format=absolute --git-dir
git rev-parse --path-format=absolute --git-common-dir
for target in vona/env/.env.local zova/env/.env.local; do
git check-ignore -v -- "$target" || exit 1
doneRun one frontend command, not both:
npm run dev
npm run dev:zova:admin
# or
npm run dev:zova:web
npm run testRun the edition-appropriate managed clean E2E command:
# Cabloy Basic or Cabloy Start
npm run test:e2eFinish with a metadata-only status check. Do not use git diff, because it can print environment-file content:
git status --shortWhen this skill completes a stage, report:
Environment isolation: Vona development + Zova developmentnpm run init question only after successful local setup© cabloy, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in .agents/skills/cabloy-worktree-environment of cabloy/cabloy.
Open the folder on GitHubat commit afa6a6d
Cabloy Worktree Environment 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Cabloy Worktree Environment this skillcabloy/cabloy | 982 | — | ~2.9k | Automated safety check: Notes | MIT | |
| Squad Git Branching Workflowmicrosoft/waza | 1.4k | 4 repos | ~1.5k | Automated safety check: Pass | MIT | |
| Move To Worktreefoyzulkarim/claude-lens | 250 | — | ~663 | Automated safety check: Notes | MIT | |
| Git PR Workflowandymai/brepjs | 114 | — | ~2.9k | Automated safety check: Pass | Apache-2.0 | |
| Qv PR Testtetherto/qvac | 681 | — | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Devcontainer Devstacklok/toolhive-studio | 170 | — | ~3.8k | Automated safety check: Notes | Apache-2.0 |
microsoft/waza
Dev-first branching model for the Squad project: feature work branches from dev, issue branches follow a naming rule and parallel issues use git worktrees.
foyzulkarim/claude-lens
After /start-task: park the current clean, pushed feature branch in its own issue-numbered nested worktree (.worktrees/<issue) and return the primary checkout to current main, so the next parallel…
andymai/brepjs
This skill should be used when committing, pushing, branching, or merging in the brepjs repository — when a task involves "pre-commit hook failed" (which tier ran, how to bypass), "commit rejected…
tetherto/qvac
Plan and run local PR validation for tetherto/qvac PRs. An agent skill from tetherto/qvac.
stacklok/toolhive-studio
Spin up and interact with ToolHive Studio's containerized dev environment (Xvfb + noVNC + DinD).
aaddrick/claude-pipeline
A skill your agent uses when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees in .worktrees/
cabloy/cabloy
A skill your agent uses to create or maintain Cabloy suite specifications under repo-specs, including PRD, SRS, PDP/WBS, acceptance planning, progress, and suite ADRs.
cabloy/cabloy
A skill your agent uses whenever the user wants to plan a new business domain in this Cabloy repo, such as CRM, OA, training, ERP, or a similar long-lived domain.
cabloy/cabloy
This skill should be used when the user needs the Vona backend scaffold/extend path in this Cabloy repo, especially to choose the right npm run vona generator or CRUD command and the required…
cabloy/cabloy
A skill your agent uses whenever a Cabloy task crosses the Vona-to-Zova contract boundary: backend DTO, controller, validation, entity, inferred DTO, or OpenAPI changes that should drive SDK…
cabloy/cabloy
A skill your agent uses whenever the user wants the Zova frontend path in this Cabloy repo: create or extend pages, components, api or model beans, route/query/params work, metadata refresh…
cabloy/cabloy
A skill your agent uses whenever the user wants to update a field on an existing Cabloy backend resource: add a new persisted field, refine validation, add enum-like constraints, attach or change…
Categories
This skill must be used only when the user explicitly invokes /cabloy-worktree-environment or explicitly asks to perform the named Cabloy worktree-environment setup. Cabloy Worktree Environment is an agent skill from cabloy/cabloy. This skill must be used only when the user explicitly invokes /cabloy-worktree-environment or explicitly asks to perform the named Cabloy worktree-environment setup.
Cabloy Worktree Environment fits situations like: explicitly invokes /cabloy-worktree-environment; explicitly asks to perform the named Cabloy worktree-environment setup.
Run `npx skills add cabloy/cabloy --skill cabloy-worktree-environment -a claude-code`. Or copy the skill folder (.agents/skills/cabloy-worktree-environment in cabloy/cabloy) into .claude/skills/cabloy-worktree-environment in your project. Claude Code loads it when a task matches its description.
Run `npx skills add cabloy/cabloy --skill cabloy-worktree-environment -a codex`. Or copy the skill folder (.agents/skills/cabloy-worktree-environment in cabloy/cabloy) into .agents/skills/cabloy-worktree-environment in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add cabloy/cabloy --skill cabloy-worktree-environment -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cabloy-worktree-environment, .gemini/skills/cabloy-worktree-environment, .github/skills/cabloy-worktree-environment and .opencode/skills/cabloy-worktree-environment in your project.
Going by SKILL.md and its folder, Cabloy Worktree Environment needs the command-line tools its instructions call (git and npm).
SKILL.md contains no URLs. Its commands use git and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Cabloy Worktree Environment is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Cabloy Worktree Environment: Squad Git Branching Workflow (microsoft/waza, 1.4k stars), Move To Worktree (foyzulkarim/claude-lens, 250 stars), Git PR Workflow (andymai/brepjs, 114 stars) and Qv PR Test (tetherto/qvac, 681 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
cabloy (a GitHub organization) maintains it in cabloy/cabloy, which has 982 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 8, 2026.
Source: cabloy/cabloy on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.