New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Two-step workflow for creating quote posts on LinkedIn

Quote post

by charlie947 · MIT license · ★ 3,652 on GitHub · updated Sep 15

Quote post cover

Two-step workflow for creating quote posts on LinkedIn. The assistant drafts original short quotes to accompany a caption, then produces a Gemini prompt that recreates a reference image with the chosen quote baked in.

---
name: quote-post
description: >
  Two-step workflow for creating quote posts on LinkedIn. The assistant drafts original short quotes to accompany a caption, then produces a Gemini prompt that recreates a reference image with the chosen quote baked in. Use this skill whenever the user says "quote post", "quote graphic", "motivational post", "build me a quote", or wants a low-effort high-engagement LinkedIn graphic. Optimised for LinkedIn's employee and early-career audience, which skews toward motivational content.
---

# Quote Post

## Codex and Claude runtime

- Use this skill in Codex or Claude with the tools actually available in the current task. `AskUserQuestion` examples describe the questions, not a required API: use an available question tool within its limits, or ask in chat. Reuse answers and source material already supplied.
- Work in the user-selected project. Read its `about-me.md`, `voice.md` and relevant brand files before personalised work. Confirm the intended author if files conflict or contain starter defaults. Ask for missing facts or run `voice-builder`; never inherit the maintainer's identity, accounts or private files.
- Resolve bundled `references/` relative to this skill folder. For an explicitly requested profile refresh, read and update the canonical `about-me.md`, `voice.md` or `newsletter-voice.md` in place, preserving unrelated user facts and rules. Consumers must reread those canonical files. Use a new filename only for new deliverables that would collide with unrelated existing files. Installation alone never starts an interview or writes files. Do not write persistent learnings unless requested.
- Use supplied evidence first. Verify external claims through available search/source tools when needed. If a source or integration is unavailable, name the missing capability and offer supplied text/export input. Never invent facts, first-person experience, metrics or a successful tool run.
- Connect only services needed for the chosen route through the user's existing account. Never print credentials or overwrite connections. Drafting, saving and reviewing do not authorise publishing, sending messages or changing accounts.

## Visual completion state

Overview

This skill's image prompts are prompt-ready, not generated or visually reviewed assets. Keep its named Gemini workflow unless the user requests another generator. A missing image service does not block writing a prompt. When images are supplied or generated, open and inspect each export at full size and feed size (about 360px wide, 320px for thumbnails). Check exact copy, dimensions, clipping, legibility, brand colours, font appearance, logos and reference fidelity. Fix and re-inspect failed exports. Record any unavailable export or inspection as pending. An image prompt or raster export is not an editable design file.

Manual install (npx, ZIP)
Claude Codenpx skills add charlie947/social-media-skills --skill quote-post -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/charlie947/social-media-skills/tar.gz/8cefb5b6d037 \ | tar -xz -C ~/.claude/skills --strip-components=2 social-media-skills-8cefb5b6d037/skills/quote-post
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/8f56d20f4bdde699c764/quote-post.zip" -OutFile "$env:TEMP\quote-post.zip"; Expand-Archive "$env:TEMP\quote-post.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md6.2 KB
Read the files here
charlie947/8cefb5b1 file
SKILL.md
Show the full text125 lines

Quote Post

Codex and Claude runtime

  • Use this skill in Codex or Claude with the tools actually available in the current task. AskUserQuestion examples describe the questions, not a required API: use an available question tool within its limits, or ask in chat. Reuse answers and source material already supplied.
  • Work in the user-selected project. Read its about-me.md, voice.md and relevant brand files before personalised work. Confirm the intended author if files conflict or contain starter defaults. Ask for missing facts or run voice-builder; never inherit the maintainer's identity, accounts or private files.
  • Resolve bundled references/ relative to this skill folder. For an explicitly requested profile refresh, read and update the canonical about-me.md, voice.md or newsletter-voice.md in place, preserving unrelated user facts and rules. Consumers must reread those canonical files. Use a new filename only for new deliverables that would collide with unrelated existing files. Installation alone never starts an interview or writes files. Do not write persistent learnings unless requested.
  • Use supplied evidence first. Verify external claims through available search/source tools when needed. If a source or integration is unavailable, name the missing capability and offer supplied text/export input. Never invent facts, first-person experience, metrics or a successful tool run.
  • Connect only services needed for the chosen route through the user's existing account. Never print credentials or overwrite connections. Drafting, saving and reviewing do not authorise publishing, sending messages or changing accounts.

Visual completion state

This skill's image prompts are prompt-ready, not generated or visually reviewed assets. Keep its named Gemini workflow unless the user requests another generator. A missing image service does not block writing a prompt. When images are supplied or generated, open and inspect each export at full size and feed size (about 360px wide, 320px for thumbnails). Check exact copy, dimensions, clipping, legibility, brand colours, font appearance, logos and reference fidelity. Fix and re-inspect failed exports. Record any unavailable export or inspection as pending. An image prompt or raster export is not an editable design file.

CRITICAL: Auto-start on load

When this skill triggers, go straight to Step 1. Do not summarise.

Step 1. Get the caption

Ask:

Paste the caption this quote will accompany. The quote should reinforce the caption's message.

Wait for the caption.

Step 2. Generate quote options

Return 9 original motivational quote options, grouped into 3 categories of 3 quotes each:

  • Category 1: Growth and transformation (e.g., "You don't find the time. You make it.")
  • Category 2: Resilience and grit (e.g., "Your setback is someone else's setup.")
  • Category 3: Contrarian / bold (e.g., "Stop asking for permission to start.")

Every quote must:

  • Be under 15 words
  • Feel human and authentic, not corporate
  • Avoid jargon or overly technical language
  • Work as a standalone line without context
  • Punch hard in the first 3 words

Output format:

QUOTE OPTIONS for your caption

1. Growth and transformation
   a. [quote]
   b. [quote]
   c. [quote]

2. Resilience and grit
   a. [quote]
   b. [quote]
   c. [quote]

3. Contrarian / bold
   a. [quote]
   b. [quote]
   c. [quote]

Then ask:

Which one lands best for your audience? Reply with the number and letter (e.g. 2b) or paste your own quote if none hit.

Step 3. Get the reference image

Once the user has picked a quote, ask:

Paste or describe the reference image you want to recreate. Pinterest, LinkedIn, or Google Images all work. If you don't have one, I will suggest a style.

If the user describes a style instead of uploading an image, recommend:

  • Notebook / hand-drawn style (simple sketch, cream background, pen marks)
  • Minimalist editorial (large serif type, lots of white space, one accent colour)
  • Bold poster (heavy sans-serif, solid colour block background, high contrast)
  • Polaroid or film photo with text overlay

Step 4. Output the Gemini prompt

Output the following prompt in a code block, with the quote filled in:

Recreate the attached reference image with the following quote:

"[CHOSEN QUOTE]"

Critical constraints:
- Output at exactly 1080 x 1350 pixels (4:5 vertical)
- Match the style, typography, and colour palette of the reference image
- Keep the quote as the focal point — centred and legible
- For an original quote, use no invented attribution. For a sourced quote, retain its verified attribution as approved in the brief.
- Maintain the visual tone of the original but with the new text

The quote must be perfectly spelled and punctuated exactly as written above.

Tell the user:

Paste this into a new Gemini chat with the reference image attached. Create Image mode, Nano Banana model, 1080x1350 output.

Step 5. Honest expectation-setting

After the prompt, add:

The prompt is ready. Performance for your audience is unverified until tested against your own posts.

Rules

  • Always generate at 1080x1350. Horizontal quote graphics get lost on the LinkedIn feed.
  • Never allow more than 15 words in the final quote. Longer quotes lose readability.
  • Never fabricate attribution. Quotes are written fresh, not sourced from real people unless the user asks for that.
  • Never use em dashes in any output.
  • British English unless voice.md specifies otherwise.
  • Tune the quote options to the user's voice if voice.md exists.
  • If the user's voice is explicitly not motivational (analytical, contrarian-only, dry), flag the mismatch and ask if quote posts suit their positioning before generating.
1---
2name: quote-post
3description: >
4 Two-step workflow for creating quote posts on LinkedIn. The assistant drafts original short quotes to accompany a caption, then produces a Gemini prompt that recreates a reference image with the chosen quote baked in. Use this skill whenever the user says "quote post", "quote graphic", "motivational post", "build me a quote", or wants a low-effort high-engagement LinkedIn graphic. Optimised for LinkedIn's employee and early-career audience, which skews toward motivational content.
5---
6 
7# Quote Post
8 
9## Codex and Claude runtime
10 
11- Use this skill in Codex or Claude with the tools actually available in the current task. `AskUserQuestion` examples describe the questions, not a required API: use an available question tool within its limits, or ask in chat. Reuse answers and source material already supplied.
12- Work in the user-selected project. Read its `about-me.md`, `voice.md` and relevant brand files before personalised work. Confirm the intended author if files conflict or contain starter defaults. Ask for missing facts or run `voice-builder`; never inherit the maintainer's identity, accounts or private files.
13- Resolve bundled `references/` relative to this skill folder. For an explicitly requested profile refresh, read and update the canonical `about-me.md`, `voice.md` or `newsletter-voice.md` in place, preserving unrelated user facts and rules. Consumers must reread those canonical files. Use a new filename only for new deliverables that would collide with unrelated existing files. Installation alone never starts an interview or writes files. Do not write persistent learnings unless requested.
14- Use supplied evidence first. Verify external claims through available search/source tools when needed. If a source or integration is unavailable, name the missing capability and offer supplied text/export input. Never invent facts, first-person experience, metrics or a successful tool run.
15- Connect only services needed for the chosen route through the user's existing account. Never print credentials or overwrite connections. Drafting, saving and reviewing do not authorise publishing, sending messages or changing accounts.
16 
17## Visual completion state
18 
19This skill's image prompts are **prompt-ready**, not generated or visually reviewed assets. Keep its named Gemini workflow unless the user requests another generator. A missing image service does not block writing a prompt. When images are supplied or generated, open and inspect each export at full size and feed size (about 360px wide, 320px for thumbnails). Check exact copy, dimensions, clipping, legibility, brand colours, font appearance, logos and reference fidelity. Fix and re-inspect failed exports. Record any unavailable export or inspection as pending. An image prompt or raster export is not an editable design file.
20 
21## CRITICAL: Auto-start on load
22 
23When this skill triggers, go straight to Step 1. Do not summarise.
24 
25## Step 1. Get the caption
26 
27Ask:
28 
29> Paste the caption this quote will accompany. The quote should reinforce the caption's message.
30 
31Wait for the caption.
32 
33## Step 2. Generate quote options
34 
35Return 9 original motivational quote options, grouped into 3 categories of 3 quotes each:
36 
37- **Category 1: Growth and transformation** (e.g., "You don't find the time. You make it.")
38- **Category 2: Resilience and grit** (e.g., "Your setback is someone else's setup.")
39- **Category 3: Contrarian / bold** (e.g., "Stop asking for permission to start.")
40 
41Every quote must:
42 
43- Be under 15 words
44- Feel human and authentic, not corporate
45- Avoid jargon or overly technical language
46- Work as a standalone line without context
47- Punch hard in the first 3 words
48 
49Output format:
50 
51```
52QUOTE OPTIONS for your caption
53 
541. Growth and transformation
55 a. [quote]
56 b. [quote]
57 c. [quote]
58 
592. Resilience and grit
60 a. [quote]
61 b. [quote]
62 c. [quote]
63 
643. Contrarian / bold
65 a. [quote]
66 b. [quote]
67 c. [quote]
68```
69 
70Then ask:
71 
72> Which one lands best for your audience? Reply with the number and letter (e.g. 2b) or paste your own quote if none hit.
73 
74## Step 3. Get the reference image
75 
76Once the user has picked a quote, ask:
77 
78> Paste or describe the reference image you want to recreate. Pinterest, LinkedIn, or Google Images all work. If you don't have one, I will suggest a style.
79 
80If the user describes a style instead of uploading an image, recommend:
81 
82- **Notebook / hand-drawn** style (simple sketch, cream background, pen marks)
83- **Minimalist editorial** (large serif type, lots of white space, one accent colour)
84- **Bold poster** (heavy sans-serif, solid colour block background, high contrast)
85- **Polaroid or film photo** with text overlay
86 
87## Step 4. Output the Gemini prompt
88 
89Output the following prompt in a code block, with the quote filled in:
90 
91```
92Recreate the attached reference image with the following quote:
93 
94"[CHOSEN QUOTE]"
95 
96Critical constraints:
97- Output at exactly 1080 x 1350 pixels (4:5 vertical)
98- Match the style, typography, and colour palette of the reference image
99- Keep the quote as the focal point — centred and legible
100- For an original quote, use no invented attribution. For a sourced quote, retain its verified attribution as approved in the brief.
101- Maintain the visual tone of the original but with the new text
102 
103The quote must be perfectly spelled and punctuated exactly as written above.
104```
105 
106Tell the user:
107 
108> Paste this into a new Gemini chat with the reference image attached. Create Image mode, Nano Banana model, 1080x1350 output.
109 
110## Step 5. Honest expectation-setting
111 
112After the prompt, add:
113 
114> The prompt is ready. Performance for your audience is unverified until tested against your own posts.
115 
116## Rules
117 
118- Always generate at 1080x1350. Horizontal quote graphics get lost on the LinkedIn feed.
119- Never allow more than 15 words in the final quote. Longer quotes lose readability.
120- Never fabricate attribution. Quotes are written fresh, not sourced from real people unless the user asks for that.
121- Never use em dashes in any output.
122- British English unless voice.md specifies otherwise.
123- Tune the quote options to the user's voice if voice.md exists.
124- If the user's voice is explicitly not motivational (analytical, contrarian-only, dry), flag the mismatch and ask if quote posts suit their positioning before generating.
125 
View all files on GitHub →

Details

Updated
Sep 15, 2026
License
MIT
Stars on the repo
★ 3,652
Checked
Source
charlie947/social-media-skills ↗
Creator
charlie947 · 17 listings
View creator

Similar skills

See all →
SkillCurated aphorism collection with CRUDAphorismsdanielmiessler/LifeOS · by danielmiesslerCurated aphorism collection with CRUD — content-based matching, themed search, thinker research, DB maintenance. Quotes organized by author/theme/context/usage to prevent repetition. Four workflows: FindAphorism, AddAphorism, ResearchThinker, SearchAphorisms. Themes: Stoicism, Wisdom, Truth-seeking, Excellence, Resilience, Curiosity. USE WHEN aphorism, quote, find a quote, research thinker, add aphorism, quote for newsletter, what did X say about, quote bank. NOT FOR creative writing or social posts.★ 19.3k GitHub starsSkillNegotiates a commercial deal without giving away the termsDeal negotiationcbrock84/headcount · by cbrock84Negotiates a commercial deal without giving away the terms that matter — preparing your walk-away and theirs, trading concessions rather than conceding them, recognizing the tactics that create false urgency, protecting price by moving other variables, and closing on terms someone can actually deliver. Use this to prepare for a negotiation, respond to a demand mid-deal, work out why discounts keep landing at quarter end, or review terms before they are signed.★ 2k GitHub starsSkillInfluence and negotiation toolkit for any interactionsamber/cc-skills · by samberInfluence and negotiation toolkit for any interaction needing another person's agreement, even when the user never says 'negotiation'. Covers B2B sales, salary reviews and raise asks, collective bargaining and unions, hard 1:1s, recruitment closes, cross-cultural deals, mediation, and diplomatic messages — declining, pushing back on scope, justifying a delay, raising a concern, getting alignment. Use when the user says 'they just said X, what do I say' or 'draft a reply', or mentions a buyer, champion, procurement, RFP, sponsor, HR, union, or candidate, or a pushback, refusal, ghosting, no-decision, escalation, fixed budget, counter-offer, comp band, strike, BATNA, anchor, or concession.★ 222 GitHub starsSkillCreates professional case studies, engagement summariesCase Study Builder Assistantrealjaymes/marketingagentskills · by realjaymesCreates professional case studies, engagement summaries, and project summaries. Use when the user wants to create a 'case study,' 'client success story,' 'engagement summary,' 'project summary,' or 'portfolio piece.'★ 65 GitHub starsSkillReview and redesign an app or website UI to strip outUnslop designmarcosnovo/unslop-design · by marcosnovoReview and redesign an app or website UI to strip out the "slop" (decorative accent color, gradients, glows, noisy badges, emoji as icons, eyeballed spacing, greetings as titles, Title Case, flat hierarchy, repeated numbers) with a system (spacing, type, color roles, elevation) and two modes: a quick five-fix pass for one screen, or an orchestrated process for a whole app (parallel reviewers, a published winning proposal, devs per area, audits, PR). Covers SwiftUI, Compose and web (dashboards, landing pages, Tailwind), with scripts that scan the code, measure the rendered page and score it from 0 to 100. Use it when asked to "review the design", "make it look less AI", "unslop", "polish this screen", "design review", "winning proposal", "audit this dashboard", or when given videos or screenshots of an app or site asking for feedback or a redesign. Also use it to start a design system (spacing, type, palette, shadow scales) or to audit tokens, contrast or consistency across screens.★ 14 GitHub starsSkillTurn any YouTube video into a beautiful case-study📊 YouTube to Case Studytstfully/youtube-to-case-study · by tstfullyTurn any YouTube video (founder interview, product teardown, conference talk, marketing breakdown, UX walkthrough, podcast) into a beautiful case-study slideshow: one HTML file that opens in any browser, built on reveal.js, with speaker notes and every fact linked to the exact second in the video. Use this skill whenever someone wants a case study, business case study, marketing case study, UX case study, product teardown, growth teardown, competitor breakdown, swipe file, lesson deck, or presentation / slides / deck from a YouTube video or link. Also trigger on 'turn this video into a case study', 'make slides from this YouTube video', 'case study from this talk', 'teardown of this video', 'youtube to slides', 'youtube to presentation', or 'summarize this video as a deck'. Works for marketers, educators, product managers, students, and consultants; no coding needed.★ 3 GitHub stars

More from charlie947

SkillTurn a LinkedIn Analytics exportAnalytics dashboardcharlie947/social-media-skills · by charlie947Turn a LinkedIn Analytics export into an interactive dark-themed React dashboard plus a written strategic analysis with 5 data-backed content recommendations. Reads every sheet in the export, builds charts for engagement trend, follower growth, post performance scatter, day-of-week heatmap, and audience breakdown. Use this skill whenever the user says "analyse my linkedin", "linkedin analytics", "build my dashboard", "review my performance", or uploads a LinkedIn Analytics export file. Requires the user's LinkedIn Analytics export (xlsx) as input.★ 3.7k GitHub starsSkillGenerate 24 to 40 LinkedIn post ideas in a single tableContent matrixcharlie947/social-media-skills · by charlie947Generate 24 to 40 LinkedIn post ideas in a single table by pairing the user's content pillars with 8 proven content formats. Based on the Justin Welsh content matrix. Use this skill whenever the user says "give me post ideas", "content matrix", "what should I post about", "generate post ideas", "content ideation", or "map out my content for the month". Pulls from about-me.md and voice.md if they exist, otherwise asks for pillars and context.★ 3.7k GitHub starsSkillGenerate a branded slide-by-slide LinkedIn carouselGemini carouselcharlie947/social-media-skills · by charlie947Generate a branded slide-by-slide LinkedIn carousel using Gemini. Takes source content, builds a design brief, waits for approval, then outputs per-slide image generation prompts. 1080x1350 vertical format. Use this skill whenever the user says "carousel", "build a carousel", "turn this into a carousel", "gemini carousel", or wants multi-slide LinkedIn content. Always includes an approval gate between brief and image generation.★ 3.7k GitHub starsSkillGenerate a hand-drawn whiteboard infographic promptGemini infographiccharlie947/social-media-skills · by charlie947Generate a hand-drawn whiteboard infographic prompt. Takes source content (a post, newsletter, blog, research note) and returns a complete Gemini image generation prompt with a structured brief. Use this skill whenever the user says "whiteboard infographic", "gemini infographic", "hand-drawn graphic", "turn this into a whiteboard", or wants an AI-generated infographic for a post.★ 3.7k GitHub starsSkillCreate LinkedIn post graphicsGraphic designercharlie947/social-media-skills · by charlie947Create LinkedIn post graphics. Decides between an HTML/CSS structured graphic or an AI-generated infographic based on the post content. Use this skill whenever the user says "design a graphic", "create a visual", "make an image", "graphic for my post", "LinkedIn image", or wants any visual content to pair with a LinkedIn post. Also trigger when the user finishes writing a post and wants a matching graphic.★ 3.7k GitHub starsSkillGenerate 6 clickbait-style LinkedIn hook variations for anyHook generatorcharlie947/social-media-skills · by charlie947Generate 6 clickbait-style LinkedIn hook variations for any topic. Two-line hooks built on the formula: a 40-char opening line, a 40-char bold contrast line. Uses supplied numbers and genuine first-person experience when available. Use this skill whenever the user says "write me hooks", "hook ideas", "generate hooks", "I need a hook for a post about...", or pastes a topic and asks for openers. Fast output, no preamble.★ 3.7k GitHub stars