From velog-cli
Manages velog.io developer blog posts from terminal: create/edit/publish Markdown files or stdin as drafts/posts, list personal/drafts/trending/recent, authenticate via browser tokens.
How this skill is triggered — by the user, by Claude, or both
Slash command
/velog-cli:velog-cliThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
`velog` is a CLI client for [velog.io](https://velog.io), a developer blogging platform.
velog is a CLI client for velog.io, a developer blogging platform.
It lets you manage blog posts entirely from the terminal — create from markdown files,
edit, publish drafts, browse trending posts, and more.
The velog binary must be installed:
# macOS
brew tap hamsurang/velog-cli && brew install velog-cli
# Cargo (any platform)
cargo install velog-cli
If velog is not found, tell the user to install it first.
Most write operations require authentication. Check status before attempting mutations.
# Check if logged in
velog auth status
# Login (interactive — prompts for tokens from browser DevTools)
velog auth login
# Logout
velog auth logout
How to get tokens: The user opens velog.io in their browser, opens DevTools (F12) →
Application → Cookies, and copies access_token and refresh_token. The CLI prompts
for these during velog auth login.
Credentials are stored at ~/.config/velog-cli/credentials.json and auto-refresh when expired.
# List your own posts (requires auth)
velog post list
# List your drafts
velog post list --drafts
# Trending posts (filterable by period)
velog post list --trending
velog post list --trending --period week
# Recent posts across velog
velog post list --recent
# Posts by a specific user
velog post list -u <username>
# Control result count (1–100, default 20)
velog post list --limit 50
# Pagination
velog post list --recent --cursor <cursor>
velog post list --trending --offset 20
# Show your own post by slug
velog post show <slug>
# Show another user's post
velog post show <slug> -u <username>
The slug is the URL path segment (e.g., my-first-post from velog.io/@user/my-first-post).
# From a markdown file (saved as draft by default)
velog post create -t "Post Title" -f article.md
# From stdin
echo "# Hello World" | velog post create -t "Hello"
# Publish immediately (not draft)
velog post create -t "Title" -f article.md --publish
# With tags and custom slug
velog post create -t "Title" -f article.md --tags "rust,cli,velog" --slug my-custom-slug
# Private post
velog post create -t "Title" -f article.md --publish --private
# Update content from a file
velog post edit <slug> -f updated.md
# Update title
velog post edit <slug> -t "New Title"
# Update tags
velog post edit <slug> --tags "new,tags"
# Update everything
velog post edit <slug> -t "New Title" -f updated.md --tags "new,tags"
velog post publish <slug>
# With confirmation prompt
velog post delete <slug>
# Skip confirmation
velog post delete <slug> -y
All commands accept --format to control output style:
| Format | Use case | Description |
|---|---|---|
pretty | Human reading (default) | Tables, colors, markdown rendering |
compact | AI agents, scripts | Minified JSON on a single line |
silent | CI/CD, exit-code-only checks | Queries emit JSON, mutations emit nothing |
When Claude is running velog commands programmatically, use --format compact to get
structured JSON output that's easy to parse:
velog post list --format compact
velog post show my-post --format compact
velog post create -t "Title" -f article.md --tags "tag1,tag2"velog post publish <slug>velog post list --format compactvelog post edit <slug> -f updated.mdvelog post list --trending --period week --limit 10
# Generate completions
velog completions zsh # or bash, fish, elvish, powershell
velog auth status first. If not logged in, guide
the user through velog auth login.velog post list --format compact.brew or cargo.--format compact when you need to parse the output programmatically.-f. This avoids shell escaping issues with stdin piping.--publish only when the user
explicitly asks to publish immediately.--format silent for mutations when you only care about success/failure
(check exit code).npx claudepluginhub hamsurang/kit --plugin velog-cliThis skill should be used when the user wants to interact with a Ghost blog via its Content and Admin APIs. Relevant when the user says things like 'list my blog posts', 'create a new draft', 'publish my draft', 'schedule a post for tomorrow', 'upload an image to my blog', 'manage blog tags', 'show my Ghost site info', 'filter posts by tag', 'delete a post', 'list members', 'send a newsletter', or any Ghost blog management task involving posts, pages, tags, members, newsletters, tiers, or images.
Generates Markdown blog posts about recent work using git history, project detection, and type-specific templates (quick-update, project-update, retrospective, tutorial, deep-dive) with guided prompts.
Generates original blog posts in HTML from text/URL/topic, adds images via Fal.ai or Playwright screenshots, commits to a GitHub Pages repo, and returns the public URL.