Agent skill

Cabloy Worktree Environment

by cabloy in 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.

MITAuto-check: notesDevelopment

Install Cabloy Worktree Environment

skills CLI
$ npx skills add cabloy/cabloy --skill cabloy-worktree-environment -a claude-code

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

GitHub CLI
$ gh skill install cabloy/cabloy cabloy-worktree-environment --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/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-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
cabloy-worktree-environment
GitHub stars
982
Token cost
~2.9k tokens
SKILL.md length
1,369 words
Files
2
Skills in repo
12
Repo updated
First seen
Licence
MIT

At a glance

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.

  • Works in 5 steps: Validate the current checkout and edition → Generate the standard environment… → Preview and confirm the write → …
  • Explicitly invokes /cabloy-worktree-environment
  • SKILL.md covers Goals, Step 1: Validate the current…, Step 2: Generate the standard… and Step 3: Preview and confirm…, plus 4 more sections
  • Calls git and npm

What it does

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.

When your agent uses it

  • Explicitly invokes /cabloy-worktree-environment
  • Explicitly asks to perform the named Cabloy worktree-environment setup

Example prompts

  • “/cabloy-worktree-environment”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Validate the current checkout and edition
  2. Generate the standard environment recommendation
  3. Preview and confirm the write
  4. Apply only safe broad local overrides
  5. Revalidate and offer initialization separately

What it can do on your machine

Read from SKILL.md and the folder at commit afa6a6d. 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
    • npm

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

  • Network

    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.

  • 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

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.

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

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:14
    , source, expand, display, log, or send `.env*` file contents to the model
  • NoteMentions a .env fileSKILL.md:15
    4. write only a new or empty `vona/env/.env.local` and `zova/env/.env.local` in the current worktree after explicit conf
  • NoteMentions a .env fileSKILL.md:39
    committed defaults, including `vona/env/.env` and `zova/env/.env`.
  • NoteMentions a .env fileSKILL.md:53
    nts below only. It must not inspect any `.env`, `.env.local`, `.env.*.local`, sibling worktree configuration, process en
  • NoteMentions a .env fileSKILL.md:80
    # vona/env/.env.local
  • NoteMentions a .env fileSKILL.md:86
    # zova/env/.env.local
  • NoteMentions a .env fileSKILL.md:115
    - `vona/env/.env.local`
  • NoteMentions a .env fileSKILL.md:116
    - `zova/env/.env.local`
  • NoteMentions a .env fileSKILL.md:125
    previewed Vona assignments to `vona/env/.env.local`
  • NoteMentions a .env fileSKILL.md:126
    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.

SKILL.md

The full file from cabloy/cabloy at commit afa6a6d, republished under its MIT licence (© cabloy). 1,369 words, ~2,855 tokens.

Download SKILL.mdSave it as .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.
name
cabloy-worktree-environment
description
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 guidance instead.

Cabloy Worktree Environment

Use this skill only for explicit, user-controlled setup of the standard local runtime environment in an already-created linked Git worktree.

Goals

  1. validate that the current checkout is a linked Cabloy Basic or Cabloy Start worktree before any write
  2. generate a deterministic, secret-safe core environment tuple from Git worktree metadata and fixed port baselines
  3. never read, parse, source, expand, display, log, or send .env* file contents to the model
  4. write only a new or empty vona/env/.env.local and zova/env/.env.local in the current worktree after explicit confirmation
  5. keep Admin and Web as alternative runtime commands that share one generated Zova configuration
  6. keep npm run init a separate, opt-in decision

Step 1: Validate the current checkout and edition

Before proposing configuration values or writing files:

  1. resolve the current absolute Git top-level directory
  2. run git worktree list --porcelain -z and parse its NUL-delimited records without shell word splitting
  3. verify that the current root is registered
  4. compare absolute git-dir and git-common-dir; equal paths identify the primary checkout, which this skill must reject
  5. detect exactly one edition marker at the resolved root
  6. verify that vona/env/, zova/env/, and the required root scripts exist

Interpretation:

MarkerEditionManaged clean E2E command
__CABLOY_BASIC__ onlyCabloy Basicnpm run test:e2e
__CABLOY_START__ onlyCabloy Startnpm 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.

Step 2: Generate the standard environment recommendation

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.

Secret-safe input boundary

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.

Deterministic proposal

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:

text
offset = linkedWorktreeOrdinal + batch

Use these fixed baseline ports, which match the committed Cabloy defaults:

SettingBaselineRecommended value
SERVER_LISTEN_PORT71027102 + offset
DEV_SERVER_PORT90009000 + offset
DEV_SERVER_HMR_PORT2467924679 + 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:

dotenv
# vona/env/.env.local
APP_NAME = <worktree-basename>
SERVER_LISTEN_PORT = <7102 + offset>
dotenv
# 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.

Step 3: Preview and confirm the write

Before making any edit:

  1. show Environment isolation: Vona development + Zova development, the worktree ordinal, batch, and exact non-secret identity/port tuple
  2. show a file-by-file preview containing only the managed assignments that will be written to both broad local files
  3. run one independent git check-ignore -v -- "$target" command for each target and require each command to succeed with a matching ignore rule
  4. recheck current root, linked-worktree identity, edition, ordinal, generated port range, tuple uniqueness, and both target states
  5. ask for a final affirmative confirmation that includes the proposed identity and port tuple

Do not treat silence as confirmation.

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

Step 4: Apply only safe broad local overrides

The only files this skill may create or change are:

  • vona/env/.env.local
  • zova/env/.env.local

To 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:

  1. immediately re-run one independent git check-ignore -v -- "$target" command for each target and abort unless each succeeds with a matching ignore rule
  2. confirm both targets are absent or empty without reading their content
  3. snapshot only each target's existence and empty-file state
  4. write the exact previewed Vona assignments to vona/env/.env.local
  5. write the exact previewed Zova assignments to zova/env/.env.local
  6. do not create, modify, remove, inspect, or recommend flavor-, mode-, app-mode-, or runtime-specific .env.*.local files

Never:

  • edit another worktree
  • read, parse, source, expand, display, or log existing environment-file content
  • edit committed .env defaults
  • add mock, preview, or other runtime-specific listener settings through this workflow
  • claim that a deterministic recommendation has allocated or reserved a port
  • generate values or write configuration merely to bypass a busy shared resource

If 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.

Step 5: Revalidate and offer initialization separately

After writing, verify only the known assignments that this skill generated and wrote, without re-reading any pre-existing local content. Confirm:

  • the generated Vona and Zova APP_NAME values match
  • API_BASE_URL targets the generated Vona port
  • SERVER_LISTEN_PORT, DEV_SERVER_PORT, and DEV_SERVER_HMR_PORT are distinct
  • both target paths and edition commands remain valid

Report 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 init now?

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.

Verification

Use focused checks appropriate to the detected edition:

bash
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
done

Run one frontend command, not both:

bash
npm run dev
npm run dev:zova:admin
# or
npm run dev:zova:web
npm run test

Run the edition-appropriate managed clean E2E command:

bash
# Cabloy Basic or Cabloy Start
npm run test:e2e

Finish with a metadata-only status check. Do not use git diff, because it can print environment-file content:

bash
git status --short

Response pattern

When this skill completes a stage, report:

  1. validated worktree root and detected edition
  2. Environment isolation: Vona development + Zova development
  3. worktree ordinal, batch, and generated non-secret identity/ports
  4. both exact broad local files proposed or changed
  5. the privacy boundary and external resources that still require separate isolation
  6. the separate npm 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

Files

SKILL.md and 1 other file in .agents/skills/cabloy-worktree-environment of cabloy/cabloy.

  • SKILL.md
  • evals/evals.json

Open the folder on GitHubat commit afa6a6d

Compare with similar skills

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.

Cabloy Worktree Environment compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cabloy Worktree Environment this skillcabloy/cabloy982—~2.9kAutomated safety check: NotesMIT
Squad Git Branching Workflowmicrosoft/waza1.4k4 repos~1.5kAutomated safety check: PassMIT
Move To Worktreefoyzulkarim/claude-lens250—~663Automated safety check: NotesMIT
Git PR Workflowandymai/brepjs114—~2.9kAutomated safety check: PassApache-2.0
Qv PR Testtetherto/qvac681—~4.2kAutomated safety check: PassApache-2.0
Devcontainer Devstacklok/toolhive-studio170—~3.8kAutomated safety check: NotesApache-2.0

Similar skills

  • Official

    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.

    1.4k GitHub starsUsed in 4 repos~1.5k tokens
    DevelopmentAuto-check passed
  • Move To Worktree

    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…

    250 GitHub stars~663 tokensUpdated 2 mo ago
    DevelopmentAuto-check: notes
  • Git PR Workflow

    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…

    114 GitHub stars~2.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Qv PR Test

    tetherto/qvac

    Plan and run local PR validation for tetherto/qvac PRs. An agent skill from tetherto/qvac.

    681 GitHub stars~4.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Devcontainer Dev

    stacklok/toolhive-studio

    Spin up and interact with ToolHive Studio's containerized dev environment (Xvfb + noVNC + DinD).

    170 GitHub stars~3.8k tokensUpdated today
    Agent WorkflowsAuto-check: notes
  • Using Git Worktrees

    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/

    130 GitHub stars~1.3k tokensUpdated 7 mo ago
    Agent WorkflowsAuto-check passed

More from cabloy/cabloy

All 12 skills in this repo
  • 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.

    982 GitHub stars~3.2k tokensUpdated today
    Auto-check: notes
  • 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.

    982 GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • 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…

    982 GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • 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…

    982 GitHub stars~5.1k tokensUpdated today
    Auto-check passed
  • 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…

    982 GitHub stars~4.1k tokensUpdated today
    Auto-check passed
  • 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…

    982 GitHub stars~3.4k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Cabloy Worktree Environment

What does Cabloy Worktree Environment do?

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.

When should I use Cabloy Worktree Environment?

Cabloy Worktree Environment fits situations like: explicitly invokes /cabloy-worktree-environment; explicitly asks to perform the named Cabloy worktree-environment setup.

How do I install Cabloy Worktree Environment in Claude Code?

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.

How do I install Cabloy Worktree Environment in Codex?

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.

Can I use Cabloy Worktree Environment 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 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.

What does Cabloy Worktree Environment need to run?

Going by SKILL.md and its folder, Cabloy Worktree Environment needs the command-line tools its instructions call (git and npm).

Does Cabloy Worktree Environment access the network?

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.

Is Cabloy Worktree Environment safe to install?

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.

What licence does Cabloy Worktree Environment use?

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.

How many tokens does Cabloy Worktree Environment use?

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.

What are the alternatives to Cabloy Worktree Environment?

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.

Who maintains Cabloy Worktree Environment?

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.