From cos
Use when the user wants to configure the Chief of Staff plugin, set up COS, or when config is missing at ${CLAUDE_PLUGIN_DATA}/me.md. Walks through timezone, email accounts, email domains, Notion databases, and creates config.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cos:setupThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Walk the user through configuring the Chief of Staff plugin. This creates the personal config file at `${CLAUDE_PLUGIN_DATA}/me.md`.
Walk the user through configuring the Chief of Staff plugin. This creates the personal config file at ${CLAUDE_PLUGIN_DATA}/me.md.
Verify required tools are available before proceeding.
Test with:
gws calendar +agenda --today
npm install -g @googleworkspace/cli) and authenticate (gws auth setup). Wait for completion before continuing.gws auth login. Wait for completion before continuing.Check if Notion MCP tools are available (e.g., notion-fetch). If not available, note that Notion features will be skipped. Setup can still proceed — Notion is optional.
Check for existing configuration to determine the setup path:
${CLAUDE_PLUGIN_DATA}/me.md exists → ask: "Config found. Use existing config or re-run setup?"
${CLAUDE_PLUGIN_DATA}/me.md.bak as backup, then proceed to Step 3.${CLAUDE_PLUGIN_DATA}/me.md does NOT exist but ${CLAUDE_PLUGIN_DATA}/config.md exists → migration from previous plugin version.
## Notion: Tasks or ## Email Accounts are absent, jump to Steps 4b and 5c to fill the gaps.${CLAUDE_PLUGIN_DATA}/me.md does NOT exist but ~/.claude/skills/cos/config.md exists → migration from legacy standalone install.
None of the above exist → fresh install. Proceed to Step 3.
Detect the user's timezone from the system if possible. Confirm:
"Your system timezone appears to be [detected]. Is that correct, or would you prefer a different timezone?"
Ask:
"In one or two sentences, what do you do? This helps me understand what 'needs your brain' means for you."
Ask:
"What email domains should I monitor? These are the domains of people whose emails matter most — clients, partners, key contacts. Format:
domain.com | label"Example:
acme.com | client - Acme Corp partner.io | partner - PartnerCo
Ask:
"Do you send email from any account besides your primary Google account? For example, a work email you access through Outlook or another client."
For each additional account:
These become "unconnected" accounts in the config. The primary Google account (authenticated via gws) is automatically a "connected" account.
Skip this entire step if Notion MCP is not available (noted in Step 1b).
"Do you have a Projects database in Notion? I can pull active projects into your daily brief."
If yes:
If no: set enabled: false.
"Do you have a content pipeline or editorial calendar in Notion?"
If yes:
If no: set enabled: false.
"Do you have a Tasks database in Notion? This is where the evening review will create tomorrow's tasks."
If yes:
If no: set enabled: false.
"Do you have a Clients or CRM database in Notion? I can pull email domains from client records to expand monitoring."
If yes:
If no: set enabled: false.
"I need a Daily Briefs database to save your sweep outputs. I can create one for you, or connect to an existing one. What would you prefer?"
If creating new:
If connecting existing: confirm the database ID.
If skip: sweep outputs will only appear in conversation.
"I have some core safety rules built in (like never sending email without your review). But you can add your own rules too. Common ones people add:"
- NEVER make pricing or scope decisions for [your business]
- NEVER auto-schedule work on [rest day] (e.g., Sunday)
- [Anything else specific to how you work]
"What rules would you like to add? You can always edit these later."
"Any other standing instructions? Things like 'ignore alerts from system X' or 'always check Y before Z'?"
Write the config to ${CLAUDE_PLUGIN_DATA}/me.md in this format:
# me.md
## Identity
timezone: [timezone]
role: [role description]
## Email Accounts
connected:
- gmail | primary Google account (via gws CLI)
unconnected:
- [label] | [description] | [send instructions]
## Email Monitoring
domains:
- [domain1] | [label1]
- [domain2] | [label2]
## Notion: Projects
enabled: [true/false]
database_id: [id]
active_statuses: [statuses]
fields: [fields]
## Notion: Pipeline
enabled: [true/false]
database_id: [id]
status_field: [field]
active_statuses: [statuses]
date_fields: [fields]
## Notion: Clients
enabled: [true/false]
data_source: [collection://id]
## Notion: Tasks
enabled: [true/false]
database_id: [id]
default_personal_project: [name]
## Notion: Daily Briefs
enabled: [true/false]
database_id: [id]
## My Rules
- [user's personal rules]
## Custom Rules
- [user's custom rules]
Tell the user: "Config saved. You can edit it anytime — it's human-readable markdown. This file lives in the plugin's data directory and survives plugin updates."
npx claudepluginhub kevinmcmurphy/cos --plugin cosDiscovers team structure, terminology, goals, performance frameworks, values, and ways of working by crawling Slack, Notion, Google Drive, Gmail, Calendar; validates with manager before persisting.
Scans your Claude setup (CLAUDE.md, SOUL.md, MCPs, plugins) and guides improvements with setup, review, or status modes. Use for personal AI system health.
Activate for: configure agentic office, install agentic office, agentic office orientation, two-plugin architecture, create work.local, initialise workplace memory, agentic office getting started, configure agents, workplace configuration. NOT for: official productivity plugin setup (use /productivity:start).