Skip to content

Vault

Before you start

Requires: Prerequisites

Estimated time: ~30 minutes with your LLM

Your Vault: 6 folders from 00_brand to 05_output, your single source of truth

A vault is a folder of text files. That is it.

Specifically, it is a collection of markdown files organised into folders with a consistent structure. Markdown is a simple formatting language. If you have ever put asterisks around a word to make it bold, you have used markdown. Every file in the vault is a plain text file with a .md extension.

We use Obsidian to manage the vault. Obsidian is a free application that makes markdown files easy to create, search, link, and browse. It runs on Mac, Windows, Linux, and mobile. Your files live on your computer, not in someone else’s cloud.

Why does any of this matter? Because every piece of your project (the offer definition, the audience profile, the app spec, the outreach messages) starts as a file in a vault. The vault is the single source of truth. When you ask your LLM to build something, you point it at files in the vault. When you write a product listing, 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, every AI tool on the market can read it.

You could use Notion. Or Google Docs. Or Word. But markdown has three properties that matter for the VOSS framework.

  • It is universal. Claude Code reads markdown. OpenAI reads markdown. Gemini reads markdown. Your vault works regardless of which AI tool you choose. No format conversion. No copy-pasting between tools.
  • It is portable. Your files are yours. If Obsidian disappeared tomorrow, your vault would still work. Open the files in VS Code, Warp, or a plain text editor. They are just text.
  • It is fast. No loading spinners. No sync delays. No “this document is too large to display.” Markdown files open instantly, even on older machines.

The tradeoff is that markdown is not as visually polished as a Word document or a Notion page. You will not get drag-and-drop columns or embedded databases. For building with LLMs, that tradeoff is worth it. You want speed and compatibility, not pretty layouts.

Download Obsidian

macOS

Download from obsidian.md/download and drag the app into your Applications folder. Open it once to complete the initial setup.

Windows

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 your LLM and ask it to help you fix it.

Step 0: Open Your Terminal and Start Your AI Tool

Section titled “Step 0: Open Your Terminal and Start Your AI Tool”

Before you can run any prompts, you need a terminal open and an AI coding tool running.

  1. Open a terminal. If you have not used a terminal before, follow the Using the Terminal guide.
  2. Navigate to the folder where you want your project to live:
    cd ~/Documents
  3. Start your AI coding tool. Type the command for whichever tool you have installed:
    claude # Claude Code
    gemini # Gemini CLI
    codex # Codex

If you have not installed a tool yet, pick one from the Tool Setup Guides and follow the instructions there.

Once your tool is running and waiting for input, continue to Step 1.

If this is your first time using Obsidian, take a few minutes to get oriented.

Step 1
I have downloaded Obsidian. Can you take me through the key features and how Obsidian works?

Your vault name should reflect your project. Something descriptive like [your-project-name] works well.

Step 2
I have Obsidian installed and open. Can you take me through how to create a vault and add my first markdown file?

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.

FolderVOSS StagePurpose
00_brand/FoundationBrand identity, tone of voice, AI blocklist
01_offer/OfferProduct definition, pricing, value equation
02_audience/OfferIdeal customer profile
03_build/ShipTechnical specs, PRD
04_outreach/ScaleMessage templates, follow-up sequences
05_output/AllWhere generated content lands

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
Inside my Obsidian vault at [path-to-your-vault], create six folders at the root using these exact names: 1. 00_brand 2. 01_offer 3. 02_audience 4. 03_build 5. 04_outreach 6. 05_output

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 your LLM the context it needs to produce personalised, on-brand outputs from the very first prompt in the Offer guide.

Step 4
In my Obsidian vault at [path-to-your-vault], create the following files in the exact folders specified. Each file should contain placeholder content that describes its purpose so I can fill in the details later. 1. 00_brand/tone_of_voice.md: Brand voice guidelines, tone, style, language preferences, and examples of how the brand should and should not sound. 2. 00_brand/ai_blocklist.md: A list of words, phrases, topics, and styles the AI should never use when generating content for this brand. 3. 01_offer/offer_definition.md: The core offer, what the product is, who it is for, and what transformation it delivers. 4. 01_offer/value_equation.md: [PLACEHOLDER, completed in the Offer guide] The Hormozi Value Equation scoring for this offer. Leave this file with a brief description of its purpose for now. 5. 01_offer/gumroad_landing.md: [PLACEHOLDER, completed in the Offer guide] The Gumroad product listing copy. Leave this file with a brief description of its purpose for now. 6. 02_audience/target_avatar.md: A detailed profile of the ideal customer, demographics, psychographics, frustrations, and buying triggers. 7. 03_build/app_prd.md: The product requirements document, features, constraints, user stories, and acceptance criteria. 8. 04_outreach/warm_messages.md: Templates for personalised outreach messages to warm contacts. 9. 04_outreach/follow_up_templates.md: A structured follow-up sequence for contacts who have not replied. Also create these two subdirectories inside 05_output: - 05_output/book_chapter_drafts/ - 05_output/social_posts/ Confirm each file was created in the correct folder.

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 your LLM a brief and let it interview you.

Before starting, have the following ready in your head (or jotted down):

  • Your product: what it is, what format it takes, what transformation it delivers
  • Your audience: who it is for, their frustrations, what they have tried before
  • Your brand voice: how you want to sound and any words or phrases to avoid
  • Your pricing: what you plan to charge and why that price is fair
  • Your story: why you are the right person to create this product
Step 5
I need you to interview me to complete 7 files in my Obsidian vault at [path-to-your-vault]. Ask me questions one topic at a time. Do not ask everything at once. The files to complete are: 1. 00_brand/tone_of_voice.md 2. 00_brand/ai_blocklist.md 3. 01_offer/offer_definition.md 4. 02_audience/target_avatar.md 5. 03_build/app_prd.md 6. 04_outreach/warm_messages.md 7. 04_outreach/follow_up_templates.md Do NOT touch 01_offer/value_equation.md or 01_offer/gumroad_landing.md (those are completed later in the Offer guide). For each file, add YAML frontmatter between --- markers at the top with these 5 fields: - title (string): document title - created (date): today in YYYY-MM-DD format - updated (date): same as created - status (enum): set to 'draft' - tags (list): at least one relevant tag Start by asking about my product and audience. Once you have enough detail, move on to brand voice, then outreach. Write each file as you go and confirm it was saved before moving to the next topic.

The LLM will lead this conversation. Answer each question as thoroughly as you can. The more detail you provide, the better your vault files will be.

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.

Step 6
Validate my vault at [path-to-your-vault] against the CoEngineers canonical structure.

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.

Here is the complete canonical vault structure for quick reference:

[your-project-name]/
├── 00_brand/
│ ├── tone_of_voice.md # Brand voice, style, and language rules
│ └── ai_blocklist.md # Words, phrases, and topics the AI must avoid
├── 01_offer/
│ ├── offer_definition.md # What the product is, who it is for, and the transformation
│ ├── value_equation.md # Hormozi Value Equation scoring and analysis
│ └── gumroad_landing.md # Full product listing copy
├── 02_audience/
│ └── target_avatar.md # Ideal customer profile with demographics and triggers
├── 03_build/
│ └── app_prd.md # Product requirements, user stories, and acceptance criteria
├── 04_outreach/
│ ├── warm_messages.md # Personalised outreach message templates
│ └── follow_up_templates.md # Structured follow-up sequence for non-replies
└── 05_output/
├── book_chapter_drafts/ # Generated book chapter content
└── social_posts/ # Generated social media content

Do not overthink this. If you want to skip the full interactive Q&A in Step 4 and start with something simpler, create three files manually.

1. target_avatar.md (in 02_audience/)

Write a paragraph about who your product is for. Not a detailed persona document. Just answer: who has this problem, and why would they care about solving it?

2. offer_definition.md (in 01_offer/)

Write a paragraph about the offer. Not the features. The change. What is different about the user’s life after they use your product?

3. app_prd.md (in 03_build/)

List the screens in your app and write one sentence about each. This becomes the spec that your LLM works from.

That is it. Three files. Maybe 20 minutes of work. But now you have an initial vault with structure. And when you open your LLM coding tool, you have context to give it.

Your vault is now set up and validated. You have a clean 6-folder structure, 9 foundational documents with detailed content, and YAML frontmatter metadata on every file.

When you are ready, move on to the Offer guide to define your product, validate your idea with the Value Equation, and create a compelling offer using the vault you just built.