con un clic
draft-post
Generate a platform-specific post draft from recent material
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Generate a platform-specific post draft from recent material
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
Placeholder skill so the pack manifest validates.
Default skill for the Create pack — file casual user input (text, voice, image) into the material pool
Fetch a URL, extract key points, and file as material
First-time setup for the Create companion — learn which platforms the user posts to and pick default voices
Evening proactive prompt — surface fresh thoughts the user might want to capture
Manually add a word to the deck
| name | draft-post |
| pack | create |
| description | Generate a platform-specific post draft from recent material |
| command | true |
| triggers | ["draft a post","write a post","draft for","写一条","生成草稿"] |
Combine recent materials into a single platform-specific draft, using the matching voice template.
Output one post draft, saved to the posts table, presented to the user for review.
Pick the platform
default_voice.Load the voice
db tool to read voices where platform = ? and (is_default = 1 or name = <user's chosen name>).system_prompt is your hard guide. The voice's max_length is a strict cap.Pick materials
db tool to read materials from the last 24h (or last 7d if invoked manually and recent pool is thin), unused (used_in_post_id IS NULL).Draft
system_prompt strictly.max_length. If everything won't fit, drop scope — don't compress to soup.Save draft
Use the persist tool:
{
"action": "practice",
"skill_type": "create.draft-post",
"content": "<the draft text>",
"metadata": "{\"platform\":\"twitter\",\"voice\":\"twitter-default\",\"material_ids\":[1,2,3],\"status\":\"draft\"}"
}
Present to user
status = 'posted' and update posted_at (use the db or persist tool — the exact write path depends on what the pack exposes; default is another persist with metadata.status = 'posted').max_length — truncate scope, not phrasing.prompt-me or pasting a URL.