Skip to main content

typefully

Create, schedule, and manage social media posts via Typefully. ALWAYS use this skill when asked to draft, schedule, post, or check tweets, posts, threads, or social media content for Twitter/X, LinkedIn, Threads, Bluesky, or Mastodon.

Datos de origen

Repositorio
ahmadawais/typefully-cli
Última actividad en el origen
19 de febrero de 2026 a las 17:41
Idioma detectado de SKILL.md
inglés
Estrellas
19
Forks
2

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Explorador de archivos
2 archivos

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
typefully
description
Create, schedule, and manage social media posts via Typefully. ALWAYS use this skill when asked to draft, schedule, post, or check tweets, posts, threads, or social media content for Twitter/X, LinkedIn, Threads, Bluesky, or Mastodon.
last-updated
2026-02-18T00:00:00.000Z
allowed-tools
Bash(typefully*)
# Typefully Skill Create, schedule, and publish social media content across multiple platforms using [Typefully](https://typefully.com). ## Quick Start ```bash tfly # interactive — pick text, platform, schedule tfly "Hello, world!" # instant draft (uses default platforms) tfly rm # interactive draft picker to delete tfly rm <draft_id> # delete specific draft ``` ### Handling "API key not found" errors **CRITICAL**: When you receive an "API key not found" error from the CLI: **Tell the user to run the setup command** - The setup is interactive and requires user input, so you cannot run it on their behalf: ```sh typefully setup ``` ## Social Sets The Typefully API uses the term "social set" to refer to what users commonly call an "account". A social set contains the connected social media platforms (X, LinkedIn, Threads, etc.) for a single identity. **The CLI supports a default social set** - once configured, most commands work without specifying the social_set_id. **You can pass the social set either way**: - Positional: `typefully drafts list 123` - Flag: `typefully drafts list --social-set-id 123` When determining which social set to use: 1. **Check for a configured default first** - Run `typefully config show` to see if a default is already set: ```sh typefully config show ``` If `default_social_set` is configured, the CLI uses it automatically when you omit the social_set_id. 2. **Check project context** - Look for configuration in project files like `CLAUDE.md` or `AGENTS.md`: ```markdown ## Typefully Default social set ID: 12345 ``` 3. **Single social set shortcut** - If the user only has one social set and no default is configured, use it automatically 4. **Multiple social sets, no default** - Ask the user which to use, then **offer to save their choice as the default**: ```sh typefully config set-default ``` This command lists available social sets and saves the choice to the config file. 5. **Reuse previously resolved social set** - If determined earlier in the session, use it without asking again ## Common Actions | User says... | Action | |--------------|--------| | "Draft a tweet about X" | `typefully drafts create --text "..."` (uses default social set) | | "Post this to LinkedIn" | `typefully drafts create --platform linkedin --text "..."` | | "Post to X and LinkedIn" (same content) | `typefully drafts create --platform x,linkedin --text "..."` | | "X thread + LinkedIn post" (different content) | Create one draft, then `typefully drafts update` to add platform (see [Publishing to Multiple Platforms](#publishing-to-multiple-platforms)) | | "What's scheduled?" | `typefully drafts list --status scheduled` | | "Show my recent posts" | `typefully drafts list --status published` | | "Schedule this for tomorrow" | `typefully drafts create ... --schedule "2025-01-21T09:00:00Z"` | | "Post this now" | `typefully drafts create ... --schedule now` or `typefully drafts publish <draft_id> --use-default` | | "Add notes/ideas to the draft" | `typefully drafts create ... --scratchpad "Your notes here"` | | "Set my default platforms" | `typefully config set-platforms` | | "Delete a draft" | `tfly rm [draft_id]` | | "Check available tags" | `typefully tags list` | ## Workflow Follow this workflow when creating posts: 1. **Check if a default social set is configured**: ```sh typefully config show ``` If `default_social_set` shows an ID, skip to step 3. 2. **If no default, list social sets** to find available options: ```sh typefully social-sets list ``` If multiple exist, ask the user which to use and offer to set it as default: ```sh typefully config set-default ``` 3. **Create drafts** (social_set_id is optional if default is configured): ```sh typefully drafts create --text "Your post" ``` Note: If `--platform` is omitted, uses `defaultPlatforms` config if set, else first connected platform. Set defaults with `typefully config set-platforms`. **For multi-platform posts**: See [Publishing to Multiple Platforms](#publishing-to-multiple-platforms) — always use a single draft, even when content differs per platform. 4. **Schedule or publish** as needed ## Working with Tags Tags help organize drafts within Typefully. **Always check existing tags before creating new ones**: 1. **List existing tags first**: ```sh typefully tags list ``` 2. **Use existing tags when available** - if a tag with the desired name already exists, use it directly when creating drafts: ```sh typefully drafts create --text "..." --tags existing-tag-name ``` 3. **Only create new tags if needed** - if the tag doesn't exist, create it: ```sh typefully tags create --name "New Tag" ``` **Important**: Tags are scoped to each social set. A tag created for one social set won't appear in another. ## Publishing to Multiple Platforms If a single draft needs to be created for different platforms, you need to make sure to create **a single draft** and not multiple drafts. When the content is the same across platforms, create a single draft with multiple platforms: ```sh # Specific platforms typefully drafts create --platform x,linkedin,threads,bluesky --text "Big announcement!" # All connected platforms typefully drafts create --all --text "Posting everywhere!" ``` **IMPORTANT**: When content should be tailored (e.g., X thread with a LinkedIn post version), **still use a single draft** — create with one platform first, then update to add the other: ```sh # 1. Create draft with the primary platform first typefully drafts create --platform linkedin --text "Excited to share our new feature..." # Returns: { "id": "draft-123", ... } # 2. Update the same draft to add another platform with different content typefully drafts update draft-123 --platform x --text "Thread time! --- Here's what we shipped and why it matters..." --use-default ``` So make sure to NEVER create multiple drafts unless the user explicitly wants separate drafts for each platform. ## Commands Reference ### User & Social Sets | Command | Description | |---------|-------------| | `typefully me` | Get authenticated user info | | `typefully social-sets list` | List all social sets you can access | | `typefully social-sets get <id>` | Get social set details including connected platforms | ### Drafts All drafts commands support an optional `[social_set_id]` positional argument or `--social-set-id <id>` flag — if omitted, the configured default is used. **Safety note**: For commands that take `[social_set_id] <draft_id>`, if you pass only a single argument (the draft_id) while a default social set is configured, you must add `--use-default` to confirm intent. | Command | Description | |---------|-------------| | `typefully drafts list [social_set_id]` | List drafts (add `--status scheduled` to filter, `--sort` to order) | | `typefully drafts get [social_set_id] <draft_id>` | Get a specific draft with full content (single-arg requires `--use-default` if a default is configured) | | `typefully drafts create [social_set_id] --text "..."` | Create a new draft (auto-selects platform) | | `typefully drafts create [social_set_id] --platform x --text "..."` | Create a draft for specific platform(s) | | `typefully drafts create [social_set_id] --all --text "..."` | Create a draft for all connected platforms | | `typefully drafts create [social_set_id] --file <path>` | Create draft from file content | | `typefully drafts create ... --media <media_ids>` | Create draft with attached media | | `typefully drafts create ... --reply-to <url>` | Reply to an existing X post | | `typefully drafts create ... --community <id>` | Post to an X community | | `typefully drafts create ... --share` | Generate a public share URL for the draft | | `typefully drafts create ... --scratchpad "..."` | Add internal notes/scratchpad to the draft | | `typefully drafts update [social_set_id] <draft_id> --text "..."` | Update an existing draft (single-arg requires `--use-default` if a default is configured) | | `typefully drafts update [social_set_id] <draft_id> --tags "tag1,tag2"` | Update tags on an existing draft (content unchanged) | | `typefully drafts update ... --share` | Generate a public share URL for the draft | | `typefully drafts update ... --scratchpad "..."` | Update internal notes/scratchpad | | `typefully drafts update [social_set_id] <draft_id> --append --text "..."` | Append to existing thread | ### Scheduling & Publishing **Safety note**: These commands require `--use-default` when using the default social set with a single argument (to prevent accidental operations from ambiguous syntax). | Command | Description | |---------|-------------| | `typefully drafts delete <social_set_id> <draft_id>` | Delete a draft (explicit IDs) | | `typefully drafts delete <draft_id> --use-default` | Delete using default social set | | `typefully drafts schedule <social_set_id> <draft_id> --time next-free-slot` | Schedule to next available slot | | `typefully drafts schedule <draft_id> --time next-free-slot --use-default` | Schedule using default social set | | `typefully drafts publish <social_set_id> <draft_id>` | Publish immediately | | `typefully drafts publish <draft_id> --use-default` | Publish using default social set | ### Tags | Command | Description | |---------|-------------| | `typefully tags list [social_set_id]` | List all tags | | `typefully tags create [social_set_id] --name "Tag Name"` | Create a new tag | ### Media | Command | Description | |---------|-------------| | `typefully media upload <file_path> [social_set_id]` | Upload media, wait for processing, return ready media_id | | `typefully media upload <file_path> --no-wait` | Upload and return immediately (use media status to poll) | | `typefully media upload <file_path> --timeout <seconds>` | Set custom timeout (default: 60) | | `typefully media status <media_id> [social_set_id]` | Check media upload status | ### Setup & Configuration | Command | Description | |---------|-------------| | `typefully setup` | Interactive setup - prompts for API key, storage location, and default social set | | `typefully setup --key <key> --location <global\|local>` | Non-interactive setup for scripts/CI (auto-selects default if only one social set) | | `typefully setup --key <key> --default-social-set <id>` | Non-interactive setup with explicit default social set | | `typefully setup --key <key> --no-default` | Non-interactive setup, skip default social set selection | | `typefully config show` | Show current config, API key source, and default social set | | `typefully config set-default [social_set_id]` | Set default social set (interactive if ID omitted) | | `typefully config set-platforms` | Set default platforms used when creating drafts (interactive multiselect) | | `typefully config set-platforms --platforms x,linkedin` | Set default platforms non-interactively | ### Shortcuts (`tfly`) `tfly` is a short alias for `typefully`. The default command creates drafts directly: | Command | Description | |---------|-------------| | `tfly "text"` | Create draft instantly with default platforms — no flags needed | | `tfly` | Interactive flow: prompts for text, platforms (pre-ticked from config), and schedule | | `tfly rm` | Interactive picker — loads drafts, pick one or more to delete | | `tfly rm <draft_id>` | Delete a specific draft directly | | `tfly create-draft "text"` | Full `create-draft` alias with all flag support | | `tfly update-draft <id> "text"` | Full `update-draft` alias with all flag support | ## Examples ### Set up default social set ```sh # Check current config typefully config show # Set default (interactive - lists available social sets) typefully config set-default # Set default (non-interactive) typefully config set-default 123 --location global ``` ### Create a tweet (using default social set) ```sh typefully drafts create --text "Hello, world!" ``` ### Create a tweet with explicit social_set_id ```sh # Positional typefully drafts create 123 --text "Hello, world!" # Flag typefully drafts create --social-set-id 123 --text "Hello, world!" ``` ### Create a cross-platform post (specific platforms) ```sh typefully drafts create --platform x,linkedin,threads --text "Big announcement!" ``` ### Create a post on all connected platforms ```sh typefully drafts create --all --text "Posting everywhere!" ``` ### Create and schedule for next slot ```sh typefully drafts create --text "Scheduled post" --schedule next-free-slot ``` ### Create with tags ```sh typefully drafts create --text "Marketing post" --tags marketing,product ``` ### List scheduled posts sorted by date ```sh typefully drafts list --status scheduled --sort scheduled_date ``` ### Reply to a tweet ```sh
Ver en GitHub
Este SKILL.md es muy grande, por eso SkillsMP muestra aqui solo la primera seccion. Ver en GitHub