Ig Caption
Jakeschincariol/instagram-agent-skill
Write the Instagram caption - the line that survives the "...
内容模板的保存、复用、管理。把成功的内容结构保存为模板,下次直接套用,支持模板分类和版本管理. An agent skill from ZJU-REAL/Easel.
$ npx skills add ZJU-REAL/Easel --skill template-library -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ZJU-REAL/Easel template-library --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ZJU-REAL/Easel.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/openclaw/template-library .claude/skills/template-library && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "template-library" agent skill from https://github.com/ZJU-REAL/Easel/tree/main/skills/openclaw/template-library into .claude/skills/template-library/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "template-library", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ZJU-REAL/Easel/tree/main/skills/openclaw/template-libraryType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ZJU-REAL/Easel --skill template-library -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ZJU-REAL/Easel template-library --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZJU-REAL/Easel.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/openclaw/template-library .agents/skills/template-library && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "template-library" agent skill from https://github.com/ZJU-REAL/Easel/tree/main/skills/openclaw/template-library into .agents/skills/template-library/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "template-library", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ZJU-REAL/Easel --skill template-library -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ZJU-REAL/Easel template-library --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZJU-REAL/Easel.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/openclaw/template-library .cursor/skills/template-library && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "template-library" agent skill from https://github.com/ZJU-REAL/Easel/tree/main/skills/openclaw/template-library into .cursor/skills/template-library/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "template-library", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ZJU-REAL/Easel.git --path skills/openclaw/template-library--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ZJU-REAL/Easel --skill template-library -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ZJU-REAL/Easel template-library --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZJU-REAL/Easel.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/openclaw/template-library .gemini/skills/template-library && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "template-library" agent skill from https://github.com/ZJU-REAL/Easel/tree/main/skills/openclaw/template-library into .gemini/skills/template-library/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "template-library", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ZJU-REAL/Easel template-libraryInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ZJU-REAL/Easel --skill template-library -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ZJU-REAL/Easel.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/openclaw/template-library .github/skills/template-library && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "template-library" agent skill from https://github.com/ZJU-REAL/Easel/tree/main/skills/openclaw/template-library into .github/skills/template-library/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "template-library", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ZJU-REAL/Easel --skill template-library -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ZJU-REAL/Easel template-library --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZJU-REAL/Easel.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/openclaw/template-library .opencode/skills/template-library && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "template-library" agent skill from https://github.com/ZJU-REAL/Easel/tree/main/skills/openclaw/template-library into .opencode/skills/template-library/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "template-library", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
template-library内容模板的保存、复用、管理。把成功的内容结构保存为模板,下次直接套用,支持模板分类和版本管理. An agent skill from ZJU-REAL/Easel.
Template Library is an agent skill from ZJU-REAL/Easel. 内容模板的保存、复用、管理。把成功的内容结构保存为模板,下次直接套用,支持模板分类和版本管理。 当用户说"保存模板"、"用模板"、"模板管理"、"模板列表"、"复用上次的结构"、 "常用模板"时使用。 与 post-formatter(帖子框架)的区别:post-formatter 提供通用营销框架(PAS/AIDA/BAB), template-library 管理用户自己沉淀的个性化模板。 与 social-content(社媒内容)的区别:social-content 从零生成内容, template-library 基于已有模板快速复制结构。
Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including scripts (for example `EASEL-META.md` and `scripts/templates.py`).
It sits in Development, covering Linting and formatting and Social media posts. The repository describes itself as: An open-source AI agent for social media — discover trends, create content, publish everywhere, and learn what works across Xiaohongshu, Douyin, Zhihu, Bilibili, and more.🎨一个开源的… The licence is Apache-2.0.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 278f420. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Template Library loads about 1k tokens when it runs. Until then it costs about 74 tokens; SKILL.md has 190 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from ZJU-REAL/Easel at commit 278f420, republished under its Apache-2.0 licence (© ZJU-REAL). 190 words, ~1,022 tokens.
.claude/skills/template-library/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.保存、复用、管理内容模板 — 把成功经验变成可复制的结构
| 字段 | 必填 | 说明 |
|---|---|---|
| action | 是 | 操作类型:save / use / list / edit / delete / get |
| template_name | 视操作 | 模板名称(save / use / edit / delete / get 时必填) |
| source_file | 否 | 要保存为模板的源文件路径(save 操作时使用) |
| source_text | 否 | 要保存为模板的文本内容(save 操作时,与 source_file 二选一) |
| category | 否 | 模板分类:xiaohongshu / weibo / douyin / zhihu / wechat / x / general |
| variables | 否 | 模板变量的填充值,JSON 格式(use 操作时使用) |
| topic | 否 | 使用模板时的主题/话题(use 操作时使用) |
| profile_name | 否 | 绑定画像名称(有 Profile 上下文时自动填入) |
## 模板已保存
**名称**: {template_name}
**分类**: {category}
**存储位置**: templates/{category}/{template_name}.md
### 提取的模板结构
| 部分 | 结构描述 | 可变区域 |
|------|----------|----------|
| 标题 | 数字 + 痛点提问 | {{title_number}}, {{pain_point}} |
| 开头 | 反常识钩子 | {{hook_statement}} |
| 正文 | 3 段式(问题-方案-证据) | {{problem}}, {{solution}}, {{evidence}} |
| 结尾 | 行动号召 + 互动引导 | {{cta}}, {{question}} |
### 模板变量
共提取 {n} 个变量,下次使用时填入具体内容即可。## 模板应用结果
**使用模板**: {template_name}
**主题**: {topic}
---
{根据模板结构 + 变量填充生成的内容}
---
> 基于模板 `{template_name}` 生成,可进一步调整。## 模板库
**总数**: {n} 个模板
### 按分类
#### 小红书 ({n1} 个)
| 模板名 | 说明 | 变量数 | 使用次数 | 创建日期 |
|--------|------|--------|----------|----------|
| 种草对比 | 双产品对比种草结构 | 8 | 5 | 2026-07-10 |
| 教程步骤 | N 步教程卡片结构 | 6 | 3 | 2026-07-08 |
#### 微博 ({n2} 个)
| 模板名 | 说明 | 变量数 | 使用次数 | 创建日期 |
|--------|------|--------|----------|----------|
| 热点评论 | 热搜话题评论结构 | 5 | 7 | 2026-07-12 |
#### 通用 ({n3} 个)
| ... | ... | ... | ... | ... |模板文件读写、INDEX.json 维护、usage_count 自增、
{{var}}提取与替换已固化为scripts/templates.py(纯 stdlib,argparse 子命令)。LLM 只做意图路由、内容结构分析 (把成功内容改写成含{{var}}占位符的模板正文)和结果呈现,不手写 JSON、不手动 增删文件。 索引与模板文件均原子写入(临时文件 + rename),增删模板同步更新 INDEX.json。
saveuselisteditdeleteget{{变量名}}
占位符(如产品名 → {{product_name}}、痛点 → {{pain_point}}),再把改写后的正文
通过 --text 或 --file 交给脚本。脚本负责提取变量清单、写文件、登记索引。--var/--vars 传入。
脚本负责替换、usage_count 自增、原子写回索引。统一入口(默认 --root templates):
S=skills/openclaw/template-library/scripts/templates.py
python3 $S save 种草对比 --category xiaohongshu --description "双产品对比" \
--text "标题:{{title}} A={{product_a}} vs B={{product_b}} CTA={{cta}}"
python3 $S list --category xiaohongshu # 按分类列出,按使用次数降序
python3 $S get 种草对比 # 预览内容 + 元信息
python3 $S use 种草对比 --var title=夏日防晒 --var product_a=安耐晒
python3 $S use 种草对比 --vars '{"title":"夏日防晒","cta":"点赞收藏"}'
python3 $S edit 种草对比 --category general --description "改描述" --text "新正文 {{x}}"
python3 $S delete 种草对比 # 预览(dry-run)
python3 $S delete 种草对比 --apply # 确认后真正删除脚本内置保证(无需 LLM 判断):
save 同名默认报错,需 --force 覆盖;edit 改分类会移动文件并清理旧文件use 未填的变量保留 {{占位符}} 并在 stderr 警告,不会静默出错delete 默认 dry-run,仅打印将删除的模板,加 --apply 才真正删并清理索引结果呈现:把脚本输出整理成"输出"章节的 Markdown 返回给用户。
profile: {画像名称}profile: shared(共享模板)自研溯源与参考项目见同目录
EASEL-META.md。
© ZJU-REAL, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (scripts) in skills/openclaw/template-library of ZJU-REAL/Easel.
Open the folder on GitHubat commit 278f420
Template Library next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Template Library this skillZJU-REAL/Easel | 3.4k | — | ~1k | Automated safety check: Pass | Apache-2.0 | |
| Ig CaptionJakeschincariol/instagram-agent-skill | 760 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Post Formattercharlie947/social-media-skills | 3.8k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Summarise Ecosystem Resultsastral-sh/ruff | 50k | — | ~2.2k | Automated safety check: Pass | MIT | |
| Release Announcementpaperclipai/paperclip | 99k | — | ~1.7k | Automated safety check: Pass | MIT | |
| Reddit Post Writercaptainflasmr/ollama-buddy | 103 | — | ~1.4k | Automated safety check: Pass | GPL-3.0 |
Jakeschincariol/instagram-agent-skill
Write the Instagram caption - the line that survives the "...
charlie947/social-media-skills
Turn a topic into a ready-to-publish LinkedIn post using PAS, AIDA, BAB, STAR, or SLAY frameworks.
astral-sh/ruff
A skill your agent uses when a user says "summarise ecosystem results", "summarize this ty ecosystem report", "what changed in this ecosystem run?", or asks to summarise or summarize ty ecosystem…
paperclipai/paperclip
Write a release announcement — changelog, blog post, in-app note, or social post — that leads with user impact, names the audience, and includes upgrade/migration steps without filler.
captainflasmr/ollama-buddy
Write an r/emacs Reddit post in James Dyer's voice for announcing or discussing an Emacs package.
github/awesome-copilot
Format and draft compelling LinkedIn posts using Unicode bold/italic styling, visual separators, structured sections, and engagement-optimized patterns.
ZJU-REAL/Easel
微信公众号文章排版引擎:把 Markdown / Word(.docx) / PDF / 纯文本转成可直接粘贴进公众号编辑器的 HTML,自动章节编号、关键词标记、引言卡、目录、代码块、图片/GIF、作者签名;主题从 references/theme-index.md…
ZJU-REAL/Easel
微信公众号文章自动创作与发布工具。给定参考文章、文字或文档,自动搜索整理全网相关信息、生成图文并茂的公众号文章,并发布到微信公众号草稿箱。特别强调反 AI 检测写作。
ZJU-REAL/Easel
社媒卡片视觉设计系统:提供配色、中文字体层级、满画幅布局、品类骨架和死空白/密度质检,避免模板化 PPT 与廉价 AI 感。
ZJU-REAL/Easel
生成电商商品视觉方案:主图概念、场景图、详情页视觉方向和 AI 生图 Prompt. An agent skill from ZJU-REAL/Easel.
ZJU-REAL/Easel
将数据或文字内容转化为可视化信息图,支持静态(AntV)和动画 GIF 两种模式。当用户需要制作信息图、数据可视化、流程图、对比图、动画图表、GIF 图表、思维导图、SWOT 分析图时调用。本地渲染信息图/GIF 动画;要单张静态图片 URL 用 chart-visualization,要 CSV/JSON→整页报告用 data-report
ZJU-REAL/Easel
长篇小说/网文连载创作:从世界观、人设和三级大纲写到逐章正文,并用文件化状态维护伏笔、前情和跨章一致性. An agent skill from ZJU-REAL/Easel.
Categories
内容模板的保存、复用、管理。把成功的内容结构保存为模板,下次直接套用,支持模板分类和版本管理. An agent skill from ZJU-REAL/Easel. Template Library is an agent skill from ZJU-REAL/Easel.
Template Library fits situations like: tasks that involve Linting and formatting; tasks that involve Social media posts.
Run `npx skills add ZJU-REAL/Easel --skill template-library -a claude-code`. Or copy the skill folder (skills/openclaw/template-library in ZJU-REAL/Easel) into .claude/skills/template-library in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ZJU-REAL/Easel --skill template-library -a codex`. Or copy the skill folder (skills/openclaw/template-library in ZJU-REAL/Easel) into .agents/skills/template-library in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ZJU-REAL/Easel --skill template-library -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/template-library, .gemini/skills/template-library, .github/skills/template-library and .opencode/skills/template-library in your project.
Going by SKILL.md and its folder, Template Library needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Template Library is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1k tokens (SKILL.md is roughly 4.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Template Library: Ig Caption (Jakeschincariol/instagram-agent-skill, 760 stars), Post Formatter (charlie947/social-media-skills, 3.8k stars), Summarise Ecosystem Results (astral-sh/ruff, 50k stars) and Release Announcement (paperclipai/paperclip, 99k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ZJU-REAL (a GitHub organization) maintains it in ZJU-REAL/Easel, which has 3,376 GitHub stars. The repository holds 114 skills in this directory. The repository was last updated on October 9, 2026.
Source: ZJU-REAL/Easel on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.