agentleFS
jocarrdjocarrd/crux-agents/skills/workspace/SKILL.md

workspace

Skill4 starsChanged 18 days agoMITView on GitHub

Create isolated workspaces to work on several tasks of the same repo at once, splitting not only the files but also the runtime: own worktree, reserved port range, separate database and derived environment file. Use when you are about to launch several tasks in parallel on a repo, when you need to touch two branches at once without stashing, or when two processes are fighting over the same port.

  • Reads credentials
  • Deletes or force-pushes

19 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use schedule, improve and 8 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.
  • bivexSkill

    schedule

    Управление расписанием занятий с специалистами по самосовершенствованию. Используй когда пользователь спрашивает о расписании, хочет добавить/удалить/перенести занятие, посмотреть план на день или неделю.

    Also in 3 projects that use this

  • AnasX7Skill

    improve

    Survey any codebase as a senior advisor and produce prioritized, self-contained implementation plans for OTHER models/agents to execute. Strictly read-only on source code — never implements, fixes, or refactors anything itself. Use when asked to audit a codebase, find improvement opportunities (bugs, security, performance, test coverage, tech debt, migrations, DX), suggest features or where to take the project next (roadmap, product direction), or generate handoff plans for another agent to implement.

    Also in 3 projects that use this

  • GoogleSkill

    dashboard

    Configures and launches the GKE Capacity & Triage Dashboard scoped to a GCP project ID, GKE cluster name, or target ML workload ID. Uses the configure-and-launch-dashboard action and launch-workload-dashboard workflow to verify local dashboard health, discover cluster capacity, trigger live scans, and generate deep-linked URLs. Use when the user types "/dashboard", says "launch dashboard", "open dashboard", "show capacity", or "view triage dashboard" with a project, cluster, or workload. Don't use for general workload log querying or automated failure attribution (use the troubleshoot skill).

    Also in 3 projects that use this

  • GitHubSkill

    prd

    Generate high-quality Product Requirements Documents (PRDs) for software systems and AI-powered features. Includes executive summaries, user stories, technical specifications, and risk analysis.

    Also in 3 projects that use this

  • genomewalkerSkill

    learn

    Learn from web sources, generate SKILL.md, and store key patterns in soul memory. Trigger keywords: learn, skill-gen, web-learn, documentation, tutorial.

    Also in 3 projects that use this

  • OpenAISkill

    audit

    Audit or critique a product flow, journey, workflow, funnel, onboarding path, checkout path, settings path, screen, or multi-step product experience by capturing screenshots first, then reporting UX, design, and accessibility findings inline from that evidence. Use Figma only when the user explicitly asks for a board. Use when the user asks to audit, review, critique, inspect, assess, analyze, evaluate, or give feedback on a product experience.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

1 rule. 0 are common, 0 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 17 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    never merges without --yes: If the repo has no CI, it says so: that is not the same as being verified.

    line 91

“Common” is measured: kept by at least 6 in 10 of the 17 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

workspace

A worktree isolates the files, but not the runtime: two parallel tasks still fight over the port, the database and the environment file, and the failure shows up as silently corrupted data. This skill splits both. The reason behind each decision: <this-skill-directory>/references/why.md.

Usage

crux workspace new <name> [--repo <dir>] [--branch fix/something] [--task <task>] [--goal "what and why"]
crux workspace list
crux workspace finish <name>          # pushes the branch and opens the proposal
crux workspace merge <name> [--yes]   # without --yes it only shows the state
crux workspace rm <name>
crux workspace adopt <path>           # registers a worktree created by hand

new creates the worktree at <repo>-ws-<name> (next to the repo, so that paths relative to the docs repo resolve), on a new branch, reserves a slot, writes the environment file and registers the task.

The branch is published: by default it is ws/<name>; in a client repo, set the name with --branch (the command warns if the profile is client-repo). If the profile forbids writing outside the docs repo, new refuses except with --force, only if the client authorises it.

Configure the split

In crux.json, workspace section:

"workspace": {
  "portBase": 3000,
  "portsPerSlot": 10,
  "envFile": ".env.local",
  "env": {
    "PORT": "{{PORT0}}",
    "ENGINE_PORT": "{{PORT1}}",
    "DATABASE_URL": "postgres://localhost/app_ws{{SLOT}}",
    "REDIS_URL": "redis://localhost:6379/{{SLOT}}"
  }
}

Substitutions: {{SLOT}}, {{PORT0}}…{{PORTn}}, {{NAME}} and {{BRANCH}}. Without this section only ports are reserved; fill it in.

What to isolate, in order of damage: ports, database (one database or schema per slot; in Redis, a database number), environment file, volumes and caches with state. Shared external resources (webhooks, queues, buckets) are not isolated: do not launch in parallel tasks that touch them.

Before launching tasks in parallel

  • Split by surface, not by file.
  • A task with migrations goes alone: the schema is shared as soon as the branches come together.
  • Name the spaces after the task (fix-login), not by number.

The space's task

The log lives in ~/.crux/tasks/<project>/<task>.md. If the task touches another repo, another space is opened there with the same --task.

crux task                          # state, steps and next step
crux task add "step" "another step"   # returns T1, T2…
crux task done T1 "what proves it"
crux task next "the next thing"
crux task note "deviation from the plan"
crux task note "what was decided" --why "why" --where "where it lives" --learned "what was learned"
crux task plan <file>              # the approved plan

It is annotated while working, in the language of the repo's commits: the proposal's description comes from there. Notes with --why move on their own to repos/<repo>/notes.md of the docs repo when the task is archived.

Closing the cycle

  • finish refuses if anything is left uncommitted or if the commit has not passed the quality gate. The pre-push prevents pushing straight to the main branch of a code repo.
  • merge looks at CI, conflicts and changes requested in the review, and never merges without --yes. If the repo has no CI, it says so: that is not the same as being verified.
  • A space is closed with crux workspace rm, never with git worktree remove or rm -rf (a hook stops it). rm refuses if there are uncommitted changes, frees the worktree and the slot, and leaves the branch. If it was the last space of a merged task, it archives it. merge --yes already closes the space on merging.

Related

  • /ship — the quality gate before committing
  • /flow — the full cycle

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.