Skip to content
Agentmart
Submit a tool

clarion-living-letter-update

Update the annual investor letter at ~/clarion/letters/{YEAR}-letter.md with a new quarterly section, or finalize it at year-end.

Skill by cis.zo.computer

IndexedMIT
Write a review

Chalk Labs

Need help deploying clarion-living-letter-update?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/sillyhippy-clarion-living-letter-update

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Update the annual investor letter at ~/clarion/letters/{YEAR}-letter.md with a new quarterly section, or finalize it at year-end. Auto-fills the system-deterministic parts (regime snapshot, thesis health table, portfolio bucket positions from active theses); marks the narrative-heavy parts (What We Did, What We Learned, Year in Context, Mistakes & Lessons, Looking Ahead) as [TODO] for the user to write with chat assistance. Append-only — refuses to overwrite an already-populated quarter without --force. Use when the user asks "update the letter", "quarterly letter update", "finalize the letter", or "write the {Q1/Q2/Q3/Q4} entry". Requires clarion-setup to have been run.

Use cases: documents, writing, productivity

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/clarion-living-letter-update

What's inside

Skill name
clarion-living-letter-update
Description
Update the annual investor letter at ~/clarion/letters/{YEAR}-letter.md with a new quarterly section, or finalize it at year-end. Auto-fills the system-deterministic parts (regime snapshot, thesis health table, portfolio bucket positions from active theses); marks the narrative-heavy parts (What We Did, What We Learned, Year in Context, Mistakes & Lessons, Looking Ahead) as [TODO] for the user to write with chat assistance. Append-only — refuses to overwrite an already-populated quarter without --force. Use when the user asks "update the letter", "quarterly letter update", "finalize the letter", or "write the {Q1/Q2/Q3/Q4} entry". Requires clarion-setup to have been run.
License
MIT
Metadata
author: cis.zo.computer · category: External · homepage: https://github.com/jingerzz/clarion-intelligence-system · display-name: Clarion Living Letter
Instructions
93 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Agent Skills spec issues

  • body: contains an absolute path from the author's machine

Files (3)

  • SKILL.md
  • letter-format-guide.md · references/
  • letter.py · scripts/

SKILL.md (first lines)

# Clarion living-letter update

The annual investor letter is the system's self-accountability tool — a real-time, timestamped record of how the system thought, what it did, and what it learned. Per [`docs/PRINCIPLES.md` Principle 10 (Compound Knowledge, Not Just Capital)](../../docs/PRINCIPLES.md#10-compound-knowledge-not-just-capital), it's where the institutional memory accrues.

This skill scaffolds quarterly entries and the year-end finalization. The system fills in regime + thesis health automatically; the human writes the narrative.

## When to use

User says any of:
- "Update the letter."
- "Quarterly letter update."
- "Write the Q2 entry."
- "Finalize the {YEAR} letter."

Cadence:
- **Quarterly (minimum)** — at the end of each quarter, run `update`. The script writes the structured sections; the user fills the narrative.
- **Year-end** — after Q4 is filled in, run `finalize` to add the Year in Context intro and the Full Year Summary scaffold.

## Decision tree

1. **Pick the operation:**
   - `update` (default) — append the current quarter's section
   - `finalize` — year-end Year in Context + Full Year Summary
   - `status` — show what's already in the letter

2. **Run the script.**

   ```bash
   python /home/workspace/clarion-intelligence-system/skills/clarion-living-letter-update/scripts/letter.py update
   python ... letter.py update --quarter 2 --year 2026
   python ... letter.py finalize --year 2026
   python ... letter.py status --year 2026
   ```

   If the letter file doesn't exist for the requested year, the script creates the skeleton (placeholder quarters + section headers) before writing.

3. **For `update`:** the script:
   - Refuses to overwrite a populated quarter without `--force`
   - Pulls regime via the shared `clarion-regime-check` data path
   - Pulls active theses from `~/clarion/theses/` and renders the Thesis Health table + Portfolio Snapshot bucket positions
   - Leaves the narrative sections as `[TODO]`
   - Prints the path written and a checklist of TODOs the user must fill

4. **Walk the user through filling the [TODO] sections in order.** The most important to nail:
   - **What We Did** — be specific (named tickers, prices, reasoning **at the time**)
   - **What We Learned** — surprises, mistakes, patterns (per the format spec, this is the section that compounds in value over years)

5. **For `finalize`:** the script:
   - Refuses to finalize before all four quarters are populated (override with `--force`)
   - Scaffolds the Year in Context and Full Year Summary sections
   - Pre-populates the Theses: Final Scorecard with every thesis on file (active + closed)
   - Leaves performance numbers, mistakes & lessons, looking ahead as `[TODO]`

## How to run

```bash
LETTER=python /home/workspace/clarion-intelligence-system/skills/clarion-living-letter-update/scripts/letter.py

$LETTER update                          # current year, current quarter
$LETTER update --quarter 2              # current year, Q2 specifically
$LETTER update --year 2026 --quarter 3  # explicit year + quarter
$LETTER update --quarter 2 --force      # overwrite an already-populated Q2

$LETTER finalize                        # current year
$LETTER finalize --year 2026

$LETTER status                          # current year status
$LETTER status --year 2026
```

## Voice

The letter is **honest** and **specific**. Per the format spec rule #3:
> "Show the reasoning, not just the outcome. 'We bought X and it went up 30%' is useless. 'We bought X because the filing showed Y, the valuation was Z, and the regime was Green — it went up 30% but mostly for reasons we didn't anticipate' is how you actually learn."

Avoid PR voice. Include the bad with the good. The mistakes section is the most valuable.

When walking the user through TODOs, push back on vague language. "Performance was strong" → "Portfolio +12.4% vs S&P 500 +9.1% in Q2; ~80% of that came from NVDA's catalyst landing earlier than expected."

## Hard rules

1. **Never edit past quarters retroactively.** The whole point is a timestamped record. Hindsight commentary belongs in NEW sections in brackets — not as edits to old quarters. The script enforces this by refusing to overwrite populated quarters without `--force`.
2. **The narrative sections are human-written.** The system can fill regime, theses, and portfolio bucket *positions* — but never What We Did or What We Learned. Those have to come from the principal.
3. **Show the reasoning, not the outcome.** A quarterly entry that only chronicles wins is fiction.
4. **Keep it concise.** Each quarterly update should be readable in 5-10 minutes. Link to thesis files for depth rather than duplicating.

## On error

- **`LETTER_ERROR: quarter already populated`** — the requested quarter has structural content. Pass `--force` to overwrite (rare; usually means re-running for the same period).
- **`LETTER_ERROR: cannot finalize`** — at least one quarter is still placeholder. Fill in Q1-Q4 first, then finalize.
- **`LETTER_ERROR: unknown quarter`** — pass an integer 1-4 for `--quarter`.

From SillyHippy/zo-skills, MIT.

More from SillyHippy/zo-skills

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Sep 5, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from cis.zo.computer

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get clarion-living-letter-update running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying clarion-living-letter-update?

CallGet help
Cite this page

clarion-living-letter-update skill. Agent Mart. https://agentmart.dev/skills/sillyhippy-clarion-living-letter-update (last updated 2026-10-24)