Not in the top 1,000 by GitHub stars
dean9703111/ig-card-generator
Agent Skill:把文章/筆記/逐字稿提煉成 IG 輪播知識圖卡。Markdown DSL → lint 把關 → Puppeteer 產出 1080×1350 PNG,深淺主題一次搞定
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
2aa579a48251 → 2aa579a48251
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 2aa579a48251
No earlier version was observed for comparison.
Heat
1.7- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
How it works
ig-card-generator
When your agent uses it
把知識素材(文章、講稿、筆記、逐字稿,或只有一個主題)提煉成 IG 輪播知識圖卡:封面 hook → 每卡一概念 → 結尾 CTA。以約定 Markdown DSL 撰寫,經 lint(criteria 全過)後由 build script 產出 1080×1350 PNG 系列圖(支援深/淺色主題)。當使用者說「做 IG 圖卡」「知識圖卡」「輪播圖」「carousel」「把這篇做成圖卡」「IG 貼文圖」「圖卡系列」時使用。出圖完成後可銜接 promo-writer 產生貼文 caption。
What it loads into context
Frontmatter
167 tokensAlways available to the agent
SKILL.md
6,032 tokensWhen the skill is activated
Reference documents
7,424 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 專案結構
- Workflow
- 內容鐵律
- 視覺原則(品牌固定)
- Config 兩層
- brief.md(選用)
- 依賴與 Troubleshooting
- Reference Files
Scripts executed separately
package.jsonscripts/build.mjsscripts/config.mjsscripts/dsl.mjsscripts/lint.mjstest/config.test.mjstest/dsl.test.mjstest/fixtures/golden-ctx.mjstest/lint.test.mjstest/update-golden.mjs
Files
.gitignoreasset42 bytesLICENSEasset1,075 bytesREADME.mddoc5,965 bytesSKILL.mdcore18,535 bytesSKILL.mdcore18,535 bytesSKILL.mdcore18,535 bytesSKILL.mdcore18,535 bytesexample/config/global.yamlasset1,827 bytesexample/skill-plugin-mcp/alt-text.mddoc1,674 bytesexample/skill-plugin-mcp/assets/avatar.svgasset286 bytesexample/skill-plugin-mcp/assets/cards/dark/01.pngasset630,425 bytesexample/skill-plugin-mcp/assets/cards/dark/02.pngasset623,421 bytesexample/skill-plugin-mcp/assets/cards/dark/03.pngasset597,080 bytesexample/skill-plugin-mcp/assets/cards/dark/04.pngasset648,142 bytesexample/skill-plugin-mcp/assets/cards/dark/05.pngasset848,990 bytesexample/skill-plugin-mcp/assets/cards/dark/06.pngasset608,478 bytesexample/skill-plugin-mcp/assets/cards/dark/07.pngasset608,599 bytesexample/skill-plugin-mcp/assets/cards/dark/08.pngasset610,742 bytesexample/skill-plugin-mcp/assets/cards/dark/09.pngasset584,886 bytesexample/skill-plugin-mcp/assets/cards/dark/10.pngasset632,403 bytesexample/skill-plugin-mcp/assets/cards/dark/11.pngasset679,479 bytesexample/skill-plugin-mcp/assets/cards/dark/contact-sheet.pngasset1,306,403 bytesexample/skill-plugin-mcp/assets/cards/light/01.pngasset955,155 bytesexample/skill-plugin-mcp/assets/cards/light/02.pngasset897,620 bytesexample/skill-plugin-mcp/assets/cards/light/03.pngasset912,649 bytesexample/skill-plugin-mcp/assets/cards/light/04.pngasset914,524 bytesexample/skill-plugin-mcp/assets/cards/light/05.pngasset538,530 bytesexample/skill-plugin-mcp/assets/cards/light/06.pngasset934,635 bytesexample/skill-plugin-mcp/assets/cards/light/07.pngasset926,366 bytesexample/skill-plugin-mcp/assets/cards/light/08.pngasset909,364 bytesexample/skill-plugin-mcp/assets/cards/light/09.pngasset903,635 bytesexample/skill-plugin-mcp/assets/cards/light/10.pngasset902,648 bytesexample/skill-plugin-mcp/assets/cards/light/11.pngasset1,028,797 bytesexample/skill-plugin-mcp/assets/cards/light/contact-sheet.pngasset1,593,368 bytesexample/skill-plugin-mcp/config.yamlasset856 bytesexample/skill-plugin-mcp/content.mddoc2,170 bytesexample/skill-plugin-mcp/deck.jsonasset3,610 bytesexample/skill-plugin-mcp/index.htmlasset45,832 bytespackage.jsonruns578 bytesreference/base.htmlasset34,599 bytesreference/config-example.yamlasset3,523 bytesreference/content-example.mddoc2,079 bytesreference/hooks.mddoc7,629 bytesscripts/build.mjsruns21,968 bytesscripts/config.mjsruns4,671 bytesscripts/dsl.mjsruns22,661 bytesscripts/lint.mjsruns13,743 bytestest/config.test.mjsruns3,193 bytestest/dsl.test.mjsruns4,874 bytestest/fixtures/golden-ctx.mjsruns852 bytestest/fixtures/root/config/global.yamlasset1,014 bytestest/fixtures/root/demo/assets/shot.pngasset68 bytestest/fixtures/root/demo/config.yamlasset72 bytestest/fixtures/root/demo/content.mddoc2,399 bytestest/golden/cards.htmlasset11,820 bytestest/golden/parse.jsonasset11,115 bytestest/lint.test.mjsruns4,552 bytestest/update-golden.mjsruns1,249 bytes
Read SKILL.md
# IG Card Generator
素材 → 提煉(hook+排卡)→ `content.md`(DSL)→ `node scripts/lint.mjs <dir>` 全過 → `node scripts/build.mjs <dir>` → `assets/cards/<theme>/NN.png` →(選用)promo-writer 產 caption
## 專案結構
```
.agents/skills/ig-card-generator/
├── SKILL.md
├── scripts/
│ ├── dsl.mjs # DSL 解析+渲染(build / lint 共用)
│ ├── config.mjs # 兩層 config 載入(global → deck → frontmatter)
│ ├── lint.mjs # criteria 檢查(可獨立執行)
│ └── build.mjs # index.html + Puppeteer 逐卡出 PNGView the complete source on GitHubSkills included
- ig-card-generator
Repository facts
- License
- MIT
- Created
- Jul 26, 2026
- Last pushed
- Jul 26, 2026
- Forks
- 1
- Open issues
- 0
- Project activity
- Slowing
Before you install
Local scriptsAutomated signals, not a guarantee
Checked Nov 7, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 3 notes
SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 22 network referencesin 5 files: example/skill-plugin-mcp/index.html:658 reference/base.html:655 README.md:26 and 2 more
- No hidden or obfuscated text
- No instruction overrides
- 10 executable scriptsin 10 files: package.json:1 scripts/build.mjs:1 scripts/config.mjs:1 and 7 more
- No access to secrets
- No requests to vote in Hot
Show all 32 signals by file
README.md
- Network accessline 26
# 專案層級(推薦,放在你的內容專案裡) git clone https://github.com/dean9703111/ig-card-generator.git .claude/skills/ig-card-generator - Network accessline 27
git clone https://github.com/dean9703111/ig-card-generator.git .claude/skills/ig-card-generator - Network accessline 29
# 或個人層級(所有專案都能用) git clone https://github.com/dean9703111/ig-card-generator.git ~/.claude/skills/ig-card-generator - Network accessline 30
git clone https://github.com/dean9703111/ig-card-generator.git ~/.claude/skills/ig-card-generator
example/skill-plugin-mcp/assets/avatar.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="240" height="240" viewBox="0 0 240 240">
example/skill-plugin-mcp/index.html
- Network accessline 658
content:"";position:absolute;z-index:-1;inset:-0.18em -0.35em; background:var(--acc);transform:rotate(-2deg); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 90' preserveAspectRatio='none' - Network accessline 659
background:var(--acc);transform:rotate(-2deg); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 90' preserveAspectRatio='none'%3E%3Cpath d='M18,48 C20,24 68,14 120,14 C174,14 223,22 222,46 C2 - Network accessline 660
-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 90' preserveAspectRatio='none'%3E%3Cpath d='M18,48 C20,24 68,14 120,14 C174,14 223,22 222,46 C221,70 168,79 114,78 C56,77 12,71 19,44 C22,32 34, - Network accessline 661
mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 90' preserveAspectRatio='none'%3E%3Cpath d='M18,48 C20,24 68,14 120,14 C174,14 223,22 222,46 C221,70 168,79 114,78 C56,77 12,71 19,44 C22,32 34,25 52,20 - Network accessline 665
.card[data-grain="1"] .bgfx::before{ content:"";position:absolute;inset:0;pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbule - Network accessline 666
content:"";position:absolute;inset:0;pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency=' - Network accessline 667
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3C
package.json
- Executable scriptline 1
Executable file - Network accessline 11
"repository": { "type": "git", "url": "git+https://github.com/dean9703111/ig-card-generator.git" - Network accessline 12
"type": "git", "url": "git+https://github.com/dean9703111/ig-card-generator.git" }, - Network accessline 13
"url": "git+https://github.com/dean9703111/ig-card-generator.git"
reference/base.html
- Network accessline 655
content:"";position:absolute;z-index:-1;inset:-0.18em -0.35em; background:var(--acc);transform:rotate(-2deg); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 90' preserveAspectRatio='none' - Network accessline 656
background:var(--acc);transform:rotate(-2deg); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 90' preserveAspectRatio='none'%3E%3Cpath d='M18,48 C20,24 68,14 120,14 C174,14 223,22 222,46 C2 - Network accessline 657
-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 90' preserveAspectRatio='none'%3E%3Cpath d='M18,48 C20,24 68,14 120,14 C174,14 223,22 222,46 C221,70 168,79 114,78 C56,77 12,71 19,44 C22,32 34, - Network accessline 658
mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 90' preserveAspectRatio='none'%3E%3Cpath d='M18,48 C20,24 68,14 120,14 C174,14 223,22 222,46 C221,70 168,79 114,78 C56,77 12,71 19,44 C22,32 34,25 52,20 - Network accessline 662
.card[data-grain="1"] .bgfx::before{ content:"";position:absolute;inset:0;pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbule - Network accessline 663
content:"";position:absolute;inset:0;pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency=' - Network accessline 664
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3C
scripts/build.mjs
- Executable scriptline 1
#!/usr/bin/env node
scripts/config.mjs
- Executable scriptline 1
Executable file
scripts/dsl.mjs
- Executable scriptline 1
Executable file
scripts/lint.mjs
- Executable scriptline 1
Executable file
test/config.test.mjs
- Executable scriptline 1
Executable file
test/dsl.test.mjs
- Executable scriptline 1
Executable file
test/fixtures/golden-ctx.mjs
- Executable scriptline 1
Executable file
test/lint.test.mjs
- Executable scriptline 1
Executable file
test/update-golden.mjs
- Executable scriptline 1
#!/usr/bin/env node
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 17 facts
- Network access in code of documentationREADME.md:26Low confidence
- Network access in code of documentationREADME.md:27Low confidence
- Network access in code of documentationREADME.md:29Low confidence
- Network access in code of documentationREADME.md:30Low confidence
- Executable script in code of a file that runspackage.json:1High confidence
- Network access in code of a file that runspackage.json:11High confidence
- Network access in code of a file that runspackage.json:12High confidence
- Network access in code of a file that runspackage.json:13High confidence
- Executable script in code of a file that runsscripts/build.mjs:1High confidence
- Executable script in a comment of a file that runsscripts/config.mjs:1Low confidence
- Executable script in a comment of a file that runsscripts/dsl.mjs:1Low confidence
- Executable script in a comment of a file that runsscripts/lint.mjs:1Low confidence
- Executable script in a comment of a testtest/config.test.mjs:1Low confidence
- Executable script in a comment of a testtest/dsl.test.mjs:1Low confidence
- Executable script in a comment of a testtest/fixtures/golden-ctx.mjs:1Low confidence
- Executable script in a comment of a testtest/lint.test.mjs:1Low confidence
- Executable script in code of a testtest/update-golden.mjs:1Low confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.