Skip to main content
skill CX Codex

count — Claude Code skill: your project's north-star row

Reads your repository and prints one line: when the first source file landed, how many decisions came before it, how many sessions there were. Sends nothing anywhere.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add haabe/mycelium --skill count -a claude-code
Open on GitHub

What count does

The skill opens .claude/harness/decision-log.md, the project canvas and the hook logs, then outputs a single line. It covers the date of the first code file outside .claude/ and docs/, how many dated journal entries exist on or before that day, how many of those point at outside sources, cycles killed before code, and the count of distinct sessions.

That outside-evidence figure is a lexical proxy. The skill itself calls it an upper bound, since a link to your own notes also matches the pattern. When the number matters, read the entries by hand. The L0–L2 condition stays out of the row: journal entries carry no scale, and inventing one would fake the count.

The skill expects the Mycelium framework around it. Run standalone and you lose the canvas state, the theory gates and the hook behaviour it assumes. Without git, or before any code file exists, the date field reads unknown and nothing counts as earlier. A row of zeros is still an answer about the record: either the decisions came after the first source file, or nobody logged them. The date and the dated-entry count tell you which.

What it helps with

  • see how many decisions were logged before the first source file
  • separate entries citing outside evidence from the rest
  • count cycles killed and solutions archived before code
  • find the number of sessions from the hook logs
  • get a metrics line without shipping data off the machine

Example prompts for the agent

  • Run the count skill and print my project's row
  • How many decisions came before the first source file? Use count
  • Run count_builder_row.py and tell me what the zeros mean

How to install count

1Skills CLI (Vercel)

npx skills add haabe/mycelium --skill count -a claude-code

2Manually: put the files in place

~/.claude/skills/count/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/count/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about count

How do I install count in Claude Code?

Run npx skills add haabe/mycelium --skill count -a claude-code. The skill file lands at ~/.claude/skills/count/SKILL.md.

What does count do?

It prints one line built from your decision log, canvas and hook logs: the first source file's date, decisions logged before it, how many cite outside sources, cycles killed before code, and sessions. It writes nothing and sends nothing.

Does count work without Mycelium?

It is meant to run inside the Mycelium framework. Outside it you lose the canvas state, theory gates and hook behaviour the skill relies on.

Source text

SKILL.md · MIT
---
name: count
description: Print your own north-star row from your own record, and nothing else. Reads .claude/harness/decision-log.md, the canvas and the hook logs in this project; prints one line (decisions before the first source file, of which citing outside evidence, kills before code, sessions). Sends nothing anywhere. Opt-in; paste the line where you like or not at all.
metadata:
  framework_dependency: "mycelium"
  framework_dependency_note: "This skill is designed to run within the Mycelium framework (https://github.com/haabe/mycelium). Standalone use will skip the canvas state, theory gates, and harness behavior the skill assumes. Install: /plugin install mycelium@haabe-mycelium."
---

# Count: your own row, from your own record

Mycelium's north star is a hypothesis (dogfood DL-1177, 2026-09-07): a builder who makes at least
one build-or-kill decision on evidence from outside their own head, before their project's first
source file, is the builder who comes back and later says the brief changed what they built. There
is no telemetry by design (PRIVACY.md). This command is the opt-in half: it reads your repository
and prints one line. It writes nothing and sends nothing.

## Run

```bash
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/count_builder_row.py" --project-dir .
```

Output, one line plus what it means:

```
mycelium row | first source file 2026-06-02 | decisions before it 4 (of 31 dated) | citing outside evidence 2 (lexical proxy, upper bound) | kills before code 1 | sessions 12
```

## What the numbers are, and which are proxies

- **first source file**: the first commit that added a code file outside `.claude/` and `docs/`. Without git, or before any such file, it reads `unknown` and nothing is "before" it.
- **decisions before it**: dated entries in your decision log on or before that day.
- **citing outside evidence**: an entry carrying a URL, an `external_*` source class, a `(per ...)` citation or an interview word. **A lexical proxy and an upper bound**: the unit asks for a person in the pipeline or a fact about the market, and a link to your own notes matches too. Read the entries if the number matters.
- **kills before code**: cycle rows killed or archived, and archived solutions, dated on or before that day.
- **sessions**: distinct session ids in the read-log and change-log the hooks write.

The discovery-layer condition (L0 to L2) is not applied, because decision-log entries carry no
scale and guessing one would manufacture the count. Say so if you paste the line.

## Rules

- Never write the line into a canvas or a decision log on the builder's behalf; the row is theirs.
- Never call out. The maintainer's proxy sheet gains rows only from what people choose to paste (an issue on the framework repo, a message, nothing).
- If the line is 0 across the board, that is a real answer about the record, not a failure of the builder: it means the decisions were made after the first source file, or were not logged. Say which, from the `first source file` date and the `of N dated` count.

© haabe · MIT · haabe/mycelium

Similar skills

All skills for Agent setup: memory, context, orchestration →

From the same set14

mocked-persona-interview For solo and hobby projects where real user interviews are off the table: the skill runs interviews with invented personas and keeps them from becoming a rubber stamp for your own assumptions. CX Codex +1 ★ 47repo stars metrics-detect Scans the repo and sets up adapters for the metric sources your product actually uses, from GitHub to Stripe. Handy when the project predates this setup. CX Codex +1 ★ 47repo stars jtbd-map Splits customer work into functional, emotional and social jobs, then saves the map to a canvas file. CX Codex +1 ★ 47repo stars friction-log Drafts an honest write-up of where working with Mycelium felt confusing or slow. You edit it and decide whether it goes anywhere. CX Codex +1 ★ 47repo stars fan-out Spawns several subagents on one problem, then folds their findings into a single pick. Useful when two or more solutions compete and you need evidence, not a guess. CX Codex +1 ★ 47repo stars diamond-render Turns .claude/diamonds/active.yml into a picture of the decisions recorded so far, in order, plus the ones still ahead. Useful at the end of an assessment. CX Codex +1 ★ 47repo stars define-done Sets a measurable Definition of Done for a diamond: a change in behaviour that creates value, not a build list. Useful when work gets signed off on shipping alone. CX Codex +1 ★ 47repo stars canvas-sync Pulls and commits canvas state through git so every teammate works from the same product knowledge. Meant for the first and last minutes of a session. CX Codex +1 ★ 47repo stars

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor