Learning and experiments
Lightweight notes on design processes, tools, and occasional poetry.
Audit CLAUDE.md with prompt-audit and automate improvement PRs
Sep 24, 2026 ・ 10 min read
Review outdated Claude instructions with prompt-audit and propose changes through GitHub Actions Draft PRs, with scoped edits and behavioral review.
Letting Playwright take screenshots made my coding agent 10x better at fixing UI breakage
Jun 11, 2026 ・ 5 min read
How wiring up Playwright for E2E screenshots, and letting a coding agent view them, dramatically shortened the loop for fixing broken UI.
I finally learned about Knip, and dead code cleanup got much easier
May 26, 2026 ・ 4 min read
A note on Knip, a tool that finds unused files, dependencies, and exports in JavaScript and TypeScript projects.
I Built "nanj-dev-bu", a Claude Skill for Preserving Design Decisions as Forum Threads
Apr 14, 2026 ・ 8 min read
Why I built a Claude Code skill that discusses design topics in a forum-like thread, promotes conclusions into ADRs or specs, makes decision history easier to revisit, and accepts higher token usage as the tradeoff.
How I Recovered Design Understanding After Speedrunning Approval Buttons
Mar 25, 2026 ・ 2 min read
A note on the reverse-engineering prompt I use when I approve AI agent proposals too quickly and need to recover the Why behind the implementation.
My Strapi Plugin dist Was 22 MB — Fixing externals Brought It Down to 448 KB
Mar 11, 2026 ・ 3 min read
The dist of a Strapi v5 plugin built with @strapi/pack-up ballooned to 22 MB. The cause was a missing @strapi/admin entry in externals, and the way pack-up matches package names internally made the subpath workaround ineffective.