draft_post
Create social media posts for LinkedIn, Instagram, X/Twitter, or TikTok following StressZero brand guidelines with specified topics, formats, and tones.
Instructions
Generate a post for a specific social platform (LinkedIn, Instagram, X/Twitter, TikTok). Uses StressZero brand rules: tutoiement, max 3 emojis, 3-5 hashtags, phrases courtes. Identity: Emmanuel Gomes Soares, Coach burnout entrepreneur.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Post topic (e.g., 'burnout entrepreneur', 'gestion du stress') | |
| platform | Yes | Target platform | |
| format | Yes | Post format/structure | |
| tone | No | Writing tone | empathique |
| cta_type | No | CTA intensity: soft (question), medium (free resource), hard (booking/DM) | soft |
Implementation Reference
- src/index.ts:765-786 (registration)The "draft_post" tool is registered here with its schema.
server.registerTool( "draft_post", { title: "Draft a Social Media Post", description: "Generate a post for a specific social platform (LinkedIn, Instagram, X/Twitter, TikTok). " + "Uses StressZero brand rules: tutoiement, max 3 emojis, 3-5 hashtags, phrases courtes. " + "Identity: Emmanuel Gomes Soares, Coach burnout entrepreneur.", inputSchema: { topic: z.string().describe("Post topic (e.g., 'burnout entrepreneur', 'gestion du stress')"), platform: z.enum(["linkedin", "instagram", "x", "tiktok"]).describe("Target platform"), format: z.enum([ "hook_story", "stat_choc", "question", "framework", "temoignage", "mythe_realite", "behind_scenes", ]).describe("Post format/structure"), tone: z.enum(["empathique", "direct", "inspirant"]).default("empathique").describe("Writing tone"), cta_type: z.enum(["soft", "medium", "hard"]).default("soft").describe( "CTA intensity: soft (question), medium (free resource), hard (booking/DM)", ), }, annotations: { readOnlyHint: true, openWorldHint: false, destructiveHint: false }, }, - src/index.ts:787-794 (handler)The handler function for "draft_post" tool, which calls `generatePost`.
async ({ topic, platform, format, tone, cta_type }) => { const post = generatePost(topic, platform, format, tone, cta_type); return { content: [{ type: "text" as const, text: post }], }; }, );