# How Steph Ango actually uses coding agents

CEO of Obsidian

**If you take one thing:** `Fail-first fixtures`, before every extraction fix. his rules make the agent prove a bug with a failing fixture before fixing it, and forbid editing expectations to fit.

- **Agent:** Claude Code (cli) ([source, 2026-01-06](https://x.com/kepano/status/2008578873903206895))
- **Review:** Recorded test output must be read; fixture must fail before the fix ([source, 2026-08-26](https://github.com/obsidianmd/obsidian-importer/blob/9abfc21ce41f41e2fd9f3db7a343026f571d19b7/CLAUDE.md#L101))
- **Harness:** Agent verifies changes in the running Obsidian app through Obsidian CLI ([source, 2026-08-26](https://github.com/obsidianmd/obsidian-importer/blob/9abfc21ce41f41e2fd9f3db7a343026f571d19b7/CLAUDE.md#L128))
- **Rules file:** AGENTS.md in Defuddle (CLAUDE.md until 2026-09-20), 188-line CLAUDE.md in Obsidian Importer ([source, 2026-09-20](https://github.com/kepano/defuddle/blob/49d14ecc4089696565c2479b2f57db72be199adc/AGENTS.md#L19))
- **Skills:** obsidian-de-style, obsidian-ko-style, obsidian-localize-new, obsidian-localize-update, obsidian-publish-all ([source, 2026-03-30](https://github.com/obsidianmd/obsidian-help/tree/ec32d3964634686f60707b56827abf98f5d49423/.claude/skills))

## In their words

> I'm starting a set of Claude Skills for Obsidian... so far they're centered around helping Claude Code edit .md, .base, and .canvas files

> This writes the output and **fails intentionally**. Read the new files or `git diff`, then rerun without `UPDATE_EXPECTED`. A recording that nobody reviews is not a useful check.

> The check requires the Obsidian CLI, the plugin enabled in the target vault, and the current source built and deployed there. It uses `E2E_VAULT` when set; otherwise it derives the vault from `OBSIDIAN_PATH`. It writes `_e2e-check` and trashes that folder after the run.

> Always use `curl` to test the Worker or defuddle.md; never open those URLs in a browser.

> For extraction fixes, add a minimal HTML fixture in `tests/fixtures/` with correct expected output in `tests/expected/`. Verify the same fixture fails before the fix and passes afterward; do not change expectations to match buggy behavior.


Archetype (our label): Rules Lawyer. Newest source: 2026-09-20.
Card: https://www.prehistoriq.com/stacks/kepano/ · Data: https://github.com/prehistoriq/stacks/blob/main/data/stacks/kepano.json
