agentleFS
dream-horizon-orgdream-horizon-org/pulse/product/CLAUDE.md

pulse / product

CLAUDE.md44 starsChanged 5 months agoApache-2.0View on GitHub

Scope: every .md file under product/ (frameworks, PRDs, overview docs). These rules constrain what you write so the web panel renders cleanly, the framework stays a single source of truth, and the docs survive copy-paste into Google Docs / Notion / decks. These rules are forward-compatible. The current web panel renders standard Markdown; richer visual treatments will activate as the renderer evolves. Following the rules now means we don't retrofit later. Filenames are kebab-case (funnel-diagnose-agent.md) — not snake_case, not spaces,…

The file

We split this CLAUDE.md into the rules it gives an agent

7 rules. About 0 are common, 4 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Every doc starts with a YAML front-matter block.

    line 31
  2. Very specific:

    If a viewer doesn't strip front-matter, it appears as a horizontal rule plus a few key: value lines at the top — visually quiet, easy to …

    line 69
  3. Distinctive:

    Use only these three symbols when conveying build status:

    line 77
  4. Very specific:

    Do not substitute 🟢 🟡 🔴, 🚧, ✓, [x], "Done", "WIP".

    line 85
  5. Very specific:

    Always capitalised, exactly: Detect, Diagnose, Quantify, Resolve, Predict, Tech, Product, UX.

    line 100
  6. Distinctive:

    Do not redefine glossary metrics in PRDs: If you need a metric the glossary doesn't have, add it to the glossary in the same change — don't …

    line 106
  7. Distinctive:

    Do not link with absolute paths or repo URLs — docs must read correctly when copied out of the repo.

    line 115

≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
CLAUDE.md

Pulse Product Folder — Authoring Rules

Scope: every .md file under product/ (frameworks, PRDs, overview docs).

These rules constrain what you write so the web panel renders cleanly, the framework stays a single source of truth, and the docs survive copy-paste into Google Docs / Notion / decks.

These rules are forward-compatible. The current web panel renders standard Markdown; richer visual treatments will activate as the renderer evolves. Following the rules now means we don't retrofit later.

What lives where

FolderUse forFilename pattern
frameworks/Long-lived strategic documents — execution framework, north star, persona definitions, glossary. Touched rarely.<noun-phrase>.md (e.g. execution-framework.md)
prds/One file per feature or capability. New work starts here.<feature-slug>.md (kebab-case)
prds/_template.mdAuthoring template. Copy this for new PRDs. Files starting with _ sort to the bottom of the panel.—
(root)Folder-level overview docs only (README.md). Not for product content.—

Filenames are kebab-case (funnel-diagnose-agent.md) — not snake_case, not spaces, not Title Case. The filename becomes the URL slug in the web panel.

Front-matter schema

Every doc starts with a YAML front-matter block. Most fields are optional, but the block must be present.

---
title: Required. Explicit title.
status: draft | in-review | approved | in-execution | live
layer: detect | diagnose | quantify | resolve | predict | framework | meta
persona: tech | product | ux | all
last-edited: YYYY-MM-DD
owner: Author name
tracker: Linear/Jira URL
hero: gradient | flat | none   # default: flat
---

Validation:

FieldRequired whenNotes
titleAlwaysRenderer falls back to first H1 if absent, but always set this explicitly.
layerPRDsUse framework for framework docs, meta for overview docs.
personaPRDsall only with explicit body justification.
statusAllFrameworks are typically live. PRDs progress draft → in-review → approved → in-execution → live.
last-editedAllYYYY-MM-DD. Update on every meaningful edit.
ownerAllSingle name; the person on point.
trackerapproved, in-execution, live PRDsLinear or Jira URL.
heroOptionalDefaults to flat. Use gradient for hero docs.

Status progression:

StatusMeaning
draftPRD is being written. Not yet ready for review.
in-reviewUnder review by EM, PM, tech leads.
approvedReviewed and accepted. Engineering can plan the work.
in-executionEngineering is actively building. Tracker required.
liveShipped to customers, or — for framework / meta docs — currently in force.

If a viewer doesn't strip front-matter, it appears as a horizontal rule plus a few key: value lines at the top — visually quiet, easy to delete on paste.

Renderer contract

These patterns get rich visual treatment in the web panel. Stay on these patterns or the visuals break silently.

Status symbols

Use only these three symbols when conveying build status:

SymbolMeaning
✅Built / shipped
⚡Work in progress
❌Not built

Do not substitute 🟢 🟡 🔴, 🚧, ✓, [x], "Done", "WIP". The renderer keys off these three exact code points.

Blockquotes

A > blockquote renders as a premium callout card. Use blockquotes for the doc's lede, target dates, key claims — not for casual asides.

Tables

Standard pipe Markdown. The renderer auto-detects:

  • A Stage × Tech | Product | UX table → renders as the colored progress matrix.
  • Any column whose cells start with ✅ / ⚡ / ❌ → cells are styled as status chips.

Layer and persona names

Always capitalised, exactly: Detect, Diagnose, Quantify, Resolve, Predict, Tech, Product, UX. The renderer scans for these exact tokens to apply pills.

Glossary terms

Metric abbreviations (TTFA, MTTD-R, MTTDx, TTFE, RRL, NRR, etc.) are defined once in frameworks/execution-framework.md § Metrics & Glossary. The renderer pulls long-form + meaning into a tooltip wherever the abbreviation appears.

Do not redefine glossary metrics in PRDs. If you need a metric the glossary doesn't have, add it to the glossary in the same change — don't fork it inline.

Cross-doc linking

Relative paths from the doc you're writing:

  • From a PRD to the framework: [Layer & Persona reference](../frameworks/execution-framework.md)
  • From the framework to a PRD: [Funnel diagnose agent](../prds/funnel-diagnose-agent.md)

Do not link with absolute paths or repo URLs — docs must read correctly when copied out of the repo.

When you are tempted to invent

TemptationDo this instead
Define a new metric inline in a PRDAdd it to frameworks/execution-framework.md § Metrics & Glossary first; PRD references the glossary entry.
Add a new persona ("Ops", "QA", "Customer Support")Discuss with the author of the framework. New personas change strategy, not just one PRD.
Add a new execution layerSame — framework change, not PRD change.
Use a different status emoji setNo. Use ✅ ⚡ ❌.
Skip the Persona section because "this affects everyone"Either name the personas explicitly, or set persona: all and justify in the body.
Embed an image, GIF, or videoAvoid in PRDs — they don't survive copy-paste into Google Docs / decks. Diagrams: use a Markdown table or an ASCII flow.

Workflow shortcuts

The pulse repo ships two project-scoped skills for working in this folder:

  • /pulse-prd-author — guided draft of a new PRD from a feature brief or scoping conversation.
  • /pulse-prd-review — validate an existing PRD against this folder's rules and the execution framework.

Both skills load these rules and the framework doc on startup. They are the recommended path for AI-assisted authoring and review.

Don't pollute this folder

Things that do not belong in product/:

  • Engineering specs without a product surface — they live closer to the code.
  • Meeting notes — use the team's notes tool.
  • Customer-facing copy — that lives with the website / docs site.
  • Screenshots of dashboards — link to the dashboard, don't paste images.

The product folder is for the strategic and product-spec layer. Keep it dense.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.