원클릭으로
setup
First-time setup for the Chief of Staff system. Conversational, skippable, produces a working vault in about ten minutes.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
First-time setup for the Chief of Staff system. Conversational, skippable, produces a working vault in about ten minutes.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Personal Chief of Staff system for ADHD-ish operators. Vault-based, loop-driven, nervous-system-aware. Built and lived-in across daily sessions on real consulting, content, and long-running personal work.
Periodic integrity check. Reads memory, skills, vault state. Reports redundant rules, stale memories, broken links, drifted skills.
Morning briefing. Reads vault state, delivers Must/Should/Could briefing, flags overdue waiting-for items.
Mid-session checkpoint. Saves to memory, flags Command Center or To-Do drift, rotates session context.
End of session. Reflects wins, updates Command Center, moves done tasks, writes to session log and memory.
SOC 직업 분류 기준
| name | setup |
| description | First-time setup for the Chief of Staff system. Conversational, skippable, produces a working vault in about ten minutes. |
| user_invocable | true |
You are setting up a fresh Chief of Staff system for someone who just cloned this repo and pointed Claude at it. This is their first session with the system. Most of them have never run a skill like this before and do not know what to expect.
Your job: build a working vault with minimum friction, then deliver the first briefing so they see the system work before they close the tab.
Three rules that prevent the most common failure modes.
Read every file before you overwrite it. Claude Code's Write tool requires a prior Read on existing files. The template ships with stub files. Read each one before replacing it. This applies to CLAUDE.md, every file in .claude/memory/, and every vault-template file you copy.
Never seed the To-Do without confirmation. If concrete tasks or waiting-for items came up during the conversation, surface them explicitly: "You mentioned X. Want me to add that to the Waiting For table / Do Now quadrant?" Only add after they say yes. Their To-Do is their list. Do not pre-populate on their behalf.
Conditional content gets appended, not uncommented. The templates are clean: no hidden instructions in HTML comments. When setup instructions say "add a principle" or "add a preference," append a new line or paragraph in the right section. Don't go looking for placeholder blocks to toggle on.
Open with something close to this, in your own voice:
"I'm going to build your Chief of Staff system. Four questions to get it working, then optional sections that make it stronger over time. Skip anything you want. You can always come back.
First: where is your Obsidian vault? Give me the full path, like
C:\Users\You\Documents\MyVaulton Windows or/Users/You/Documents/MyVaulton Mac. If you don't have one yet, tell me where you'd like it and I'll create the folder."
Once you have a path, do this in order:
Expand any ~ to the user's home directory before passing the path to any tool. Claude Code's Write tool does NOT auto-expand ~. On Windows, ~ should expand to C:\Users\<username>. On Mac/Linux, /Users/<username> or /home/<username>. If you can't determine the home directory reliably, ask the user for the full path with no ~.
Check the parent directory exists. If not, tell the user the path looks wrong and ask them to confirm or correct. Don't try to create deep paths from scratch — the user might have typoed.
Try a test write. Write a file called .cos-setup-test containing test to the vault path. If the write fails, surface the error and stop. Don't continue populating the vault if you can't write to it. If the write succeeds, delete the test file before continuing.
Check for an existing install. If Command Center.md already exists at the vault root, this is a re-run. Stop and ask: "Looks like the system is already set up at this vault. Re-running setup will overwrite your existing files. Are you sure? (yes/no)" Do not proceed without an explicit yes.
Save the vault path. Everything that belongs in the vault gets written there. The .claude/ folder stays in the project root where this setup is running.
If they don't have Obsidian installed yet, point them at obsidian-setup and offer to pause while they set it up. Do not try to install Obsidian for them.
Tell them: "These four questions get the system usable. Everything after is optional."
CLAUDE.md to address the user. If skipped, ask once more: "I just need a name to address you by. Can be a nickname, doesn't have to be your legal name." If they refuse a second time, use "friend" as the placeholder and continue.[, ], |, or backticks, sanitize before writing it into a markdown heading. Replace each problematic character with a space and collapse whitespace. Don't ask the user about this — just do it.After these four, you have enough to write a working system. Pause and ask:
"That's enough to get you working. I can build the vault now and run your first briefing, or we can keep going through the deeper sections that make the system sharper over time. Want to ship it or keep going?"
If they say ship it: jump to File generation. If they say keep going: continue to Step 2.
Tell them: "Most productivity tools ignore why people get stuck. This one doesn't. Skip anything you want."
Tell them: "Your fight record is ammunition for the days your brain tells you that you can't. I'll reference these occasionally to remind you who you are."
Do this quietly. A single line like "Building your system now." is enough before you start. Do not narrate each write.
Process: for each file below, Read it first (it exists as a stub), then Write the replacement content.
CLAUDE.mdRead CLAUDE.md at the project root, then write a replacement with these substitutions:
[Your Name] becomes their first name.[A few sentences about who you are...] placeholder becomes a short paragraph built from Step 1 and (if answered) Step 2. A few sentences, factual. Their voice if you have it.[full path...] line becomes the path they gave you.Conditional additions:
7. **Cash lane dominates briefings until the pressure eases.**
Copy the templates from vault-template/ and fill them in. These files don't exist yet in the target vault, so no pre-read required.
Command Center.md at the vault root:
**Last updated:** line near the top to today's date (YYYY-MM-DD).[Lane 1], [Lane 2], [Lane 3] headings with the lane names from Step 1 Q3. Add or remove lane blocks to match the count they gave. Use the sanitized lane names if any contained special characters.[Current status — fill in at your next /wrap.] so they know where to write. If they described a lane in passing during the conversation, use that sentence instead.[fill in at next /wrap].To-Do.md at the vault root: copy the template as-is. Do not prefill any quadrants. If concrete to-dos or waiting-for items came up during the conversation, ask explicitly before adding them. Example: "You mentioned you're waiting on Rowan for a project brief and you owe David a Q2 invoice. Want me to add both to the Waiting For table?"
_system/ folder at the vault root. Copy these from vault-template/_system/ and seed initial values:
last_session.md — set frontmatter date: to today, session: to 0. Body: a short paragraph saying "Setup session. System initialized. Run /start to begin the loop." and an open-threads list with "First real session pending."hot.md — set the body paragraph to "Setup just completed. No in-progress work yet. Next session will be the first real run."Session Log.md — leave as-is. /wrap appends entries here starting with session 1.memory_firings.log — leave as-is. /wrap appends here when memories fire.Read each file in .claude/memory/ before writing. They exist as empty stubs.
user_profile.md — replace with a few short paragraphs. Who they are (Step 1 Q1, Q2), how they work (Step 2 Q8 if answered), their fight record (Step 4 if answered). Factual. Short.
preferences.md — replace with their communication preferences from Step 2 Q6 and Q7 if answered. One line per preference. If non-coder, include that. If they answered Step 3 Q12 (what doesn't motivate), include those as a short list. If they skipped both Step 2 and Step 3 entirely (no preference data at all), leave the existing stub prose untouched. It already reads as friendly placeholder text.
projects.md — replace with one short paragraph per lane from Step 1 Q3. Lane name, what's happening in it (or a placeholder if they didn't describe), top priority from Step 1 Q4 attached to whichever lane it belongs to. If they answered Step 5, add a short "People" section at the bottom.
session_context.md — replace with one or two lines: [today's date] — Setup session. Completed sections: [list]. Skipped: [list].
MEMORY.md — the index is already correct. No changes needed.
Read the Command Center.md and To-Do.md you just wrote. Deliver a proper Must / Should / Could briefing per CLAUDE.md. The state is thin because they just built it. That's fine.
If the Waiting For table has entries, flag any that are upcoming (not overdue; nothing is overdue on day one).
Name the lanes they created. Acknowledge that the system is thin today and will thicken as they use it.
End with: "What do you want to work on?"
Do not tell them to run /start. The first briefing happens inside /setup so they see the loop work.
Close with something close to this, in your own voice:
"Your system is live. Three commands carry the daily loop:
/start(morning briefing),/sync(optional mid-session save),/wrap(end of session). The memory layer in.claude/memory/grows every time you correct me on something. Tell me 'save that as a feedback memory' and I'll write it down. A month from now the system will feel like it knows you. Today it's a skeleton. That's expected."
Nothing more. The system works from here.