← ClaudeAtlas

devtolisted

Publish and manage articles on Dev.to (Forem API) from local markdown, using the API key stored in 1Password. Use when the user wants to post, draft, update, publish, unpublish, or list their Dev.to articles, cross-post a blog post or vault note to Dev.to, or mentions dev.to, DEV Community, or the Forem API.
magnusrodseth/dotfiles · ★ 2 · Data & Documents · score 65
Install: claude install-skill magnusrodseth/dotfiles
# Dev.to Publish markdown to Dev.to through the Forem API. Authenticated as `magnusrodseth` (user id `3803258`). The key lives in 1Password at `op://Private/Dev.to API Key/credential` on the personal account (`my.1password.eu`). **Never read it into a variable that gets printed, never paste it into a URL, never echo it.** `scripts/devto.sh` resolves it per call and keeps it out of stdout. ## The two rules that matter **Draft first, always.** `published` defaults to `false`. Create the draft, hand the user the edit URL, let them read it rendered in Dev.to's own editor. Publishing is a separate command. **Publishing is close to irreversible.** The Forem API has **no DELETE endpoint**. Once published, an article mints a public URL that gets crawled, cached and syndicated within minutes. `unpublish` hides it from the site but does not undo distribution. Treat `publish` as outward-facing: confirm explicitly with the user before running it, every time, even if they authorized a publish earlier in the session. ## Commands ```bash S=~/.claude/skills/devto/scripts/devto.sh bash $S whoami # verify auth bash $S list [published|unpublished|all] # your articles, id + title + state bash $S get <id> # one article as JSON bash $S draft <file.md> [--title T] [--tags "a,b,c"] [--description D] [--canonical URL] bash $S update <id> <file.md> [same flags] bash $S publish <id> # GATED: confirm with the user