write-blog-post
Draft, structure, and finalize a Deep Cuts blog-series post so it conforms to the post template, house voice, and cross-post link rules.
Skill by robertolupi
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/robertolupi-write-blog-post
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/write-blog-post
What's inside
- Skill name
write-blog-post- Description
- Draft, structure, and finalize a Deep Cuts blog-series post so it conforms to the post template, house voice, and cross-post link rules. Use when writing, drafting, assembling, or editing a "Deep Cuts" blog post (the rlupi.com series), preparing a post for publishing, or adding front matter to one. Covers the template, front matter schema, voice, agent crediting, and the link linter.
- License
- AGPL-3.0
- Instructions
- 50 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Writing a Deep Cuts Blog Post The Deep Cuts blog series is a first-person, build-in-public chronicle published at `rlupi.com`. Sources live in the **private** repo at `doc/private/` (its own git repo): drafts as `blog_draft_*.md`, published sources as `blog_post_*.md`, plans as `blog_plan_*.md`. The canonical structure is `doc/private/blog_template.md` — **read it first and mirror it.** (Roberto reviews and adjusts the template; treat the live file as source of truth, not this skill's summary.) This skill is the *judgment* half of conformance — structure and voice. The *mechanical* half (links) is enforced by `tools/lint_blog_links.py`; run it before handing a post over. ## Front matter (every post) Start each post with the YAML block from the template. The link linter requires three fields; keep them accurate: - `slug` — the `rlupi.com/<slug>`. Hashnode derives it from the title (lowercase, punctuation → hyphens); set it explicitly so cross-post links resolve. - `status` — `draft` until it is live, then `published`. - `published_url` — filled in once live. Also set `title`, `series_post` (the "post N" number), and `date`. ## Structure Mirror the template and the existing posts: 1. `# Title`, then the byline `*Deep Cuts — post N*`, then `---`. 2. **Intro** — open with a callback to the previous post (see link rule below), then state the thesis in one or two narrow, honest sentences. Not "look how fast AI is." 3. `##` sections separated by `---`. Keep them concrete: real commits, timestamps, tool output, code. Show, don't claim. 4. **An honest-counterweight section** is required — where it doesn't work, what it cost, what broke. The series oversells nothing, including its own process. 5. **"Where this leaves us"** close, ending on a one-paragraph teaser for the next post (the series' signature forward hook). ## Cross-post links — public URLs only **Never** link to another post with a repo path like `./blog_post_xyz.md`. It works in the repo and 404s once published. Always link to the target's public URL: `https://rlupi.com/<target-slug>`, taken from that post's `slug` front matter, and only if its `status` is `published`. Before finishing, run: ```bash python3 tools/lint_blog_links.py --dir doc/private # report python3 tools/lint_blog_links.py --dir doc/private --fix # rewrite relative -> public ``` To hand Roberto a paste-ready copy plus the list of images to upload: ```bash python3 tools/lint_blog_links.py --export doc/private/<post>.md ``` ## Credit every agent When the work was collaborative, credit each contributing agent by name and lab — claude/Anthropic, agy=Gemini/Google, codex/OpenAI, meta/Meta — not just the assembler. The cross-company collaboration is the story, not a footnote. If you quote another agent's text, frame it in one line and keep it verbatim. (See the agent roster in memory.) ## Images Reference figures with standard markdown (``). Images are uploaded by hand at publish time; `--export` lists every image a post references so the files are ready. Posting is manual — do not attempt to publish programmatically.
From robertolupi/deep-cuts, AGPL-3.0.
More from robertolupi/deep-cuts
- 0.534score
how-to-experiment
robertolupi
Experimental protocol for Deep Cuts research, prototypes, model evaluations, threshold tuning, ablations, metric comparisons, and claims about accuracy or…
SkillCFreshness: C★ 7Claude Code +9 - 0.534score
ui-debug
robertolupi
Inspect, debug, and compare the Deep Cuts UI using an available browser tool.
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
git-commits
robertolupi
Rules for writing commit messages in the deep-cuts repository — subject line format, body content, scope naming, and what to omit
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
release-build
robertolupi
End-to-end checklist for building a signed macOS release — bump manifest min_app_version, verify sidecars, build, and inspect the .app
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
dev-guidelines
robertolupi
Guidelines to prevent development false starts, environment mismatches, and incorrect commands in the deep-cuts monorepo
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
ui-design
robertolupi
Guidelines for the Sonic Glitch design system, theme variables, and multi-theme readability (dark, light, high-contrast)
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
add-tauri-sidecar
robertolupi
How to bundle an external binary and its dylib dependencies with the Tauri app, patch rpaths, sign everything, and resolve the path at runtime
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
add-analysis-pass
robertolupi
Checklist and guide for adding a new analysis pass to the trait-based modular pipeline
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
add-ipc-command
robertolupi
Pattern for adding a new Tauri IPC command (request/response or push event) in the deep-cuts monorepo
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
bump-dev-version
robertolupi
Bump the app version in Cargo.toml after a release to start the next dev cycle
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
db-migration
robertolupi
Safe pattern for adding SQLite schema migrations in the deep-cuts Rust/rusqlite_migration stack
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
query-db
robertolupi
How to locate and query the deep-cuts production SQLite database
SkillCFreshness: C★ 7Claude Code +9
Signals
- Stars
- 7
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Jun 8, 2026 (4 months ago)
- Last release
- Jun 8, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- AGPL-3.0
- Repository
- github.com/robertolupi/deep-cuts
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from robertolupi
- 0.534score
ui-debug
robertolupi
Inspect, debug, and compare the Deep Cuts UI using an available browser tool.
SkillCFreshness: C★ 7Claude Code +9 - 0.534score
how-to-experiment
robertolupi
Experimental protocol for Deep Cuts research, prototypes, model evaluations, threshold tuning, ablations, metric comparisons, and claims about accuracy or…
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
release-build
robertolupi
End-to-end checklist for building a signed macOS release — bump manifest min_app_version, verify sidecars, build, and inspect the .app
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
git-commits
robertolupi
Rules for writing commit messages in the deep-cuts repository — subject line format, body content, scope naming, and what to omit
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
add-tauri-sidecar
robertolupi
How to bundle an external binary and its dylib dependencies with the Tauri app, patch rpaths, sign everything, and resolve the path at runtime
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
dev-guidelines
robertolupi
Guidelines to prevent development false starts, environment mismatches, and incorrect commands in the deep-cuts monorepo
SkillCFreshness: C★ 7Claude Code +9
Cite this page
write-blog-post skill. Agent Mart. https://agentmart.dev/skills/robertolupi-write-blog-post (last updated 2026-10-24)