Blog

Learning and experiments

Lightweight notes on design processes, tools, and occasional poetry.

Review outdated Claude instructions with prompt-audit and propose changes through GitHub Actions Draft PRs, with scoped edits and behavioral review.

Claude Code
GitHub Actions
Prompt Engineering

How wiring up Playwright for E2E screenshots, and letting a coding agent view them, dramatically shortened the loop for fixing broken UI.

Playwright
E2E
AI Agent

A note on Knip, a tool that finds unused files, dependencies, and exports in JavaScript and TypeScript projects.

Knip
TypeScript
JavaScript

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.

Claude
AI Agent
ADR

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.

AI Agent
ReverseEngineering
Prompt

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.

Strapi
TypeScript
Build