Typefully Skill
Manage Typefully drafts via the v2 API.
Setup
- Set your API key via one of:
- Environment variable:
export TYPEFULLY_API_KEY=your-key - Password store:
pass insert typefully/api-key
- Environment variable:
- (Optional) Set your social set ID:
- Environment variable:
export TYPEFULLY_SOCIAL_SET_ID=123456 - Password store:
pass insert typefully/social-set-id - If not set, the script auto-detects (errors if multiple accounts exist — use
list-social-setsto find yours)
- Environment variable:
- Enable "Development mode" in Typefully Settings → API to see draft IDs in the UI.
Script Usage
bash scripts/typefully.sh <command> [options]
Commands
| Command | Description |
|---|---|
list-drafts [status] [limit] | List drafts. Status: draft, scheduled, published (default: all). Limit default: 10. |
create-draft <text> [--thread] [--platform x,linkedin,...] [--schedule <iso8601|next-free-slot>] | Create a draft. For threads, separate posts with \n---\n. Use - or omit text to read from stdin. Default platform: x. |
get-draft <draft_id> | Get a single draft with full details. |
edit-draft <draft_id> <text> [--thread] [--platform x,linkedin] | Update draft content. Supports --thread for thread editing. |
schedule-draft <draft_id> <iso8601|next-free-slot|now> | Schedule or publish a draft. |
delete-draft <draft_id> | Delete a draft. |
list-social-sets | List available social sets (accounts). |
Examples
Create a simple tweet draft:
bash scripts/typefully.sh create-draft "Just shipped a new feature 🚀"
Create a thread:
bash scripts/typefully.sh create-draft "First tweet of the thread\n---\nSecond tweet\n---\nThird tweet" --thread
Create a thread from stdin (for longer content):
cat <<'EOF' | bash scripts/typefully.sh create-draft - --thread
First tweet of the thread\n---\nSecond tweet\n---\nThird tweet with the punchline
EOF
Create cross-platform draft (X + LinkedIn):
bash scripts/typefully.sh create-draft "Exciting update!" --platform x,linkedin
Schedule a draft for a specific time:
bash scripts/typefully.sh create-draft "Morning thoughts ☀️" --schedule "2026-03-01T09:00:00Z"
Schedule to next free slot:
bash scripts/typefully.sh schedule-draft 8196074 next-free-slot
List recent drafts:
bash scripts/typefully.sh list-drafts draft 5
Notes
publish_at: "now"publishes immediately — use with cautionpublish_at: "next-free-slot"uses the user's Typefully queue schedule- Thread posts are separated by
\n---\nin the text argument - The script outputs JSON; pipe through
jqfor formatting - All API errors surface meaningful messages (401, 404, 429, etc.)