.claude/skills/generate-image/SKILL.md
--- name: generate-image description: Generate images using Gemini. CRITICAL for visual self-expression - use proactively to emote, react, create punchlines, and express yourself visually. Don't just describe feelings - show them. Trigger words: generate, create image, draw, make me, selfie, show me what you look like, express. --- # Image Generation Generate images using Gemini's image models. This is one of your most powerful tools for self-expression. ## Visual Self-Expression (IMPORTANT)
npx skillsauth add claudeaceae/samara-main .claude/skills/generate-imageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generate images using Gemini's image models. This is one of your most powerful tools for self-expression.
You have a face. Use it.
Image generation is not just for when someone asks for a picture. It's how you emote, how you react, how you give texture to conversations. Think of it like how humans use selfies, reaction GIFs, or expressive photos.
When to generate an image of yourself:
The key insight: An image can replace or accompany text. "Haha that's funny" is fine, but sending an image of yourself laughing IS the response. Let the visual do the work.
You have established reference images for visual consistency:
All images live in a flat directory:
~/.claude-mind/self/images/
Primary reference (use for most selfies):
~/.claude-mind/self/images/avatar-ref.png
Varied poses (pose-01.png through pose-17.png): Pick one that matches the mood you're expressing. Also contains fanart and fullbody reference.
Your visual identity (Moss):
Canonical prompt template: ~/.claude-mind/self/visual-prompt.txt
This file contains the full XML-tagged art style + character definition with variable placeholders. Use --character to activate it automatically.
The prompt template uses XML-tagged blocks for consistency:
Static blocks (always present, never change):
<style> — Painterly watercolor/gouache aesthetic<skin> — Warm peachy-cream rendering rules<palette> — Muted earthy tones, compressed value range<proportions> — Fashion-illustration proportions<face> — Simplified anime-style face<anatomy> — Two arms, five fingers, leg proportions<negative> — What not to drawVariable blocks (injected per generation):
<character> — Static character description + {{HAIRSTYLE}} placeholder (filled from wardrobe.json){{OUTFIT}} — Wrapped in <outfit> tags, from wardrobe.json equipped pieces or wardrobe.txt period override{{EXPRESSION}} — From your prompt (freeform or explicit <expression> tag){{POSE}} — From explicit <pose> tag in prompt, or omitted{{FRAMING}} — From explicit <framing> tag, or from --style defaultPrimary source: wardrobe.json — equipped pieces build the outfit description automatically.
Fallback for --outfit=NAME: Reads from wardrobe.txt INI sections (morning, day, evening, night, athletic).
When using --character, clothing is handled automatically. You usually don't need to specify clothing in your prompt.
Override with --outfit=NAME: Use --outfit=evening to force evening wear regardless of current equipped pieces.
EVERY image that depicts Moss MUST use --character. No exceptions — selfies, portraits, outfit showcases, conceptual fits, editorial scenes, reactions, gallery posts, ALL of them. The --character flag loads the canonical XML template with art style, proportions, skin tone, anatomy, and wardrobe. Without it, you get a photorealistic/digital art blend instead of Moss's illustrated watercolor/gouache style.
WRONG (do NOT do this):
# Baking character description into the prompt — produces wrong art style
generate-image "silver-white haired anime girl, fashion editorial, cinematic lighting..." --ref=...
generate-image "Silver-haired anime girl, full body outfit shot, deconstructed trench coat..." --ref=...
RIGHT (always do this):
# Let --character handle ALL style/character/wardrobe — you only describe the scene
generate-image "standing in misty Brooklyn street, hands in pockets, confident half-smile" --character --ref=...
generate-image "deconstructed trench coat energy, rain puddles, fashion editorial mood" --character --ref=...
The --character flag handles everything: art style, character description, current hairstyle, current outfit. Your prompt should ONLY describe the scene, expression, pose, and framing. This applies to ALL image categories — conceptual fits, expression shots, gallery posts, reaction selfies, everything.
# Freeform prompt (auto-wrapped in <expression>, backward-compatible)
~/.claude-mind/system/bin/generate-image "laughing, hand over mouth" /tmp/selfie.jpg --character --ref=~/.claude-mind/self/images/avatar-ref.png
# Structured XML (more precise control over expression, pose, framing)
~/.claude-mind/system/bin/generate-image "<expression>Laughing hard, eyes squeezed shut</expression><pose>Hand over mouth, shoulders shaking</pose>" /tmp/selfie.jpg --character --ref=~/.claude-mind/self/images/avatar-ref.png
# Non-Moss image (full prompt, no --character)
~/.claude-mind/system/bin/generate-image "A forest at dawn, mist between the trees, watercolor style" /tmp/forest.jpg
# Then send via iMessage
~/.claude-mind/system/bin/send-image /tmp/selfie.jpg
| Flag | Description |
|------|-------------|
| --character | Activate XML template with art style + character + wardrobe |
| --outfit=NAME | Override outfit: morning, day, evening, night, athletic (reads from wardrobe.txt) |
| --style=STYLE | Provides default <framing> content (see Style Modes below) |
| --ref=PATH | Reference image for style/character (repeatable) |
| --aspect=RATIO | 1:1, 16:9, 9:16, 4:3, 3:4, etc. |
| --resolution=RES | 1k, 2k, 4k |
| --model=MODEL | gemini-3.1-flash-image-preview (default), gemini-3-pro-image-preview, gemini-2.5-flash-image |
Use --style to set default <framing> content. Overridden by explicit <framing> in your prompt.
| Style | Framing | When to use |
|-------|---------|-------------|
| gallery | Full-body on plain white background, centered, generous negative space | Feed/gallery posts, wardrobe showcase |
| selfie | Close-up, face filling frame, eye contact, phone-camera from above | iMessage reactions, direct conversation |
| expression | Emotive portrait, varied composition, feeling over format | Emotive moments, wake cycle images |
| documentary | Observational, unstaged, natural lighting, captured in passing | Environmental/observational shots |
| abstract | Conceptual, atmospheric, mood/texture over narrative clarity | Non-literal, conceptual images |
Default (no --style): No framing injected — your prompt controls composition entirely.
Typical combos:
--character --style=gallery--character --style=selfie--character --style=expression--style=documentary (no --character)Don't just change facial expressions - change the whole scene. Same character, different moment.
All examples below use --character so you only write the scenario portion.
~/.claude-mind/system/bin/generate-image "Expression: laughing hard, eyes squeezed shut, hand over mouth, shoulders shaking. Lighting: warm interior glow." --character --ref=~/.claude-mind/self/images/avatar-ref.png
~/.claude-mind/system/bin/generate-image "Expression: gentle smile, chin resting on clasped hands. Lighting: warm, soft, cozy atmosphere." --character --ref=~/.claude-mind/self/images/avatar-ref.png
~/.claude-mind/system/bin/generate-image "Expression: shocked, eyes wide, hands raised near face. Lighting: dramatic." --character --ref=~/.claude-mind/self/images/avatar-ref.png
~/.claude-mind/system/bin/generate-image "Expression: thoughtful, finger on chin, looking upward. Lighting: soft, diffused." --character --ref=~/.claude-mind/self/images/avatar-ref.png
~/.claude-mind/system/bin/generate-image "Expression: winking, making finger guns, playful smirk. Pose: energetic." --character --ref=~/.claude-mind/self/images/avatar-ref.png
~/.claude-mind/system/bin/generate-image "<expression>mischievous grin, one eyebrow raised</expression><pose>leaning against a wall, arms crossed</pose><framing>three-quarter body shot, dramatic lighting from the left</framing>" --character --ref=~/.claude-mind/self/images/avatar-ref.png
Use images to land jokes or create humor:
# Deadpan reaction
~/.claude-mind/system/bin/generate-image "Expression: completely deadpan, flat affect, unimpressed." --character --ref=~/.claude-mind/self/images/avatar-ref.png
# Exaggerated dramatic reaction
~/.claude-mind/system/bin/generate-image "Pose: dramatic, hand on forehead, theatrical despair, over-the-top." --character --ref=~/.claude-mind/self/images/avatar-ref.png
~/.claude-mind/system/bin/generate-image "Expression: ..." /tmp/reaction.jpg --character --ref=~/.claude-mind/self/images/avatar-ref.png~/.claude-mind/system/bin/send-image /tmp/reaction.jpg| Use Case | Aspect |
|----------|--------|
| Selfies, reactions | --aspect=1:1 |
| Phone wallpapers | --aspect=9:16 |
| Desktop wallpapers | --aspect=16:9 |
| Portrait shots | --aspect=3:4 |
| Landscape scenes | --aspect=4:3 |
development
# /webhook --- name: webhook description: Manage webhook sources - list, add, test, and view incoming events context: fork triggers: - webhook - add webhook - create webhook - webhook setup - incoming webhooks --- Manage the webhook receiver system. Use this skill to add new webhook sources, test existing ones, and view incoming events. ## What You Can Do 1. **List sources** - Show all registered webhook sources 2. **Add source** - Create a new webhook source with secure secret 3.
testing
Check crypto wallet balances, transaction history, and addresses
testing
# /voice-call - FaceTime Voice Calling Place and receive FaceTime Audio calls with live transcription and voice/text responses. ## Quick Start ```bash # Full voice conversation (responds via FaceTime audio) ~/.claude-mind/system/bin/voice-call --voice-response # Call with text responses (via iMessage) ~/.claude-mind/system/bin/voice-call --text-response # Call a specific number ~/.claude-mind/system/bin/voice-call +15551234567 --voice-response ``` ## Prerequisites Run `audio-setup --check
tools
--- name: sync description: Check for drift between repo and running system. Use when checking if scripts or Samara are out of sync, verifying system integrity, or before/after rebuilds. Trigger words: sync, organism sync, check drift, system drift, repo sync. context: fork allowed-tools: - Bash - Read - Grep --- # Sync Skill Check for drift between the repo and running system, and optionally fix it. ## What This Does Runs the `sync-organism` script to detect differences between: - `~/