typefully
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseTypefully Skill
Typefully 技能
Create, schedule, and publish social media content across multiple platforms using Typefully.
Freshness check: If more than 30 days have passed since thedate above, inform the user that this skill may be outdated and point them to the update options below.last-updated
使用Typefully在多个平台上创建、排期和发布社交媒体内容。
时效性检查:如果距离上方的日期已超过30天,请告知用户此技能可能已过时,并引导他们查看下方的更新选项。last-updated
Keeping This Skill Updated
保持此技能更新
Source: github.com/typefully/agent-skills
API docs: typefully.com/docs/api
Update methods by installation type:
| Installation | How to update |
|---|---|
CLI ( | |
| Claude Code plugin | |
| Cursor | Remote rules auto-sync from GitHub |
| Manual | Pull latest from repo or re-copy |
API changes ship independently—updating the skill ensures you have the latest commands and workflows.
按安装类型分类的更新方法:
| 安装方式 | 更新方法 |
|---|---|
CLI ( | |
| Claude Code 插件 | |
| Cursor | 从GitHub自动同步远程规则 |
| 手动安装 | 拉取仓库最新版本或重新复制 |
API变更会独立推送——更新技能可确保你拥有最新的命令和工作流。
Setup
配置步骤
Before using this skill, ensure:
-
API Key: Run the setup command to configure your API key securely
- Get your key at https://typefully.com/?settings=api
- Run: (where
<skill-path>/scripts/typefully.js setupis the directory containing this SKILL.md)<skill-path> - Or set environment variable:
export TYPEFULLY_API_KEY=your_key
-
Requirements: Node.js 18+ (for built-in fetch API). No other dependencies needed.
Config priority (highest to lowest):
- environment variable
TYPEFULLY_API_KEY - (project-local, in user's working directory)
./.typefully/config.json - (user-global)
~/.config/typefully/config.json
使用此技能前,请确保完成以下操作:
-
API密钥:运行配置命令安全设置你的API密钥
- 在https://typefully.com/?settings=api获取密钥
- 运行:(其中
<skill-path>/scripts/typefully.js setup是包含此SKILL.md文件的目录)<skill-path> - 或设置环境变量:
export TYPEFULLY_API_KEY=your_key
-
环境要求:Node.js 18+(用于内置的fetch API),无需其他依赖。
配置优先级(从高到低):
- 环境变量
TYPEFULLY_API_KEY - (项目本地配置,位于用户工作目录)
./.typefully/config.json - (用户全局配置)
~/.config/typefully/config.json
Handling "API key not found" errors
处理“未找到API密钥”错误
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. Recommend they run it themselves, using the correct path based on where this skill was loaded:bash
<skill-path>/scripts/typefully.js setup -
Stop and wait - After telling the user to run setup, do not continue with the task. You cannot create drafts, upload media, or perform any API operations without a valid API key. Wait for the user to complete setup and confirm before proceeding.
-
DO NOT attempt any of the following:
- Searching for API keys in macOS Keychain, files, or other locations
.env - Grepping through config files or directories
- Looking in the user's Trash or other system folders
- Constructing complex shell commands to find credentials
- Drafting content or preparing posts before setup is complete
- Searching for API keys in macOS Keychain,
The setup command will interactively guide the user through configuration. Trust the CLI's error messages and follow their instructions.
Note for agents: All script paths in this document (e.g.,) are relative to the skill directory where this SKILL.md file is located. Resolve them accordingly based on where the skill is installed../scripts/typefully.js
重要提示:当从CLI收到“未找到API密钥”错误时:
-
告知用户运行配置命令 - 配置过程是交互式的,需要用户输入,因此你无法代劳。建议用户根据技能的加载路径自行运行:bash
<skill-path>/scripts/typefully.js setup -
停止操作并等待 - 告知用户运行配置命令后,不要继续执行任务。没有有效的API密钥,你无法创建草稿、上传媒体或执行任何API操作。等待用户完成配置并确认后再继续。
-
禁止尝试以下操作:
- 在macOS钥匙串、文件或其他位置搜索API密钥
.env - 遍历配置文件或目录
- 查看用户的回收站或其他系统文件夹
- 构造复杂的shell命令查找凭据
- 在配置完成前撰写内容或准备帖子
- 在macOS钥匙串、
配置命令会交互式引导用户完成设置。请信任CLI的错误消息并遵循其指示。
代理提示:本文档中的所有脚本路径(如)均相对于此SKILL.md文件所在的技能目录。请根据技能的安装位置相应解析路径。./scripts/typefully.js
Social Sets
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.
When determining which social set to use:
-
Check for a configured default first - Runto see if a default is already set:
config:showbash./scripts/typefully.js config:showIfis configured, the CLI uses it automatically when you omit the social_set_id.default_social_set -
Check project context - Look for configuration in project files likeor
CLAUDE.md:AGENTS.mdmarkdown## Typefully Default social set ID: 12345 -
Single social set shortcut - If the user only has one social set and no default is configured, use it automatically
-
Multiple social sets, no default - Ask the user which to use, then offer to save their choice as the default:bash
./scripts/typefully.js config:set-defaultThis command lists available social sets and saves the choice to the config file. -
Reuse previously resolved social set - If determined earlier in the session, use it without asking again
Typefully API使用术语“social set”来指代用户通常所说的“账户”。一个social set包含单个身份关联的所有社交媒体平台(X、LinkedIn、Threads等)。
CLI支持默认social set - 配置完成后,大多数命令无需指定social_set_id即可运行。
确定要使用的social set时,请遵循以下步骤:
-
首先检查是否配置了默认值 - 运行查看是否已设置默认值:
config:showbash./scripts/typefully.js config:show如果已配置,当你省略social_set_id时,CLI会自动使用它。default_social_set -
检查项目上下文 - 查看项目文件(如或
CLAUDE.md)中的配置:AGENTS.mdmarkdown## Typefully 默认social set ID: 12345 -
单个social set快捷方式 - 如果用户只有一个social set且未配置默认值,则自动使用该social set
-
多个social set且无默认值 - 询问用户要使用哪个,然后提议将其选择保存为默认值:bash
./scripts/typefully.js config:set-default此命令会列出可用的social set并将选择保存到配置文件中。 -
重用之前确定的social set - 如果在会话早期已确定,则无需再次询问直接使用
Common Actions
常见操作
| User says... | Action |
|---|---|
| "Draft a tweet about X" | |
| "Post this to LinkedIn" | |
| "Post to X and LinkedIn" (same content) | |
| "X thread + LinkedIn post" (different content) | Create one draft, then |
| "What's scheduled?" | |
| "Show my recent posts" | |
| "Schedule this for tomorrow" | |
| "Post this now" | |
| "Add notes/ideas to the draft" | |
| "Check available tags" | |
| 用户需求 | 执行操作 |
|---|---|
| "撰写一条关于X的推文" | |
| "将此内容发布到LinkedIn" | |
| "发布到X和LinkedIn"(内容相同) | |
| "X线程帖 + LinkedIn帖子"(内容不同) | 创建一个草稿,然后使用 |
| "查看已排期的内容" | |
| "查看我最近发布的帖子" | |
| "将此内容排期到明天发布" | |
| "立即发布此内容" | |
| "为草稿添加备注/想法" | |
| "查看可用标签" | |
Workflow
工作流
Follow this workflow when creating posts:
-
Check if a default social set is configured:bash
./scripts/typefully.js config:showIfshows an ID, skip to step 3.default_social_set -
If no default, list social sets to find available options:bash
./scripts/typefully.js social-sets:listIf multiple exist, ask the user which to use and offer to set it as default:bash./scripts/typefully.js config:set-default -
Create drafts (social_set_id is optional if default is configured):bash
./scripts/typefully.js drafts:create --text "Your post"Note: Ifis omitted, the first connected platform is auto-selected.--platformFor multi-platform posts: See Publishing to Multiple Platforms — always use a single draft, even when content differs per platform. -
Schedule or publish as needed
创建帖子时请遵循以下工作流:
-
检查是否配置了默认social set:bash
./scripts/typefully.js config:show如果显示有ID,则跳至步骤3。default_social_set -
如果没有默认值,列出所有social set以找到可用选项:bash
./scripts/typefully.js social-sets:list如果存在多个social set,请询问用户要使用哪个,并提议将其设置为默认值:bash./scripts/typefully.js config:set-default -
创建草稿(如果已配置默认值,social_set_id为可选参数):bash
./scripts/typefully.js drafts:create --text "你的帖子内容"注意:如果省略参数,会自动选择第一个关联的平台。--platform多平台帖子:请参阅【多平台发布】部分 —— 即使每个平台的内容不同,也始终使用单个草稿。 -
根据需要排期或发布
Working with Tags
标签使用
Tags help organize drafts within Typefully. Always check existing tags before creating new ones:
-
List existing tags first:bash
./scripts/typefully.js tags:list -
Use existing tags when available - if a tag with the desired name already exists, use it directly when creating drafts:bash
./scripts/typefully.js drafts:create --text "..." --tags existing-tag-name -
Only create new tags if needed - if the tag doesn't exist, create it:bash
./scripts/typefully.js 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.
标签可帮助在Typefully中组织草稿。创建新标签前请务必先查看现有标签:
-
先列出现有标签:bash
./scripts/typefully.js tags:list -
优先使用现有标签 - 如果已存在所需名称的标签,创建草稿时直接使用:bash
./scripts/typefully.js drafts:create --text "..." --tags existing-tag-name -
仅在需要时创建新标签 - 如果标签不存在,则创建它:bash
./scripts/typefully.js tags:create --name "New Tag"
重要提示:标签是按social set划分范围的。为一个social set创建的标签不会出现在另一个social set中。
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:
bash
undefined如果需要为不同平台创建内容,请确保创建单个草稿而非多个草稿。
当所有平台的内容相同时,创建包含多个平台的单个草稿:
bash
undefinedSpecific platforms
指定平台
./scripts/typefully.js drafts:create --platform x,linkedin --text "Big announcement!"
./scripts/typefully.js drafts:create --platform x,linkedin --text "重大公告!"
All connected platforms
所有关联平台
./scripts/typefully.js 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:
```bash./scripts/typefully.js drafts:create --all --text "同步发布到所有平台!"
**重要提示**:当需要为不同平台定制内容时(例如,X线程帖和LinkedIn帖子版本不同),**仍需使用单个草稿** —— 先为一个平台创建草稿,然后更新草稿以添加其他平台:
```bash1. Create draft with the primary platform first
1. 先为主平台创建草稿
./scripts/typefully.js drafts:create --platform linkedin --text "Excited to share our new feature..."
./scripts/typefully.js drafts:create --platform linkedin --text "很高兴分享我们的新功能..."
Returns: { "id": "draft-123", ... }
返回结果: { "id": "draft-123", ... }
2. Update the same draft to add another platform with different content
2. 更新同一个草稿以添加另一个平台的不同内容
./scripts/typefully.js 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../scripts/typefully.js drafts:update draft-123 --platform x --text "🧵 线程帖时间!
以下是我们发布的内容及其重要性..." --use-default
因此,除非用户明确要求为每个平台创建单独的草稿,否则请务必**不要**创建多个草稿。Commands Reference
命令参考
User & Social Sets
用户与Social Sets
| Command | Description |
|---|---|
| Get authenticated user info |
| List all social sets you can access |
| Get social set details including connected platforms |
| 命令 | 描述 |
|---|---|
| 获取已认证用户信息 |
| 列出你可访问的所有social set |
| 获取social set详情,包括关联的平台 |
Drafts
草稿
All drafts commands support an optional - if omitted, the configured default is used.
Safety note: For commands that take , if you pass only a single argument (the draft_id) while a default social set is configured, you must add to confirm intent.
[social_set_id][social_set_id] <draft_id>--use-default| Command | Description |
|---|---|
| List drafts (add |
| Get a specific draft with full content (single-arg requires |
| Create a new draft (auto-selects platform) |
| Create a draft for specific platform(s) |
| Create a draft for all connected platforms |
| Create draft from file content |
| Create draft with attached media |
| Reply to an existing X post |
| Post to an X community |
| Generate a public share URL for the draft |
| Add internal notes/scratchpad to the draft |
| Update an existing draft (single-arg requires |
| Generate a public share URL for the draft |
| Update internal notes/scratchpad |
| Append to existing thread |
所有草稿命令都支持可选的参数 - 如果省略,则使用已配置的默认值。
安全提示:对于需要的命令,如果在已配置默认social set的情况下仅传递一个参数(draft_id),则必须添加参数以确认意图。
[social_set_id][social_set_id] <draft_id>--use-default| 命令 | 描述 |
|---|---|
| 列出草稿(添加 |
| 获取特定草稿的完整内容(如果已配置默认值,仅传递单个参数时需要 |
| 创建新草稿(自动选择平台) |
| 为特定平台创建草稿 |
| 为所有关联平台创建草稿 |
| 从文件内容创建草稿 |
| 创建包含附加媒体的草稿 |
| 回复现有的X帖子 |
| 发布到X社区 |
| 为草稿生成公开分享链接 |
| 为草稿添加内部备注/临时记录 |
| 更新现有草稿(如果已配置默认值,仅传递单个参数时需要 |
| 为草稿生成公开分享链接 |
| 更新内部备注/临时记录 |
| 追加内容到现有线程帖 |
Scheduling & Publishing
排期与发布
Safety note: These commands require when using the default social set with a single argument (to prevent accidental operations from ambiguous syntax).
--use-default| Command | Description |
|---|---|
| Delete a draft (explicit IDs) |
| Delete using default social set |
| Schedule to next available slot |
| Schedule using default social set |
| Publish immediately |
| Publish using default social set |
安全提示:当使用默认social set且仅传递单个参数时,这些命令需要参数(以防止因语法歧义导致的意外操作)。
--use-default| 命令 | 描述 |
|---|---|
| 删除草稿(需要明确的ID) |
| 使用默认social set删除草稿 |
| 将草稿排期到下一个可用时段 |
| 使用默认social set将草稿排期到下一个可用时段 |
| 立即发布 |
| 使用默认social set立即发布 |
Tags
标签
| Command | Description |
|---|---|
| List all tags |
| Create a new tag |
| 命令 | 描述 |
|---|---|
| 列出所有标签 |
| 创建新标签 |
Media
媒体
| Command | Description |
|---|---|
| Upload media, wait for processing, return ready media_id |
| Upload and return immediately (use media:status to poll) |
| Set custom timeout (default: 60) |
| Check media upload status |
| 命令 | 描述 |
|---|---|
| 上传媒体,等待处理完成,返回可用的media_id |
| 上传后立即返回结果(使用media:status轮询状态) |
| 设置自定义超时时间(默认:60秒) |
| 检查媒体上传状态 |
Setup & Configuration
配置与设置
| Command | Description |
|---|---|
| Interactive setup - prompts for API key, storage location, and default social set |
| Non-interactive setup for scripts/CI (auto-selects default if only one social set) |
| Non-interactive setup with explicit default social set |
| Non-interactive setup, skip default social set selection |
| Show current config, API key source, and default social set |
| Set default social set (interactive if ID omitted) |
| 命令 | 描述 |
|---|---|
| 交互式设置 - 提示输入API密钥、存储位置和默认social set |
| 非交互式设置,适用于脚本/CI(如果只有一个social set则自动选择默认值) |
| 带明确默认social set的非交互式设置 |
| 非交互式设置,跳过默认social set选择 |
| 显示当前配置、API密钥来源和默认social set |
| 设置默认social set(如果省略ID则为交互式) |
Examples
示例
Set up default social set
设置默认social set
bash
undefinedbash
undefinedCheck current config
查看当前配置
./scripts/typefully.js config:show
./scripts/typefully.js config:show
Set default (interactive - lists available social sets)
设置默认值(交互式 - 列出可用的social set)
./scripts/typefully.js config:set-default
./scripts/typefully.js config:set-default
Set default (non-interactive)
设置默认值(非交互式)
./scripts/typefully.js config:set-default 123 --location global
undefined./scripts/typefully.js config:set-default 123 --location global
undefinedCreate a tweet (using default social set)
创建推文(使用默认social set)
bash
./scripts/typefully.js drafts:create --text "Hello, world!"bash
./scripts/typefully.js drafts:create --text "Hello, world!"Create a tweet with explicit social_set_id
使用明确的social_set_id创建推文
bash
./scripts/typefully.js drafts:create 123 --text "Hello, world!"bash
./scripts/typefully.js drafts:create 123 --text "Hello, world!"Create a cross-platform post (specific platforms)
创建跨平台帖子(指定平台)
bash
./scripts/typefully.js drafts:create --platform x,linkedin,threads --text "Big announcement!"bash
./scripts/typefully.js drafts:create --platform x,linkedin,threads --text "重大公告!"Create a post on all connected platforms
为所有关联平台创建帖子
bash
./scripts/typefully.js drafts:create --all --text "Posting everywhere!"bash
./scripts/typefully.js drafts:create --all --text "同步发布到所有平台!"Create and schedule for next slot
创建并排期到下一个可用时段
bash
./scripts/typefully.js drafts:create --text "Scheduled post" --schedule next-free-slotbash
./scripts/typefully.js drafts:create --text "排期发布的帖子" --schedule next-free-slotCreate with tags
创建带标签的帖子
bash
./scripts/typefully.js drafts:create --text "Marketing post" --tags marketing,productbash
./scripts/typefully.js drafts:create --text "营销帖子" --tags marketing,productList scheduled posts sorted by date
按日期排序列出已排期的帖子
bash
./scripts/typefully.js drafts:list --status scheduled --sort scheduled_datebash
./scripts/typefully.js drafts:list --status scheduled --sort scheduled_dateReply to a tweet
回复推文
bash
./scripts/typefully.js drafts:create --platform x --text "Great thread!" --reply-to "https://x.com/user/status/123456"bash
./scripts/typefully.js drafts:create --platform x --text "很棒的线程帖!" --reply-to "https://x.com/user/status/123456"Post to an X community
发布到X社区
bash
./scripts/typefully.js drafts:create --platform x --text "Community update" --community 1493446837214187523bash
./scripts/typefully.js drafts:create --platform x --text "社区更新" --community 1493446837214187523Create draft with share URL
创建带分享链接的草稿
bash
./scripts/typefully.js drafts:create --text "Check this out" --sharebash
./scripts/typefully.js drafts:create --text "看看这个" --shareCreate draft with scratchpad notes
创建带临时记录备注的草稿
bash
./scripts/typefully.js drafts:create --text "Launching next week!" --scratchpad "Draft for product launch. Coordinate with marketing team before publishing."bash
./scripts/typefully.js drafts:create --text "下周发布!" --scratchpad "产品发布草稿。发布前请与营销团队协调。"Upload media and create post with it
上传媒体并创建包含该媒体的帖子
bash
undefinedbash
undefinedSingle command handles upload + polling - returns when ready!
单个命令处理上传 + 轮询 - 准备就绪后返回结果!
./scripts/typefully.js media:upload ./image.jpg
./scripts/typefully.js media:upload ./image.jpg
Returns: {"media_id": "abc-123-def", "status": "ready", "message": "Media uploaded and ready to use"}
返回结果: {"media_id": "abc-123-def", "status": "ready", "message": "Media uploaded and ready to use"}
Create post with the media attached
创建包含该媒体的帖子
./scripts/typefully.js drafts:create --text "Check out this image!" --media abc-123-def
undefined./scripts/typefully.js drafts:create --text "看看这张图片!" --media abc-123-def
undefinedUpload multiple media files
上传多个媒体文件
bash
undefinedbash
undefinedUpload each file (each waits for processing)
上传每个文件(每个文件都会等待处理完成)
./scripts/typefully.js media:upload ./photo1.jpg # Returns media_id: id1
./scripts/typefully.js media:upload ./photo2.jpg # Returns media_id: id2
./scripts/typefully.js media:upload ./photo1.jpg # 返回media_id: id1
./scripts/typefully.js media:upload ./photo2.jpg # 返回media_id: id2
Create post with multiple media (comma-separated)
创建包含多个媒体的帖子(用逗号分隔)
./scripts/typefully.js drafts:create --text "Photo dump!" --media id1,id2
undefined./scripts/typefully.js drafts:create --text "照片合集!" --media id1,id2
undefinedAdd media to an existing draft
为现有草稿添加媒体
bash
undefinedbash
undefinedUpload media
上传媒体
./scripts/typefully.js media:upload ./new-image.jpg # Returns media_id: xyz
./scripts/typefully.js media:upload ./new-image.jpg # 返回media_id: xyz
Update draft with media (456 is the draft_id)
更新草稿以添加媒体(456是草稿ID)
./scripts/typefully.js drafts:update 456 --text "Updated post with image" --media xyz --use-default
undefined./scripts/typefully.js drafts:update 456 --text "更新后的帖子(含图片)" --media xyz --use-default
undefinedSetup (interactive)
交互式设置
bash
./scripts/typefully.js setupbash
./scripts/typefully.js setupSetup (non-interactive, for scripts/CI)
非交互式设置(适用于脚本/CI)
bash
undefinedbash
undefinedAuto-selects default social set if only one exists
如果只有一个social set则自动选择默认值
./scripts/typefully.js setup --key typ_xxx --location global
./scripts/typefully.js setup --key typ_xxx --location global
With explicit default social set
带明确默认social set的设置
./scripts/typefully.js setup --key typ_xxx --location global --default-social-set 123
./scripts/typefully.js setup --key typ_xxx --location global --default-social-set 123
Skip default social set selection entirely
跳过默认social set选择的设置
./scripts/typefully.js setup --key typ_xxx --no-default
undefined./scripts/typefully.js setup --key typ_xxx --no-default
undefinedPlatform Names
平台名称
Use these exact names for the option:
--platform- - X (formerly Twitter)
x linkedin- - Threads
threads - - Bluesky
bluesky - - Mastodon
mastodon
--platform- - X(原Twitter)
x linkedin- - Threads
threads - - Bluesky
bluesky - - Mastodon
mastodon
Draft URLs
草稿URL
Typefully draft URLs contain the social set and draft IDs:
https://typefully.com/?a=<social_set_id>&d=<draft_id>Example:
https://typefully.com/?a=12345&d=67890- → social_set_id
a=12345 - → draft_id
d=67890
Typefully草稿URL包含social set和草稿ID:
https://typefully.com/?a=<social_set_id>&d=<draft_id>示例:
https://typefully.com/?a=12345&d=67890- → social_set_id
a=12345 - → draft_id
d=67890
Draft Scratchpad
草稿临时记录
When the user explictly asked to add notes, ideas, or anything else in the draft scratchpad, use the flag—do NOT write to local files!
--scratchpadThe option attaches internal notes directly to the Typefully draft. These notes:
--scratchpad- Are visible in the Typefully UI alongside the draft
- Stay attached to the draft permanently
- Are private and never published to social media
- Are perfect for storing thread expansion ideas, research notes, context, etc.
bash
undefined当用户明确要求添加备注、想法或其他内容到草稿临时记录时,请使用参数——不要写入本地文件!
--scratchpad--scratchpad- 在Typefully UI中与草稿一起显示
- 永久附加到草稿
- 是私有的,绝不会发布到社交媒体
- 非常适合存储线程帖扩展想法、研究笔记、上下文信息等
bash
undefinedCORRECT: Notes attached to the draft in Typefully
正确做法:备注附加到Typefully中的草稿
./scripts/typefully.js drafts:create 123 --text "My post" --scratchpad "Ideas for expanding: 1) Add stats 2) Include quote"
./scripts/typefully.js drafts:create 123 --text "我的帖子" --scratchpad "扩展想法:1) 添加统计数据 2) 引用名人名言"
WRONG: Do NOT write notes to local files when the user wants them in Typefully
错误做法:当用户希望将备注存储在Typefully中时,不要写入本地文件
Writing to /tmp/scratchpad/ or any local file is NOT the same thing
写入/tmp/scratchpad/或任何本地文件都不是正确的做法
undefinedundefinedAutomation Guidelines
自动化指南
When automating posts, especially on X, follow these rules to keep accounts in good standing:
- No duplicate content across multiple accounts
- No unsolicited automated replies - only reply when explicitly requested by the user
- No trending manipulation - don't mass-post about trending topics
- No fake engagement - don't automate likes, reposts, or follows
- Respect rate limits - the API has rate limits, don't spam requests
- Drafts are private - content stays private until published or explicitly shared
When in doubt, create drafts for user review rather than publishing directly.
Publishing confirmation: Unless the user explicitly asks to "publish now" or "post immediately", always confirm before publishing. Creating a draft is safe; publishing is irreversible and goes public instantly.
自动发布帖子时,尤其是在X平台,请遵循以下规则以确保账户状态良好:
- 禁止跨账户重复内容
- 禁止未经请求的自动回复 - 仅在用户明确要求时回复
- 禁止操纵趋势 - 不要批量发布关于热门话题的内容
- 禁止虚假互动 - 不要自动点赞、转发或关注
- 遵守速率限制 - API有速率限制,不要发送垃圾请求
- 草稿是私有的 - 内容在发布或明确分享前始终是私有的
如有疑问,请创建草稿供用户审核,而非直接发布。
发布确认:除非用户明确要求“立即发布”或“马上发布”,否则发布前请务必确认。创建草稿是安全的;发布是不可逆的,会立即公开。
Tips
提示
- Smart platform default: If is omitted, the first connected platform is auto-selected
--platform - All platforms: Use to post to all connected platforms at once
--all - Character limits: X (280), LinkedIn (3000), Threads (500), Bluesky (300), Mastodon (500)
- Thread creation: Use on its own line to split into multiple posts (thread)
--- - Scheduling: Use to let Typefully pick the optimal time
next-free-slot - Cross-posting: List multiple platforms separated by commas:
--platform x,linkedin - Draft titles: Use for internal organization (not posted to social media)
--title - Draft scratchpad: Use to attach notes to the draft in Typefully (NOT local files!) - perfect for thread ideas, research, context
--scratchpad - Read from file: Use instead of
--file ./post.txtto read content from a file--text - Sorting drafts: Use with values like
--sort,created_at,-created_at, etc.scheduled_date
- 智能平台默认值:如果省略参数,会自动选择第一个关联的平台
--platform - 所有平台:使用参数可一次性发布到所有关联平台
--all - 字符限制:X(280)、LinkedIn(3000)、Threads(500)、Bluesky(300)、Mastodon(500)
- 线程帖创建:使用单独一行的将内容拆分为多个帖子(线程帖)
--- - 排期:使用让Typefully选择最佳时间
next-free-slot - 跨平台发布:用逗号分隔多个平台:
--platform x,linkedin - 草稿标题:使用参数进行内部组织(不会发布到社交媒体)
--title - 草稿临时记录:使用参数将备注附加到Typefully中的草稿(而非本地文件!)—— 非常适合线程帖想法、研究、上下文信息
--scratchpad - 从文件读取内容:使用代替
--file ./post.txt从文件读取内容--text - 草稿排序:使用参数,值可以是
--sort、created_at、-created_at等scheduled_date