meme-factory について
meme-factory は、memegen.link API とテキスト形式を使って、文脈に合ったミーム画像を作るスキルです。会話やソーシャル投稿、コード関連の用途に向け、テンプレート選びや文字のエンコード、画像設定を案内します。
主な機能
- 01テンプレートと文字からミームを生成
- 02内容に応じたテンプレート選択
- 03URL 用の特殊文字エンコード
- 04画像サイズ、形式、レイアウトの設定
- 05背景画像とフォントの指定
活用シーン
- 01会話にユーモアを加える
- 02ソーシャルメディア画像の作成
- 03コードレビューを楽しくする
- 04デプロイ成功を祝う
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ softaworks/ agent-toolkit --skill meme-factoryインストール後、Claude Code で/meme-factoryを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdreferences/examples.mdmarkdown-memes-guide.mdscripts/meme_generator.py詳細
Meme Factory
無料の memegen.link API とテキストベースのミーム形式を使って、ミームを作成します。
トリガー
| トリガー | 説明 |
|---|---|
/meme-factory | 手動呼び出し |
/meme-factory {template} {top} {bottom} | ミームを直接生成 |
meme-factory: create a meme about X | 自然言語によるリクエスト |
クイックリファレンス
| アクション | 形式 |
|---|---|
| 基本のミーム | https://api.memegen.link/images/{template}/{top}/{bottom}.png |
| サイズ指定 | ?width=1200&height=630 |
| カスタム背景 | ?style=https://example.com/image.jpg |
| すべてのテンプレート | https://api.memegen.link/templates/ |
| インタラクティブドキュメント | https://api.memegen.link/docs/ |
追加リソース:
- Markdown ミームガイド - 15 以上のテキストベースのミーム形式
- 例 - 実践的な使用例
- meme_generator.py - Python ヘルパースクリプト
クイックスタート
基本的なミームの構造
https://api.memegen.link/images/{template}/{top_text}/{bottom_text}.{extension}
例:
https://api.memegen.link/images/buzz/memes/memes_everywhere.png
結果: 上段に「memes」、下段に「memes everywhere」が入ったバズ・ライトイヤーのミーム。
テキストの書式設定
| 文字 | エンコード |
|---|---|
| スペース | _ または - |
| 改行 | ~n |
| 疑問符 | ~q |
| パーセント | ~p |
| スラッシュ | ~s |
| ハッシュ | ~h |
| シングルクォート | '' |
| ダブルクォート | "" |
人気のテンプレート
| テンプレート | 用途 | 例 |
|---|---|---|
buzz | X、どこにでも X | bugs/bugs_everywhere |
drake | 比較 | manual_testing/automated_testing |
success | 勝利 | deployed/no_errors |
fine | 事態の悪化 | server_on_fire/this_is_fine |
fry | 不確実性 | not_sure_if_bug/or_feature |
changemind | 過激な意見 | tabs_are_better_than_spaces |
distracted | 優先順位 | my_code/new_framework/current_project |
mordor | 「一人ではどうにもできない」 | one_does_not_simply/deploy_on_friday |
テンプレート選択ガイド
| 状況 | テンプレート | 理由 |
|---|---|---|
| 選択肢を比較する | drake | 2 パネルの拒否/承認形式 |
| 成功を祝う | success | 肯定的な結果を強調 |
| 問題が無視されている | fine | 皮肉を込めた「すべて順調」 |
| 不確実性 | fry | 「X か Y かわからない」形式 |
| 議論を呼ぶ意見 | changemind | 主張と反論 |
| どこにでもあるもの | buzz | 「X、どこにでも X」 |
| 悪いアイデア | mordor | 「一人ではどうにもできない…」 |
検証
ミームを生成したら、次を確認してください:
- URL が有効な画像を返す(ブラウザでテスト)
- テキストが読める(長すぎない)
- テンプレートがメッセージの文脈に合っている
- 特殊文字が正しくエンコードされている
- 表示先のプラットフォームに適したサイズである
プラットフォーム別のサイズ
| プラットフォーム | サイズ |
|---|---|
| ソーシャルメディア (Open Graph) | 1200x630 |
| Slack/Discord | 800x600 |
| GitHub | デフォルト |
アンチパターン
| 避けるべきこと | 理由 | 代わりに |
|---|---|---|
| エンコードされていないスペース | URL が壊れる | _ または - を使う |
| テキストが多すぎる | 読みにくい | 1 行あたり 2〜6 語 |
| 不適切なテンプレート | メッセージがずれる | テンプレートを文脈に合わせる |
| 拡張子の欠落 | 無効な URL | 必ず .png、.jpg などを含める |
| エンコードされていない特殊文字 | URL が壊れる | ~q、~s、~p などを使う |
| テンプレートが存在すると仮定する | 404 エラー | 先にテンプレート一覧を確認する |
検証手順
ミーム生成が成功した場合の判定基準:
- URL が有効である - HTTP 200 を返す
- 画像が表示される - Markdown 内で正しく表示される
- テキストが見える - 画像上で適切に整形されている
- 文脈が一致する - テンプレートがメッセージに合っている
テストコマンド:
curl -I "https://api.memegen.link/images/buzz/test/test.png"
# Should return: HTTP/2 200
詳細解説: 高度な機能
画像形式
| 拡張子 | 用途 |
|---|---|
.png | 最高品質、デフォルト |
.jpg | ファイルサイズが小さい |
.webp | 最新形式、高い圧縮率 |
.gif | アニメーションテンプレート |
サイズ
?width=800
?height=600
?width=800&height=600 (padded to exact)
レイアウトオプション
?layout=top # Text at top only
?layout=bottom # Text at bottom only
?layout=default # Standard top/bottom
Custom Fonts
利用可能なフォント: https://api.memegen.link/fonts/
?font=impact (default)
Custom Images
任意の画像を背景として使用できます:
https://api.memegen.link/images/custom/hello/world.png?style=https://example.com/image.jpg
Deep Dive: Contextual Memes
Code Reviews
Template: fry
https://api.memegen.link/images/fry/not_sure_if_feature/or_bug.png
Deployments
Template: interesting
https://api.memegen.link/images/interesting/i_dont_always_test/but_when_i_do_i_do_it_in_production.png
Documentation
Template: yodawg
https://api.memegen.link/images/yodawg/yo_dawg_i_heard_you_like_docs/so_i_documented_the_documentation.png
Performance Issues
Template: fine
https://api.memegen.link/images/fine/memory_usage_at_99~/this_is_fine.png
Successful Deploy
Template: success
https://api.memegen.link/images/success/deployed_to_production/zero_downtime.png
Deep Dive: Workflow Integration
Generating Memes in Response
Here's a relevant meme:

Dynamic Generation (Python)
def generate_status_meme(status: str, message: str):
template_map = {
"success": "success",
"failure": "fine",
"review": "fry",
"deploy": "interesting"
}
template = template_map.get(status, "buzz")
words = message.split()
top = "_".join(words[0:3])
bottom = "_".join(words[3:6])
return f"https://api.memegen.link/images/{template}/{top}/{bottom}.png"
Using the Helper Script
from meme_generator import MemeGenerator
meme = MemeGenerator()
url = meme.generate("buzz", "features", "features everywhere")
print(url)
Deep Dive: API Reference
Endpoints
| Endpoint | Purpose |
|---|---|
/templates/ | すべてのテンプレートを一覧表示 |
/templates/{id} | テンプレートの詳細 |
/fonts/ | 利用可能なフォント |
/images/{template}/{top}/{bottom}.{ext} | ミームを生成 |
API Characteristics
- 無料かつオープンソース
- APIキーは不要
- レート制限なし(通常の利用の場合)
- ステートレス(すべての情報はURLに含まれる)
- 画像はオンデマンドで生成
Error Handling
- https://api.memegen.link/templates/ でテンプレートを確認する
- テキストの書式を確認する(スペースはアンダースコア)
- 特殊文字のエンコードを確認する
- 拡張子が有効であることを確認する
- ブラウザでURLをテストする
References
| Document | Content |
|---|---|
| markdown-memes-guide.md | 15以上のテキストベースのミーム形式(greentext、copypasta、ASCIIなど) |
| examples.md | 実用的な使用例 |
Scripts
| Script | Purpose |
|---|---|
| meme_generator.py | ミーム生成用のPythonヘルパー |
Summary
コンテキストに応じたミームを生成して、次のことができます:
- 会話にユーモアを加える
- SNS用のビジュアルを作成する
- コードレビューを楽しくする
- 成功を祝う
黄金律: テキストは簡潔に、テンプレートはコンテキストに合わせて選びましょう。
コメント
Markdown 対応