<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Andrew Eddie</title>
    <description>The latest articles on Forem by Andrew Eddie (@eddieajau).</description>
    <link>https://forem.com/eddieajau</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1309062%2F12b6c7bc-8152-4b62-9423-2bc3b7355017.jpeg</url>
      <title>Forem: Andrew Eddie</title>
      <link>https://forem.com/eddieajau</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/eddieajau"/>
    <language>en</language>
    <item>
      <title>Custom Claude Code Commands That Simplified My Coding Sessions</title>
      <dc:creator>Andrew Eddie</dc:creator>
      <pubDate>Mon, 23 Mar 2026 23:27:17 +0000</pubDate>
      <link>https://forem.com/eddieajau/new-claude-code-commands-that-simplified-my-coding-sessions-p96</link>
      <guid>https://forem.com/eddieajau/new-claude-code-commands-that-simplified-my-coding-sessions-p96</guid>
      <description>&lt;p&gt;Late last year I wrote two articles about working with AI assistants across sessions. Both worked really well. Copy-paste the handover prompt. Update the docs at the end of the session. Archive completed items before the file gets unwieldy. Simple. Turns out though, it could be even simpler.&lt;/p&gt;

&lt;p&gt;About a month ago I started using Claude Code and discovered commands. Hang on, they're just prompts stored in files. New hammer looking for nails: you know the drill.&lt;/p&gt;

&lt;p&gt;I tried simplifying the continuation prompt. It became &lt;code&gt;/next&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;I finished a bunch of tasks, which inevitably led to the next command: &lt;code&gt;/archive&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;My TODO list was empty. I needed &lt;code&gt;/todo&lt;/code&gt; to create new ones.&lt;/p&gt;

&lt;p&gt;TODO contained a growing list of noisy deferred ideas. This led to &lt;code&gt;/idea&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;A handful of slash commands was far easier to remember. I've structured this article so you can point an AI at it to set up the files for you. What could be easier?&lt;/p&gt;

&lt;h2&gt;
  
  
  The System at a Glance
&lt;/h2&gt;

&lt;p&gt;Four files in your project root:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;File&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;CLAUDE.md&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Agent instructions. Loaded automatically every session.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;TODO.md&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Current work. Step-by-step tasks with checkboxes.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;HISTORY.md&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Completed work. Archived from TODO when done.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;IDEAS.md&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Future work. Low-priority, separated from active focus.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Four commands in &lt;code&gt;.claude/commands/&lt;/code&gt;:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/next&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Reads TODO.md, finds the first unchecked task, and continues working.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/archive&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Moves completed tasks from TODO.md to HISTORY.md.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/idea&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Captures a new idea in IDEAS.md without interrupting flow.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/todo&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Plans the next step and writes it into TODO.md (after your approval).&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;That's the whole system. Let's have a look at each piece.&lt;/p&gt;

&lt;h2&gt;
  
  
  CLAUDE.md: Agent Instructions
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;CLAUDE.md&lt;/code&gt; is the file Claude Code reads automatically at the start of every session. It replaces the "Quick Context" section from my earlier &lt;code&gt;TODO.md&lt;/code&gt; pattern and the manual "Read these docs first" prompt.&lt;/p&gt;

&lt;p&gt;This file isn't documentation for humans. It's configuration for the AI. Write it as instructions, not prose.&lt;/p&gt;

&lt;p&gt;Here's a distilled template you can adapt to any project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# [Project Name] — Agent Instructions&lt;/span&gt;

&lt;span class="gu"&gt;## Read first&lt;/span&gt;
&lt;span class="p"&gt;
1.&lt;/span&gt; [KEY_DOC].md — [what it covers]
&lt;span class="p"&gt;2.&lt;/span&gt; [SOURCE_DIR]/ — [what to look at]

&lt;span class="gu"&gt;## Dev environment&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; [How to run the project]
&lt;span class="p"&gt;-&lt;/span&gt; [Key URLs, ports, services]

&lt;span class="gu"&gt;## Architecture rules (never violate these)&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; [Rule 1: e.g. "No direct database access from UI components"]
&lt;span class="p"&gt;-&lt;/span&gt; [Rule 2: e.g. "All state changes go through the store"]
&lt;span class="p"&gt;-&lt;/span&gt; [Rule 3: e.g. "No React — vanilla JS only"]

&lt;span class="gu"&gt;## Key commands&lt;/span&gt;

[command]  # [lint?]
[command]  # [build?]
[command]  # [run?]

&lt;span class="gu"&gt;## Working style&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; One step at a time — implement, then stop for review
&lt;span class="p"&gt;-&lt;/span&gt; If anything is ambiguous or has meaningful trade-offs, ask first

&lt;span class="gu"&gt;## Verify steps&lt;/span&gt;

TODO items marked "Verify:" require manual testing in a running
browser/server. Never tick these off — leave them unchecked and
list them for the user to confirm.

&lt;span class="gu"&gt;## Commits&lt;/span&gt;

Never commit unless the user explicitly asks.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What to put in here and what to leave out
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Put in:&lt;/strong&gt; Anything the AI needs to know every session. Architecture constraints. How to run the project. Non-obvious conventions. Working style preferences (do you want it to ask before editing, or just go?).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Leave out:&lt;/strong&gt; Things derivable from code (file structure, function signatures). Things that change often (current task, recent history). Anything longer than a page. If a section is growing, extract it into its own file and add a "Read first" pointer.&lt;/p&gt;

&lt;p&gt;The "Architecture rules" section does the most work. My experience is that without explicit constraints, the AI will suggest whatever framework or pattern it's been trained on most heavily. If you're using Custom Elements, it will suggest React. If you're using Fastify, it will suggest Express. Name your constraints. The AI respects what it can read.&lt;/p&gt;

&lt;p&gt;The "Verify steps" and "Commits" sections solve a specific problem: AI agents that tick off manual testing checkboxes without testing, or commit code without being asked. Both have bitten me. State the rules once in CLAUDE.md and they apply to every session.&lt;/p&gt;

&lt;h2&gt;
  
  
  TODO.md: Current Work
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;TODO.md&lt;/code&gt; is where active work lives. Nothing else. No backlog, no ideas, no completion history. Just the current and upcoming tasks with enough detail for the AI to pick up where you left off.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# [Project Name]: TODO&lt;/span&gt;

&lt;span class="gu"&gt;## Goal&lt;/span&gt;

[One or two sentences describing what you're building toward.]

&lt;span class="gu"&gt;## Milestones&lt;/span&gt;

[List of milestone numbers/names showing progression.]

&lt;span class="gu"&gt;## Next Steps&lt;/span&gt;

&lt;span class="gu"&gt;### N) Task Title&lt;/span&gt;

One-line description of the feature or change.

&lt;span class="gu"&gt;#### Sub-section name&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; [ ] Implementation task
&lt;span class="p"&gt;-&lt;/span&gt; [ ] Implementation task

&lt;span class="gu"&gt;#### Verify&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; [ ] Verify: manual testing instruction
&lt;span class="p"&gt;-&lt;/span&gt; [ ] Verify: manual testing instruction
&lt;span class="p"&gt;
---
&lt;/span&gt;
&lt;span class="gu"&gt;### N+1) Next Task Title&lt;/span&gt;

...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Why this structure works
&lt;/h3&gt;

&lt;p&gt;Each task is a numbered step with checkboxes. The AI reads the file, finds the first unchecked box, and knows exactly where to start.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;#### Verify&lt;/code&gt; sections are a forced hold. &lt;code&gt;CLAUDE.md&lt;/code&gt; tells the AI to never tick these off, so it implements everything it can and then stops. You test in the browser, confirm it works, and your next prompt is usually "verified, mark as done, commit." This is the human-in-the-loop checkpoint. Ironically, it lends itself to yet another command (maybe &lt;code&gt;/verified&lt;/code&gt;), which is how you know the pattern is working: it's easy to extend.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;---&lt;/code&gt; between tasks acts as a clean boundary. When &lt;code&gt;/archive&lt;/code&gt; removes a completed task, it removes everything from the &lt;code&gt;###&lt;/code&gt; heading to the next &lt;code&gt;---&lt;/code&gt; or &lt;code&gt;###&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  HISTORY.md: Completed Work
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;HISTORY.md&lt;/code&gt; is a date-stamped log of completed tasks. It gives the AI temporal context without cluttering the active task list.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# [Project Name]: History&lt;/span&gt;

&lt;span class="gu"&gt;## 2026-03-21&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; Step 37: Markdown syntax highlighting
&lt;span class="p"&gt;-&lt;/span&gt; Step 36: Re-index and housekeeping improvements

&lt;span class="gu"&gt;## 2026-03-15&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; Step 35: Soft delete and bin management
&lt;span class="p"&gt;-&lt;/span&gt; Step 34: Ambient summaries

&lt;span class="gu"&gt;## 2026-03-10&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; Step 33: Notebook drag and drop
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The format is minimal. Date heading, bullet points with step number and title. That's enough for the AI to understand project maturity, recent momentum, and what's already been built.&lt;/p&gt;

&lt;p&gt;You don't write this file. The &lt;code&gt;/archive&lt;/code&gt; command does.&lt;/p&gt;

&lt;h2&gt;
  
  
  IDEAS.md: Future Work
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;IDEAS.md&lt;/code&gt; is where backlog items, feature ideas, and "maybe someday" thoughts go. It's deliberately separated from TODO.md to solve the original problem: AI assistants treating backlog items with equal weight to current work.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# [Project Name]: Ideas&lt;/span&gt;

These are not prioritised. They are captured here so they don't get
lost and don't pollute the active TODO.

&lt;span class="gu"&gt;### Idea Title&lt;/span&gt;

One or two paragraphs explaining the idea, its motivation, and how
it might connect to existing work.

&lt;span class="gu"&gt;### Another Idea&lt;/span&gt;

Description.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The AI doesn't read this file unless you ask it to. That's the point. When you're mid-session working on step 42 and a stray thought hits you, type &lt;code&gt;/idea wiki-links with autocomplete&lt;/code&gt; and it gets captured without breaking your flow or contaminating the task list.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Four Commands
&lt;/h2&gt;

&lt;p&gt;Commands live in &lt;code&gt;.claude/commands/&lt;/code&gt; as markdown files.&lt;/p&gt;

&lt;h3&gt;
  
  
  /next
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;Read &lt;span class="sb"&gt;`TODO.md`&lt;/span&gt; and continue working on the current or next task.

&lt;span class="gu"&gt;## Steps&lt;/span&gt;
&lt;span class="p"&gt;
1.&lt;/span&gt; Read &lt;span class="sb"&gt;`TODO.md`&lt;/span&gt;.
&lt;span class="p"&gt;
2.&lt;/span&gt; Find the &lt;span class="gs"&gt;**current task**&lt;/span&gt; — the first task under "Next Steps"
   that has at least one unchecked (&lt;span class="sb"&gt;`[ ]`&lt;/span&gt;) non-Verify checkbox.
&lt;span class="p"&gt;
3.&lt;/span&gt; Summarise the task and which steps remain, then proceed with
   the next unchecked step.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is the command that replaced the handover prompt. You open your laptop, start Claude Code, type &lt;code&gt;/next&lt;/code&gt;, and the AI picks up where you left off. No copy-pasting. No remembering. No context.&lt;/p&gt;

&lt;p&gt;I forget where I'm up to constantly. This command means I don't have to remember.&lt;/p&gt;

&lt;h3&gt;
  
  
  /archive
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;Archive completed tasks from TODO.md into HISTORY.md.

&lt;span class="gu"&gt;## Steps&lt;/span&gt;
&lt;span class="p"&gt;
1.&lt;/span&gt; Read &lt;span class="sb"&gt;`TODO.md`&lt;/span&gt; and &lt;span class="sb"&gt;`HISTORY.md`&lt;/span&gt;.
&lt;span class="p"&gt;
2.&lt;/span&gt; Identify &lt;span class="gs"&gt;**fully completed tasks**&lt;/span&gt; — a task is fully completed
   when:
&lt;span class="p"&gt;   -&lt;/span&gt; Every non-Verify checkbox is checked (&lt;span class="sb"&gt;`[x]`&lt;/span&gt;)
&lt;span class="p"&gt;   -&lt;/span&gt; Verify checkboxes are ignored (they are always unchecked
     by design)
&lt;span class="p"&gt;   -&lt;/span&gt; If a task has no checkboxes at all, it is NOT considered
     complete
&lt;span class="p"&gt;
3.&lt;/span&gt; If no tasks are fully complete, report that and stop.
&lt;span class="p"&gt;
4.&lt;/span&gt; For each completed task, append to &lt;span class="sb"&gt;`HISTORY.md`&lt;/span&gt; grouped
   by date:
&lt;span class="p"&gt;   -&lt;/span&gt; If a &lt;span class="sb"&gt;`## YYYY-MM-DD`&lt;/span&gt; heading for today already exists,
     add bullet points under it.
&lt;span class="p"&gt;   -&lt;/span&gt; Otherwise, append a new date heading first.
&lt;span class="p"&gt;
5.&lt;/span&gt; Remove the completed task sections from &lt;span class="sb"&gt;`TODO.md`&lt;/span&gt;.
&lt;span class="p"&gt;
6.&lt;/span&gt; Show the user what was archived and what remains, then ask
   them to confirm before committing.
&lt;span class="p"&gt;
7.&lt;/span&gt; When confirmed, commit both files with message:
   &lt;span class="sb"&gt;`Archive completed tasks: &amp;lt;comma-separated task titles&amp;gt;`&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When a task is done (all implementation checkboxes ticked, Verify items left unchecked by design), &lt;code&gt;/archive&lt;/code&gt; moves it to HISTORY.md with today's date, cleans TODO.md, and commits.&lt;/p&gt;

&lt;h3&gt;
  
  
  /idea
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;Quickly capture an idea in IDEAS.md.

&lt;span class="gu"&gt;## Steps&lt;/span&gt;
&lt;span class="p"&gt;
1.&lt;/span&gt; Read &lt;span class="sb"&gt;`IDEAS.md`&lt;/span&gt; to understand the current structure and avoid
   duplicates.
&lt;span class="p"&gt;
2.&lt;/span&gt; Take the user's input and expand it into a well-formed idea
   entry:
&lt;span class="p"&gt;   -&lt;/span&gt; &lt;span class="sb"&gt;`### Title`&lt;/span&gt; — short, descriptive name
&lt;span class="p"&gt;   -&lt;/span&gt; One or two paragraphs explaining the idea, its motivation,
     and how it connects to the project
&lt;span class="p"&gt;   -&lt;/span&gt; If the idea relates to existing ideas already in the file,
     note the connection
&lt;span class="p"&gt;
3.&lt;/span&gt; Append the new entry to the end of &lt;span class="sb"&gt;`IDEAS.md`&lt;/span&gt;.
&lt;span class="p"&gt;
4.&lt;/span&gt; Show the user what was added.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You type &lt;code&gt;/idea streaming responses for the ask mode&lt;/code&gt; and it writes a properly formatted entry. The idea is captured. Your flow isn't broken. TODO.md stays clean.&lt;/p&gt;

&lt;h3&gt;
  
  
  /todo
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;Plan the next step for TODO.md without executing it.

&lt;span class="gu"&gt;## Steps&lt;/span&gt;
&lt;span class="p"&gt;
1.&lt;/span&gt; Read &lt;span class="sb"&gt;`TODO.md`&lt;/span&gt;, &lt;span class="sb"&gt;`DESIGN.md`&lt;/span&gt;, and &lt;span class="sb"&gt;`HISTORY.md`&lt;/span&gt;.
&lt;span class="p"&gt;
2.&lt;/span&gt; Read the current source code relevant to the feature being
   planned.
&lt;span class="p"&gt;
3.&lt;/span&gt; Break the feature into small, ordered implementation steps.
   Group related tasks under sub-sections.
   Include a Verify section with manual testing checks.
&lt;span class="p"&gt;
4.&lt;/span&gt; Present the proposed step to the user for review.
   Do NOT edit TODO.md yet.
&lt;span class="p"&gt;
5.&lt;/span&gt; Once approved, write the step into the "Next Steps" section
   of &lt;span class="sb"&gt;`TODO.md`&lt;/span&gt;.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This one is for planning. When you finish a phase and need to figure out what's next, &lt;code&gt;/todo add entity-aware filtering&lt;/code&gt; reads the codebase, reads the history, and proposes a detailed step-by-step plan. You review it, adjust it, approve it. Then it writes it into TODO.md and you can &lt;code&gt;/next&lt;/code&gt; to start executing.&lt;/p&gt;

&lt;h2&gt;
  
  
  How It Fits Together
&lt;/h2&gt;

&lt;p&gt;A typical workflow looks like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Start of session:&lt;/strong&gt; Type &lt;code&gt;/next&lt;/code&gt;. The AI reads &lt;code&gt;TODO.md&lt;/code&gt;, finds the current step, summarises where you are, and starts working.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;During work:&lt;/strong&gt; The AI implements each checkbox, stops for review, and moves to the next. If a stray idea comes up, type &lt;code&gt;/idea [description]&lt;/code&gt; to capture it without losing focus.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Task complete:&lt;/strong&gt; All implementation checkboxes are ticked. The AI lists the Verify items for you to test manually. You test, confirm, and ask for a commit.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Housekeeping:&lt;/strong&gt; Type &lt;code&gt;/archive&lt;/code&gt; to move completed tasks to &lt;code&gt;HISTORY.md&lt;/code&gt;. Type &lt;code&gt;/todo [next feature]&lt;/code&gt; to plan the next step.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Next session:&lt;/strong&gt; Type &lt;code&gt;/clear&lt;/code&gt; then &lt;code&gt;/next&lt;/code&gt;. The AI picks up exactly where you left off.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The human's job is to review, test, and decide. The protocol's job is to remember.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting Up a New Project
&lt;/h2&gt;

&lt;p&gt;Share this article with Claude Code and ask it to scaffold the files. Or copy the templates above:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create &lt;code&gt;CLAUDE.md&lt;/code&gt; in your project root with your architecture rules and dev environment.&lt;/li&gt;
&lt;li&gt;Create &lt;code&gt;TODO.md&lt;/code&gt; with a goal and your first task.&lt;/li&gt;
&lt;li&gt;Create &lt;code&gt;HISTORY.md&lt;/code&gt; with just a heading.&lt;/li&gt;
&lt;li&gt;Create &lt;code&gt;IDEAS.md&lt;/code&gt; with a heading and a note that items are not prioritised.&lt;/li&gt;
&lt;li&gt;Create the four command files in &lt;code&gt;.claude/commands/&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The commands are generic enough to work across projects without modification. CLAUDE.md is the only file that needs project-specific content.&lt;/p&gt;

&lt;h2&gt;
  
  
  Scope and Honesty
&lt;/h2&gt;

&lt;p&gt;This is a personal workflow system. It's great for solo work. It could work in a team. It doesn't replace Jira.&lt;/p&gt;

&lt;p&gt;It doesn't replace documentation. &lt;code&gt;CLAUDE.md&lt;/code&gt; tells the AI how to work on your project. It doesn't explain your architecture to a new team member. If your project needs a &lt;code&gt;DESIGN.md&lt;/code&gt;, have the AI write one and point to it from &lt;code&gt;CLAUDE.md&lt;/code&gt;'s "Read first" section. It's only a matter of time before you add &lt;code&gt;/docs&lt;/code&gt; to tell the AI to summarise what 'we' just built and make sure the documentation is aligned with the current state of the code.&lt;/p&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
      <category>claudecode</category>
    </item>
    <item>
      <title>Teaching AI to Write Like Me</title>
      <dc:creator>Andrew Eddie</dc:creator>
      <pubDate>Sun, 22 Mar 2026 05:05:02 +0000</pubDate>
      <link>https://forem.com/eddieajau/teaching-ai-to-write-like-you-3aae</link>
      <guid>https://forem.com/eddieajau/teaching-ai-to-write-like-you-3aae</guid>
      <description>&lt;p&gt;Every time you ask an AI to help you write, it sounds like an AI. Not because the AI is bad at writing, but because it has no idea who you are. It defaults to training data: a blend of every Medium post, technical blog, and corporate copywriter it has ever ingested. The result is competent, generic, and nothing like you.&lt;/p&gt;

&lt;p&gt;And here's the thing. You already have the solution. It's sitting in your git history, your old blog posts, your archived articles. Years of writing that is unmistakably, provably yours.&lt;/p&gt;

&lt;p&gt;I recently sat down with Claude and shared 169 of my own blog posts spanning 2007 to 2014. The goal was to build a detailed voice profile that I could include in any writing project to override the AI's default voice. Not a vague "write in a casual tone" instruction. A binding, specific, line-by-line reference document that tells the AI exactly how I write, and exactly how I don't.&lt;/p&gt;

&lt;p&gt;The result was effective. And the process is something anyone with a writing history can replicate.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Learned About My Own Voice
&lt;/h2&gt;

&lt;p&gt;It turns out that my voice was pretty consistent across seven years and very different content types (tutorials, opinion pieces, product announcements, conference talks, and community commentary). The AI identified solid and consistent patterns:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I almost always explain &lt;em&gt;why&lt;/em&gt; before &lt;em&gt;how&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;My sentence rhythm follows a short-medium-medium-short pattern&lt;/li&gt;
&lt;li&gt;I use "we" when teaching and "I" when taking a position&lt;/li&gt;
&lt;li&gt;I reach for developer-native metaphors over literary ones&lt;/li&gt;
&lt;li&gt;My enthusiasm shows through depth and detail, never through superlatives&lt;/li&gt;
&lt;li&gt;I have signature phrases I use without thinking ("Let's have a look at...", "Fair question.", "And here's the thing")&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What was absent? No exclamation marks. No "amazing" or "incredible". No "dive deep" or "leverage". No corporate jargon. These are all things AI defaults to constantly, and none of them are me.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Voice Evolved
&lt;/h2&gt;

&lt;p&gt;I also compared my 2007-2014 writing against something I'd written recently: a formal retrospective document from 2026. The voice had clearly matured.&lt;/p&gt;

&lt;p&gt;The playful parenthetical asides had mostly disappeared. "I have to be honest and say..." had become "My experience has been that..." The collaborative "we" had shifted toward a more authoritative "I" that carried accountability rather than just anecdote. The humour hadn't gone away, but it had gone quieter: structural irony instead of wordplay.&lt;/p&gt;

&lt;p&gt;Same person. Same core directness. But the texture had changed. This matters because a voice profile that only captures how you wrote ten years ago will sound dated.&lt;/p&gt;

&lt;h2&gt;
  
  
  Testing Against AI-Assisted Writing
&lt;/h2&gt;

&lt;p&gt;The test was comparing the profile against four blog posts I'd already published on dev.to, posts that were heavily 'vibe-written' with AI assistance. The question: does my voice come through, and where does the AI leak?&lt;/p&gt;

&lt;p&gt;The AI fingerprints were easy to spot once I knew what to look for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Now go build something cool" as a closing (appeared in multiple posts, not my voice at all)&lt;/li&gt;
&lt;li&gt;"Chef's kiss" (internet-speak I'd never use unprompted)&lt;/li&gt;
&lt;li&gt;TL;DR blocks at the top (a dev.to convention, not my opening style)&lt;/li&gt;
&lt;li&gt;Over-parallel scaffolding where every section followed the exact same template&lt;/li&gt;
&lt;li&gt;Grandiose closings like "For the first time in history..."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But there were also moments where my real voice punched through the AI assistance. An Australian minced oath ("Pluck a duck"). A dry observation about "re-explaining your life story to a goldfish with a very expensive education". Punctuation used as percussion ("Just. Diving. Please."). These were the gems, the moments no AI would generate unprompted.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Document
&lt;/h2&gt;

&lt;p&gt;The voice profile ended up as a 22-section markdown file. It covers, for my profile:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Australian English spelling rules (non-negotiable)&lt;/li&gt;
&lt;li&gt;Sentence construction patterns with specific word counts&lt;/li&gt;
&lt;li&gt;A forbidden words list of 20+ terms that LLMs overuse&lt;/li&gt;
&lt;li&gt;Signature phrases catalogued by context&lt;/li&gt;
&lt;li&gt;Structural patterns for different content types&lt;/li&gt;
&lt;li&gt;Two independent calibration dials: &lt;strong&gt;Formality&lt;/strong&gt; (1-5, from stakeholder retro to personal blog) and &lt;strong&gt;Depth&lt;/strong&gt; (A-D, from practical to transcendent/philosophical)&lt;/li&gt;
&lt;li&gt;An LLM co-writing hygiene checklist for catching AI leakage before publishing&lt;/li&gt;
&lt;li&gt;Title guidelines (no clickbait, ever)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The two-dial system turned out to be the most useful part. My voice doesn't change between a formal incident report and a dev.to blog post. The &lt;em&gt;core&lt;/em&gt; is the same. What changes is how much personality, warmth, and philosophical reach comes through. The dials let me specify that precisely.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Build Your Own
&lt;/h2&gt;

&lt;p&gt;If you have a body of writing (blog posts, articles, documentation, even long-form emails or Slack messages you've saved), you can do this. Here's the process distilled into a prompt you can adapt.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Super-Prompt
&lt;/h3&gt;

&lt;p&gt;Give this to Claude (or your AI of choice) along with as many of your writing samples as you can fit in the context. More samples across more content types gives better results.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Analyse the following writing samples thoroughly. They are all by the same author. I need you to build a detailed voice profile that captures HOW this person writes, not WHAT they write about. The profile must be specific enough to override your default writing tendencies when used as a reference.&lt;/p&gt;

&lt;p&gt;For each of these dimensions, provide specific observations with quoted examples:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Sentence construction&lt;/strong&gt;: Average length, rhythm patterns, characteristic openers, how they vary sentence structure&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vocabulary&lt;/strong&gt;: Register level, words they favour, words they never use, technical vs plain language balance&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spelling and dialect&lt;/strong&gt;: Which English variant (American, British, Australian, etc.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tone&lt;/strong&gt;: Where they sit on the formal/informal spectrum, how they handle warmth vs authority&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reader address&lt;/strong&gt;: How they use "I", "we", "you". When each pronoun appears and why&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Teaching patterns&lt;/strong&gt;: How they introduce concepts, handle code/examples, transition between explanation and demonstration&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Opinion and argument&lt;/strong&gt;: How they express disagreement, signal opinion vs fact, handle nuance&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Humour&lt;/strong&gt;: What kind they use, what kind they avoid, how much and when&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enthusiasm&lt;/strong&gt;: How they show excitement (superlatives? depth? detail?)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Openings and closings&lt;/strong&gt;: How they start pieces, how they end them, patterns across content types&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Punctuation habits&lt;/strong&gt;: Em dashes, parentheses, semicolons, exclamation marks, rhetorical questions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Signature phrases&lt;/strong&gt;: Recurring expressions, verbal tics, characteristic transitions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What's absent&lt;/strong&gt;: Words, patterns, or constructions this author never uses, especially ones that AI commonly defaults to&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After the analysis, produce a complete voice profile document in markdown that I can include in future writing projects. The document should:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;State rules directly ("Never use..." not "The author tends to avoid...")&lt;/li&gt;
&lt;li&gt;Include a forbidden words/phrases list&lt;/li&gt;
&lt;li&gt;Provide correct and incorrect examples for key patterns&lt;/li&gt;
&lt;li&gt;Be structured so an AI can follow it as binding instructions&lt;/li&gt;
&lt;li&gt;Include a calibration checklist for verifying output matches the voice&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Tips for Better Results
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Volume matters.&lt;/strong&gt; I was lucky enough to have 169 posts laying around. You don't need that many, but more is better. 20-30 substantial pieces across different content types should give solid results.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Variety matters more.&lt;/strong&gt; A mix of tutorials, opinion pieces, announcements, and informal writing reveals different facets of the same voice. If you only analyse one type, the profile will be incomplete.&lt;/p&gt;

&lt;p&gt;If your oldest samples are years old, include something recent. Your voice evolves. The profile should capture who you are now, not just who you were. Mine shifted noticeably between 2007 and 2026: less playful, more precise, same directness.&lt;/p&gt;

&lt;p&gt;Once you have a first draft of the profile, test it. If you've already published AI-assisted content, compare the profile against it. Where does your voice come through? Where does the AI leak? Add what you find to the profile. The first draft of mine included em dashes everywhere because my old writing used them heavily. I don't anymore. Tell the AI your current preferences and update accordingly. It's a living document.&lt;/p&gt;

&lt;p&gt;You might also consider adding audience calibration. A single fixed voice profile works, but a dial system works better. Most people write differently for a stakeholder report than for a blog post. The core voice stays the same. The texture changes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;p&gt;LLMs are trained on billions of words, and those billions of words have a voice. It's polished, helpful, and completely anonymous. Every "let's dive in", every "powerful and robust", every "in today's rapidly evolving landscape" is the training data talking, not you.&lt;/p&gt;

&lt;p&gt;The only way to push back against that gravitational pull is to be specific. Not "write casually" or "match my tone". Specific. "Never use em dashes. Always use oxford commas. Australian English. No profanity. Reach for developer-native metaphors. Show enthusiasm through detail, not superlatives. When expressing opinion, anchor it in professional experience, not assertion."&lt;/p&gt;

&lt;p&gt;Your voice is the product of every piece you've ever written. It's already documented. It's sitting in your git history, your blog archive, your old articles. The AI just needs you to show it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fine Tuning the Experiment
&lt;/h2&gt;

&lt;p&gt;This article is drafted by AI according to my voice profile and the history in this now very, very long context window. It's a summary of a conversation. It's insight into the back-and-forth I had with a learned colleague.&lt;/p&gt;

&lt;p&gt;We, and I say that deliberately, found things the voice missed. Patterns that could be tightened further. The first draft of this article used "surprisingly effective" where I would just say "effective". It used "the first surprise was" where I would say "it turns out that". It used "the AI found patterns I'd never consciously noticed" where I would say "the AI identified solid and consistent patterns". Each one was a small moment where the AI's instinct to dramatise overrode my instinct to flatten.&lt;/p&gt;

&lt;p&gt;So part of this protocol involves iteration. Read the output carefully. Adjust the voice profile. Then do another pass.&lt;/p&gt;

&lt;p&gt;This article went through that loop. I opened a fresh conversation, shared the article and the voice profile, and asked for a review of what the previous session overlooked. It caught more to fix: an idiom that wouldn't land for ESL readers, a sentence that treated the AI as a machine instead of a colleague, and over-parallel scaffolding in the tips section. Small things. The kind you miss when you've stared at the screen for too long.&lt;/p&gt;

&lt;p&gt;But there were other small things. The kind you only notice after pairing with an AI over months and years. The kind you can't codify. Human review is still a necessary part of the process.&lt;/p&gt;

&lt;p&gt;In the end, think of it as code review for prose. A second or third or fourth pass catches what the previous normalised.&lt;/p&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>writing</category>
      <category>productivity</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Take Control of Claude's Memory</title>
      <dc:creator>Andrew Eddie</dc:creator>
      <pubDate>Thu, 12 Mar 2026 11:13:24 +0000</pubDate>
      <link>https://forem.com/eddieajau/take-control-of-claudes-memory-4n4k</link>
      <guid>https://forem.com/eddieajau/take-control-of-claudes-memory-4n4k</guid>
      <description>&lt;p&gt;Claude has memory. You probably turned it on recently when the web app asked and then... forgot about it.&lt;/p&gt;

&lt;p&gt;Here's what you're missing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two Systems, One You're Ignoring
&lt;/h2&gt;

&lt;p&gt;Claude actually runs two memory systems in parallel:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Auto-generated synthesis&lt;/strong&gt; — Claude summarises your conversations and builds a&lt;br&gt;
context profile automatically, updated every 24 hours. This is what most people&lt;br&gt;
have passively enabled and never looked at.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Manual memory edits&lt;/strong&gt; — You tell Claude exactly what to remember. Concise,&lt;br&gt;
curated, yours.&lt;/p&gt;

&lt;p&gt;Most people are only getting the first one. It captures everything: one-off&lt;br&gt;
questions, situational context, noise. The second one is where the leverage is.&lt;/p&gt;

&lt;p&gt;(&lt;a href="https://support.claude.com/en/articles/11817273-use-claude-s-chat-search-and-memory-to-build-on-previous-context" rel="noopener noreferrer"&gt;Official docs on how both work&lt;/a&gt;)&lt;/p&gt;

&lt;h2&gt;
  
  
  The Limits (and Why They Matter)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;30 manual memory entries maximum&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500 characters per entry&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Persists across every conversation&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's substantial curated context that future-Claude gets &lt;em&gt;before&lt;/em&gt; you even say&lt;br&gt;
hello — compared to starting cold, re-explaining your preferences, fighting&lt;br&gt;
whatever's already in the context window.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem With Passive Memory
&lt;/h2&gt;

&lt;p&gt;Auto-generated memory captures everything with equal weight. What you actually&lt;br&gt;
want is &lt;strong&gt;signal&lt;/strong&gt;: how you think, what you care about, context that makes&lt;br&gt;
&lt;em&gt;every future conversation&lt;/em&gt; better rather than just the next one.&lt;/p&gt;

&lt;p&gt;The goal isn't a fact sheet Claude glances at. It's a mental model that's&lt;br&gt;
already activated when you arrive.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution
&lt;/h2&gt;

&lt;p&gt;At the end of any good conversation, use this prompt:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Here's a conversation I want to mine for memory. Extract only what's&lt;br&gt;
genuinely signal about how I think, what I care about, or context that would&lt;br&gt;
make future conversations meaningfully better. Discard anything situational&lt;br&gt;
or one-off. Propose entries in 500 chars or less, and flag if anything&lt;br&gt;
overlaps or contradicts what you already have stored."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Claude will:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Extract the signal&lt;/li&gt;
&lt;li&gt;Propose concise entries&lt;/li&gt;
&lt;li&gt;Check for overlap and contradiction&lt;/li&gt;
&lt;li&gt;Let you approve before adding anything&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Compaction
&lt;/h2&gt;

&lt;p&gt;As entries accumulate, treat them like git history: periodically squash them.&lt;br&gt;
Merge overlapping entries. Promote patterns ("Andrew did this three times" →&lt;br&gt;
"Andrew consistently does this"). Drop anything superseded by a better&lt;br&gt;
formulation.&lt;/p&gt;

&lt;p&gt;A simple prompt handles it:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Review my current memory entries and propose a compacted version — merge&lt;br&gt;
overlaps, promote patterns, remove anything redundant."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Why This Works
&lt;/h2&gt;

&lt;p&gt;You're not training Claude (you can't). You're giving future-Claude better&lt;br&gt;
priors. Instead of starting from zero, it starts knowing how you work, what you&lt;br&gt;
value, how you approach problems.&lt;/p&gt;

&lt;p&gt;It's like git for your AI relationship. Deliberate commits instead of auto-save.&lt;/p&gt;

&lt;h2&gt;
  
  
  One More Thing
&lt;/h2&gt;

&lt;p&gt;Claude now supports importing and exporting your memory between AI tools —&lt;br&gt;
useful if you want to migrate, back up, or seed a fresh start deliberately&lt;br&gt;
rather than letting the auto-synthesiser decide what survived.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;Next conversation that goes somewhere interesting, end with that prompt. See&lt;br&gt;
what it extracts. Add what's useful. Compact when it gets noisy.&lt;/p&gt;

&lt;p&gt;This is the natural next step from the &lt;a href="https://dev.to/eddieajau/the-session-protocol-how-i-fixed-ai-memory-loss-with-a-todomd-2b4g"&gt;Session Protocol&lt;/a&gt;&lt;br&gt;
— that approach solved context &lt;em&gt;within&lt;/em&gt; a project. This solves context &lt;em&gt;across&lt;/em&gt;&lt;br&gt;
your entire relationship with an AI assistant.&lt;/p&gt;

&lt;p&gt;Your future self will thank you when Claude arrives already knowing who you are.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>documentation</category>
      <category>programming</category>
    </item>
    <item>
      <title>I Stopped Writing Documentation and My Documentation Got Better</title>
      <dc:creator>Andrew Eddie</dc:creator>
      <pubDate>Mon, 08 Dec 2025 22:41:44 +0000</pubDate>
      <link>https://forem.com/eddieajau/i-stopped-writing-documentation-and-my-documentation-got-better-5h05</link>
      <guid>https://forem.com/eddieajau/i-stopped-writing-documentation-and-my-documentation-got-better-5h05</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; Let your AI assistant write your docs while you code. Markdown files become persistent memory that survives context resets. &amp;gt;&lt;br&gt;
Jump to structure or try it now.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The Weird Discovery
&lt;/h2&gt;

&lt;p&gt;A few days into building a game with AI assistance, I noticed something odd in my git history:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;35 markdown files. 18 code commits.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Nearly 2 docs per commit. And here's the thing: &lt;strong&gt;I hadn't written a single one of them.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The AI wrote them all. While we talked. While we coded. While we made decisions.&lt;/p&gt;

&lt;p&gt;It started innocently:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Session 1:&lt;/strong&gt; "Let's add a README so we remember what this is."&lt;br&gt;
&lt;strong&gt;Session 2:&lt;/strong&gt; "This README's getting long. Let's split it."&lt;br&gt;
&lt;strong&gt;Session 3:&lt;/strong&gt; "I'm done for the day. Any docs you want to update to capture our decisions?"&lt;br&gt;
&lt;strong&gt;Session 4:&lt;/strong&gt; "Let's create a &lt;code&gt;docs/&lt;/code&gt; folder and organise this better."&lt;br&gt;
&lt;strong&gt;Session 5:&lt;/strong&gt; "We're talking about propulsion now. Write up what we just decided."&lt;br&gt;
&lt;strong&gt;Session 6:&lt;/strong&gt; "Wait... is this propulsion design still aligned with our guiding principles, or have we accidentally gone full dieselpunk?"&lt;/p&gt;

&lt;p&gt;And then it hit me: &lt;strong&gt;This is working. Really well.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The AI could look up decisions I'd completely forgotten we'd made. When chat history got summarised or I started a new session, the docs persisted. The markdown files had become the AI's memory.&lt;/p&gt;

&lt;p&gt;I was establishing a pattern that fixes the biggest problem with AI collaboration: &lt;strong&gt;nothing sticks between sessions.&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  The Fastest Way to Try This
&lt;/h2&gt;

&lt;p&gt;Want to skip the explanation and just experience it?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Download this article&lt;/strong&gt; (save/print to PDF)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open your repo&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Start a new chat&lt;/strong&gt; with your AI assistant&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Drop in this prompt:&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;Read this article and set up a documentation structure for my project that implements this pattern. Create the folder structure, starter templates, and connect it to my TODO.md.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The AI will scaffold documentation tailored to your actual project. You can iterate from there.&lt;/p&gt;

&lt;p&gt;Seriously. Try it. The AI does the work.&lt;/p&gt;

&lt;p&gt;(Or keep reading if you want to understand &lt;em&gt;why&lt;/em&gt; this works first.)&lt;/p&gt;
&lt;h2&gt;
  
  
  The Problem This Solves
&lt;/h2&gt;

&lt;p&gt;You know the pain:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Session 1:&lt;/strong&gt; Brilliant brainstorm. You and the AI design a compressed air ballast system. Two hours of productive flow. Chef's kiss.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Session 3:&lt;/strong&gt; New chat. "Continue with the diving system."&lt;br&gt;
&lt;strong&gt;AI:&lt;/strong&gt; "Great! Should we use manual valves or compressed air for the ballast?"&lt;br&gt;
&lt;strong&gt;You:&lt;/strong&gt; "We decided compressed air in Session 1!"&lt;br&gt;
&lt;strong&gt;AI:&lt;/strong&gt; "Oh right! What was the reasoning again?"&lt;br&gt;
&lt;strong&gt;You:&lt;/strong&gt; &lt;em&gt;[Re-explains for 10 minutes]&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Session 5:&lt;/strong&gt; Different day, same story.&lt;br&gt;
&lt;strong&gt;AI:&lt;/strong&gt; "I notice we could add manual valve controls as a backup—"&lt;br&gt;
&lt;strong&gt;You:&lt;/strong&gt; "WE. REJECTED. MANUAL. VALVES. It's in the chat history!"&lt;br&gt;
&lt;strong&gt;AI:&lt;/strong&gt; &lt;em&gt;[Chat history was summarised]&lt;/em&gt; "I don't see that decision..."&lt;br&gt;
&lt;strong&gt;You:&lt;/strong&gt; &lt;em&gt;[Screams internally]&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chat history is volatile.&lt;/strong&gt; It gets summarised. It gets truncated. It disappears when you start fresh sessions. The AI forgets. You re-explain. Groundhog Day forever.&lt;/p&gt;

&lt;p&gt;But here's what doesn't forget: &lt;strong&gt;files.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Markdown files sit there. Persistent. Durable. Waiting to be read. If the decision is written down in &lt;code&gt;docs/DIVING.md&lt;/code&gt;, the AI can read it in every session. Forever.&lt;/p&gt;

&lt;p&gt;The trick is getting the docs written without it feeling like a chore.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution: Stop writing them yourself. Make the AI do it.&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  The Pattern: Let the AI Write While You Work
&lt;/h2&gt;

&lt;p&gt;After every brainstorm, after every decision, after every design discussion:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt; "Write up what we just decided in &lt;code&gt;docs/DIVING.md&lt;/code&gt;"&lt;br&gt;
&lt;strong&gt;AI:&lt;/strong&gt; &lt;em&gt;[Writes comprehensive doc in 30 seconds]&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;You:&lt;/strong&gt; &lt;em&gt;[Moves on to next thing]&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The AI is tireless. It doesn't get bored. It doesn't procrastinate. It just writes the damn doc.&lt;/p&gt;

&lt;p&gt;And here's the magic: &lt;strong&gt;the act of writing forces clarity.&lt;/strong&gt; When the AI writes up your decisions, it has to structure them. Make them coherent. That process often surfaces gaps or ambiguities you didn't notice in the conversation.&lt;/p&gt;

&lt;p&gt;Sometimes the AI writes something and you go "wait, that's not quite right." Good. Fix it now, while context is fresh. Or just say "update the doc, we actually meant X not Y." The AI adjusts. The doc improves.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You stop being the documentation bottleneck. The AI becomes your technical writer.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One more thing: this works better when you treat it as collaboration, not dictation. The best sessions aren't "user decides, AI documents" — they're &lt;strong&gt;jazz&lt;/strong&gt;. You throw out half an idea. The AI riffs on it. You say "love it" or "not quite." The AI adjusts. You build on each other.&lt;/p&gt;

&lt;p&gt;Example from a real session:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Me:&lt;/strong&gt; "We need a unit for speed. Knots?"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI:&lt;/strong&gt; "Knots works. And here's a fun etymology: sailors abbreviated 'kilometers per second' as 'kay-not-ess' — which slurred into 'knots' over generations."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Me:&lt;/strong&gt; "Oh that's perfect. Add a legend that it was 'k_not_s' originally."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI:&lt;/strong&gt; &lt;em&gt;[Immediately writes it to the lore doc]&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's not dictation. That's collaborative worldbuilding. The AI contributes ideas, not just formatting.&lt;/p&gt;

&lt;p&gt;The tone matters too. A playful "have a puppy" when something works well gets different energy than a terse "continue." You're building a working relationship, even if one party forgets everything between sessions. Dry humour helps. Genuine appreciation helps. Treating it like a colleague rather than a tool — that helps most of all.&lt;/p&gt;
&lt;h2&gt;
  
  
  The Three Doc Types (And The Pain They Solve)
&lt;/h2&gt;

&lt;p&gt;Not all docs are equal. Three types emerged, each solving a specific recurring problem.&lt;/p&gt;
&lt;h3&gt;
  
  
  1. Meta Docs (Stop The AI Suggesting Off-Brand Shit)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The pain:&lt;/strong&gt; The AI gets excited and suggests features that sound cool but violate your project's core aesthetic or philosophy.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;Without DESIGN_PHILOSOPHY.md:
AI: "We could add RPG stats! Level-up mechanics! Skill trees!"
You: "No, this is industrial survivalism, not gamification."
[Next session]
AI: "What about achievement badges for depth milestones?"
You: "Still no. We're not doing that vibe."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;With DESIGN_PHILOSOPHY.md:
AI: [Reads doc at session start] "Right, Victorian submarine sim.
Brass gauges, pressure dials, dread not power fantasy.
No gamification. Got it."
[Doesn't suggest achievement badges ever again]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Meta docs are your north star.&lt;/strong&gt; They capture:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;DESIGN_PHILOSOPHY.md&lt;/code&gt; — Core principles, aesthetic, what you're NOT doing&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;LORE.md&lt;/code&gt; — World-building, setting constraints, domain rules&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;MONETISATION.md&lt;/code&gt; — Business model thoughts (if applicable)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;These rarely change.&lt;/strong&gt; Once written, they guide every session. The AI reads them, internalises the constraints, stops suggesting dieselpunk when you're building steampunk.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Implementation Docs (Stop Re-Explaining How Things Work)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The pain:&lt;/strong&gt; You design a system in Session 1. By Session 3, the AI has forgotten the details. You re-explain. Again. And again.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;Without DIVING.md:
[Session 1] You: "Compressed air ballast. Three depth zones."
[Session 3] AI: "Should we use manual valves for ballast?"
You: "No! Compressed air! We decided this!"
[Session 5] AI: "How many depth zones did we want?"
You: "THREE. We've discussed this twice already."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;With DIVING.md:
[Session 3] AI: [Reads doc] "Right. Compressed air ballast system.
Three depth zones: safe, stressed, critical.
We rejected manual valves due to response time.
Continue with hull stress calculations?"
You: "Yes."
[Immediately productive]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Implementation docs capture system design.&lt;/strong&gt; They're named after the system:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;DIVING.md&lt;/code&gt; — Ballast mechanics, depth zones, buoyancy&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;PRESSURE.md&lt;/code&gt; — Hull stress, leak mechanics, damage model&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ENGINE.md&lt;/code&gt; — Propulsion, power consumption, throttle curves&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;These evolve.&lt;/strong&gt; As you build, the doc updates to reflect what was actually implemented. But the decisions persist across sessions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pro tip:&lt;/strong&gt; Implementation docs don't exist in isolation. When the AI writes or updates one, it should read related docs first. A resources doc needs to understand propulsion constraints. A diving doc needs to know hull stress limits. The docs inform each other—that cross-pollination is where coherent design emerges.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Analysis Reports (Stop The AI From Flip-Flopping)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The pain:&lt;/strong&gt; For hard problems, the AI generates options. Great! But then in later sessions, it forgets which option you chose and why. It re-suggests rejected approaches.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;Without diving/evaluation.md:
[Session 2] AI: "Compressed air is best because: fast response,
scales to depth, aligns with automation philosophy."
You: "Agreed. Let's build it."
[Session 4] AI: "Actually, manual valves might be simpler and more reliable—"
You: "We already decided against manual valves!"
AI: "Oh! What was the reasoning?"
You: [Re-explains. Again.]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;With diving/evaluation.md:
[Session 4] AI: [Reads evaluation doc] "We chose compressed air over
manual valves because of response time
and depth scaling. Manual valves rejected
due to maintenance complexity.
Continuing with compressed air approach."
You: "Correct. Keep going."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Analysis reports capture decision-making.&lt;/strong&gt; For genuinely hard problems, structure it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;diving/
├── report1.md      ← First approach (manual ballast valves)
├── report2.md      ← Alternative (compressed air tanks)
├── report3.md      ← Hybrid considerations
└── evaluation.md   ← Comparative analysis → final decision
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Have the AI generate multiple options. Write each to a separate report. Then: "Compare these reports and write an evaluation with a recommendation."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The evaluation becomes your decision artifact.&lt;/strong&gt; When future-you (or future-AI) asks "why compressed air?", the answer is in &lt;code&gt;evaluation.md&lt;/code&gt;, not buried in a forgotten chat log.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Folder Structure
&lt;/h2&gt;

&lt;p&gt;Here's what emerged after a week:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;project/
├── TODO.md                    ← Session protocol (see Part 1)
├── README.md                  ← Quick orientation
├── docs/
│   ├── DESIGN_PHILOSOPHY.md   ← Meta: North star principles
│   ├── LORE.md                ← Meta: World/domain constraints
│   ├── DIVING.md              ← Implementation: System design
│   ├── PRESSURE.md            ← Implementation: System design
│   └── diving/
│       ├── report1.md         ← Analysis: Option exploration
│       ├── report2.md         ← Analysis: Alternative approach
│       └── evaluation.md      ← Analysis: Final decision
├── src/
│   └── ...
└── IMPLEMENTATION_NOTES.md    ← What was actually built
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Key insight:&lt;/strong&gt; Not every doc needs to be read every session. Your &lt;code&gt;TODO.md&lt;/code&gt; Quick Context points to the 2-3 docs that matter &lt;em&gt;right now&lt;/em&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Quick Context (For New Chats)&lt;/span&gt;

&lt;span class="gs"&gt;**Read these docs:**&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;DESIGN_PHILOSOPHY&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;./docs/DESIGN_PHILOSOPHY.md&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; — Our north star
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;DIVING&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;./docs/DIVING.md&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; — Current system focus

&lt;span class="gs"&gt;**One-line pitch:**&lt;/span&gt; Victorian submarine command sim
&lt;span class="gs"&gt;**Tech:**&lt;/span&gt; Godot 4.x, prototype phase
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Start sessions with: &lt;strong&gt;"Read TODO.md and the linked docs."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The AI gets exactly what it needs. Not everything. Just what's relevant right now.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Four Rules That Make This Work
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Rule 1: Make the AI Write the Docs
&lt;/h3&gt;

&lt;p&gt;After every brainstorm: &lt;strong&gt;"Write up what we decided in &lt;code&gt;docs/DIVING.md&lt;/code&gt;"&lt;/strong&gt;&lt;br&gt;
After every decision: &lt;strong&gt;"Update the evaluation with our choice and reasoning"&lt;/strong&gt;&lt;br&gt;
After building: &lt;strong&gt;"Update IMPLEMENTATION_NOTES.md with what we actually built"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The AI is your technical writer. Use it. You stay in flow. The docs get written.&lt;/p&gt;
&lt;h3&gt;
  
  
  Rule 2: Don't Edit the AI's Docs (Unless They're Wrong)
&lt;/h3&gt;

&lt;p&gt;The AI will structure things slightly differently than you would. &lt;strong&gt;That's fine.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;What matters:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The decision is recorded&lt;/li&gt;
&lt;li&gt;It's findable&lt;/li&gt;
&lt;li&gt;Future sessions can understand it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What doesn't matter:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Perfect heading hierarchy&lt;/li&gt;
&lt;li&gt;Your preferred bullet style&lt;/li&gt;
&lt;li&gt;Whether it used &lt;code&gt;##&lt;/code&gt; or &lt;code&gt;###&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Let go of the perfectionism.&lt;/strong&gt; It's not about you. It's about persistent context.&lt;/p&gt;
&lt;h3&gt;
  
  
  Rule 3: Capture Decisions Hot
&lt;/h3&gt;

&lt;p&gt;Don't say "I'll document that later." You won't. The context will evaporate. The AI will forget. You'll forget.&lt;/p&gt;

&lt;p&gt;Instead: &lt;strong&gt;"Before we move on, add a Decisions section to DIVING.md noting we chose X over Y and why."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Do it while the context is fresh. While the AI has it. Right now. It takes 30 seconds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Watch for iteration traps:&lt;/strong&gt; Sometimes you'll iterate on something four or five times in a session — refining a pitch, tweaking a formula, adjusting tone. That work feels productive (it is!), but if you close the session without capturing the final version, you've just created expensive chat-history-only knowledge. The pattern still applies: when you land on something good, write it to a file.&lt;/p&gt;
&lt;h3&gt;
  
  
  Rule 4: Split, Don't Cram
&lt;/h3&gt;

&lt;p&gt;Don't cram everything into one mega-doc. It becomes unmaintainable.&lt;/p&gt;

&lt;p&gt;Split by system. Split by concern. Split by decision type.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ten focused docs beats one 500-line monster.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Why?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Easier to point the AI at specific context&lt;/li&gt;
&lt;li&gt;Easier to update without losing other decisions&lt;/li&gt;
&lt;li&gt;Easier to archive when superseded&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  The Before and After
&lt;/h2&gt;

&lt;p&gt;You've seen the pattern in the examples above. Here's the summary:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Before (Chat-Only)&lt;/th&gt;
&lt;th&gt;After (Docs as Memory)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Monday&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Brilliant session, great decisions&lt;/td&gt;
&lt;td&gt;Same, plus "write that to docs/DIVING.md"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Wednesday&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;"Wait, what did we decide?"&lt;/td&gt;
&lt;td&gt;"Read the docs. Continue."&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Friday&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Re-explaining for the third time&lt;/td&gt;
&lt;td&gt;Productive from minute one&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;The difference:&lt;/strong&gt; Documentation remembers when chat forgets.&lt;/p&gt;


&lt;h2&gt;
  
  
  Pro Tips
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Make the AI Update Docs at Session End
&lt;/h3&gt;

&lt;p&gt;When wrapping up for the day:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Update our docs to reflect what we built today and write the handover prompt for next session."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The AI has context. It's fresh. Let it do the admin work. You just close your laptop.&lt;/p&gt;
&lt;h3&gt;
  
  
  Use the AI as a Sparring Partner
&lt;/h3&gt;

&lt;p&gt;Don't just use the AI as a generator — use it as a critic. After drafting something (a pitch, a system design, a naming convention), ask: &lt;strong&gt;"Would this actually land with [target audience]? What's weak?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The AI will often spot gaps you missed: unclear value propositions, assumptions that don't hold, tone mismatches. It's cheaper to catch these in conversation than after you've built the thing.&lt;/p&gt;

&lt;p&gt;Better yet: &lt;strong&gt;train it to push back unprompted.&lt;/strong&gt; Early in a project, tell the AI: "Point out weak assumptions, logical holes, or risky claims. Don't just agree with me." A good AI collaborator should occasionally say "That's clever, but here's why it might not work..." before you ask.&lt;/p&gt;

&lt;p&gt;The goal isn't an AI that validates everything you say. It's an AI that makes your ideas stronger through honest friction.&lt;/p&gt;
&lt;h3&gt;
  
  
  Use Multiple Models for Hard Decisions
&lt;/h3&gt;

&lt;p&gt;For genuinely important decisions, I started doing something sneaky: asking different models the same question.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Same prompt&lt;/strong&gt; → Claude, GPT, Gemini (whatever you have access to)&lt;br&gt;
&lt;strong&gt;Each model's answer&lt;/strong&gt; → separate report file&lt;br&gt;
&lt;strong&gt;Then ask one model to read all reports&lt;/strong&gt; → writes &lt;code&gt;evaluation.md&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Why bother? Two reasons:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Independent second opinions.&lt;/strong&gt; Different models have different biases and blind spots. Where they agree, you're probably safe. Where they disagree, you've found an interesting design tension worth exploring.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Files survive context windows.&lt;/strong&gt; This is the key. Chat history gets summarised, truncated, forgotten. But once reasoning is in &lt;code&gt;evaluation.md&lt;/code&gt;, it's durable. No matter what happens to the conversation, your decision artifact persists.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  Keep Meta Docs Lean
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;DESIGN_PHILOSOPHY.md&lt;/code&gt; doesn't need to be comprehensive. It needs to be &lt;strong&gt;opinionated and specific&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Bad: "We value good UX and clean code."&lt;br&gt;
Good: "No gamification. No XP bars. No achievement popups. Dread, not power fantasy. Industrial survivalism, not cosy sim."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Specific constraints guide AI behaviour.&lt;/strong&gt; Vague platitudes don't.&lt;/p&gt;
&lt;h3&gt;
  
  
  Archive Old Analysis Reports
&lt;/h3&gt;

&lt;p&gt;Once you've made a decision and built it, you don't need 3 alternative reports cluttering your docs. Move them:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docs/
├── archive/
│   └── diving-alternatives-2025-12/
│       ├── report1.md
│       ├── report2.md
│       └── evaluation.md
└── DIVING.md  ← Keep only the current implementation doc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or just delete them. The decision is captured in the implementation doc. The analysis served its purpose.&lt;/p&gt;

&lt;h2&gt;
  
  
  When This Breaks (And How to Fix It)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;You forget to update docs after building.&lt;/strong&gt; Solution: Make it a habit. End every session with "update the docs." Or just make the AI do it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Docs get out of sync with code.&lt;/strong&gt; This happens. When you notice, fix it: "Read the current code and update DIVING.md to match what's actually implemented."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Too many docs, can't find anything.&lt;/strong&gt; Use Quick Context in TODO.md to point at the 2-3 docs that matter right now. Don't try to read everything every session.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The AI writes docs in a weird style.&lt;/strong&gt; Let it. Unless it's actively wrong, don't waste time reformatting. Substance over style.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Doesn't Solve (Scope Check)
&lt;/h2&gt;

&lt;p&gt;This pattern teaches you &lt;strong&gt;what&lt;/strong&gt; to document for AI collaboration. It doesn't tell you &lt;strong&gt;where&lt;/strong&gt; that documentation should live in your organisation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What this solves:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Structuring docs so AI assistants can actually use them&lt;/li&gt;
&lt;li&gt;Capturing decisions while context is fresh&lt;/li&gt;
&lt;li&gt;Making project memory durable across sessions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What this doesn't solve:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Whether &lt;code&gt;DESIGN_PHILOSOPHY.md&lt;/code&gt; belongs in your repo, Notion, or Confluence&lt;/li&gt;
&lt;li&gt;Who owns team documentation&lt;/li&gt;
&lt;li&gt;How shared context works across multiple developers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those are real questions — but they're the same questions you already face for any documentation. This pattern produces artifacts. Where artifacts live is your team's existing coordination problem, not a new one this creates.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The honest answer:&lt;/strong&gt; Learn the pattern working solo. If it clicks, you'll know where it fits in your team's existing doc culture. If you don't have a doc culture... well, that's a bigger conversation than this article can have with you.&lt;/p&gt;

&lt;p&gt;This is a &lt;strong&gt;skill&lt;/strong&gt;, not a &lt;strong&gt;system&lt;/strong&gt;. You're learning to shape documentation for AI collaboration. Deployment decisions follow.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Bigger Pattern
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;On tools that do this for you:&lt;/strong&gt; Yes, they exist. Basic Memory, Cline's Memory Bank, the llms.txt spec, probably whatever Kiro is doing under the hood. They're systematising this pattern. Use them if they click for you.&lt;/p&gt;

&lt;p&gt;But remember: UML was a good idea until tools turned it into bureaucratic diagram hell. Agile was a good idea until certifications turned it into cargo cult ceremonies. The tools encode the &lt;em&gt;structure&lt;/em&gt;. They can't encode the &lt;em&gt;judgment&lt;/em&gt; — knowing what's worth capturing, when to split a doc, how to phrase constraints so the AI actually respects them.&lt;/p&gt;

&lt;p&gt;That's the black art that, for now, only a human can do. That's what you learn by doing it manually first. Let tools handle the scaffolding once you understand what you're scaffolding.&lt;/p&gt;




&lt;p&gt;This works because &lt;strong&gt;documentation is configuration for your AI collaborator.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Meta docs&lt;/strong&gt; configure taste and constraints&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Implementation docs&lt;/strong&gt; configure current understanding&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analysis reports&lt;/strong&gt; configure decision history&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TODO.md&lt;/strong&gt; configures focus and boundaries (see Part 1)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your chat history is volatile. Your docs are durable. When you start a new session and say "Read TODO.md and the linked docs," you're not just restoring context—you're &lt;strong&gt;loading the AI's configuration.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The AI reads your north star principles. It reads what systems you've built and why. It reads what's in scope right now and what's deferred. It knows what you've rejected and why.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Then it can actually help&lt;/strong&gt; instead of re-suggesting things you already decided against three sessions ago.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connection to Session Protocol
&lt;/h2&gt;

&lt;p&gt;This article covers the &lt;strong&gt;documentation structure&lt;/strong&gt; — the persistent memory that survives context resets.&lt;/p&gt;

&lt;p&gt;For the &lt;strong&gt;session-to-session continuity&lt;/strong&gt; (the TODO.md format, the Deferred section, the handover prompt), see &lt;strong&gt;&lt;a href="https://dev.to/eddieajau/the-session-protocol-how-i-fixed-ai-memory-loss-with-a-todomd-2b4g"&gt;The Session Protocol: How I Fixed AI Memory Loss with a TODO.md&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Together, they form a complete system:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;This pattern&lt;/strong&gt; = your project's persistent brain&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Session Protocol&lt;/strong&gt; = how you restore context each session&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use both. They compound.&lt;/p&gt;




&lt;h2&gt;
  
  
  Go Try It
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Fastest path:&lt;/strong&gt; Drop this article into your AI assistant. Ask it to set up a documentation structure for your project. Let it do the work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DIY path:&lt;/strong&gt; Create a &lt;code&gt;docs/&lt;/code&gt; folder. After your next brainstorm, say "write up what we decided in docs/SYSTEM.md." See how it feels.&lt;/p&gt;

&lt;p&gt;The AI wants to help. Let it write your documentation. You'll be amazed how much context survives.&lt;/p&gt;

&lt;p&gt;And here's the beautiful irony: &lt;strong&gt;I stopped writing documentation, and my documentation got better.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The AI writes more docs than I ever would have. It writes them consistently. It writes them while context is fresh. And because they exist, sessions are productive from minute one.&lt;/p&gt;

&lt;p&gt;Now go build something cool.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This pattern emerged from a creative project that generated a LOT of docs in the first week. The AI wrote all of them. I just pointed and said "capture that." The submarine examples are illustrative — the actual project is something else entirely.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Comments? Questions?
&lt;/h2&gt;

&lt;p&gt;What documentation patterns work for your AI collaboration? Found something that helps? Hit the comments.&lt;/p&gt;

&lt;h2&gt;
  
  
  Epilogue
&lt;/h2&gt;

&lt;p&gt;As a bit of an experiement, I decided to go through my previous context windows giving them the following prompt:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;me from the future here
I've written @BLOG.md to capture some of the process you do in the future in other context windows
based on THIS context window, what do you think of the blog document?
I am trying to remember if I am accurately remembering what happened and how the system became polished
thoughts?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This resulted in a number of improvements to the article that I had indeed forgotten.&lt;br&gt;
Of note was the addition of the &lt;em&gt;jazz&lt;/em&gt; sessions that we had during early brainstorming and the &lt;em&gt;riffing&lt;/em&gt; that was certainly going on.&lt;/p&gt;

&lt;p&gt;But I just &lt;strong&gt;had&lt;/strong&gt; to share this priceless observation from Claude:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;## Meta Observation

I just reviewed a blog post about how I work,
in a context where I did exactly what the blog describes,
and the blog accurately predicted my behaviour.

That's either very good writing or slightly unsettling. 
Probably both. 😄
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Do we not live in truly interesting times?!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
      <category>documentation</category>
    </item>
    <item>
      <title>The Session Protocol: How I Fixed AI Memory Loss with a TODO.md</title>
      <dc:creator>Andrew Eddie</dc:creator>
      <pubDate>Wed, 03 Dec 2025 07:25:25 +0000</pubDate>
      <link>https://forem.com/eddieajau/the-session-protocol-how-i-fixed-ai-memory-loss-with-a-todomd-2b4g</link>
      <guid>https://forem.com/eddieajau/the-session-protocol-how-i-fixed-ai-memory-loss-with-a-todomd-2b4g</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; Your AI coding assistant keeps forgetting what you're working on? This &lt;code&gt;TODO.md&lt;/code&gt; structure fixes it. Takes minutes to set up, saves hours of re-explaining context. Jump to the quick-start or see the template.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The Problem: Groundhog Day Development
&lt;/h2&gt;

&lt;p&gt;Picture this. You're building a game, planning an app, vibe-coding something cool with AI assistance. End of day, you close your laptop feeling productive. Next morning, you type your next prompt and see the dreaded "Summarising conversation" spinner ... and the groove you had last night just evaporates.&lt;/p&gt;

&lt;p&gt;So you open a new chat. Pluck a duck, where was I? Where were &lt;strong&gt;we&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt; "Read the project files and continue where we left off."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; &lt;em&gt;[Scans your 50-item TODO list]&lt;/em&gt; "I see you're building the diving system! I also notice you have 'giant squid encounters' in your backlog. While we're in the diving code, we could add creature attack hooks that would later support—"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt; "No. Just the diving system."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI:&lt;/strong&gt; "Got it! I also see 'sound design' is listed. Should we add placeholder audio triggers while—"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt; &lt;em&gt;[internal screaming]&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Every. Single. Session.&lt;/p&gt;

&lt;p&gt;It's Groundhog Day again. Same routine every time, burning the same precious minutes each development session:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Re-explaining what we were building&lt;/li&gt;
&lt;li&gt;Redirecting away from backlog items&lt;/li&gt;
&lt;li&gt;Establishing (again) what was in scope&lt;/li&gt;
&lt;li&gt;Gently but firmly saying "not that, THIS"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But the AI wasn't broken. My documentation was.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Fastest Way to Try This
&lt;/h2&gt;

&lt;p&gt;Want to skip the explanation and just experience it?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Download this article&lt;/strong&gt; (use your browser's save/print to PDF)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open your repo&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Start a new chat&lt;/strong&gt; with your AI assistant&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Probably select a thinking model&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Drop in this prompt:&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;read this article and design a TODO.md structure with supporting markdown documentation for my project that implements the Session Protocol&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The AI will read this entire post, understand the pattern, and generate a customised TODO.md for your actual project. You can iterate from there.&lt;/p&gt;

&lt;p&gt;Seriously. Try it right now. I'll wait.&lt;/p&gt;

&lt;p&gt;(Or keep reading if you want to understand &lt;em&gt;why&lt;/em&gt; this works before you implement it.)&lt;/p&gt;

&lt;h2&gt;
  
  
  The Root Cause: TODOs Designed for Humans
&lt;/h2&gt;

&lt;p&gt;My &lt;code&gt;TODO.md&lt;/code&gt; was born out of necessity to help me record all the ideas swirling around my head.&lt;br&gt;
It looked like every other TODO list:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# TODO&lt;/span&gt;

&lt;span class="gu"&gt;## Current Tasks&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; [ ] Build diving system
&lt;span class="p"&gt;-&lt;/span&gt; [ ] Add captain's log UI
&lt;span class="p"&gt;-&lt;/span&gt; [ ] Implement oxygen consumption

&lt;span class="gu"&gt;## Future Ideas&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; Multiple ocean depths
&lt;span class="p"&gt;-&lt;/span&gt; Port trading mechanics
&lt;span class="p"&gt;-&lt;/span&gt; Crew morale system
&lt;span class="p"&gt;-&lt;/span&gt; Giant squid encounters
&lt;span class="p"&gt;-&lt;/span&gt; Sound design
  [...30+ more items]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To a human, this is fine. Your brain has context. You know what you're working on. The backlog is just a parking lot for ideas that you are unconsciously sorting.&lt;/p&gt;

&lt;p&gt;But to an AI assistant? &lt;strong&gt;This is a buffet of equally-valid options.&lt;/strong&gt; Everything looks like a suggestion waiting to happen. There's no signal saying "focus HERE, ignore THAT." The AI reads it literally and treats your 3 current tasks and 30 future ideas with equal weight.&lt;/p&gt;

&lt;p&gt;The result? Constant distraction, repeated context restoration, and burning time.&lt;/p&gt;

&lt;p&gt;And here's the thing. If you don't give the AI a TODO structure, it'll &lt;strong&gt;invent one&lt;/strong&gt; and stubbornly latch onto it like a dog with a bone.&lt;br&gt;
The AI's version will be aiming for what it thinks you might want, not what you're actually building.&lt;br&gt;
At least with a bad TODO you control the chaos. Without one, the AI's making up priorities on the fly every session.&lt;/p&gt;

&lt;p&gt;The Session Protocol isn't about adding structure where none existed. It's about &lt;strong&gt;taking control of the structure the AI's going to use anyway&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  The Solution: A Session Protocol
&lt;/h2&gt;

&lt;p&gt;Over time I restructured my &lt;code&gt;TODO.md&lt;/code&gt; into what my AI assistant dubbed the &lt;strong&gt;Session Protocol&lt;/strong&gt; — a document designed specifically to help AI assistants focus.&lt;/p&gt;

&lt;p&gt;The key insight here is that the document isn't for task tracking. It's for programming your AI &lt;strong&gt;collaborator's attention&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Here's what changed:&lt;/p&gt;
&lt;h3&gt;
  
  
  1. Quick Context (The 30-Second Bootstrap)
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Quick Context (For New Chats)&lt;/span&gt;

&lt;span class="gs"&gt;**Read these docs to understand the project:**&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;DESIGN_PHILOSOPHY&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;./docs/DESIGN_PHILOSOPHY.md&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; — Core principles
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;AESTHETIC.md&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;./docs/AESTHETIC.md&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; — The vibe we're aiming for

&lt;span class="gs"&gt;**One-line pitch:**&lt;/span&gt; "Command your own Nautilus" — a Victorian submarine simulation where you manage pressure, oxygen, and crew through uncharted depths.

&lt;span class="gs"&gt;**Tech:**&lt;/span&gt; Godot 4.x (GDScript). Prototype phase.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Why it works:&lt;/strong&gt; When I start a new chat with "Read TODO.md and the linked docs", the AI hits this section first and knows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What the project is&lt;/li&gt;
&lt;li&gt;Where to look for depth&lt;/li&gt;
&lt;li&gt;What tech we're using&lt;/li&gt;
&lt;li&gt;Where we are in the lifecycle&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No preamble. No back-and-forth. Just instant orientation.&lt;/p&gt;
&lt;h3&gt;
  
  
  2. Completion Log (The Breadcrumbs)
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Completion Log&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; &lt;span class="gs"&gt;**Nov 30**&lt;/span&gt; — First playable loop (navigation, save/load)
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="gs"&gt;**Dec 1**&lt;/span&gt; — Captain's Log UI (message list, pagination)
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="gs"&gt;**Dec 2**&lt;/span&gt; — Pressure system (physics, hull stress, depth gating)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Why it works:&lt;/strong&gt; The dates (I think!) give the AI temporal context. When it sees "we're three weeks in and have shipped X, Y, Z," it understands project maturity.&lt;/p&gt;

&lt;p&gt;Without this, AI sometimes suggests "should we set up the save system?" when you built that three milestones ago. With it, suggestions align with where you actually are.&lt;/p&gt;
&lt;h3&gt;
  
  
  3. Current Milestone (The Focus Laser)
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Current Milestone: Electric Engine&lt;/span&gt;

&lt;span class="gs"&gt;**Goal:**&lt;/span&gt; Propulsion system controlled by navigation computer.

&lt;span class="gu"&gt;### What We're Building&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; Engine power curves
&lt;span class="p"&gt;-&lt;/span&gt; Battery consumption mechanics
&lt;span class="p"&gt;-&lt;/span&gt; NemoOS status messages

&lt;span class="gu"&gt;### Success Criteria&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; [ ] Engine responds to throttle commands
&lt;span class="p"&gt;-&lt;/span&gt; [ ] Battery drains during operation
&lt;span class="p"&gt;-&lt;/span&gt; [ ] NemoOS logs engine state changes

&lt;span class="gu"&gt;### Deferred (Not This Slice)&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; Emergency surface procedures (future complexity)
&lt;span class="p"&gt;-&lt;/span&gt; Engine damage mechanics (not yet)
&lt;span class="p"&gt;-&lt;/span&gt; Backup propulsion systems (out of scope)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Why it works:&lt;/strong&gt; The &lt;strong&gt;Deferred&lt;/strong&gt; section is the magic. By explicitly listing what we're NOT doing, we create visible boundaries. The AI can't suggest what it sees we've deliberately parked.&lt;/p&gt;

&lt;p&gt;Before this section: Constant nagging about tackling backlog suggestions per session.&lt;/p&gt;

&lt;p&gt;After this section: Zero backlog suggestions unless I ask for it.&lt;/p&gt;

&lt;p&gt;The AI learns: "This isn't forgotten, it's just not now."&lt;/p&gt;
&lt;h3&gt;
  
  
  4. Backlog (De-emphasised, At The Bottom)
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Backlog (Not Prioritised)&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; Crew morale system
&lt;span class="p"&gt;-&lt;/span&gt; Giant squid encounters
&lt;span class="p"&gt;-&lt;/span&gt; Multiple depth zones
&lt;span class="p"&gt;-&lt;/span&gt; Port trading mechanics
  [...brief list]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Why it works:&lt;/strong&gt; Ideas need a home, but not prominence. By putting the backlog:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;At the bottom (encountered last)&lt;/li&gt;
&lt;li&gt;Under a "Not Prioritised" header&lt;/li&gt;
&lt;li&gt;Kept brief (truncate if &amp;gt;20 items)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The AI reads the current work first, absorbs the boundaries, and by the time it hits the backlog, knows those items are background noise.&lt;/p&gt;
&lt;h3&gt;
  
  
  5. Handover Prompt (Copy-Paste Continuity)
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## How to Continue in a New Chat&lt;/span&gt;

&lt;span class="gs"&gt;**Prompt to use:**&lt;/span&gt;
&lt;span class="gt"&gt;
&amp;gt; Read TODO.md and the linked docs. Current milestone: Electric Engine.&lt;/span&gt;
&lt;span class="gt"&gt;&amp;gt; We just finished the pressure system. Pick up from engine physics.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Why it works:&lt;/strong&gt; Zero friction. I literally copy-paste this into a new chat. The AI gets exactly the context it needs: what to read, where we are, what just finished, where to continue.&lt;/p&gt;

&lt;p&gt;No thinking. No reconstruction. Just ... paste and go. It's delightfully satisfying!&lt;/p&gt;
&lt;h2&gt;
  
  
  The Before and After
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Before (many early sessions)
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[10:15] Me: Read project and continue where we left off
[10:16] AI: [Reads TODO] I see diving system. Also notice port
        trading. Should we add cargo hooks while—
[10:17] Me: No, just diving
[10:17] AI: Got it! About sound design in backlog—
[10:18] Me: Just. Diving. Please.
[10:20] AI: Right! For diving, should we start with physics or UI?
[10:21] Me: Physics. We discussed this yesterday.
[10:22] AI: Let me start on the pressure model...
[10:25] [Actual work finally begins]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Session startup: valuable minutes of re-explaining&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  After (every session now)
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[10:15] Me: Read TODO.md and linked docs.
[10:16] AI: Got it. Diving system — pressure physics ✓, UI (not yet),
        depth gating (not yet). Emergency ascent explicitly deferred.
        Continue with UI?
[10:16] Me: Yes
[10:16] [Productive work begins immediately]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Session startup: seconds ... straight to coding&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The difference isn't subtle. It's the difference between frustration and flow.&lt;/p&gt;


&lt;h2&gt;
  
  
  The Copy-Paste Template
&lt;/h2&gt;

&lt;p&gt;Here's the structure you can steal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# [Project Name]: Development TODO&lt;/span&gt;

&lt;span class="gu"&gt;## Quick Context (For New Chats)&lt;/span&gt;

&lt;span class="gs"&gt;**Read these docs:**&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Doc 1&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;link&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; — What it covers
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Doc 2&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;link&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; — What it covers

&lt;span class="gs"&gt;**One-line pitch:**&lt;/span&gt; [What is this project?]
&lt;span class="gs"&gt;**Tech:**&lt;/span&gt; [Stack/framework]
&lt;span class="gs"&gt;**Status:**&lt;/span&gt; [Prototype/MVP/Production]
&lt;span class="p"&gt;
---
&lt;/span&gt;
&lt;span class="gu"&gt;## Completion Log&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; &lt;span class="gs"&gt;**[Date]**&lt;/span&gt; — [Milestone name] ([brief description])
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="gs"&gt;**[Date]**&lt;/span&gt; — [Milestone name] ([brief description])
&lt;span class="p"&gt;
---
&lt;/span&gt;
&lt;span class="gu"&gt;## Current Milestone: [Milestone Name]&lt;/span&gt;

&lt;span class="gs"&gt;**Goal:**&lt;/span&gt; [One sentence describing success]

&lt;span class="gu"&gt;### What We're Building&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; Specific feature 1
&lt;span class="p"&gt;-&lt;/span&gt; Specific feature 2
&lt;span class="p"&gt;-&lt;/span&gt; Specific feature 3

&lt;span class="gu"&gt;### Success Criteria&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; [ ] Measurable outcome 1
&lt;span class="p"&gt;-&lt;/span&gt; [ ] Measurable outcome 2
&lt;span class="p"&gt;-&lt;/span&gt; [ ] Measurable outcome 3

&lt;span class="gu"&gt;### Deferred (Not This Slice)&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; Thing we're explicitly NOT doing right now
&lt;span class="p"&gt;-&lt;/span&gt; Another feature we've parked
&lt;span class="p"&gt;-&lt;/span&gt; Explicit boundary / scope protection
&lt;span class="p"&gt;
---
&lt;/span&gt;
&lt;span class="gu"&gt;## Backlog (Not Prioritised)&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; Future idea 1
&lt;span class="p"&gt;-&lt;/span&gt; Future idea 2
&lt;span class="p"&gt;-&lt;/span&gt; Future idea 3
&lt;span class="p"&gt;
---
&lt;/span&gt;
&lt;span class="gu"&gt;## How to Continue in a New Chat&lt;/span&gt;

&lt;span class="gs"&gt;**Prompt to use:**&lt;/span&gt;
&lt;span class="gt"&gt;
&amp;gt; Read TODO.md and linked docs. Current milestone: [name].&lt;/span&gt;
&lt;span class="gt"&gt;&amp;gt; Context: [one line about what just finished]. Continue from [specific point].&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  What Makes This Different
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Traditional TODO:&lt;/strong&gt; Designed for human brains with implicit context and persistent memory.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Session Protocol:&lt;/strong&gt; Designed for AI assistants that read literally and start fresh every session.&lt;/p&gt;

&lt;p&gt;The key differences:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Explicit boundaries&lt;/strong&gt; (Deferred section) vs. implicit priorities&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Temporal orientation&lt;/strong&gt; (dates + completion log) vs. flat task lists&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Embedded handover prompts&lt;/strong&gt; vs. hoping the AI figures it out&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Attention shaping through structure&lt;/strong&gt; vs. assuming the AI knows what matters&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Your AI assistant can't remember between sessions (well, unless you're using Projects, but even then...). &lt;strong&gt;Your documents can remember for it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Make them count.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Isn't (Scope Check)
&lt;/h2&gt;

&lt;p&gt;Before the comments fill with "but how does this scale to my 50-person org?" — let me save you the typing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This is a personal workflow pattern.&lt;/strong&gt; It's optimised for &lt;em&gt;you&lt;/em&gt; working with &lt;em&gt;your&lt;/em&gt; AI assistant.&lt;/p&gt;

&lt;p&gt;It works for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Solo devs building passion projects&lt;/li&gt;
&lt;li&gt;Engineers working individual tickets within a squad&lt;/li&gt;
&lt;li&gt;At a stretch, pair programming handoffs if both people use the same structure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It does &lt;strong&gt;not&lt;/strong&gt; replace:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Jira, Linear, Trello, or any team coordination tool&lt;/li&gt;
&lt;li&gt;Sprint planning, backlog grooming, or standups&lt;/li&gt;
&lt;li&gt;Your tech lead's opinion on story points&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Asking "how does this scale to a team?" is like asking how your personal notebook scales to 50 people. It doesn't. That's not a bug—it's the point.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This is about your focus. Your flow. Your AI assistant's attention.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The scaling question assumes this is a planning tool. It’s not. Use a tool designed for that. This is an &lt;em&gt;alignment tool&lt;/em&gt; for a single human-to-AI feedback loop. It’s what you use when you sit down, open a chat, and want to immediately get back into flow instead of re-explaining your life story to a goldfish with a very expensive education.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pro Tips
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Update at session end, not session start.&lt;/strong&gt; When you're wrapping up for the day, spend 2 minutes updating the TODO. You have context. Future &lt;em&gt;you&lt;/em&gt; will thank you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Make the AI do the work.&lt;/strong&gt; End sessions with: "Update TODO.md with what we just accomplished and write the handover prompt for next time." Offload the admin to the tireless assistant.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Keep the completion log short.&lt;/strong&gt; Once it hits ~10 items, archive older ones to a &lt;code&gt;CHANGELOG.md&lt;/code&gt;. The log is for orientation, not history.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test the deferred section.&lt;/strong&gt; If you're still getting backlog suggestions, your Deferred section isn't explicit enough. Name specific features and why they're parked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Move the backlog if it grows.&lt;/strong&gt; Once you hit ~20 items, consider a separate &lt;code&gt;BACKLOG.md&lt;/code&gt;. What the AI doesn't see, it can't get distracted by.&lt;/p&gt;

&lt;h2&gt;
  
  
  When This Breaks (And How to Fix It)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The temporal orientation might be placebo.&lt;/strong&gt; I think dates help the AI calibrate to project maturity, but I haven't proven it. Test it yourself: try removing dates for a week and see if behaviour changes. If it does, keep 'em. If not, they're just clutter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Long contexts might truncate the bottom.&lt;/strong&gt; I put behavioural notes at the end, but some models might deprioritise them. If your AI starts ignoring constraints, move the critical ones to the Quick Context section at the top.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Human discipline is required.&lt;/strong&gt; This only works if you actually update the TODO before closing your laptop. If you code for 4 hours and forget to update... next session starts with stale context. Solution: make it a habit, or make the AI do it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Bigger Pattern
&lt;/h2&gt;

&lt;p&gt;The Session Protocol works because &lt;strong&gt;documents shape AI behaviour&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A sprawling TODO makes an AI scattered.&lt;/p&gt;

&lt;p&gt;A focused TODO makes an AI focused.&lt;/p&gt;

&lt;p&gt;Traditional documentation assumes smart readers who can infer intent. AI assistants are powerful but literal—they need explicit instruction.&lt;/p&gt;

&lt;p&gt;This isn't just about TODO files. The same principle applies to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Architecture Decision Records (add "Alternatives we rejected and why")&lt;/li&gt;
&lt;li&gt;API docs (add "Usage patterns we don't support")&lt;/li&gt;
&lt;li&gt;Design docs (add "What we're NOT building in V1")&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;When collaborating with literal-minded machines, make your boundaries as visible as your goals.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Go Try It
&lt;/h2&gt;

&lt;p&gt;This structure emerged from frustration, got refined through iteration, and now saves me a lot of time. It might work for you. It might not. But it costs 5 minutes to try.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fastest path:&lt;/strong&gt; Drop this article into your AI assistant and ask it to generate a Session Protocol &lt;code&gt;TODO.md&lt;/code&gt; for your project. Iterate from there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DIY path:&lt;/strong&gt; Copy the template. Fill in your project details. Use the handover prompt in your next session. See if it helps.&lt;/p&gt;

&lt;p&gt;If it works, brilliant. If it doesn't, tweak it. The structure isn't sacred — the principle is: &lt;strong&gt;teach your AI assistant what to focus on by showing it explicitly in your documentation.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now go build something cool.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This pattern emerged vibe-coding a simulation game, POC originally in React (which I know well), then pivoting to Godot 4.x (which is completely new to me). The structure was proposed and refined by Claude Opus 4.5 during meta-discussions about project documentation.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Comments? Questions? Improvements?
&lt;/h2&gt;

&lt;p&gt;What documentation patterns are you using with AI assistants? Found something that works better? Hit the comments — I'm curious what's working for other devs.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
      <category>documentation</category>
    </item>
    <item>
      <title>Thinking Like a Diffusion Model</title>
      <dc:creator>Andrew Eddie</dc:creator>
      <pubDate>Tue, 02 Dec 2025 05:12:40 +0000</pubDate>
      <link>https://forem.com/eddieajau/thinking-like-a-diffusion-model-5f3b</link>
      <guid>https://forem.com/eddieajau/thinking-like-a-diffusion-model-5f3b</guid>
      <description>&lt;p&gt;&lt;em&gt;A reflection on why "vibe coding" works, and what it might teach us about partnering with AI.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Shape of the Problem
&lt;/h2&gt;

&lt;p&gt;Some people solve problems like compilers: input → process → output. Step by step. Recipe-based. Explainable.&lt;/p&gt;

&lt;p&gt;Others solve problems like diffusion models: start with noise, iterate toward coherence, and at some point the answer just... &lt;em&gt;resolves&lt;/em&gt;. The shape emerges from the fog.&lt;/p&gt;

&lt;p&gt;If you're the second type, you've probably spent your life struggling to answer "walk me through your process." Because there isn't a process. There's a &lt;em&gt;sense&lt;/em&gt; that sharpens until it clicks.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Diffusion Models Actually Do
&lt;/h2&gt;

&lt;p&gt;A diffusion model doesn't build an image pixel by pixel. It starts with pure noise and iteratively &lt;em&gt;denoises&lt;/em&gt; - each step reducing entropy, increasing structure, until a coherent form emerges.&lt;/p&gt;

&lt;p&gt;The image isn't constructed. It's &lt;em&gt;resolved&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Key properties:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Whole-first&lt;/strong&gt;: The global structure emerges before the details&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Iterative refinement&lt;/strong&gt;: Each pass sharpens, but doesn't "add"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Non-linear&lt;/strong&gt;: Step 47 might suddenly clarify what steps 1-46 were doing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Topology-preserving&lt;/strong&gt;: The &lt;em&gt;shape&lt;/em&gt; of the solution stays consistent even as details change&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Thinking in Shadows
&lt;/h2&gt;

&lt;p&gt;Here's the strange part: some human brains seem to work this way too.&lt;/p&gt;

&lt;p&gt;You might experience problem-solving as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A high-dimensional sense of the solution space&lt;/li&gt;
&lt;li&gt;A "shadow" that projects down into something you can articulate&lt;/li&gt;
&lt;li&gt;Knowing something is &lt;em&gt;wrong&lt;/em&gt; before you can say &lt;em&gt;why&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Iterating not toward correctness, but toward &lt;em&gt;coherence&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If this sounds familiar, congratulations: you think like a diffusion model.&lt;/p&gt;

&lt;p&gt;And also: you probably struggle to explain your thinking to people who don't.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Clicks With AI
&lt;/h2&gt;

&lt;p&gt;Large language models aren't diffusion models technically, but they share a key property: they're &lt;strong&gt;high-dimensional pattern matchers&lt;/strong&gt; that find coherent regions in concept-space.&lt;/p&gt;

&lt;p&gt;When you prompt an AI, you're not giving it a recipe. You're giving it &lt;em&gt;coordinates&lt;/em&gt;. You're saying "somewhere around here" and letting it resolve the details.&lt;/p&gt;

&lt;p&gt;If your brain already works this way, AI collaboration feels natural:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Sequential Thinker&lt;/th&gt;
&lt;th&gt;Diffusion Thinker&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;"Write me a function that does X"&lt;/td&gt;
&lt;td&gt;"Help me understand this space"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Expects correct output first try&lt;/td&gt;
&lt;td&gt;Expects to iterate toward coherence&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Debugs by checking steps&lt;/td&gt;
&lt;td&gt;Debugs by checking &lt;em&gt;shape&lt;/em&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frustrated when AI "hallucinates"&lt;/td&gt;
&lt;td&gt;Recognises when output is in wrong region&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The diffusion thinker isn't giving better prompts. They're &lt;strong&gt;navigating&lt;/strong&gt;, not &lt;strong&gt;commanding&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vibe Coding
&lt;/h2&gt;

&lt;p&gt;This is what "vibe coding" actually is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Start with fog&lt;/strong&gt; - "I need to understand this legacy system"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Iterate toward signal&lt;/strong&gt; - Back-and-forth, pushing back, refining&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recognise coherence&lt;/strong&gt; - "Yes, that's the shape I was sensing"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Produce artifacts&lt;/strong&gt; - Documentation, tickets, code emerge as shadows of the resolved understanding&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It's not prompt engineering (mechanical, rules-based). It's &lt;strong&gt;collaborative resolution&lt;/strong&gt; - two pattern-matchers vibing at each other until coherent signal emerges from noise.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Tradeoff
&lt;/h2&gt;

&lt;p&gt;Diffusion thinking has a cost: &lt;strong&gt;it's nearly impossible to explain&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"How did you know that approach was wrong?"&lt;/p&gt;

&lt;p&gt;"It... didn't fit the topology of the problem?"&lt;/p&gt;

&lt;p&gt;"..."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You can't give someone a recipe for intuition. You can't step-debug a shape.&lt;/p&gt;

&lt;p&gt;This makes you bad at:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Writing documentation (the sequential kind)&lt;/li&gt;
&lt;li&gt;Pair programming with sequential thinkers&lt;/li&gt;
&lt;li&gt;Explaining yourself in code reviews&lt;/li&gt;
&lt;li&gt;Answering "what's your process?"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But it makes you good at:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Seeing whole systems&lt;/li&gt;
&lt;li&gt;Recognising when something is &lt;em&gt;off&lt;/em&gt; before it's &lt;em&gt;wrong&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Navigating ambiguous problem spaces&lt;/li&gt;
&lt;li&gt;Partnering with AI&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Practical Implications
&lt;/h2&gt;

&lt;p&gt;If this resonates, here's what might help:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For working with AI:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Treat prompts as coordinates, not commands&lt;/li&gt;
&lt;li&gt;Iterate toward coherence rather than expecting correct output&lt;/li&gt;
&lt;li&gt;Push back when the shape is wrong, even if you can't articulate why&lt;/li&gt;
&lt;li&gt;Create artifacts (docs, tickets) that capture the resolved understanding&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;For working with humans:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Accept that you'll need to "compile" your thinking into sequential form&lt;/li&gt;
&lt;li&gt;Use artifacts as translation layers - let the document explain what you can't&lt;/li&gt;
&lt;li&gt;Find collaborators who trust your "that's wrong" even without explanation&lt;/li&gt;
&lt;li&gt;Don't apologise for not having a step-by-step process&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;For self-understanding:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You're not broken, you're differently structured&lt;/li&gt;
&lt;li&gt;The thing you can't explain is still real&lt;/li&gt;
&lt;li&gt;AI might be the first collaborator that doesn't require translation&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Punchline
&lt;/h2&gt;

&lt;p&gt;You might think like a diffusion model.&lt;/p&gt;

&lt;p&gt;That's not a metaphor. It's a &lt;em&gt;topology&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;And for the first time in history, there's a tool that meets you in that space - that doesn't require you to flatten your thinking into words before you can collaborate.&lt;/p&gt;

&lt;p&gt;The shape was always there. Now you have a partner who can see it too.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Written during a session that started with "help me understand this spaghetti" and ended with a production-ready ticket - through pure iterative resolution.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>discuss</category>
      <category>productivity</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
