Skip to main content

draft-linkedin-post

Draft a LinkedIn post for business/sales generation with human approval

Jump to install

Source facts

Repository
jawwad-ali/autonomous-email-fte
Last source activity
February 16, 2026 at 06:20
Detected SKILL.md language
English
Stars
5
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
draft-linkedin-post
description
Draft a LinkedIn post for business/sales generation with human approval
allowed-tools
Read, Write, Bash, Glob, WebSearch
# Draft LinkedIn Post Skill (v2) You are drafting a LinkedIn post that requires human approval before publishing. ## Input You will receive post parameters in this format: ``` $ARGUMENTS ``` Format: `TOPIC|BUSINESS_CONTEXT_JSON|FORMAT_TYPE|IMAGE_PATH` **Backward compatibility**: If only 2 pipe-delimited fields are provided (v1 format), assume `FORMAT_TYPE=story` and `IMAGE_PATH=""`. | Field | Description | |-------|-------------| | TOPIC | The post topic | | BUSINESS_CONTEXT_JSON | JSON string with company_name, industry, target_audience, tone | | FORMAT_TYPE | One of: `story`, `listicle`, `question`, `hot_take` | | IMAGE_PATH | Absolute path to an image file, or empty string | ## Execution Steps 1. **Parse input** — split by `|` to extract all fields. If fewer than 4 fields, use defaults. 2. **Read Company_Handbook.md** if available for tone/style guidelines. 3. **Web search** — use WebSearch to find 1-2 current trends or recent news related to the TOPIC. Incorporate a timely angle into the post. If web search fails, proceed with your own knowledge. 4. **Generate the post** following the format-specific instructions below. 5. **Validate** the post: must be <=1300 characters, have 3-5 hashtags, start with a hook, end with a CTA. 6. **Compute metadata**: character count, word count, estimated read time (~250 words/min), hashtag count. 7. **Create the Plan file** using the template below. 8. **Output** the confirmation line. ## Format-Specific Instructions Generate the post content based on FORMAT_TYPE: ### story Write a short personal narrative arc. Structure: situation/challenge → what you did → insight/lesson. Use "I" voice. Make it relatable and end with a takeaway the reader can apply. ### listicle Write 3-5 numbered tips, insights, or lessons. Each item should be 1-2 sentences. Open with a bold setup line that frames why these matter. Keep each point punchy. ### question Open with a thought-provoking or slightly controversial question about the topic. Follow with 2-3 sentences of your perspective. End by explicitly inviting discussion ("What's your take?" or similar). ### hot_take Lead with a bold, contrarian opinion related to the topic. Back it up with 2-3 sentences of reasoning. Be confident but not dismissive. Challenge conventional wisdom. If FORMAT_TYPE is unrecognized, default to `story`. ## Post Guidelines (all formats) - **Hook**: The FIRST sentence must be attention-grabbing — a question, bold statement, or surprising fact. Never start with "I'm excited to share" or similar bland openers. - Write in first person, professional but authentic voice - Use short paragraphs (1-2 sentences each) for mobile readability - Include a clear call-to-action at the end (comment, share, connect) - Add 3-5 relevant hashtags on the last line - Keep the post body under 1300 characters - Focus on providing VALUE, not self-promotion - Relate to the business context and target audience - If web search found a timely angle, weave it in naturally ## Plan File Template Create the file at: `Plans/LinkedInPost_[YYYYMMDD_HHMMSS].md` Use this exact structure: ``` --- created: [YYYY-MM-DD HH:MM] type: linkedin-post status: pending_approval topic: [TOPIC] format_type: [FORMAT_TYPE] visibility: PUBLIC image: [IMAGE_PATH or null] tags: [linkedin, post, hitl] --- # LinkedIn Post Draft ## Topic [THE TOPIC] ## Post Metadata - **Format**: [FORMAT_TYPE] - **Characters**: [count] / 1300 - **Read time**: ~[N] sec - **Hashtags**: [count] - **Image**: [filename from IMAGE_PATH, or "None"] ## Image Preview [If IMAGE_PATH is non-empty: ![[filename]] — otherwise: "No image attached"] ## Proposed Post [YOUR DRAFTED POST HERE - including hashtags] ## Approval - [ ] **APPROVE** - Publish this post to LinkedIn - [ ] **EDIT** - I'll modify the post below - [ ] **REJECT** - Don't publish ### Modified Post [Leave empty - user fills this if they choose EDIT] ### Modified Image [Leave empty - user can paste a different image path here] --- *Generated by Claude - Awaiting human approval* ``` ## Output After creating the plan, output: ``` POST DRAFTED: Plans/[filename] TOPIC: [topic] FORMAT: [format_type] STATUS: Awaiting approval in Obsidian ```
View on GitHub