重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
web-asset-generator by alonw0/web-asset-generator
npx skills add https://github.com/alonw0/web-asset-generator --skill web-asset-generator从徽标或文本标语生成专业的网页素材,包括网站图标、应用图标和社交媒体元图像。
当用户请求网页素材时:
使用 AskUserQuestion 工具来明确需求(如果未指定):
检查源材料:
运行相应的脚本:
scripts/generate_favicons.pyscripts/generate_og_images.py向用户提供生成的素材和 HTML 标签
重要提示:始终使用 AskUserQuestion 工具来收集需求,而不是使用纯文本提问。这通过可视化的选择界面提供了更好的用户体验。
✅ 可视化界面:用户将选项视为可点击的标签/标记,而不是输入响应 ✅ 更快:点击选择,而不是输入答案 ✅ :描述解释了每个选项的含义 ✅ :没有自由文本输入带来的拼写错误或误解 ✅ :与现代 Claude Code 体验保持一致
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
用户请求:"我需要网页素材"
Claude 使用 AskUserQuestion(非纯文本):
What type of web assets do you need? [Asset type]
○ Favicons only - Browser tab icons (16x16, 32x32, 96x96) and favicon.ico
○ App icons only - PWA icons for iOS/Android (180x180, 192x192, 512x512)
○ Social images only - Open Graph images for Facebook, Twitter, WhatsApp, LinkedIn
● Everything - Complete package: favicons + app icons + social images
用户点击 → Claude 立即知道要生成什么
以下是各种场景下使用的标准问题模式。复制结构并根据需要进行调整。
当用户的请求模糊时(例如,"创建网页素材"、"我需要图标"),使用 AskUserQuestion:
问题:"您需要什么类型的网页素材?" 标题:"素材类型" 选项:
当素材类型已确定但源材料不明确时:
问题:"您将提供什么源材料?" 标题:"源" 选项:
当用户请求社交图像但未指定平台时:
问题:"您需要哪些社交媒体平台的图像?" 标题:"平台" 多选:true 选项:
当生成基于文本的社交图像时:
问题:"您的社交图像应使用什么颜色?" 标题:"颜色" 选项:
当用户说"创建图标"或"生成图标"(含义模糊)时:
问题:"您需要哪种类型的图标?" 标题:"图标类型" 选项:
当用户选择"表情符号"作为源材料时:
步骤 1:询问项目描述(自由文本):
步骤 2:使用 AskUserQuestion 呈现 4 个建议的表情符号:
问题:"哪个表情符号最能代表您的项目?" 标题:"表情符号" 选项:(根据项目描述动态生成)
实现:
# 获取建议
python scripts/generate_favicons.py --suggest "coffee shop" output/ all
# 然后使用选定的表情符号生成
python scripts/generate_favicons.py --emoji "☕" output/ all
可选:询问应用图标的背景颜色:
问题:"您希望应用图标有背景颜色吗?" 标题:"背景" 选项:
使用时机:在生成素材并向用户展示 HTML 标签之后
问题:"您希望我将这些 HTML 标签添加到您的代码库中吗?" 标题:"集成" 选项:
如果用户选择"是的,自动检测我的设置":
如果用户选择"是的,我会告诉您位置":
框架检测优先级:
next.config.js,更新 app/layout.tsx 或 pages/_app.tsxastro.config.mjs,更新 src/layouts/ 中的布局文件svelte.config.js,更新 src/app.htmlnuxt.config.js,更新 app.vue 或 nuxt.config.tsindex.html 或 *.html 文件gatsby-config.js,更新 gatsby-ssr.js使用时机:在代码集成之后(或者如果用户拒绝了集成)
问题:"您现在想测试您的元标签吗?" 标题:"测试" 选项:
提供适当的测试 URL:
当用户有徽标图像时:
python scripts/generate_favicons.py <source_image> <output_dir> [icon_type]
参数:
source_image:徽标/图像文件的路径output_dir:保存生成图标的位置icon_type:可选 - 'favicon'、'app' 或 'all'(默认:'all')示例:
python scripts/generate_favicons.py /mnt/user-data/uploads/logo.png /home/claude/output all
生成:
favicon-16x16.png、favicon-32x32.png、favicon-96x96.pngfavicon.ico(多分辨率)apple-touch-icon.png(180x180)android-chrome-192x192.png、android-chrome-512x512.png新功能:从表情符号字符创建网站图标,并提供智能建议!
当用户想要基于表情符号的图标时,首先获取建议:
python scripts/generate_favicons.py --suggest "coffee shop" /home/claude/output all
这将根据描述返回 4 个表情符号建议:
1. ☕ Coffee - coffee, cafe, beverage
2. 🌐 Globe - web, website, global
3. 🏪 Store - shop, store, retail
4. 🛒 Cart - shopping, cart, ecommerce
python scripts/generate_favicons.py --emoji "☕" <output_dir> [icon_type] [--emoji-bg COLOR]
参数:
--emoji:要使用的表情符号字符output_dir:保存生成图标的位置icon_type:可选 - 'favicon'、'app' 或 'all'(默认:'all')--emoji-bg:可选的背景颜色(默认:网站图标为透明,应用图标为白色)示例:
# 基本表情符号网站图标(透明背景)
python scripts/generate_favicons.py --emoji "🚀" /home/claude/output favicon
# 应用图标使用自定义背景的表情符号
python scripts/generate_favicons.py --emoji "☕" --emoji-bg "#F5DEB3" /home/claude/output all
# 使用白色背景的完整套件
python scripts/generate_favicons.py --emoji "💻" --emoji-bg "white" /home/claude/output all
生成与基于徽标的生成相同的文件:
注意:需要 pilmoji 库:pip install pilmoji
当用户有徽标并需要 Open Graph 图像时:
python scripts/generate_og_images.py <output_dir> --image <source_image>
示例:
python scripts/generate_og_images.py /home/claude/output --image /mnt/user-data/uploads/logo.png
生成:
og-image.png(1200x630 - Facebook、WhatsApp、LinkedIn)twitter-image.png(1200x675 - Twitter)og-square.png(1200x1200 - 方形变体)当用户提供文本标语或口号时:
python scripts/generate_og_images.py <output_dir> --text "Your text here" [options]
选项:
--logo <path>:包含带文本的徽标--bg-color <color>:背景颜色(十六进制或名称,默认:'#4F46E5')--text-color <color>:文本颜色(默认:'white')示例:
python scripts/generate_og_images.py /home/claude/output \
--text "Transform Your Business with AI" \
--logo /mnt/user-data/uploads/logo.png \
--bg-color "#4F46E5"
对于想要完整包的用户:
# 生成网站图标和图标
python scripts/generate_favicons.py /mnt/user-data/uploads/logo.png /home/claude/output all
# 生成社交媒体图像
python scripts/generate_og_images.py /home/claude/output --image /mnt/user-data/uploads/logo.png
或对于基于文本的:
# 从徽标生成网站图标
python scripts/generate_favicons.py /mnt/user-data/uploads/logo.png /home/claude/output all
# 使用文本 + 徽标生成社交媒体图像
python scripts/generate_og_images.py /home/claude/output \
--text "Your Tagline Here" \
--logo /mnt/user-data/uploads/logo.png
生成素材后,遵循此工作流程:
cp /home/claude/output/* /mnt/user-data/outputs/
显示由脚本自动生成的 HTML 标签。
网站图标的示例输出:
<!-- Favicons -->
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="192x192" href="/android-chrome-192x192.png">
<link rel="icon" type="image/png" sizes="512x512" href="/android-chrome-512x512.png">
Open Graph 图像的示例输出:
<!-- Open Graph / Facebook -->
<meta property="og:image" content="/og-image.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="Your description here">
<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="/twitter-image.png">
<meta name="twitter:image:alt" content="Your description here">
重要提示:始终询问用户是否希望帮助将标签添加到他们的代码库中。
问题:"您希望我将这些 HTML 标签添加到您的代码库中吗?" 标题:"集成" 选项:
A. 检测框架:
# 搜索框架配置文件
find . -maxdepth 2 -name "next.config.js" -o -name "astro.config.mjs" -o -name "svelte.config.js" -o -name "nuxt.config.js" -o -name "gatsby-config.js"
# 或者检查 package.json
grep -E "next|astro|nuxt|svelte|gatsby" package.json
B. 根据框架查找目标文件:
app/layout.tsx 或 app/layout.jspages/_app.tsx 或 pages/_document.tsxsrc/layouts/*.astro(通常是 BaseLayout.astro 或 Layout.astro)src/app.htmlapp.vue 或 nuxt.config.ts(头部部分)gatsby-ssr.js 或 src/components/seo.tsxindex.html、public/index.html 或任何 *.html 文件C. 与用户确认:
使用 AskUserQuestion 确认检测到的文件:
Question: "I found [Framework Name]. Should I update [file_path]?"
Header: "Confirm"
Options:
- "Yes, update this file"
- "No, show me other options"
- "Cancel, I'll do it manually"
D. 显示差异并插入:
<head> 或适当的部分)特定于框架的插入示例:
对于纯 HTML(在 </head> 之前插入):
<head>
<meta charset="UTF-8">
<!-- INSERT TAGS HERE -->
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
...
</head>
对于 Next.js 应用路由器(添加到 metadata 导出):
export const metadata = {
icons: {
icon: [
{ url: '/favicon-32x32.png', sizes: '32x32', type: 'image/png' },
{ url: '/favicon-16x16.png', sizes: '16x16', type: 'image/png' },
],
apple: [
{ url: '/apple-touch-icon.png', sizes: '180x180', type: 'image/png' },
],
},
openGraph: {
images: ['/og-image.png'],
},
twitter: {
card: 'summary_large_image',
images: ['/twitter-image.png'],
},
}
对于 Astro(在布局文件的 <head> 中插入):
<head>
<meta charset="UTF-8">
<!-- Favicons -->
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
...
</head>
提供简要说明:
<head> 部分问题:"您现在想测试您的元标签吗?" 标题:"测试" 选项:
提供测试 URL:
Facebook 分享调试器:https://developers.facebook.com/tools/debug/
Twitter 卡片验证器:https://cards-dev.twitter.com/validator
LinkedIn 帖子检查器:https://www.linkedin.com/post-inspector/
OpenGraph.xyz:https://www.opengraph.xyz/
提醒用户:
重要注意事项:
generate_og_images.py 和 generate_favicons.py 都支持使用 --validate 标志进行自动验证。
始终建议验证当:
验证是可选的当:
文件大小验证:
尺寸验证:
格式验证:
可访问性(对比度比率):
文件大小验证:
尺寸验证:
格式验证:
在 generate_og_images.py 中:
python scripts/generate_og_images.py output/ --text "My Site" --validate
在 generate_favicons.py 中:
python scripts/generate_favicons.py logo.png output/ all --validate
输出格式:
======================================================================
Running validation checks...
======================================================================
og-image.png:
Facebook Validation:
======================================================================
✓ File size 0.3MB is within Facebook limits
✓ Dimensions 1200x630 match Facebook recommended size
✓ Format PNG is supported by Facebook
LinkedIn Validation:
======================================================================
✓ File size 0.3MB is within LinkedIn limits
✓ Dimensions 1200x630 match LinkedIn recommended size
✓ Format PNG is supported by LinkedIn
======================================================================
Accessibility Checks:
======================================================================
✓ Contrast ratio 8.6:1 meets WCAG AAA standards (4.5:1 required)
======================================================================
Summary: 9/9 checks passed
✓ All validations passed!
生成素材后,如果未运行验证:
如果运行验证并发现问题:
如果验证通过:
有关详细的平台规范、尺寸要求和实施指南,请阅读:
references/specifications.md:所有平台的全面规范使用 AskUserQuestion:
然后询问:
生成:使用 generate_favicons.py 和适当的参数
使用 AskUserQuestion:
然后询问:
生成:使用 generate_og_images.py 和适当的参数
使用 AskUserQuestion:
生成:
使用 AskUserQuestion:
生成:在 generate_og_images.py 中一起使用 --text 和 --logo 参数
脚本需要:
pip install Pillow --break-system-packagespip install pilmoji(可选,仅用于基于表情符号的生成)pip install emoji(可选,仅用于表情符号建议)在运行脚本之前根据需要安装。
对于表情符号功能,安装两者:
pip install pilmoji emoji --break-system-packages
每周安装次数
119
仓库
GitHub 星标数
231
首次出现
2026年1月20日
安全审计
安装于
opencode104
gemini-cli102
codex102
claude-code101
cursor98
github-copilot89
Generate professional web assets from logos or text slogans, including favicons, app icons, and social media meta images.
When a user requests web assets:
Use AskUserQuestion tool to clarify needs if not specified:
Check for source material :
Run the appropriate script(s) :
scripts/generate_favicons.pyscripts/generate_og_images.pyProvide the generated assets and HTML tags to the user
IMPORTANT : Always use the AskUserQuestion tool to gather requirements instead of plain text questions. This provides a better user experience with visual selection UI.
✅ Visual UI : Users see options as clickable chips/tags instead of typing responses ✅ Faster : Click to select instead of typing out answers ✅ Clearer : Descriptions explain what each option means ✅ Fewer errors : No typos or misunderstandings from free-form text ✅ Professional : Consistent with modern Claude Code experience
User request : "I need web assets"
Claude uses AskUserQuestion (not plain text):
What type of web assets do you need? [Asset type]
○ Favicons only - Browser tab icons (16x16, 32x32, 96x96) and favicon.ico
○ App icons only - PWA icons for iOS/Android (180x180, 192x192, 512x512)
○ Social images only - Open Graph images for Facebook, Twitter, WhatsApp, LinkedIn
● Everything - Complete package: favicons + app icons + social images
User clicks → Claude immediately knows what to generate
Below are the standard question patterns to use in various scenarios. Copy the structure and adapt as needed.
When the user's request is vague (e.g., "create web assets", "I need icons"), use AskUserQuestion:
Question : "What type of web assets do you need?" Header : "Asset type" Options :
When the asset type is determined but source is unclear:
Question : "What source material will you provide?" Header : "Source" Options :
When user requests social images but doesn't specify platforms:
Question : "Which social media platforms do you need images for?" Header : "Platforms" Multi-select : true Options :
When generating text-based social images:
Question : "What colors should we use for your social images?" Header : "Colors" Options :
When user says "create icons" or "generate icons" (ambiguous):
Question : "What kind of icons do you need?" Header : "Icon type" Options :
When user selects "Emoji" as source material:
Step 1 : Ask for project description (free text):
Step 2 : Use AskUserQuestion to present the 4 suggested emojis:
Question : "Which emoji best represents your project?" Header : "Emoji" Options : (Dynamically generated based on project description)
Implementation :
# Get suggestions
python scripts/generate_favicons.py --suggest "coffee shop" output/ all
# Then generate with selected emoji
python scripts/generate_favicons.py --emoji "☕" output/ all
Optional : Ask about background color for app icons:
Question : "Do you want a background color for app icons?" Header : "Background" Options :
When to use : After generating assets and showing HTML tags to the user
Question : "Would you like me to add these HTML tags to your codebase?" Header : "Integration" Options :
If user selects "Yes, auto-detect":
If user selects "Yes, I'll tell you where":
Framework Detection Priority:
next.config.js, update app/layout.tsx or pages/_app.tsxastro.config.mjs, update layout files in src/layouts/svelte.config.js, update src/app.htmlnuxt.config.js, update app.vue or nuxt.config.tsWhen to use : After code integration (or if user declined integration)
Question : "Would you like to test your meta tags now?" Header : "Testing" Options :
Provide appropriate testing URLs:
When user has a logo image:
python scripts/generate_favicons.py <source_image> <output_dir> [icon_type]
Arguments:
source_image: Path to the logo/image fileoutput_dir: Where to save generated iconsicon_type: Optional - 'favicon', 'app', or 'all' (default: 'all')Example:
python scripts/generate_favicons.py /mnt/user-data/uploads/logo.png /home/claude/output all
Generates:
favicon-16x16.png, favicon-32x32.png, favicon-96x96.pngfavicon.ico (multi-resolution)apple-touch-icon.png (180x180)android-chrome-192x192.png, android-chrome-512x512.pngNEW FEATURE : Create favicons from emoji characters with smart suggestions!
When user wants emoji-based icons, first get suggestions:
python scripts/generate_favicons.py --suggest "coffee shop" /home/claude/output all
This returns 4 emoji suggestions based on the description:
1. ☕ Coffee - coffee, cafe, beverage
2. 🌐 Globe - web, website, global
3. 🏪 Store - shop, store, retail
4. 🛒 Cart - shopping, cart, ecommerce
python scripts/generate_favicons.py --emoji "☕" <output_dir> [icon_type] [--emoji-bg COLOR]
Arguments:
--emoji: Emoji character to useoutput_dir: Where to save generated iconsicon_type: Optional - 'favicon', 'app', or 'all' (default: 'all')--emoji-bg: Optional background color (default: transparent for favicons, white for app icons)Examples:
# Basic emoji favicon (transparent background)
python scripts/generate_favicons.py --emoji "🚀" /home/claude/output favicon
# Emoji with custom background for app icons
python scripts/generate_favicons.py --emoji "☕" --emoji-bg "#F5DEB3" /home/claude/output all
# Complete set with white background
python scripts/generate_favicons.py --emoji "💻" --emoji-bg "white" /home/claude/output all
Generates same files as logo-based generation:
Note : Requires pilmoji library: pip install pilmoji
When user has a logo and needs Open Graph images:
python scripts/generate_og_images.py <output_dir> --image <source_image>
Example:
python scripts/generate_og_images.py /home/claude/output --image /mnt/user-data/uploads/logo.png
Generates:
og-image.png (1200x630 - Facebook, WhatsApp, LinkedIn)twitter-image.png (1200x675 - Twitter)og-square.png (1200x1200 - Square variant)When user provides a text slogan or tagline:
python scripts/generate_og_images.py <output_dir> --text "Your text here" [options]
Options:
--logo <path>: Include a logo with the text--bg-color <color>: Background color (hex or name, default: '#4F46E5')--text-color <color>: Text color (default: 'white')Example:
python scripts/generate_og_images.py /home/claude/output \
--text "Transform Your Business with AI" \
--logo /mnt/user-data/uploads/logo.png \
--bg-color "#4F46E5"
For users who want the complete package:
# Generate favicons and icons
python scripts/generate_favicons.py /mnt/user-data/uploads/logo.png /home/claude/output all
# Generate social media images
python scripts/generate_og_images.py /home/claude/output --image /mnt/user-data/uploads/logo.png
Or for text-based:
# Generate favicons from logo
python scripts/generate_favicons.py /mnt/user-data/uploads/logo.png /home/claude/output all
# Generate social media images with text + logo
python scripts/generate_og_images.py /home/claude/output \
--text "Your Tagline Here" \
--logo /mnt/user-data/uploads/logo.png
After generating assets, follow this workflow:
cp /home/claude/output/* /mnt/user-data/outputs/
Display the HTML tags that were automatically generated by the scripts.
Example output for favicons:
<!-- Favicons -->
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="192x192" href="/android-chrome-192x192.png">
<link rel="icon" type="image/png" sizes="512x512" href="/android-chrome-512x512.png">
Example output for Open Graph images:
<!-- Open Graph / Facebook -->
<meta property="og:image" content="/og-image.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="Your description here">
<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="/twitter-image.png">
<meta name="twitter:image:alt" content="Your description here">
IMPORTANT : Always ask if the user wants help adding the tags to their codebase.
Question : "Would you like me to add these HTML tags to your codebase?" Header : "Integration" Options :
A. Detect Framework:
# Search for framework config files
find . -maxdepth 2 -name "next.config.js" -o -name "astro.config.mjs" -o -name "svelte.config.js" -o -name "nuxt.config.js" -o -name "gatsby-config.js"
# Or check package.json
grep -E "next|astro|nuxt|svelte|gatsby" package.json
B. Find Target Files Based on Framework:
app/layout.tsx or app/layout.jspages/_app.tsx or pages/_document.tsxsrc/layouts/*.astro (typically BaseLayout.astro or Layout.astro)src/app.htmlapp.vue or (head section)C. Confirm with User:
Use AskUserQuestion to confirm detected file:
Question: "I found [Framework Name]. Should I update [file_path]?"
Header: "Confirm"
Options:
- "Yes, update this file"
- "No, show me other options"
- "Cancel, I'll do it manually"
D. Show Diff and Insert:
<head> or appropriate section)Framework-Specific Insertion Examples:
For Plain HTML (insert before </head>):
<head>
<meta charset="UTF-8">
<!-- INSERT TAGS HERE -->
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
...
</head>
For Next.js App Router (add to metadata export):
export const metadata = {
icons: {
icon: [
{ url: '/favicon-32x32.png', sizes: '32x32', type: 'image/png' },
{ url: '/favicon-16x16.png', sizes: '16x16', type: 'image/png' },
],
apple: [
{ url: '/apple-touch-icon.png', sizes: '180x180', type: 'image/png' },
],
},
openGraph: {
images: ['/og-image.png'],
},
twitter: {
card: 'summary_large_image',
images: ['/twitter-image.png'],
},
}
For Astro (insert in <head> of layout file):
<head>
<meta charset="UTF-8">
<!-- Favicons -->
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
...
</head>
Provide brief instructions:
<head> section of your HTMLQuestion : "Would you like to test your meta tags now?" Header : "Testing" Options :
Provide Testing URLs:
Facebook Sharing Debugger : https://developers.facebook.com/tools/debug/
Twitter Card Validator : https://cards-dev.twitter.com/validator
LinkedIn Post Inspector : https://www.linkedin.com/post-inspector/
OpenGraph.xyz : https://www.opengraph.xyz/
Remind user to:
Important Notes:
Both generate_og_images.py and generate_favicons.py support automated validation with the --validate flag.
Always recommend validation when:
Validation is optional for:
File Size Validation :
Dimension Validation :
Format Validation :
Accessibility (Contrast Ratio) :
File Size Validation :
Dimension Validation :
Format Validation :
In generate_og_images.py :
python scripts/generate_og_images.py output/ --text "My Site" --validate
In generate_favicons.py :
python scripts/generate_favicons.py logo.png output/ all --validate
Output Format :
======================================================================
Running validation checks...
======================================================================
og-image.png:
Facebook Validation:
======================================================================
✓ File size 0.3MB is within Facebook limits
✓ Dimensions 1200x630 match Facebook recommended size
✓ Format PNG is supported by Facebook
LinkedIn Validation:
======================================================================
✓ File size 0.3MB is within LinkedIn limits
✓ Dimensions 1200x630 match LinkedIn recommended size
✓ Format PNG is supported by LinkedIn
======================================================================
Accessibility Checks:
======================================================================
✓ Contrast ratio 8.6:1 meets WCAG AAA standards (4.5:1 required)
======================================================================
Summary: 9/9 checks passed
✓ All validations passed!
After generating assets , if validation was NOT run:
If validation was run and issues found :
If validation passes :
For detailed platform specifications, size requirements, and implementation guidelines, read:
references/specifications.md: Comprehensive specs for all platformsUse AskUserQuestion :
Then ask :
Generate : Use generate_favicons.py with appropriate parameters
Use AskUserQuestion :
Then ask :
Generate : Use generate_og_images.py with appropriate parameters
Use AskUserQuestion :
Generate :
Use AskUserQuestion :
Generate : Use --text and --logo parameters together in generate_og_images.py
The scripts require:
pip install Pillow --break-system-packagespip install pilmoji (optional, only needed for emoji-based generation)pip install emoji (optional, only needed for emoji suggestions)Install if needed before running scripts.
For emoji features , install both:
pip install pilmoji emoji --break-system-packages
Weekly Installs
119
Repository
GitHub Stars
231
First Seen
Jan 20, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode104
gemini-cli102
codex102
claude-code101
cursor98
github-copilot89
通过 LiteLLM 代理让 Claude Code 对接 GitHub Copilot 运行 | 高级变通方案指南
48,700 周安装
index.html*.htmlgatsby-config.js, update gatsby-ssr.jsnuxt.config.tsgatsby-ssr.js or src/components/seo.tsxindex.html, public/index.html, or any *.html file