Machine Setup Manifest
ποΈ What this is
The single source of truth for the agent/dev tooling that should exist on every machine I work on: Claude Code plugins, agent skills, CLI tools, MCP servers, and their runtime prerequisites.
How to use it: point the agent at this note β βinstall everything from Machine Setup Manifestβ β and it walks Β§0βΒ§6 in order, reinstalling anything missing. No more wondering why a skill/tool exists on one box but not another.
One unified desired state across all machines (decided 2026-07-12). Not per-machine reality β Β§7 tracks which machine is synced to which date and any per-machine carve-outs. Reconciled against the real box PLSOFT-PCD1 (Windows 11 Pro, build 26200) on 2026-07-12.
Version numbers below are reference/minimums, not hard pins β machines legitimately run different patch levels. Only pin where compatibility breaks (e.g. npm 12 needs Node β₯22.22.2).
Β§0 β Runtimes & prerequisites (install FIRST)
Everything below depends on these. Install via winget / choco on Windows.
| Tool | Min / ref | This box (PLSOFT-PCD1) | Install (Windows) |
|---|---|---|---|
| Node.js | β₯22.22.2 (LTS or current) | 24.18.0 via nvm4w (C:\nvm4w\nodejs) | winget install OpenJS.NodeJS β but this box manages Node with nvm4w + fnm (see Β§7 cleanup todo) |
| npm | β₯11 (12 needs Node β₯22.22.2) | 11.16.0 | ships with Node; optional bump npm i -g npm@latest |
| Python | 3.11β3.13 | 3.13.13 primary, +3.12 +3.11 (py --list) | winget install Python.Python.3.13 (keep 3.11/3.12 too) |
| uv | β₯0.9 | 0.11.15 | winget install astral-sh.uv |
| git | β₯2.49 | 2.54.0 | winget install Git.Git |
| gh (GitHub CLI) | β₯2.87 | 2.92.0 | winget install GitHub.cli β gh auth login |
| ffmpeg | β₯8.0 | 8.1.2 (gyan full build) | choco install ffmpeg |
| yt-dlp | latest | 2026.07.04 | yt-dlp.exe on PATH (β¦\Python313\Scripts, pip-provided). Update with python -m pip install -U yt-dlp β NOT yt-dlp -U (errors on pip installs). |
| scoop | β | installed (2026-07-13) | ~\scoop\shims on PATH. Backs supabase (Β§4). Update apps: scoop update *. See scoop.sh |
Β§1 β Claude Code plugins
Add each marketplace once, then install its plugins. claude plugin install <plugin>@<marketplace> works headless from the shell (auto-enables at user scope) β no need for the interactive /plugin TUI.
Marketplaces
# claude-plugins-official is built in
/plugin marketplace add anthropics/skills # β "anthropic-agent-skills"
/plugin marketplace add kepano/obsidian-skills # β "obsidian-skills"
/plugin marketplace add nextlevelbuilder/ui-ux-pro-max-skill
/plugin marketplace add openai/codex-plugin-cc # β "openai-codex"
/plugin marketplace add AgriciDaniel/claude-seo # β "agricidaniel-seo"
/plugin marketplace add getsentry/sentry-mcp
/plugin marketplace add 200iqlabs/shared-skills
/plugin marketplace add JuliusBrussee/caveman
# personal/project marketplace (git, autoUpdate): plsoft-vsoft-marketplace
# git: https://github.com/plipowczan/plsoft-vsoft-agent.git
Plugins (user scope β sync everywhere) β 30 enabled
# from claude-plugins-official
claude plugin install superpowers@claude-plugins-official
claude plugin install frontend-design@claude-plugins-official
claude plugin install context7@claude-plugins-official
claude plugin install code-review@claude-plugins-official
claude plugin install typescript-lsp@claude-plugins-official
claude plugin install pyright-lsp@claude-plugins-official
claude plugin install claude-md-management@claude-plugins-official
claude plugin install security-guidance@claude-plugins-official
claude plugin install commit-commands@claude-plugins-official
claude plugin install skill-creator@claude-plugins-official
claude plugin install vercel@claude-plugins-official
claude plugin install github@claude-plugins-official
claude plugin install playwright@claude-plugins-official
claude plugin install chrome-devtools-mcp@claude-plugins-official
claude plugin install sentry@claude-plugins-official
claude plugin install cloudflare@claude-plugins-official
claude plugin install feature-dev@claude-plugins-official
claude plugin install supabase@claude-plugins-official
claude plugin install stripe@claude-plugins-official
claude plugin install plugin-dev@claude-plugins-official
claude plugin install pr-review-toolkit@claude-plugins-official
claude plugin install claude-code-setup@claude-plugins-official
claude plugin install explanatory-output-style@claude-plugins-official # canonical output style (Β§6)
# from other marketplaces
claude plugin install document-skills@anthropic-agent-skills
claude plugin install obsidian@obsidian-skills
claude plugin install ui-ux-pro-max@ui-ux-pro-max-skill
claude plugin install codex@openai-codex # needs the codex CLI binary too (Β§4)
claude plugin install claude-seo@agricidaniel-seo
claude plugin install sentry-mcp@sentry-mcp
claude plugin install caveman@caveman
30 user-scope plugins. context7, playwright, chrome-devtools-mcp, sentry, sentry-mcp, github, vercel, supabase, cloudflare each also register an MCP server (see Β§5).
Output style: manifest uses
explanatory-output-style(canonical as of 2026-07-12), NOTlearning-output-style. See Β§6.
Β§2 β Agent Skills (npx skills add)
Standalone skills, symlinked into ~/.claude/skills (and ~/.agents/skills) by the Agent Skills CLI. Source-of-truth lockfile: ~/.agents/.skill-lock.json.
npx skills add bradautomates/claude-video -g # β skill "watch" ([[Claude Video]])
npx skills add vercel-labs/skills -g # β find-skills
npx skills add vercel-labs/agent-skills -g # β web-design-guidelines, writing-guidelines, vercel-* patterns, deploy-to-vercel
npx skills add Omerr/claude-skills -g # β create-marp-deck
npx skills add firecrawl/cli -g # β firecrawl + 6 sub-skills (agent/crawl/download/map/scrape/search)
npx skills add heygen-com/hyperframes -g # β hyperframes + family (animation/cli/core/creative/keyframes/registry) + media-use
- notebooklm β NOT installed this way; ships with the uv tool via
notebooklm skill install(see Β§3). - Additional local skills present on this box (source varies β complete confirm provenance):
browser-use(Browser Use uv tool, Β§3),graphify,uxruler,prd/to-prd,review-fix,review-loop,prepare-openspec-goal. Some likely come from theplsoft-vsoftmarketplace or manual drops.
Β§3 β uv tools (Python CLIs)
# NotebookLM
uv tool install "notebooklm-py[browser]" # β CLI "notebooklm" ([[NotebookLM-py]]) v0.7.3
notebooklm skill install # installs the notebooklm agent skill into ~/.claude/skills + ~/.agents/skills
"$(uv tool dir)/notebooklm-py/Scripts/playwright.exe" install chromium # bundled venv browser binary (Windows)
notebooklm login # interactive Google sign-in β run by the user when needed
notebooklm auth check --test --json # expect "status": "ok"
# Browser automation ([[Browser Use]]) β driven via isolated Edge CDP; launcher C:\Users\pawel\browser-use-edge.ps1
uv tool install browser-use # v0.13.3 β CLI: browser-use / bu / browser-use-tui
# Serena (semantic code MCP + agent)
uv tool install serena-agent # v1.5.3 β serena / serena-agent / serena-hooks (also an MCP server, Β§5)
Β§4 β npm global CLIs
npm i -g @github/copilot @google/gemini-cli @marp-team/marp-cli @openai/codex \
@sentry/cli firecrawl-cli nano-banana-mcp openai vercel @fission-ai/openspec
| Package | Version (ref) | Notes |
|---|---|---|
@fission-ai/openspec | 1.6.0 | OpenSpec CLI |
@github/copilot | 1.x | Copilot CLI β β οΈ on this box copilot on PATH resolves to the VS Code copilot-chat CLI (PATH shadow); the npm one is present but shadowed. complete |
@google/gemini-cli | 0.50.0 | Gemini CLI β needs key |
@marp-team/marp-cli | 4.x | Marp CLI β deck export |
@openai/codex | 0.144.1 | Codex CLI β required binary for the codex@openai-codex plugin (Β§1) |
@sentry/cli | 3.6.0 | Sentry releases β postinstall was skipped by npm allow-scripts guard; run npm approve-scripts @sentry/cli if the binary is missing |
firecrawl-cli | 1.19.x | backs the Firecrawl skills (Β§2) |
nano-banana-mcp | 1.0.3 | image-gen MCP |
openai | 6.x | OpenAI SDK/CLI |
vercel | 55.0.0 | Vercel CLI β vercel login |
pnpm | 10.33.0 | via corepack (C:\nvm4w\nodejs\pnpm.ps1), NOT an npm global on this box β leave as-is |
npm bulk installs trigger a
npm warn allow-scriptsguard (postinstall scripts blocked):@sentry/cli,@github/keytar,esbuild,protobufjs,@fission-ai/openspec. If a CLI misbehaves, runnpm approve-scripts <pkg>to complete its postinstall.
Standalone CLIs (outside npm)
- supabase CLI 2.109.1 β installed via scoop:
scoop install supabase(npm global install is deprecated for Supabase; needs scoop, Β§0). Complements thesupabaseplugin (Β§1) + MCP (Β§5). Update:scoop update supabase.
Β§5 β MCP servers
| Server | Scope | Provided by | Status on this box |
|---|---|---|---|
context7 | plugin | context7 plugin | β connected |
playwright | plugin | playwright plugin | β connected |
chrome-devtools | plugin | chrome-devtools-mcp plugin | β connected |
sentry / sentry-mcp | plugin | sentry / sentry-mcp plugins | β connected |
vercel | plugin | vercel plugin | ! needs vercel login |
github | plugin | github plugin | β failing to connect (#todo/complete β re-auth) |
cloudflare-* | plugin | cloudflare plugin | docs β; api/bindings/builds/observability ! need auth |
supabase | plugin | supabase plugin | token (after Β§4 install) |
beeper | user (~/.claude.json) | custom | β connected β messaging (http://127.0.0.1:23373) |
serena | user | serena-agent uv tool (Β§3) | β connected β semantic code nav |
perplexity | project | custom | needs API key (only in its project) |
claude-in-chrome | Chrome extension | Claude in Chrome | browser extension, not a CLI |
Account-level remote MCP (claude.ai connectors β signed in via web/desktop, shared across sessions)
- Sentry Β· inFakt (accounting) Β· Google Drive Β· Google Calendar Β· Gmail Β· ClickUp β all β connected. These live on the claude.ai account, not in a local config file; may be absent in headless/cron runs.
Β§6 β Config & output
- Output style:
explanatory(fromexplanatory-output-styleplugin) β canonical as of 2026-07-12. Provides inline educational insights. - effortLevel:
xhigh. - Caveman: fully wired on this box β
SessionStarthook (caveman-activate.js),UserPromptSubmithook (caveman-mode-tracker.js), and astatusLineblock βcaveman-statusline.ps1. Hooks now point at the stable nvm4w node (C:\nvm4w\nodejs\node.exe) β fixed 2026-07-13 (previously a per-sessionfnm_multishells\52756_β¦path that vanishes between sessions). - Other settings.json:
theme: darkΒ·autoUpdatesChannel: latestΒ·permissions.defaultMode: autoΒ·skipDangerousModePermissionPromptΒ·skipAutoPermissionPromptΒ·skipWorkflowUsageWarningΒ·agentPushNotifEnabledβ all true. - enabledPlugins: 30 (matches Β§1 user scope).
Β§7 β Per-machine sync status & project-scoped extras
Synced machines
| Machine | OS | Last synced | Notes |
|---|---|---|---|
| PLSOFT-PCD1 | Windows 11 Pro (build 26200) | 2026-07-13 | reference machine; audited & converged to unified state. Node via nvm4w (fnm installed but unused); stack = video/browser/serena + full plugin set |
The original 2026-07-11 draft described a different tool profile (notebooklm/scoop/supabase-centric, Node 22 in
Program Files). The 2026-07-12 audit reconciled the manifest against the actual box (PLSOFT-PCD1) and merged both into one unified desired state.
Open cleanups
Resolved 2026-07-13:
- β Node manager β
nvm4wchosen canonical (active, stable pathC:\nvm4w\nodejs); caveman hooks repointed off the fragile per-session fnm multishell path onto it.fnm(winget) left installed but unused β optionallywinget uninstall Schniz.fnm. - β scoop + supabase installed (2.109.1).
- β notebooklm logged in (
notebooklm auth check --test --jsonβ"status": "ok"). - β yt-dlp confirmed as
.exeon PATH (pip-managed; update viapython -m pip install -U yt-dlp).
Still pending β need interactive auth (user action):
- github MCP β fails to connect β authenticate via the
/mcpmenu (it uses its own OAuth; theghtoken here has scopesgist/read:org/repo/workflow, no Copilot scope, and isnβt used by this MCP). - vercel MCP β
vercel login. cloudflare MCP (api/bindings/builds/observability) β authenticate via/mcpOAuth (docs endpoint already works). copiloton PATH resolves to the VS Code copilot-chat CLI; the npm@github/copilot@1.0.70lives atC:\nvm4w\nodejs\copilotβ invoke by full path if you want the npm build. Harmless (both are the Copilot CLI).
Project-scoped plugins (do NOT global-sync β tied to specific local repos)
skill-creator@claude-plugins-officialβ general skill authoring (currently user scope here)200iqlabs-agent-skills@shared-skillsβ repoβ¦/portfolio(installed local, disabled globally)plsoft-vsoft-marketplace(git, autoUpdate) β personal marketplace
Secrets / logins required (values live in env or .env, never in this note)
- Claude Code β Anthropic account login
notebooklm login(Google) Β· Whisper optional:GROQ_API_KEY/OPENAI_API_KEYin~/.config/watch/.envFIRECRAWL_API_KEYΒ· Perplexity key Β·vercel loginΒ·gh auth loginΒ· Sentry token Β· Supabase token Β· Cloudflare auth Β· Gemini/OpenAI/Copilot keys
π Related notes
- Claude Video β the
/watchskill (Β§2) - NotebookLM-py β the
notebooklmCLI + skill (Β§3) - Browser Use β the browser-automation uv tool + skill (Β§3)
- Agent Skills β the Anthropic skill-packaging system underpinning Β§1βΒ§2
- Firecrawl β skills backed by the npm CLI (Β§2/Β§4)
- Everything Claude Code β reference for a maximal cross-harness skill/agent stack
- Building an AI Second Brain Β· Brain β the vault this tooling maintains
Template: knowledge_note_how_to