write-a-postlisted
Install: claude install-skill YosefHayim/dufflebag
# write-a-post
Write a portfolio blog post that sounds like **Joseph (Yosef Hayim) Sabag** wrote it, add it to the site with one command, and give it a cover that matches the existing set — the same character, the same flat-2D editorial style.
This skill has three jobs, in order: **(1) draft in the voice → (2) scaffold into the data file → (3) generate the cover via ai-browser-bridge.** Do them in order; do not skip the cover.
## Where things live (portfolio repo)
Run this from the portfolio repo root. Key paths:
- Posts data (SSOT): `clientV3/src/data/blog.ts` — an array of `BlogPost` objects.
- Scaffolder: `scripts/dev/new-post.mjs` — appends a new post from flags (gitignored dev tool).
- Covers: `clientV3/public/blog/<slug>.png` (16:9).
- Likeness photo ("how I look"): `clientV3/public/images-of-me/hero-image.png`.
- ai-browser-bridge CLI: `/Users/yosefhayimsabag/Desktop/Code/ai-browser-bridge/dist/bridge.js`.
## The voice (non-negotiable)
Read 2–3 existing posts in `blog.ts` first to calibrate. The rules that make it sound like him:
- **First person, raw, honest, a little defiant.** He's a self-taught freelance AI engineer; ex-IDF, ex-security-guard. He earned it and it shows.
- **Short, punchy, declarative.** Fragments for emphasis. "That scared me more than the plastic chair ever did." Vary rhythm; never corporate.
- **Open with a hook or a confession**, not a preamble. First line earns the second.
- **Concrete specifics** — real tool names, real numbers, real p