Training
Certification Leadership Frameworks Agentic for Business
Community Keynotes Retreat Blog Book A Consultation
Protocol 13 of 18 · Track, Product Management · How we run

Epic status, project status HTML tracking

A single HTML file per project that tracks epic progress in plain sight (what is done, what is next, who is stuck), readable by humans and agents alike.

Protocol 12 Product planning and epic planning All 18 Protocol 14 Planning your day with a PM agent
Why this matters

The pain it
solves

The single biggest source of project drift is what is the actual status. If three people need to ask each other to find out where things are, you have lost the project. If the answer to what is shipped requires reading Slack history, you do not have a project; you have a chat group.

The fix is a single file, in the project, read by both humans and agents, that always tells the truth. One file. Always current. Always honest.

The teaching

What this
actually is

Status that lives only in your head is not status, it is a wish

The single biggest source of project drift is what-is-the-actual-status. If three people need to ask each other to find out where things are, you have lost the project. If the answer to what is shipped requires reading Slack history, you do not have a project; you have a chat group.

The fix is a single file, in the project, read by both humans and agents, that always tells the truth. One file. Always current. Always honest.

What project-status.html does

Three jobs. Done well, this file is the heartbeat of the project.

  • Lists every epic with status
    Five states, no more: Open, In Progress, Done, Blocked, Cancelled.
  • Shows the most recent change per epic
    Date plus one-line description. "2026-05-12: Lead capture form deployed to prod." Future-you will thank present-you for this.
  • Highlights blockers at the top
    Blocked epics float above everything else. The first thing the page shows is what is stuck.

Why HTML, not markdown

Markdown is for humans. HTML can be styled, scanned visually at a glance, and rendered in a browser tab you keep open all day. It is also still trivial for agents to parse and update.

The trick: a single self-contained HTML file with inline styles. No build step. Open it locally, host it on Vercel, link it from your wiki. One artefact, many places.

The discipline

Three rules. Easy to follow. Hard to start.

  • One file per project
    Always at public/project-status.html. Same name across every project so agents and people never have to search.
  • Update on commit, not on Friday
    When the developer agent finishes a task, it updates the file in the same commit. The file is part of the work, not after the work.
  • Five states, no more
    Open, In Progress, Done, Blocked, Cancelled. Adding a sixth (Almost, Reviewing) immediately means nothing has any state.
Try it yourself 25 minutes

Create a self-updating project-status.html in 25 minutes

Use a real project (the Hello World counts). You will create the file, populate it with your epics from Protocol 12, then have the developer agent update it as part of a commit.

  1. Step 01
    Create the file

    In Claude Code: "Create public/project-status.html with these sections: blockers (top), in progress, open, done, cancelled. Style it inline, IL brand. Make it readable in a browser."

  2. Step 02
    Add your epics

    Tell Claude: "Read docs/product/epics/. Populate project-status.html with every epic and its status. Use Open for any epic that has not started."

  3. Step 03
    Walk one epic from Open to In Progress

    Tell Claude: "Move epic 01 to In Progress. Add today's date and a one-line note: started." Commit and push.

  4. Step 04
    Walk it to Done after a real task

    Actually finish one task in epic 01. Tell Claude: "Mark epic 01 as Done in project-status.html. Note: lead capture shipped to prod." Commit.

  5. Step 05
    Hook it into the daily flow

    Update CLAUDE.md or AGENTS.md: "Always update public/project-status.html when an epic changes state. Same commit as the work." Every agent now keeps the file honest by default.

Outcome

A live project-status.html for your real project, walked through three states, with an agent committed to keeping it current. You never have to write a weekly update again.

Official resources

Straight from
the source

What you walk out with

By the end of this
protocol

At the retreat

You learn it by
doing it

You watch your developer agent ship an epic and update your status file on its own. After that, you never write a weekly update again.

Connects to

Other protocols this
compounds with

← Previous, Protocol 12 Next, Protocol 14 →