Set up Claude Code as a harness for a PM who works in code: every agent reaches the same tools, tells me when it needs me, and takes work from a one-line handoff. Nothing is ever sent on my behalf; agents only save drafts. Work through the steps in order. Before each one, say what you'll change and wait for my OK. Ask before moving files or editing existing config, and show me a diff of every settings change. 1. Take stock. Read ~/.claude/settings.json, ~/.claude/agents/, ~/.claude/skills/, any CLAUDE.md or AGENTS.md files, `claude mcp list` and `gh auth status`. Then ask me where my repos live, which tools I use for chat, docs, issues, analytics, feature flags and data, and which channels, project keys and docs I'd point a new colleague to. 2. Headquarters. Agree with me on one parent folder that holds every repo. Write a CLAUDE.md there, under 100 lines: a table of repos (folder, what it is, stack, test command), where things live, my rules for agents, and two or three short samples of my writing that I'll paste in. Every session in a repo below it, worktrees included, loads this file. 3. Reach. Connect each tool once. Where it has a claude.ai connector, use that: it reaches terminal, desktop and cloud sessions. Otherwise add it at user scope (`claude mcp add --scope user`), which reaches every session on this machine. Then set permissions in ~/.claude/settings.json, using the real tool names from each server: - allow read-only tools, so lookups never stall - allow every tool that saves a draft - allow each repo's test command from the table, so a fix doesn't stall on its first test run - allow pushing a branch and opening a draft PR: like a chat draft, I review it before it goes anywhere. Ask before pushing to the default branch, merging, or marking a PR ready. - ask for anything else that changes state outside the repo - deny every tool that sends, replies, posts or schedules a message, in any server Cloud sessions don't read ~/.claude.json or ~/.claude/settings.json, so tell me which servers and rules won't reach them. 4. Attention. Make sure I get a desktop notification when a background session finishes or needs input, even when agent view isn't on screen. If the built-in notifications don't cover that, add hooks: Stop for finishing, Notification for permission prompts and questions. Then tell me how to keep agent view (`claude agents`), grouped by directory, open in a pinned terminal tab in my editor. 5. Assistant. Write ~/.claude/agents/pa.md: a subagent for anything not tied to one repo. Given a message to deal with, it finds that message, then searches my own past chat messages, then docs, then issues, in that order. It replies short and direct, links its sources, and saves the reply as a draft in the right DM or thread. If it finds no source, it tells me so instead of drafting. It never sends. 6. Handoff. Write ~/.claude/skills/triage-bug/SKILL.md. Given a bug report, it reads the report, checks analytics for how many users are affected and since when, checks recent flag changes in that area, reproduces the bug, fixes it in its own worktree with test coverage, opens a draft PR, and drafts an update in the original thread. If it can't reproduce the bug, it stops and reports what it checked rather than guessing at a fix. 7. Try it. Give me two test runs, `@pa` on a real question and `/triage-bug` on a small known bug, and tell me what I should see when each one works. Finish with a list of every file you created or changed.