By the end of the evening, about 4-5 hours, Claude can read and write your Notion, knows your first project and prepares your syncs. You do not type anything in Terminal for this part. If your project has code, add a few hours in week 1. Fitting it to your project then takes 2-4 weeks, about 15 minutes a day.
Pick how far to go: 3 floors
Think of it as 3 floors. You can stop on any of them and it still works.
Just the Notion template
Duplicate it and use it by hand. Inbox, tasks, meetings, threads, risks, decisions. No AI at all. You can stay here as long as you like.
Claude plus Notion
Claude reads and writes your Notion, knows your first project and prepares your syncs. This page walks you through it, click by click.
Add-ons
Slack, mail, Jira, a schedule, the call co-pilot. Each one is separate. Add one, live with it for a week, then the next.
Before you start
You need these for floor 2. Nothing here asks you to open Terminal.
- A Mac, ideally. The framework is built and tested on macOS. Cowork also runs on Windows: 2 skills need a Mac (mail and the call co-pilot), the rest should work, but Windows is not tested yet. Where each skill runs.
- A paid Claude plan. Tested on Max. Pro has not been tested yet, but for a start with 3-4 skills it may be enough. See what it costs.
- The Claude desktop app. Download it from claude.ai/download and sign in. Cowork is inside it.
- A Notion account. Any plan is enough for the template. Meeting transcripts need Notion's paid AI Meeting Notes, but that is an add-on.
- A quiet evening, about 4-5 hours. Most of it is Claude asking you questions.
- An OK from your client contract. Claude reads the channels you connect. Check that your contract allows AI tools before you connect a client channel. More in security and privacy.
What it costs
The template and the plugin are free (MIT). You pay only for Claude and Notion.
| Per month | What is in it | |
|---|---|---|
| A start | about $30-50 | Claude Pro plus Notion with Notion AI, which gives you meeting transcripts. Pro has not been tested yet, so treat it as a guess. |
| The author’s setup | about $150 | Claude Max plus Notion with Notion AI. He experiments a lot: 20+ background tasks, large log analysis and new skills in testing. You do not need this on day 1. |
Prices change, so check the current ones: Claude plans and Notion plans.
Step by step: the evening setup
1. Make a work folder
You do. Open Finder, press Cmd+Shift+H to go to your home folder, and create a folder called work.
Then get the framework: open the repository, press the green Code button, then Download ZIP. Unzip it and move the folder into work, named pm-control-tower.
Done when you have work/pm-control-tower/dist/pm-control-tower.plugin on your Mac.
2. Duplicate the Notion template
You do. Open the template and press Duplicate in the top right. Pick your workspace.
You see a page with a tower icon and 11 databases in your own Notion. The records marked as demo are there so you see how it looks. You can delete them later.
3. Connect Notion to Claude
You do. In the Claude desktop app: Settings, Connectors, Notion, Connect. Notion opens a window and asks which pages Claude may see. Select the Control Tower page you just duplicated.
If you use Slack, connect it here too. It is optional.
4. Open a Cowork task with your folder
You do. In the Claude app switch to Cowork, start a new task, press Add folder and choose the work folder.
From now on, start every conversation about your projects in a task with this folder. It is how Claude sees your files.
Check that Claude sees Notion. Paste this:
Find my PM Control Tower page in Notion and list its databases.
Done when Claude lists 11 databases: Inbox, Tasks Tracker, Meetings, Threads, Topics, Knowledge Base, Risks, Decisions, Reports, Projects, Workspaces. If it cannot find the page, go back to step 3 and give Notion access to that page.
5. Install the plugin
You do. Drag work/pm-control-tower/dist/pm-control-tower.plugin from Finder into the chat. A card appears. Press Install.
You see 22 skills (written instructions for PM routine) added to Claude. They do nothing yet: they do not know your Notion or your projects.
6. Tell the plugin about your Notion
You do. Paste this, and replace <me> with your Mac user name (the name of your home folder):
customize the pm-control-tower plugin for me.
- My Notion Control Tower: the duplicated template.
Find the IDs of all databases yourself through the Notion connector, do not ask me.
- Home folder: /Users/<me>.
- Jira: none for now. Confluence: none.
You see Claude find your database IDs, fill them into the plugin and show a card to confirm. Press confirm. That is the whole connection between Claude and Notion.
7. Give Claude its house rules
You do. In the Claude app: Settings, Cowork, global instructions. Paste this block. Change the language line to yours, and fill in or delete the line in angle brackets. The block mentions a config and a slug: the config is the short file Claude keeps about each project, and the slug is the project’s short name.
# PM Workspace
I am a project manager. Work with me as a PM: delivery, client communication, the
tracker, reporting, risks.
## Projects
Every project fact lives in the `projects` skill, one file per project.
| Project | Slug | Config |
|---|---|---|
## Rules
1. Rule Zero: the config `projects/<slug>.md` beats any skill, report or document.
2. Never guess the project. If it is not named and not visible from a ticket key, ask.
3. Language: internal in <my language>, everything client-facing in English.
4. <optional: your style rules, for example tone or words to avoid>
5. Secrets only in ~/work/Secrets/secrets.env; configs hold variable names only; never print them.
6. Never send anything to the client yourself. Drafts yes, sending is always me.
The projects table stays empty. Claude gives you a row for it after the next step. A Ukrainian version is in templates/cowork-global-instructions.md.
8. Add your first project
You do. In a new Cowork task with the work folder, paste this and fill in what you know (the case letters are explained under the block). Leave out what you do not know, Claude will ask.
set up a new project <Name>, case A.
What I know: client <...>, our team <...>, client side <who and roles>,
meetings <day, time, type>, tracker <Jira key | client's own, no API | none>,
Slack <channels | none>, start <date>.
Do everything yourself: config, Notion (Workspace, project page, Current State,
Charter, first decision), local folders, registration. Ask only for what is missing.
Case A is a new project from scratch. B is taking over from another PM. C is a project that is not software.
You see Claude ask questions in cards, then write the project config, create the pages in Notion and the folders on your Mac. At the end it gives you a row for the projects table from step 7. Paste it there. Do not create anything in Notion by hand, Claude does it.
9. Try it
Open a new task with the work folder. First, a trick question:
prep me for the daily
Claude must ask which project. That is the most important rule of the system working. Then:
prepare me for the sync on <your project>
Done when a prep appears in the chat and as a page in the Reports database of your Notion, linked to your project. Congratulations: floor 2 is built.
Add-ons, when you need them
Add one at a time. Run anything new by hand 3 times before you put it on a schedule.
Programs some add-ons need
Some add-ons need small programs on your Mac. Skip this until an add-on asks for it. Each one is a single line you paste into Terminal (press Cmd+Space, type “Terminal”, press Enter).
| Tool | What it is | Needed for | Install |
|---|---|---|---|
| Xcode Command Line Tools | Apple’s basic developer tools, includes git | call co-pilot, cloning repositories | xcode-select --install |
| Homebrew | an app store for the command line | everything below | see the line under this table |
| Node.js | runs JavaScript servers | a self-hosted Jira or Bitbucket | brew install node |
| uv | runs Python tools | Confluence | brew install uv |
| Python 3.12 | runs the speech model | call co-pilot | brew install python@3.12 |
Homebrew, the official one-liner from brew.sh:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
At the end Homebrew prints “Next steps” with 2 or 3 lines. Copy them and run them too, otherwise brew will not be found.
Slack
Gives you every chat thread in Threads, with a status that says whose turn it is.
Needs the Slack connector (step 3).
collect slack for <project> for last week
Gmail and Google Calendar
Gives you real meeting times in preps and reports, and lets topic-manager search client mail in Gmail. Gmail mail does not land in Threads: for that, use Mail.app below.
Needs the Gmail and Google Calendar connectors in Settings, Connectors.
Meeting transcripts
Gives you a transcript of every call in the Meetings database, and preps that know what was said.
Needs Notion’s paid AI Meeting Notes. Switch it on in Notion. After a meeting:
meeting <link to the Notion meeting page>
Mail from Mail.app
Gives you corporate mail that is not in Gmail, exported from Mail.app every 15 minutes and added to Threads on the next collector run, daily or when you ask.
Needs a few scripts and 1 macOS permission. About 30 minutes. Guide: docs/en/10a-mail-collector-setup.md.
help me set up mail collection from Mail.app following docs/en/10a-mail-collector-setup.md
When macOS asks whether Terminal may control Mail, press OK. Only you can.
A self-hosted Jira, Confluence or Bitbucket
Gives you ticket preps, board health and velocity from your own servers.
Needs Homebrew, then Node.js (Jira, Bitbucket) or uv (Confluence), and a personal token from your profile in that system.
- Ask Claude to prepare the secrets file:
create ~/work/Secrets/secrets.env from templates/secrets.env.example (mode 600) and tell me which lines to fill in. Do not read or print the tokens. - Open that file yourself and paste your tokens. Claude never sees them, by design.
- Ask Claude to fetch the server and connect it:
clone and build the jira MCP server into ~/work/tools, then customize the pm-control-tower plugin: Jira Server at https://<your-jira> - Quit and reopen the Claude app. Local servers (the MCP servers, small programs that connect Claude to your own Jira, Confluence or Bitbucket) read the tokens only at start.
Jira Cloud is simpler: use the official Atlassian connector in Settings, Connectors.
Autopilot
Gives you preps and reports that are ready before you wake up.
Needs the Mac on and the Claude app running at that time, or a cloud task for things that need no local files.
put daily-team-prep for <project> on a schedule, about 55 minutes before our internal sync
Start with a single task. Add the next after a week.
Call co-pilot
Gives you quiet hints during the call when something matters.
Needs an Apple Silicon Mac, Python and 2 macOS permissions. Everything, including the microphone and system audio setup, is on the call co-pilot page.
If something goes wrong
| What you see | What it usually means |
|---|---|
| Claude cannot find your Notion page | Notion access was not given to that page. Step 3 again |
| “Project config not found” | The project was never created, or you call it by another name. Step 8 again |
| A fresh token is not seen | The Claude app was not restarted after you edited the secrets file |
| The report says a source is “unavailable” or “skipped” | That is on purpose. The skill does not fail, it tells you what is missing |
| Records land without a project | The project relation is empty or a database ID is wrong. Run step 6 again |
| Claude acted on the wrong project | It should never happen. Check that the request named the project, and tell the author |
The clicks only you can make
Claude does everything else. These few clicks are yours because they need your account, your permission or your secret.
| What | Why not Claude |
|---|---|
| Duplicate the Notion template | A public template is duplicated only by a click in your browser |
| Connect Notion and Slack, choose the pages | Your account permissions |
| Add the folder, install the plugin, confirm cards | Your Cowork permissions |
| Paste tokens into the secrets file | Secrets never pass through Claude |
| Restart the Claude app | Local servers read secrets only at start |
| Paste the global instructions | Claude has no access to account settings |
| Allow macOS permissions (Mail, microphone, system audio) | macOS gives them only to the person at the Mac |
Honest expectations
Floor 2 takes a quiet evening, about 4-5 hours. Making it fit your project takes a few weeks of small fixes, mostly in the project config. That is normal, and every fix makes all skills better at once.
The plugin is in beta: the author uses it every day, the first handover to a colleague is still ahead. If a step here does not behave as written, that is exactly the feedback the author needs. Open an issue.