Cutting Vercel deployment storage from 13.96 GB to 20.27 MB — previews off, retention down
A Vercel Hobby account went over its 10 GB deployment storage limit. Deployment count was the cause, at 147 MB per build and 189 builds in thirty days.
A Vercel Hobby account went over its 10 GB deployment storage limit. Deployment count was the cause, at 147 MB per build and 189 builds in thirty days.
chrome-devtools-mcp shares one Chrome profile across all projects, so two repos cannot both drive Chrome. A per-project .mcp.json with --userDataDir fixes it.
Git as the source of truth for a specification: semantic line breaks for readable diffs, a check proving nothing changed, and WeasyPrint for PDF on demand.
A stale TypeScript server reported TS5097 on a correct import, and deleting the .ts broke a Node script while tsc stayed green. The cause was a failed extends.
Building the same deck in Marp and Reveal.js: source readability at 243 vs 287 lines, the animation gap, export formats, and which one fits which job.
Decide a commit shape by reading the repository history first, then use git reset --soft to re-cut unpushed commits until they match what git log shows.
pnpm's version switcher corrupted its cache behind a shadowed Chocolatey install, and Windows separately blocked a build from symlinking its dependencies.
Granted and AWS IAM Identity Center replace a static IAM key with short-lived SSO credentials on Windows. The classic AWS sign-in form never accepts it.
Porting a Claude Code release skill to a repo I cannot merge or tag: what gets cut, why git diff HEAD lets review run before the commit, where ignore rules go.
Making a Claude Code skill reachable from any repository: a symlink for discovery, additionalDirectories for access, one cd -P at entry, and no relative paths.
On a private repo the dependency graph is off by default, so Dependabot opened no npm pull request, and the auto-merge workflow merged 45s before CI finished.
Claude Code treats .claude/ as a protected path, so allow rules cannot pre-approve writes there. Moving a mutable glossary out with CLAUDE_PROJECT_DIR.
Redesigning this blog's logo and code font with an AI agent: a broken SVG letterform, a regex bounding box, a wrong kanji, and the /logo skill it produced.
Git identity belongs to the directory, not the repo. includeIf gitdir fixes it going forward; git filter-repo --mailmap fixes the commits already pushed.