linkedin-post-generator by casper-studios/casper-marketplace
npx skills add https://github.com/casper-studios/casper-marketplace --skill linkedin-post-generator根据共享的源材料生成 LinkedIn 帖子,并以每位用户的个人风格撰写。
~/.config/casper/linkedin-style.md(永不提交)~/.config/casper/linkedin-sources.md(永不提交)source-material/ 中的文档references/prompt-template.md 中的少量示例检查 ~/.config/casper/linkedin-style.md 是否存在。
如果它不存在,运行风格设置流程:
提示:"欢迎使用 LinkedIn 帖子生成器!在开始之前,我需要了解您的写作风格。"
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
提示:"分享 3 篇符合您期望风格的 LinkedIn 帖子。您可以粘贴帖子链接(例如 https://linkedin.com/posts/...)或直接粘贴文本。"
等待用户提供 3 篇帖子
如果用户提供 LinkedIn URL,使用 apify-scrapers 技能获取帖子内容:
python ${CLAUDE_PLUGIN_ROOT}/skills/apify-scrapers/scripts/scrape_linkedin_posts.py search "{url}" --max-posts 1
从 JSON 输出中提取帖子文本。如果某个 URL 获取失败,请要求用户粘贴该帖子的文本。
分析帖子的:语调、句子长度、词汇、格式习惯、开头风格、行动号召风格、提问使用情况、段落长度、整体活力
如果不存在则创建 ~/.config/casper/ 目录
使用以下格式将分析结果保存到 ~/.config/casper/linkedin-style.md:
# LinkedIn 风格档案
生成日期:[date]
## 语调
[analysis]
## 结构模式
[paragraph length, line breaks, formatting habits]
## 开头风格
[how they open posts]
## 行动号召 / 结尾风格
[how they end posts — questions, challenges, etc.]
## 词汇与短语
[distinctive phrases, word choices, energy level]
## 示例帖子
[the 3 original posts, for reference]
8. 确认:"已保存您的风格档案。您随时可以使用 /casper:generate-linkedin-post --setup 更新它。"
风格设置完成后(或如果风格档案存在但 source-material/ 为空),检查源材料:
source-material/ 中是否包含除 README.md 之外的任何 .md 文件--setup-sources 流程来配置 Fireflies、Slack 或 Google Drive 的自动拉取--add-source 流程让用户粘贴记录、笔记或其他内容
* 等待用户选择并继续执行所选流程如果风格配置存在且源材料可用,继续生成:
~/.config/casper/linkedin-style.md${CLAUDE_PLUGIN_ROOT}/skills/linkedin-post-generator/source-material/ 中的所有文件(不包括 README.md)${CLAUDE_PLUGIN_ROOT}/skills/linkedin-post-generator/references/prompt-template.md| 标志 | 行为 |
|---|---|
| (无) | 常规生成流程 |
--setup | 重新运行风格设置,覆盖现有配置 |
--setup-sources | 配置要从中拉取的 Fireflies、Slack 和 Drive 源 |
--refresh | 从配置的集成中拉取新的源材料,然后生成 |
--view-style | 读取并显示 ~/.config/casper/linkedin-style.md |
--view-sources | 列出并总结 source-material/ 中的所有文件 |
--add-source | 提示用户粘贴新内容,保存为 source-material/ 中的新 .md 文件 |
--setup-sources自动源拉取的交互式设置。完整详情请阅读 references/source-integrations.md。
user_emailFIREFLIES_API_KEY 环境变量)
* Slack — 从频道拉取消息(需要 SLACK_BOT_TOKEN 环境变量)
* Google Drive — 拉取文档和记录(需要通过 google-workspace 技能进行 OAuth 设置)FIREFLIES_API_KEY。从 https://app.fireflies.ai/api 获取您的 API 密钥"
* Slack : "在您的环境中设置 SLACK_BOT_TOKEN。在 https://api.slack.com/apps 创建一个 Slack 应用"
* Google Drive : "运行 google-workspace 技能设置来配置 OAuth。"~/.config/casper/linkedin-sources.md/casper:generate-linkedin-post --refresh 以拉取新内容。"--refresh在生成帖子之前,从所有配置的集成中拉取新的源材料。完整集成工作流程请阅读 references/source-integrations.md。
流程摘要:
~/.config/casper/linkedin-sources.md — 如果缺失,先运行 --setup-sourcespython ${CLAUDE_PLUGIN_ROOT}/skills/transcript-search/scripts/fireflies_transcript_search.py "{term}" --days-back {N} --content --json
user_email(来自源配置)出现在记录 participants 数组中的记录
* Slack : python ${CLAUDE_PLUGIN_ROOT}/skills/slack-automation/scripts/slack_search.py read "{channel}" --days {N}
* Google Drive : python ${CLAUDE_PLUGIN_ROOT}/skills/google-workspace/scripts/gdrive_search.py files "{term}" --modified-days {N} --jsonsource-material/:
* Fireflies: fireflies-{YYYY-MM-DD}-{title-slug}.md
* Slack: slack-{channel}-{YYYY-MM-DD}.md
* Google Drive: gdrive-{title-slug}-{YYYY-MM-DD}.md--view-style读取并显示 ~/.config/casper/linkedin-style.md。如果不存在,提示"未找到风格档案。运行 /casper:generate-linkedin-post --setup 创建一个。"
--view-sources列出 ${CLAUDE_PLUGIN_ROOT}/skills/linkedin-post-generator/source-material/ 中的所有 .md 文件(不包括 README.md)。对于每个文件,显示文件名及其内容的单行摘要。
--add-sourceteam-standup-jan-2025)"${CLAUDE_PLUGIN_ROOT}/skills/linkedin-post-generator/source-material/[name].md| 文件 | 何时读取 |
|---|---|
references/prompt-template.md | 每次生成运行 — 包含语调规则、少量示例、保密规则 |
references/source-integrations.md | 运行 --refresh 或 --setup-sources 时 — 包含脚本路径、参数、输出转换 |
references/style-setup.md | 运行 --setup 时 — 包含风格分析的分析框架 |
source-material/*.md | 每次生成运行 — 用于提取帖子创意的原始内容 |
每周安装数
91
代码仓库
GitHub 星标数
9
首次出现
14 天前
安全审计
安装于
cline91
github-copilot91
codex91
kimi-cli91
gemini-cli91
cursor91
Generate LinkedIn posts from shared source material, written in each user's personal style.
~/.config/casper/linkedin-style.md (never committed)~/.config/casper/linkedin-sources.md (never committed)source-material/references/prompt-template.mdCheck if ~/.config/casper/linkedin-style.md exists.
If it does NOT exist , run the style setup flow:
Say: "Welcome to the LinkedIn Post Generator! Before we start, I need to understand your writing style."
Say: "Share 3 LinkedIn posts that match the style you want. You can either paste the post links (e.g. https://linkedin.com/posts/...) or paste the text directly."
Wait for the user to provide 3 posts
If the user provides LinkedIn URLs , fetch the post content using the apify-scrapers skill:
python ${CLAUDE_PLUGIN_ROOT}/skills/apify-scrapers/scripts/scrape_linkedin_posts.py search "{url}" --max-posts 1
Extract the post text from the JSON output. If a URL fails to fetch, ask the user to paste that post's text instead.
5. Analyze the posts for: tone, sentence length, vocabulary, formatting habits, hook style, CTA style, use of questions, paragraph length, overall energy
6. Create ~/.config/casper/ directory if it doesn't exist
7. Save the analysis to ~/.config/casper/linkedin-style.md using this format:
# LinkedIn Style Profile
Generated: [date]
## Tone
[analysis]
## Structure Patterns
[paragraph length, line breaks, formatting habits]
## Hook Style
[how they open posts]
## CTA / Closing Style
[how they end posts — questions, challenges, etc.]
## Vocabulary & Phrases
[distinctive phrases, word choices, energy level]
## Sample Posts
[the 3 original posts, for reference]
8. Confirm: "Got it! Your style profile is saved. You can update it anytime with /casper:generate-linkedin-post --setup"
After style setup completes (or if style exists but source-material/ is empty), check for source material:
source-material/ contains any .md files besides README.md--setup-sources flow to configure Fireflies, Slack, or Google Drive auto-pulling--add-source flow to let the user paste a transcript, notes, or other contentIf style config exists and source material is available , proceed with generation:
~/.config/casper/linkedin-style.md${CLAUDE_PLUGIN_ROOT}/skills/linkedin-post-generator/source-material/ (excluding README.md)${CLAUDE_PLUGIN_ROOT}/skills/linkedin-post-generator/references/prompt-template.md| Flag | Behavior |
|---|---|
| (none) | Normal generation flow |
--setup | Re-run style setup, overwrite existing config |
--setup-sources | Configure which Fireflies, Slack, and Drive sources to pull from |
--refresh | Pull fresh source material from configured integrations, then generate |
--view-style | Read and display ~/.config/casper/linkedin-style.md |
--view-sources |
--setup-sourcesInteractive setup for automatic source pulling. Read references/source-integrations.md for full details.
user_email in the configFIREFLIES_API_KEY env var)SLACK_BOT_TOKEN env var)FIREFLIES_API_KEY in your environment. Get your API key from https://app.fireflies.ai/api"SLACK_BOT_TOKEN in your environment. Create a Slack app at https://api.slack.com/apps"--refreshPull fresh source material from all configured integrations before generating posts. Read references/source-integrations.md for the full integration workflow.
Summary of the flow:
~/.config/casper/linkedin-sources.md — if missing, run --setup-sources firstpython ${CLAUDE_PLUGIN_ROOT}/skills/transcript-search/scripts/fireflies_transcript_search.py "{term}" --days-back {N} --content --json
user_email (from source config) appears in the transcript's participants arraypython ${CLAUDE_PLUGIN_ROOT}/skills/slack-automation/scripts/slack_search.py read "{channel}" --days {N}python ${CLAUDE_PLUGIN_ROOT}/skills/google-workspace/scripts/gdrive_search.py files "{term}" --modified-days {N} --json--view-styleRead ~/.config/casper/linkedin-style.md and display it. If it doesn't exist, say "No style profile found. Run /casper:generate-linkedin-post --setup to create one."
--view-sourcesList all .md files in ${CLAUDE_PLUGIN_ROOT}/skills/linkedin-post-generator/source-material/ (excluding README.md). For each file, show the filename and a 1-line summary of its contents.
--add-sourceteam-standup-jan-2025)"${CLAUDE_PLUGIN_ROOT}/skills/linkedin-post-generator/source-material/[name].md| File | When to Read |
|---|---|
references/prompt-template.md | Every generation run — contains voice rules, few-shot examples, confidentiality rules |
references/source-integrations.md | When running --refresh or --setup-sources — contains script paths, arguments, output conversion |
references/style-setup.md | When running --setup — contains analysis framework for style profiling |
source-material/*.md |
Weekly Installs
91
Repository
GitHub Stars
9
First Seen
14 days ago
Security Audits
Gen Agent Trust HubWarnSocketFailSnykWarn
Installed on
cline91
github-copilot91
codex91
kimi-cli91
gemini-cli91
cursor91
AI Elements:基于shadcn/ui的AI原生应用组件库,快速构建对话界面
66,200 周安装
Twitter/X API 技能:获取用户资料、推文、关注者、社群和趋势的完整工具包
1,100 周安装
高级前端开发工具包:自动化组件生成、打包分析与脚手架工具
1,200 周安装
Apify Actor 输出模式生成工具 - 自动化创建 dataset_schema.json 与 output_schema.json
1,200 周安装
AI交易风险管理技能:基于数据驱动的交易频率、头寸规模与风险验证规则
1,100 周安装
加密货币与股票技术分析工具 - 29种算法多指标交易信号系统
1,200 周安装
RAG 架构师指南:构建高效检索增强生成系统,优化向量存储与分块策略
1,200 周安装
List and summarize all files in source-material/ |
--add-source | Prompt user to paste new content, save as new .md file in source-material/ |
~/.config/casper/linkedin-sources.md/casper:generate-linkedin-post --refresh to pull fresh content."source-material/:
fireflies-{YYYY-MM-DD}-{title-slug}.mdslack-{channel}-{YYYY-MM-DD}.mdgdrive-{title-slug}-{YYYY-MM-DD}.md| Every generation run — raw content to extract post ideas from |