skills/multi-workspace/SKILL.md
This skill should be used when the user asks about "multi.json", "multi workspace", "multi sync", "multi set-branch", "multi git", "multi init", branch switching across repos, VS Code config merging, Cursor rules sync, "CLAUDE.md" generation, "AGENTS.md" generation, working with multiple repositories in a single workspace, or when a multi.json file is detected in the project. Provides knowledge of Multi CLI commands, configuration, and workspace conventions.
npx skillsauth add montaguegabe/multi-skills multi-workspaceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Multi (multi-workspace on PyPI) is a CLI tool that enables VS Code/Cursor to work across multiple Git repos in a single workspace. Sub-repos are cloned as directories inside the workspace root and .gitignored — no submodules are used. The CLI keeps all repos on the same branch and merges their VS Code configurations.
multi init is interactive and cannot be scripted non-interactively.multi.json + multi sync (not multi init).CLAUDE.md and AGENTS.md are auto-generated from .cursor/rules/*.mdc files. Never edit them directly.multi set-branch.multi set-branch and multi git are disabled in monorepo mode.settings.json, launch.json, tasks.json, extensions.json) at the workspace root are generated — do not edit directly. Use the repo-level files or *.shared.json files instead.monoRepo mode, directories listed in repos should be part of the root git repo and must not contain nested .git folders.multi syncRun all sync operations: clone/symlink repos, update .gitignore, merge VS Code configs, sync Cursor rules, sync ruff config.
Subcommands for partial sync:
multi sync vscode — merge all VS Code configs (or specify: settings, launch, tasks, extensions, devcontainer)multi sync rules — generate CLAUDE.md/AGENTS.md from Cursor rules and create repo-directories.mdc from repo descriptionsmulti sync ruff — copy ruff config from a sub-repo to workspace rootmulti set-branch BRANCH_NAMESwitch all repos to a branch. If the branch exists locally or on the remote, check it out. If it doesn't exist anywhere, create it from the current HEAD. All repos must be clean first.
multi git GIT_ARGS...Run any git command across all repos (root first, then sub-repos in order). All repos must be on the same branch. Example: multi git pull, multi git push -u origin feature/foo.
multi initInteractive setup: prompts for repo URLs and descriptions, writes multi.json, clones repos, runs full sync, commits.
multi doctorDiagnose workspace issues (missing/invalid multi.json, root git initialization, and monoRepo nested .git mismatches). Use --strict to fail on warnings.
multi open PATHOpen a project path in the Multi desktop app.
The workspace is configured via multi.json at the root. Key fields:
repos[] — array of repo configs, each with url, optional name, description, skipVSCode, allowSymlink, requiredTasks, requiredCompounds, requiredLaunchConfigurationsmonoRepo — treat repos as local subdirectories instead of cloningallowSymlinks — enable symlinking to existing clones from ~/.multi/repos.jsonvscode.skipSettings — settings keys to exclude from mergeFor the full schema, consult references/configuration.md.
| Scenario | monoRepo |
|---|---|
| Independent git repositories under one workspace root | false |
| One root git repo with project folders (no nested .git in listed folders) | true |
Multi merges .vscode/ config files from all sub-repos into the workspace root:
${workspaceFolder} rewriting — paths are automatically prefixed with the repo name*.shared.json files — settings.shared.json, launch.shared.json, tasks.shared.json at workspace root are merged last (for cross-repo config)vscode.settingsOverrides in multi.jsonFor detailed merging behavior, consult references/vscode-sync.md.
Running multi sync rules:
.cursor/rules/repo-directories.mdc from repo description fields in multi.json..cursor/rules/*.mdc, concatenates all rule bodies into CLAUDE.md and AGENTS.md placed alongside the .cursor directory.CLAUDE.md/AGENTS.md.Automate workspace setup: Create/update multi.json, then run multi sync.
Add a new repo to the workspace: Add a url entry (and optional name/description) to the repos array in multi.json, then run multi sync.
Switch all repos to a feature branch: Run multi set-branch feature/my-branch. Ensure all repos are clean first.
Diagnose mode mismatches: Run multi doctor (or multi doctor --strict for CI enforcement).
Fix a missing launch config: Check the source repo's .vscode/launch.json. Ensure skipVSCode is not true for that repo. Run multi sync vscode launch. For cross-repo compounds, use .vscode/launch.shared.json at workspace root.
Add cross-repo settings: Create or edit .vscode/settings.shared.json at the workspace root, then run multi sync vscode settings.
For detailed information, consult:
references/configuration.md — full multi.json schema with all fields and defaultsreferences/vscode-sync.md — detailed VS Code merging behavior, *.shared.json usage, master compound creationreferences/commands.md — complete command reference with all options and edge casestools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.