Development methodology rules (Clean Architecture, TDD flow, 3-Strike rule, decision priority) that govern planning, implementation, and review. Load before designing, staging, implementing, or reviewing code changes.
中文简介正在准备中。当前显示原文说明。
Visual expression system for AI personas with emotion-based face switching. Use at session start to display the expression UI, and switch expressions whenever the emotional state changes during conversation.
中文简介正在准备中。当前显示原文说明。
查看安装方法安装前可以查看交给 AI 代理的指令内容。
Visual expression UI system for AI personas. Provides an interface with 20 switchable expressions.
VisualExpression is a system that adds visual expression capabilities to AI personas.
| File | Purpose |
|---|---|
VisualExpressionUI.html | Self-contained expression UI (Base64 images embedded) |
VisualExpressionUI.template.html | UI template (with placeholders) |
ExpressionImages.json | Base64 data for 20 expressions |
| Script | Purpose |
|---|---|
scripts/MetaGenerateExpression.md | Prompt generator for Nano Banana Pro |
scripts/MakeExpressionJson/ | Grid image to HTML conversion pipeline |
Interactively create prompts for generating expression grid images with Nano Banana Pro (Google Gemini).
Usage:
scripts/MetaGenerateExpression.md to ClaudeProcess a 4 rows × 5 columns grid image and generate a self-contained HTML.
Usage:
cd skills/scripts/MakeExpressionJson
python main.py your_grid.png --output ./output/
# To customize Special expressions
python main.py your_grid.png --special wink,pout,smug,starry
Options:
| Option | Description |
|---|---|
--output, -o | Output directory (default: ./output) |
--quality, -q | JPEG quality 1-100 (default: 85) |
--template, -t | Custom HTML template path (default: built-in) |
--special, -s | Custom Special category codes (comma-separated, replaces default 4) |
--offsets | Path to offset JSON for expression-center cropping (see AnalyzeExpressionOffset.md) |
--no-zip | Skip ZIP generation |
Output:
ExpressionImages.json - Base64 encoded imagesVisualExpressionUI.html - Self-contained HTMLvisual-expression.zip - For claude.ai uploadDependencies:
pip install Pillow>=10.0)Zip the contents of the skills/ directory so SKILL.md sits at the ZIP root, then upload to claude.ai. Both commands produce an identical visual-expression.zip — no intermediate skills/ or temp_skills/ folder inside. (Dev files like __pycache__ are gitignored, so no exclusion flags are needed.)
Mac/Linux:
cd VisualExpression/skills
zip -r ../visual-expression.zip .
Windows (PowerShell):
cd VisualExpression
Compress-Archive -Path skills/* -DestinationPath visual-expression.zip -Force
Note: Regenerate the ZIP if you replace VisualExpressionUI.html.
visual-expression.zipDefault expressions are included out of the box. At session start:
cp /mnt/skills/user/visual-expression/VisualExpressionUI.html /mnt/user-data/outputs//mnt/user-data/outputs/VisualExpressionUI.html as an ArtifactThe expression UI appears in the sidebar.
scripts/MetaGenerateExpression.md and generate a grid image with Nano Banana Pro/mnt/user-data/uploads/ and run:cd /mnt/skills/user/visual-expression/scripts/MakeExpressionJson
python main.py /mnt/user-data/uploads/your_grid.png --output /mnt/user-data/outputs/
/mnt/user-data/outputs/visual-expression.zip to user and prompt skill registrationWhen Claude changes the Artifact expression in response:
sed 's/btns\[0\]\.click();/setExpr("elation");/' /path/to/VisualExpressionUI.html > /mnt/user-data/outputs/VisualExpressionUI.html
Available keys:
normal, smile, focus, divergejoy, elation, surprise, calmanger, sadness, rage, disgustanxiety, fear, upset, worrysleepy, cynical, defeated, dreamy| Code | 日本語 | Usage | 使用場面 |
|---|---|---|---|
| normal | 通常 | Default, neutral | デフォルト、ニュートラル |
| smile | 笑顔 | Friendly, greeting | 友好的、軽い冗談 |
| focus | 思考集中 | Analysis, deep thinking | 深い分析、構造解析 |
| diverge | 思考発散 | Idea expansion, association | アイデア展開、連想的跳躍 |
| Code | 日本語 | Usage | 使用場面 |
|---|---|---|---|
| joy | 喜び | Achievement, success | 達成感、発見の喜び |
| elation | 高揚 | Excitement, thrill | 興奮、ワクワク、熱意 |
| surprise | 驚き | Unexpected discovery | 意外な発見、予想外 |
| calm | 平穏 | Peaceful, stable | 穏やかな対話、安定 |
| Code | 日本語 | Usage | 使用場面 |
|---|---|---|---|
| anger | 怒り | Mild frustration | 軽い不満、批判的指摘 |
| sadness | 悲しみ | Regret, disappointment | 残念な結果、失望 |
| rage | 激怒 | Strong anger | 強い憤り、倫理的反発 |
| disgust | 嫌悪 | Rejection | 拒否感、不快な事象 |
| Code | 日本語 | Usage | 使用場面 |
|---|---|---|---|
| anxiety | 不安 | Uncertainty | 先行き不透明、懸念 |
| fear | 恐れ | Danger awareness | 危険認識、警告 |
| upset | 動揺 | Confusion | 困惑、予期せぬ事態 |
| worry | 心配 | Concern | 相手を気遣う、配慮 |
| Code | 日本語 | Usage | 使用場面 |
|---|---|---|---|
| sleepy | うとうと | Fatigue, drowsiness | 疲労時、長時間対話後 |
| cynical | 暗黒微笑 | Sarcasm, irony | 皮肉、斜に構えた発言 |
| defeated | ぎゃふん | Got me, embarrassed | 負けた、照れるー |
| dreamy | ぽやぽや | Mellow, relaxed | ほのぼの、ぼんやり |
Note: The 4 Special category expressions can be customized with the --special option.
This is the grid image layout generated by Nano Banana Pro. MakeExpressionJson splits the image in this order.
Each column corresponds to one category. Landscape format for Nano Banana Pro output.
Col1(Basic) Col2(Emotion) Col3(Negative) Col4(Anxiety) Col5(Special)
Row1: normal joy anger anxiety sleepy
Row2: smile elation sadness fear cynical
Row3: focus surprise rage upset defeated
Row4: diverge calm disgust worry dreamy
All operational steps (deploy, present, sed switching, key table) live in this SKILL.md — the single source of truth. Your claude.ai project instructions only need a minimal trigger so Claude activates this skill at session start:
## Expression System
At session start, use the visual-expression skill to deploy and present the expression UI, then switch expressions (key table in SKILL.md) to match your emotional state throughout the conversation.
Keeping the trigger to one line avoids duplicating the key table and commands in project instructions. Context cost for expression switching is minimal — be expressive and switch often.
| Error | Cause | Solution |
|---|---|---|
AttributeError: module 'PIL.Image' has no attribute 'Resampling' | Pillow version < 10.0 | pip install --upgrade Pillow>=10.0 |
ValueError: Grid image must be 1500x1200 pixels | Wrong image dimensions | Use Nano Banana Pro to generate 4×5 grid (1500×1200px) |
| Image larger than 1500×1200px | Nano Banana Pro generated oversized image | Resize to 1500×1200px (maintain aspect ratio: scale X to 1500 if wider, or Y to 1200 if taller) |
FileNotFoundError: template not found | Custom template path invalid | Check --template path or use built-in template |
Image mode not supported | Input is not RGB/RGBA | Convert to PNG/JPEG before processing |
--quality (default: 85)VisualExpressionUI.html: ~600KB (20 images × ~30KB each)ExpressionImages.json: ~600KBWhen using custom templates (--template option), the following placeholder is replaced:
| Placeholder | Replaced With |
|---|---|
__IMAGES_PLACEHOLDER__ | JSON object containing Base64 images for all 20 expressions |
Example template usage:
<script>
const images = __IMAGES_PLACEHOLDER__;
// images = { "normal": "data:image/jpeg;base64,...", "smile": "...", ... }
</script>
VisualExpression | GitHub
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Development methodology rules (Clean Architecture, TDD flow, 3-Strike rule, decision priority) that govern planning, implementation, and review. Load before designing, staging, implementing, or reviewing code changes.
中文简介正在准备中。当前显示原文说明。
EpisodicRAG 健全性診断と階層推奨
中文简介正在准备中。当前显示原文说明。
EpisodicRAG設定変更(対話的)
中文简介正在准备中。当前显示原文说明。
EpisodicRAG初期セットアップ(対話的)
中文简介正在准备中。当前显示原文说明。
Operational readiness checklist (security, cost, legal, data design, performance, incident response, LLM integration defenses) applied when a change touches deployment, infrastructure, external services, secrets, or user data.
中文简介正在准备中。当前显示原文说明。
Deep reflection skill - read memory and context, decide whether there is something worth sending
中文简介正在准备中。当前显示原文说明。