4 Files. 1 Slash Command. 0 Burn.

Build an AI content pipeline for developers that turns build sessions into publishable drafts. Open-source, 4 files, runs from your terminal.


What a Second Brain Actually Is

No jargon. No SaaS. No vendor lock-in. A second brain is a folder of plain-text notes that an LLM can read.

I do the work. I never post about the work. That was my problem for two years. Every Tuesday I would finish a build session, look at the work, think ‘I should post about this,’ and not post. The reasons were always the same: I didn’t know what to post, I didn’t know where to start, and by Wednesday I had moved on.

The pattern

Every idea gets a page

Every page has frontmatter. Every page links to other pages with wikilinks. The links form a graph. The graph is the brain. The LLM gets context — not just the page, but the whole web of ideas around it.

The result

Posts that sound like you

When the LLM has context it writes a post that knows the rest of your brain. The post is not a generic tweet. The post is a sample of your thinking — with your terminology in your voice.

A second brain is a folder of linked markdown files. The tool is not the point. The folder is the point.


The 4-File Architecture

The content engine is 4 files. That is the whole system. If your system is 40 files, you have a system, not a tool.

~/.config/opencode/
â¨-- opencode.jsonc          (registers the skill + command)
â¨-- .env                    (X / LinkedIn API keys, chmod 600)
â¨-- skill/geogent-content/
î--î-- SKILL.md            (the system spec, auto-injected into every session)
â¨-- command/
    â¨-- post.md             (the /post slash command)

The rest lives in the vault. At the end of a session, I run /post. The slash command reads the most recent session log, reads the 10 strategy pages, and drafts 2-3 posts. The drafts land in content/queue/. I open the folder, pick one, post it.

The system drafts. I decide. The LLM is the writer. I am the editor. The boundary is the queue.


The Decision Tree

The hardest part of ‘should I post this’ is not the writing. It is the type. Is this a ship post? A lesson post? A decision post?

Did something ship?
  YES → Ship Announcement
  NO  → Was there a decision?
          YES → Decision Post
          NO  → Was there a lesson?
                  YES → Today I Learned
                  NO  → Milestone?
                          YES → Vision / Big Picture
                          NO  → Dev Log

The tree is a 7-node decision procedure. It takes the session log as input and outputs a single type. The type determines the structure. The structure determines the voice. The voice determines the post.

This is the pillar method in one sentence: one piece of work becomes many pieces of content, all sampled from one source.


The Standalone Quality Test

The first version produced 25 X drafts in one sitting. Half made no sense. The fix is 4 checks every draft must pass.

5s

The 5-second test

A stranger can extract 1 idea in 5 seconds. If they cannot, the post fails. The reader does not know who you are.

0

No-prior-episode test

The post does not require reading earlier posts. No ‘as I mentioned last time’. The post is the only context the reader has.

1

Value-without-me test

Replace ‘I’ with a stranger’s name. The post still works. The insight is universal, not personal.

4

Explain-to-a-friend test

The post can be retold in a bar without ‘you had to be there.’ The retelling is the test of clarity.

A draft that fails 1 check is fixable. A draft that fails 2+ checks is a fragment, scrap it. The system runs the test on every draft before it enters the queue. Posts that fail do not enter the queue. The queue stays clean.


The 3-Platform Model

X, LinkedIn, and the blog. Each has a role. The blog is the source of truth.

Fast surface

X

280 characters. 1-3 posts per session. Tests ideas fast. The speed layer.

Middle surface

LinkedIn

1300-3000 characters. 1-2 posts per week. Story mode. Reaches builders and founders. The reach layer.

Deep surface

The blog

1000-2500 words. 1 post per 1-2 weeks. The pillar. The source of truth. The depth layer.

The blog is the source of truth. X and LinkedIn are samples of the blog. When I write a pillar blog post, the system samples 3 angles for LinkedIn and 5-10 atomic insights for X. The samples are not new content. The samples are extracts.


The Stack

The whole engine runs on infra I already had. No new SaaS. No new subscription. No new credit card.

Free

The base stack

Obsidian. opencode. The file system. Cloudflare Pages. All free. All on infra you already have. The only thing that costs is the LLM.

$0/mo

The manual path

No X API, no LinkedIn API. The drafts sit in the queue. You copy-paste manually. The system works without the API. The cost is zero.

$100/mo

The API path

X API basic tier + optional LinkedIn API. Drafts auto-publish. The same cost as a single agency LinkedIn post per month. The asymmetry is the strategy.


The 24-Hour Build

The system is open-source. The 4 files are 4 markdown files. The whole thing is reproducible in an afternoon.

01
Hour 1: the vault Set up an Obsidian vault. 4 folders: entities/, concepts/, summaries/, raw/. Write 5 pages about your work. Link with wikilinks. The LLM needs the graph.
02
Hour 2: the strategy pages Write 4 pages: content strategy, tone of voice, content types, ground vision. These are the pages that define what the system posts. If you cannot write the spec, the LLM cannot draft.
03
Hour 3: the slash command Install opencode. Create a SKILL.md. Create a /post command. Wire it to read the vault, read the strategy pages, run the decision tree, output drafts to a queue folder. Test on a fake session.
04
Hour 4: the first real post Do a real work session. At the end, run /post. Read the drafts. Run the standalone quality test. Pick the best. Post it. The system has now produced its first post.

The first post will not be perfect. The second will be better. The tenth will be on-brand. The fiftieth will be a library. The system compounds.


The Landing

The whole content engine is 4 markdown files. The whole workflow is a slash command. The whole output is a queue of drafts you approve.

The LLM

The writer

Good at writing. Bad at deciding what to write. The deciding is yours. The system takes the deciding off your plate. The writing is on autopilot.

You

The editor

Decide what gets published. The system queues the drafts. You approve. The boundary is the queue. The decision is yours.

If you have been not posting, build the 4 files. The 4 files are the system. The system is the post. The post is the audience. The audience is the leverage.