Book 1: Vault

Your Sleep Tracker Vault
Section titled “Your Sleep Tracker Vault”Every piece of your Sleep Tracker project lives in the vault: the offer definition, the audience profile, the app spec, the outreach messages. It is the single source of truth. When you ask Claude Code to build something, you point it at files in the vault. When you write a Gumroad page, you pull copy from the vault. When you reach out to early adopters, the message templates live in the vault.
Nothing gets lost. Everything connects. And because it is all plain text, Claude Code can read every file in the vault.
What makes this vault specific to the Sleep Tracker
Section titled “What makes this vault specific to the Sleep Tracker”Your vault will contain files tailored to the sleep tracking product:
01_offer/offer_definition.md: What the Sleep Tracker is, who it is for, and the transformation it delivers (from guessing about sleep to seeing actual patterns)02_audience/target_avatar.md: People aged 20-40 who know their sleep is not great but have never tracked it. They have tried Sleep Cycle or Apple Health but found them too complicated or too invasive.03_build/app_prd.md: Four screens (Home, Log Entry, History, Insights) that let someone log their sleep and spot patterns over time
The vault structure is the same across all three books. Only the content inside the files changes to reflect your specific product.
Download Obsidian
Section titled “Download Obsidian”Download Obsidian
Download from obsidian.md/download and drag the app into your Applications folder. Open it once to complete the initial setup.
Download from obsidian.md/download and run the installer. Follow the prompts and open Obsidian once installation is complete.
If you run into trouble during installation, paste the error message into Claude Code and ask it to help you fix it.
Step 0: Open Your Terminal and Start Claude Code
Section titled “Step 0: Open Your Terminal and Start Claude Code”Before you can run any prompts, you need a terminal open and Claude Code running.
- Open a terminal. If you have not used a terminal before, follow the Using the Terminal guide.
- Create a project folder and navigate into it:
mkdir -p ~/Documents/sleep-tracker && cd ~/Documents/sleep-tracker
- Start Claude Code:
claude
If you have not installed Claude Code yet, follow the instructions on the Overview page.
Once Claude Code is running and waiting for input, continue to Step 1.
Step 1: Obsidian Orientation
Section titled “Step 1: Obsidian Orientation”If this is your first time using Obsidian, take a few minutes to get oriented.
Obsidian: Key Features & How It Works
Obsidian is a local-first Markdown knowledge base. Everything lives
as plain .md files in a folder on your machine (called a vault). No
cloud lock-in, no proprietary format.
Core Concepts
Vault = a folder on your filesystem. When you open Obsidian, you
point it at a folder. That folder (and all subfolders) becomes your
vault.
Notes = Markdown files. Each note is a .md file you can open in any
text editor. Obsidian just gives you a nice UI on top.
Links = the power feature. You connect notes using [[double
brackets]]:
- [[Meeting Notes]] links to a note called "Meeting Notes"
- [[Projects/Launch Plan]] links to a note in a subfolder
- Links create a web of connected knowledge, not just a file tree
Key Features to Explore
1. Editor
- Live preview mode (rendered Markdown as you type)
- Source mode (raw Markdown)
- Supports headings, bold, italic, lists, code blocks, tables,
callouts
2. Backlinks
- Every note shows what other notes link to it
- This is how you discover connections you didn't plan
3. Graph View
- Visual map of all your notes and their connections
- Useful for spotting clusters and orphan notes
4. File Explorer (left sidebar)
- Standard folder/file tree
- Drag and drop to reorganise
- Right-click to create notes, folders, rename
5. Search
- Full-text search across all notes
- Supports regex and filters (path:, tag:, file:)
6. Tags
- Add #tag-name anywhere in a note
- Tags are searchable and filterable
- Good for status tracking (#draft, #complete)
7. Templates
- Create template notes in a designated folder
- Insert them into new notes with a hotkey
- Great for consistent structure (meeting notes, project briefs)
8. Properties (Frontmatter)
- YAML metadata at the top of a note:
title: My Note
date: 2026-02-21
status: draft
- Searchable and sortable
9. Command Palette
- Press Cmd+P (Mac) to access every action
- Faster than clicking through menus
10. Community Plugins
- Hundreds of plugins available (Kanban boards, calendars,
dataview queries)
- Enable via Settings > Community Plugins
Quick Start Workflow
1. Create a vault (pick a folder, or let Obsidian create one)
2. Make your first note (Cmd+N)
3. Create a few more notes and link them with [[brackets]]
4. Open Graph View (Cmd+P > "Graph view") to see connections
5. Set up a Templates folder in Settings > Core Plugins > Templates
Things Worth Knowing
- Everything is local. No account needed. No server. Your files,
your machine.
- Portable. The vault is just a folder of .md files. Move it
anywhere, open it with anything.
- Sync is optional. You can use Obsidian Sync (paid), iCloud,
Dropbox, or Git.
- The folder structure matters. Organise folders intentionally as
your vault grows. LLM outputs are non-deterministic and may vary from this example.
Step 2: Create the Vault
Section titled “Step 2: Create the Vault”Your vault will be called sleep-tracker. When Obsidian asks you to name the vault, use that exact name.
Step 1: Create a Vault When you first open Obsidian, you'll see a vault picker screen with two options: 1. "Create new vault" - click this one 2. Give it the name: sleep-tracker 3. Choose a location on your machine (your Documents folder works fine, so it ends up at ~/Documents/sleep-tracker) 4. Click Create Obsidian will create the folder and open it as your workspace. Step 2: Create Your First Note Once the vault is open: 1. Press Cmd+N (Mac) to create a new note 2. Click on the title area at the top and type a name, e.g. Hello World 3. In the body, type some Markdown: # My First Note This is my first note in Obsidian. ## Things I want to learn - How to link notes together - How to organise my vault - How to use templates 4. The file saves automatically. No save button needed. Step 3: Create a Second Note and Link Them 1. Press Cmd+N again 2. Name it Learning Plan 3. In the body, type: # Learning Plan I started my vault today. See my [[Hello World]] note for first impressions. The [[Hello World]] text becomes a clickable link. Click it and it takes you back to your first note. Step 4: Check the Graph View 1. Press Cmd+P to open the Command Palette 2. Type graph and select "Graph view: Open graph view" 3. You'll see two dots (your two notes) connected by a line That's it. You've got a working vault with linked notes.
LLM outputs are non-deterministic and may vary from this example.
The 6-Folder Structure
Section titled “The 6-Folder Structure”Every CoEngineers vault uses the same canonical 6-folder structure. Six folders cover everything. The numbered prefix on each folder name ensures they sort correctly and gives you a consistent convention to reference in prompts.
| Folder | VOSS Stage | Purpose |
|---|---|---|
00_brand/ | Foundation | Brand identity, tone of voice, AI blocklist |
01_offer/ | Offer | Product definition, pricing, value equation |
02_audience/ | Offer | Ideal customer profile |
03_build/ | Ship | Technical specs, PRD |
04_outreach/ | Scale | Message templates, follow-up sequences |
05_output/ | All | Where generated content lands |
What Goes Where
Section titled “What Goes Where”00_brand holds your voice guidelines. How do you want to sound? What words do you avoid? A short paragraph about your tone is enough for a personal project. For a business, you might have a full tone of voice document.
01_offer holds everything about the offer. Your Value Equation scoring, your naming options, your product listing copy. This folder answers “what am I selling and why?”
02_audience holds your target avatar. Who is this for? What do they care about? What are their frustrations? Even a half-page sketch of your ideal customer is better than nothing.
03_build holds the technical specs. A PRD (Product Requirements Document) describes what your app does, screen by screen. You specify what you want, plan the approach, break it into tasks, then implement.
04_outreach holds your sales materials. Warm outreach messages. Follow-up templates. The scripts you will use when you reach out to potential customers.
05_output holds the things you produce. Offer templates, social media posts, compiled project plans. Anything that leaves the vault and goes to the outside world starts here.
Step 3: Create the Folder Structure
Section titled “Step 3: Create the Folder Structure”Done. I've created all six folders at the root of your vault. Your file explorer in Obsidian's left sidebar should now show: sleep-tracker/ ├── 00_brand/ ├── 01_offer/ ├── 02_audience/ ├── 03_build/ ├── 04_outreach/ └── 05_output/ The numbered prefixes (00 through 05) ensure the folders always sort in the correct order, regardless of which file explorer you use. Each folder maps to a stage of the VOSS framework: Folder Stage What goes here 00_brand/ Foundation Brand identity, tone of voice, AI blocklist 01_offer/ Offer Product definition, pricing, value equation 02_audience/ Offer Ideal customer profile 03_build/ Ship Technical specs, PRD 04_outreach/ Scale Message templates, follow-up sequences 05_output/ All stages Where generated content lands All six folders are empty for now. In the next step, you'll populate them with the required files and placeholder content.
LLM outputs are non-deterministic and may vary from this example.
Step 4: Create Files with Placeholder Text
Section titled “Step 4: Create Files with Placeholder Text”Now populate the vault with its required files. These foundational documents give Claude Code the context it needs to produce personalised, on-brand outputs from the very first prompt in the Offer page.
00_brand/ tone_of_voice.md - Created. Contains placeholder sections for brand personality, tone attributes (e.g. formal vs casual, serious vs playful), language preferences, vocabulary to favour, and "sounds like / doesn't sound like" examples. ai_blocklist.md - Created. Contains placeholder sections for banned words, banned phrases, topics to avoid, formatting restrictions, and style anti-patterns. Ready for you to fill in anything the AI should never say on your behalf. 01_offer/ offer_definition.md - Created. Contains placeholder sections for product name, format (ebook, course, template pack, etc.), target buyer, the problem it solves, the transformation it delivers, pricing, and what makes it different. value_equation.md - Created as a placeholder. Contains a brief description of its purpose: scoring your offer against Hormozi's Value Equation (Dream Outcome, Perceived Likelihood of Achievement, Time Delay, Effort & Sacrifice). This file will be completed in the Offer guide. gumroad_landing.md - Created as a placeholder. Contains a brief description of its purpose: the full product listing copy for your Gumroad page, including headline, subheadline, bullet points, FAQs, and call to action. This file will be completed in the Offer guide. 02_audience/ target_avatar.md - Created. Contains placeholder sections for demographics (age, role, income), psychographics (values, beliefs, aspirations), current frustrations, failed alternatives they have tried, buying triggers, and objections. 03_build/ app_prd.md - Created. Contains placeholder sections for product overview, feature list, technical constraints, user stories, acceptance criteria, and out-of-scope items. 04_outreach/ warm_messages.md - Created. Contains placeholder templates for first-touch messages to warm contacts, with slots for personalisation (name, shared context, specific compliment). follow_up_templates.md - Created. Contains a placeholder 3-message follow-up sequence with suggested timing (e.g. Day 3, Day 7, Day 14) and tone guidance for each touchpoint. 05_output/ book_chapter_drafts/ - Subdirectory created. Empty, ready to receive generated chapter content. social_posts/ - Subdirectory created. Empty, ready to receive generated social media content. --- Your vault structure now looks like this: sleep-tracker/ ├── 00_brand/ │ ├── tone_of_voice.md │ └── ai_blocklist.md ├── 01_offer/ │ ├── offer_definition.md │ ├── value_equation.md <- placeholder │ └── gumroad_landing.md <- placeholder ├── 02_audience/ │ └── target_avatar.md ├── 03_build/ │ └── app_prd.md ├── 04_outreach/ │ ├── warm_messages.md │ └── follow_up_templates.md └── 05_output/ ├── book_chapter_drafts/ └── social_posts/ All 9 files contain placeholder content describing their purpose. The next step is to replace that placeholder content with real detail about your product, audience, and brand through an interactive Q&A session.
LLM outputs are non-deterministic and may vary from this example.
Step 5: Complete Files with Interactive Q&A
Section titled “Step 5: Complete Files with Interactive Q&A”This is where your vault goes from placeholder content to real, usable detail. Instead of filling in each file manually, you will hand Claude Code a brief and let it interview you.
Before starting, have the following ready in your head (or jotted down):
- Your product: a mobile sleep tracker app with four screens (Home, Log Entry, History, Insights) that helps people log their sleep and spot patterns over time
- Your audience: people aged 20–40 who know their sleep is poor but have never tracked it consistently — they may have tried Sleep Cycle or Apple Health but found them too complicated or too invasive
- Your brand voice: friendly, direct, no jargon, British English — you want to sound like a knowledgeable mate, not a doctor or a tech company
- Your price point: low, a few pounds — this is a simple tool, not a premium subscription
- The transformation: from guessing about sleep to seeing actual patterns, so users can make small changes that stick
Great, I have a solid starting picture of the Sleep Tracker. Let me
dig into the brand voice first since it will shape everything else.
Topic 1: Brand Voice & Tone
You said "friendly, direct, no jargon, British English" and
"knowledgeable mate." Let me sharpen that:
1. When you write about sleep, do you lean more casual ("you know
that groggy Monday feeling") or more matter-of-fact ("most
people underestimate how much poor sleep affects their day")?
2. What about humour? Is the Sleep Tracker brand playful (light
jokes, cheeky tone) or warm but straight (friendly, but no
comedy)?
3. Are there any specific words or phrases that put you off when
you see them in other health/wellness apps? For example:
"optimise your sleep," "biohack," "unlock your potential,"
"hustle."
4. How do you feel about emojis in product copy and onboarding
screens? Fine in moderation, or avoid them entirely?
5. Should the app ever give health advice (e.g. "try reducing
screen time before bed") or strictly stick to showing data
without recommendations?
Take your time with these. Once I have your answers, I'll write
tone_of_voice.md and ai_blocklist.md and confirm they're saved
before we move on. LLM outputs are non-deterministic and may vary from this example.
Claude Code will lead this conversation. Answer each question as thoroughly as you can. The more detail you provide, the better your vault files will be.
Step 6: Validate Your Vault
Section titled “Step 6: Validate Your Vault”The final step is to verify that your vault is set up correctly. The vault-validator skill will auto-activate when you mention validating your vault.
Here's your validation report: ═══════════════════════════════════════════════════ VAULT VALIDATION REPORT ═══════════════════════════════════════════════════ Vault: sleep-tracker Path: ~/Documents/sleep-tracker Date: 2026-02-22 ─────────────────────────────────────────────────── STRUCTURE ─────────────────────────────────────────────────── Folders: 6/6 required folders present Files: 9/9 required files present No structural issues found. ─────────────────────────────────────────────────── METADATA ─────────────────────────────────────────────────── Files checked: 9 Files with valid metadata: 9 Files with issues: 0 No metadata issues found. ─────────────────────────────────────────────────── QUALITY ─────────────────────────────────────────────────── Empty files: 0 Naming issues: 0 Stale drafts: 0 No quality issues found. ─────────────────────────────────────────────────── RESULT ─────────────────────────────────────────────────── Errors: 0 Warnings: 0 PASS -- Vault is valid ═══════════════════════════════════════════════════ Your vault passes all six checks. All 6 folders are present, all 9 required files are in their correct locations, every file has valid YAML frontmatter with the 5 required fields, no files are empty, all names use snake_case, and no stale drafts (everything was created today). The two subdirectories (05_output/book_chapter_drafts/ and 05_output/social_posts/) are empty, which is expected at this stage. Your vault is ready. You can move on to the Offer page to complete value_equation.md and gumroad_landing.md.
LLM outputs are non-deterministic and may vary from this example.
The validator checks:
- All 6 folders exist with correct names
- All 9 required files are in place
- Every file has valid YAML frontmatter with the 5 required fields
- All filenames use snake_case
- No files are empty beyond their frontmatter
If anything fails, the report will tell you exactly what to fix.
What Comes Next
Section titled “What Comes Next”Once your vault is set up and validated, move on to the Offer page to define your Sleep Tracker offer, validate it with the Value Equation, and find your first 10 early adopters.