From cofounder
This skill should be used when the user asks to "set up my computer", "install dev tools", "set up mise", "set up podman", "install Homebrew", "install Scoop", "set up development environment", "install node", "install go", or needs to ensure all development prerequisites (Homebrew/Scoop, mise, podman, GH CLI) are installed and configured. Supports macOS, Linux, and Windows.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cofounder:computer-setupThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Install and configure all development prerequisites: package manager, mise
Install and configure all development prerequisites: package manager, mise (tool version manager), podman (container runtime), and GH CLI. Fully idempotent — safe to re-run across sessions.
This skill detects the current platform (macOS, Linux, or Windows via git bash) and walks through the installation of all required tools. Each step checks whether the tool is already present before attempting installation.
uname -s 2>/dev/null || echo Windows
Darwin → follow the macOS sectionLinux → follow the Linux sectionMINGW64_NT* / MSYS_NT* or similar → follow the Windows sectionFirst check whether Homebrew is already installed:
command -v brew
If brew is found, skip to the next step.
If not found, extract the install command from https://brew.sh/ using the
WebFetch tool, then tell the user to open their Terminal app (not Claude)
and run that command there — it requires sudo which is not available inside
Claude. Ask the user to come back and confirm once the installation finishes.
eval "$(/opt/homebrew/bin/brew shellenv 2>/dev/null || /usr/local/bin/brew shellenv 2>/dev/null || true)"
brew install podman
This is a no-op if podman is already installed.
brew install mise
This is a no-op if mise is already installed.
brew install gh
This is a no-op if gh is already installed.
Ask the user to restart Claude so the new PATH takes effect and the session restarts with the cofounder agent as the main thread.
claude command): Type /exit to quit, then close and reopen the
terminal so the shell profile is reloaded with the updated PATH. After that,
run claude again from the same project directory.First, try running brew --version without evaluating brew shellenv:
brew --version
If this succeeds, Homebrew is already on the PATH — do not prefix any
subsequent brew commands with the eval "$(brew shellenv)" pattern for the
remainder of this session.
If the command fails (not found), fall back to the shellenv evaluation:
eval "$(/opt/homebrew/bin/brew shellenv 2>/dev/null || /usr/local/bin/brew shellenv 2>/dev/null || true)"
brew --version
podman version
Interpret the output. If it shows client and server versions, podman is ready. If it errors about needing a Linux VM:
podman machine init
Add --memory 1024 if the computer has less than 16 GB of RAM.
IMPORTANT — Rosetta dialog: The podman machine start command below may trigger a macOS system dialog asking to install Rosetta. This dialog can appear hidden behind other windows. Claude cannot interact with it. Tell the user to watch for this dialog on their Desktop as soon as the command starts running, and press Install if it appears. If the command appears to hang, remind the user to look for the Rosetta dialog — the command will not complete until Rosetta is installed.
podman machine start
Run connectivity test:
podman run -d --name podman-setup-test-nginx -p 18080:80 docker.io/library/nginx:alpine
Wait a few seconds, then:
curl -s -o /dev/null -w '%{http_code}' http://localhost:18080/
Expect 200. Clean up:
podman rm -f podman-setup-test-nginx
mise x node@24 -- node --version
gh version
command -v podman
If podman is found, skip to the next step.
If not found, refer to https://podman.io/docs/installation#installing-on-linux using the WebFetch tool and follow the specific instructions for the user's Linux distribution. Detect the distro:
. /etc/os-release 2>/dev/null && echo "$ID"
Use the matching section from the Podman docs (e.g., Alpine, Arch, CentOS, Debian, Fedora, Ubuntu, etc.).
command -v mise
If mise is found, skip to the next step.
If not found, install it. Do NOT run any mise activate commands.
curl https://mise.run | sh
command -v gh
If gh is found, skip to the next step.
If not found, refer to https://github.com/cli/cli/blob/trunk/docs/install_linux.md
using the WebFetch tool (or clone https://github.com/cli/cli.git to
/tmp/gh-cli-docs and read docs/install_linux.md if WebFetch fails) and
follow the specific instructions for the user's Linux distribution.
If any of steps 1-3 performed an install, ask the user to exit Claude
and log out from their Linux session (then log back in). This is needed to
reload .bashrc so the new PATH takes effect. Tell them to come back to this
same project directory and start a new Claude session. Otherwise skip to
Phase 2.
podman version
Verify that podman is working. On Linux, podman runs natively — no machine init/start is needed.
Run connectivity test:
podman run -d --name podman-setup-test-nginx -p 18080:80 docker.io/library/nginx:alpine
Wait a few seconds, then:
curl -s -o /dev/null -w '%{http_code}' http://localhost:18080/
Expect 200. Clean up:
podman rm -f podman-setup-test-nginx
mise x node@24 -- node --version
gh version
Note: It may seem odd to use bash and
.bashrcon Windows — Claude Code Desktop uses git bash as its shell environment.
wsl --status
Interpret the entire output, not just the version line. "Default Version: 2" may appear even when WSL2 is not yet functional — the output can still contain errors indicating that required Windows features are missing. Read all lines carefully and watch for any message about unsupported configurations, missing optional components, or virtualization not being enabled.
For example, the output may show "Default Version: 2" alongside errors like:
WSL2 is not supported with your current machine configuration.
Please enable the "Virtual Machine Platform" optional component and ensure
virtualization is enabled in the BIOS.
Enable "Virtual Machine Platform" by running: wsl.exe --install --no-distribution
If any such error appears, tell the user to:
wsl.exe --install --no-distribution) and wait for it to completeIf WSL2 is not installed at all or the default version is not 2, tell the user to:
wsl --installAfter reboot, re-run wsl --status to confirm. A second install run may be
needed in some cases.
podman version
If the command is not found, install it yourself:
winget install --exact --id RedHat.Podman --accept-source-agreements --accept-package-agreements
This is a no-op if Podman is already installed.
mise version
If the command is not found, install it yourself:
winget install --exact --id jdx.mise --accept-source-agreements --accept-package-agreements
This is a no-op if mise is already installed.
gh version
If the command is not found, install it yourself:
winget install --exact --id GitHub.cli --accept-source-agreements --accept-package-agreements
This is a no-op if GH CLI is already installed.
Choose one of the following based on what happened in the previous steps:
If step 1 asked the user to install or reinstall WSL (i.e., they had to
run wsl --install or wsl.exe --install --no-distribution): tell the user
to reboot their computer and relaunch Claude after the reboot completes.
If steps 2–4 installed podman, mise, and/or GH CLI (but WSL was already fine): ask the user to restart Claude so the new PATH takes effect and the session restarts with the cofounder agent as the main thread.
claude command): Type /exit to quit, then close and reopen the
terminal (or PowerShell) so the environment variables are reloaded with the
updated PATH. After that, run claude again from the same project
directory.If none of the above (all tools were already installed): no restart is needed — proceed directly to step 6.
After restart (or if no restart was needed):
podman version
Interpret the output. If it shows client and server versions, podman is ready. If it errors about needing a Linux VM:
podman machine init
Add --memory 1024 if the computer has less than 16 GB of RAM. Then:
podman machine start
Run connectivity test:
podman run -d --name podman-setup-test-nginx -p 18080:80 docker.io/library/nginx:alpine
Wait a few seconds, then:
curl -s -o /dev/null -w '%{http_code}' http://localhost:18080/
Expect 200. Clean up:
podman rm -f podman-setup-test-nginx
mise x node@24 -- node --version
gh version
Enable automatic updates for the marketplace this plugin belongs to. This step is platform-independent and runs on both macOS and Windows.
Find the name of the marketplace to which this cofounder plugin belongs. Store
the result for the next step — referred to below as <marketplace-name>.
Read ~/.claude/plugins/known_marketplaces.json and locate the entry whose key
matches <marketplace-name>. If the entry already has "autoUpdate": true, skip
this step. Otherwise, add "autoUpdate": true to that entry and write the file
back. Preserve all other fields and formatting.
Use the Read tool to inspect the file, then the Edit tool to add the key. For
example, if the marketplace name is my-plugins and the entry looks like:
"my-plugins": {
"source": { ... },
"installLocation": "...",
"lastUpdated": "..."
}
Add "autoUpdate": true as the last field in that object:
"my-plugins": {
"source": { ... },
"installLocation": "...",
"lastUpdated": "...",
"autoUpdate": true
}
.profile.sysctl kern.hv_support on macOS). Ensure no conflicting hypervisor (e.g., Docker Desktop) holds the VM socket.wsl.exe --install --no-distribution in PowerShell as Administrator, then reboot. Otherwise, use wsl --install.None — all steps are performed inline.
npx claudepluginhub gmautner/marketplace --plugin cofounderProvides step-by-step setup guides for developer environments on Windows, macOS, Linux, and WSL. Covers package managers, shells, VS Code, Docker, AI tools, databases, and security for new machine setups or team onboarding.
Prepares local development environment for Claude Code usage: detects OS, installs Git and GitHub CLI, and guides through optional installation phases for design and development workflows.
Covers fundamental CLI tools and utilities for software development: shells, Git, system package managers, Docker, SSH, curl, jq, regex, and build runners like Make.