<?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>DEV Community: Backshift</title>
    <description>The latest articles on DEV Community by Backshift (@backshift).</description>
    <link>https://dev.to/backshift</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4160744%2F8a33da8a-549d-4689-9902-5db7996e87ed.png</url>
      <title>DEV Community: Backshift</title>
      <link>https://dev.to/backshift</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/backshift"/>
    <language>en</language>
    <item>
      <title>Claude Code is a great engineer. Here is how to make it your Chief of Staff.</title>
      <dc:creator>Backshift</dc:creator>
      <pubDate>Sun, 04 Oct 2026 03:33:43 +0000</pubDate>
      <link>https://dev.to/backshift/claude-code-is-a-great-engineer-here-is-how-to-make-it-your-chief-of-staff-36m6</link>
      <guid>https://dev.to/backshift/claude-code-is-a-great-engineer-here-is-how-to-make-it-your-chief-of-staff-36m6</guid>
      <description>&lt;p&gt;Claude Code is very good at a task. It is not, by default, good at &lt;em&gt;everything you are running&lt;/em&gt;: several goals, a dozen projects, a budget, and a pile of decisions nobody is making.&lt;/p&gt;

&lt;p&gt;Left alone, each session starts from zero. Task lists rot. Decisions pile up. "Progress" becomes a feeling instead of a number.&lt;/p&gt;

&lt;p&gt;This is the structure that fixed it. It has run a real multi-project portfolio every day for six months. It is a folder layout and a handful of Markdown files, nothing else.&lt;/p&gt;

&lt;h2&gt;
  
  
  The shape: three tiers
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Portfolio/
├── CLAUDE.md  SCOREBOARD.md              ← Tier 1: the whole plan, every target
├── 2.1-Goal-Name/   CLAUDE.md + SCOREBOARD.md        ← Tier 2: a thin monitor per goal
│   └── 3.1.1-Project-Name/  CLAUDE · ROADMAP · TASKS · PROGRESS · DECISIONS   ← Tier 3: where work runs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Measure at the top, work at the bottom.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tier 1&lt;/strong&gt; holds every target and the priority order.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tier 2&lt;/strong&gt; is a thin monitor per goal: the target, which projects feed it, how the number is measured.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tier 3&lt;/strong&gt; is where work actually happens.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The rule that keeps it from rotting: &lt;strong&gt;task lists live only at Tier 3.&lt;/strong&gt; The moment a task list appears at Tier 1 or 2, two places claim the same work and both drift.&lt;/p&gt;

&lt;h2&gt;
  
  
  The session flow
&lt;/h2&gt;

&lt;p&gt;Every session, Claude does the same thing:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Read the master &lt;code&gt;CLAUDE.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Read the Tier 1 scoreboard, then every Tier 2 scoreboard. Target against actual.&lt;/li&gt;
&lt;li&gt;For each active project in priority order: read &lt;code&gt;DECISIONS.md&lt;/code&gt; and &lt;code&gt;TASKS.md&lt;/code&gt;, do every unblocked task, update &lt;code&gt;PROGRESS.md&lt;/code&gt;, list what needs you.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Top-down to load context. Bottom-up to do work. The order matters. A Claude that reads scoreboards before tasks optimises for the number, not for the to-do list.&lt;/p&gt;

&lt;h2&gt;
  
  
  Five files per project, one writer each
&lt;/h2&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;Who writes&lt;/th&gt;
&lt;th&gt;Job&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;Claude, with you&lt;/td&gt;
&lt;td&gt;project context, runbook, rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ROADMAP.md&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;you only&lt;/td&gt;
&lt;td&gt;milestones, each with an exit test&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;TASKS.md&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Claude&lt;/td&gt;
&lt;td&gt;working list; done items move to Done, never deleted&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;PROGRESS.md&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Claude&lt;/td&gt;
&lt;td&gt;append-only session log&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;DECISIONS.md&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;you, Claude as scribe&lt;/td&gt;
&lt;td&gt;your directives, verbatim, signed&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Why five files and not one: each has one writer and one job. A file with two writers becomes a negotiation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three rules that carry the whole thing
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. The scribe rule.&lt;/strong&gt; Claude writes a decision entry only when you state a directive in the session, in your words. Never on inferred intent. This prevents the most expensive failure: Claude quietly making a judgment call, then treating its own note as your authority next session.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Flag, don't block.&lt;/strong&gt; Anything only you can do (an account, an API key, a payment, an approval) goes under &lt;code&gt;## CEO Actions Needed&lt;/code&gt;. Claude writes it down and keeps going on everything else. A session never halts waiting for you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Decide what can be decided.&lt;/strong&gt; Routine technical choices: Claude decides. Anything that commits money, time or public credibility, or touches your values: Claude surfaces it as a yes/no question with a default and one clause of why. Never an open question. Open questions are why decisions pile up.&lt;/p&gt;

&lt;h2&gt;
  
  
  Scoreboards
&lt;/h2&gt;

&lt;p&gt;Every row has the same five columns:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;target · current actual · delta · as-of · source&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Start with manual entry. Keep the &lt;code&gt;source&lt;/code&gt; column from day one. It is what lets a data feed replace a manual field later without restructuring the file.&lt;/p&gt;

&lt;h2&gt;
  
  
  Troubleshooting discipline
&lt;/h2&gt;

&lt;p&gt;When something fails, before Claude recommends any fix:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Which layer failed? Trigger, runtime, dependency, config, network, app logic, data.&lt;/li&gt;
&lt;li&gt;Three hypotheses at that layer, including the boring ones.&lt;/li&gt;
&lt;li&gt;The cheapest 30-second test that tells them apart.&lt;/li&gt;
&lt;li&gt;Stop. Wait for the result before proposing a fix that costs more than the test.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One observation is a hypothesis, not a verdict. Most root causes are mundane.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;The skeleton is free and MIT licensed:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/backshift-works/portfolio-os" rel="noopener noreferrer"&gt;github.com/backshift-works/portfolio-os&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Copy it into a folder, fill in the &lt;code&gt;{{fields}}&lt;/code&gt;, open Claude Code and say: &lt;em&gt;"Read CLAUDE.md and run the session flow."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you want the operating layer on top (the full autonomy framework, the capital-flow gate, the weekly decision card that turns every pending decision into a yes/no you can clear from your phone, and the prompt pattern for scheduled runs that never stall on a permission prompt), that is the &lt;strong&gt;&lt;a href="https://backshift.gumroad.com/l/portfolio-os-kit" rel="noopener noreferrer"&gt;Portfolio OS Kit&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Clock off. The work keeps going.&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>ai</category>
      <category>productivity</category>
      <category>automation</category>
    </item>
  </channel>
</rss>
