muapi-photo-pack-generator — Claude Code skill: photo packs from one
Turns a single reference photo into a set of themed portraits while keeping the person's face intact. Useful for professional, lifestyle and fantasy shots without a shoot.
npx skills add SamurAIGPT/Generative-Media-Skills --skill muapi-photo-pack-generator -a claude-code
npx skills add SamurAIGPT/Generative-Media-Skills --skill photo-pack-generator -a claude-codeWhat muapi-photo-pack-generator does
The skill runs on Identity Lock prompting. Instead of describing the person in words, the agent takes identity straight from the reference image. Every prompt carries hard rules against changing eye shape or spacing, nose structure, jawline, cheekbones and face proportions. That is why the model does not invent a new face — it moves the same one into a different scene.
Before generating, the agent reads the reference for scene attributes only: head orientation, facial angle, expression, lighting direction, framing. Age, ethnicity, hair and body type stay out of the prompt, because describing them is what produces a stranger. Then comes category selection: LinkedIn, CEO, Tinder, OldMoney, Cyberpunk, Fitness, Travel, 90s, Holiday. Name none and the agent suggests LinkedIn, Tinder or OldMoney.
Generation runs through bash scripts/generate-pack.sh with --image, --category, --identity-lock and --num. Best results come from nano-banana-edit. A reference is mandatory — a local image, a URL or an uploaded file. Skip it and the grounding check stops the run.
What it helps with
- build LinkedIn headshots from one selfie
- assemble dating-profile lifestyle shots
- get a consistent photo series without a studio
- place a person into a fantasy or retro scene without losing the face
- generate seasonal and travel images on demand
Example prompts for the agent
- Generate a LinkedIn photo pack from ./my_face.jpg, 5 images
- Make an OldMoney pack from this photo URL with identity lock on
- Pick a category and build a travel pack from my reference
How to install muapi-photo-pack-generator
1Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill muapi-photo-pack-generator -a claude-codenpx skills add SamurAIGPT/Generative-Media-Skills --skill photo-pack-generator -a claude-code2Manually: put the files in place
~/.claude/skills/photo-pack-generator/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/photo-pack-generator/
1Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill photo-pack-generator -a codex2Manually: put the files in place
.agents/skills/photo-pack-generator/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill photo-pack-generator -a cursor2Manually: put the files in place
.cursor/skills/photo-pack-generator/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install SamurAIGPT/Generative-Media-Skills photo-pack-generator2Manually: put the files in place
.github/skills/photo-pack-generator/SKILL.md1Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill photo-pack-generator -a gemini-cli2Platform CLI
gemini skills install https://github.com/SamurAIGPT/Generative-Media-Skills --path library/visual/photo-pack-generatorManually: put the files in place
.devin/skills/photo-pack-generator/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill photo-pack-generator -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about muapi-photo-pack-generator
How do I install muapi-photo-pack-generator in Claude?
Run npx skills add SamurAIGPT/Generative-Media-Skills --skill muapi-photo-pack-generator -a claude-code. The skill lands at ~/.claude/skills/photo-pack-generator/SKILL.md.
What does muapi-photo-pack-generator do?
It takes one reference photo and generates a themed image pack showing the same person. Style changes, identity does not.
Which model works best with it?
The skill recommends nano-banana-edit. It holds identity better when the scene changes.
Source text
SKILL.md · MIT
--- name: muapi-photo-pack-generator version: 0.1.0 description: Generate a pack of professional or aesthetic photos from a single reference image while preserving the exact identity of the person. --- # 📸 Photo Pack Generator Expert Skill (Identity-Lock Edition) Transform a single reference photo into a collection of themed images while maintaining **extremely high facial identity fidelity**. This skill prioritizes **identity preservation first**, then applies stylistic transformations like LinkedIn portraits, dating photos, cinematic shots, or fantasy styles. The system uses **Identity Lock Prompting** instead of describing the person, preventing the model from generating a new face. --- # Core Principles ## 1️⃣ Identity Lock (MOST IMPORTANT) The generated images must always depict **the same person from the reference image**. All prompts MUST include identity lock instructions. Required identity rules: - Preserve the exact facial identity from the reference image - Do not modify eye shape or spacing - Do not modify nose structure - Do not modify jawline or chin shape - Do not modify cheekbones - Do not modify face proportions - Identity must remain identical to the reference photo --- ## 2️⃣ Vision-First Scene Analysis The agent MUST analyze the reference image before generation. However the analysis **must NOT describe the person** (age, ethnicity, hair etc). Allowed analysis fields: - head orientation - facial angle - expression - lighting direction - framing (portrait / half body / full body) Example: Head orientation: slight left tilt Expression: neutral friendly Lighting: soft frontal light Framing: head and shoulders portrait --- # Agent Execution Flow ## Step 1 — Grounding Check Ensure the user has provided a reference image. Supported inputs: - local image - URL - uploaded file --- ## Step 2 — Vision Analysis Extract scene attributes only. DO NOT describe: - age - ethnicity - beard - hair - body type Identity must come directly from the image. --- ## Step 3 — Category Selection If the user does not specify a category suggest: - LinkedIn - Tinder - OldMoney --- ## Step 4 — Prompt Construction Use the reference image as the identity source. Preserve the exact facial identity from the reference image. Identity must remain identical to the reference photo. Do not change: - eye shape - eye spacing - nose structure - jawline - cheekbones - face proportions Maintain similar head orientation as the reference. Scene example: Outdoor café portrait Soft natural daylight 35mm portrait lens Shallow depth of field Photorealistic skin texture --- ## Step 5 — Negative Prompt Always include: different person altered face changed facial features new identity generic face beautified face plastic skin face distortion --- ## Step 6 — Execution Example: bash scripts/generate-pack.sh \ --image "./my_face.jpg" \ --category "LinkedIn" \ --identity-lock true \ --num 5 --- # Supported Categories | Category | Best For | Aesthetic | |---|---|---| | LinkedIn | Professional | Studio | | CEO | Founders | Office | | Tinder | Dating | Lifestyle | | OldMoney | Luxury | Estate | | Cyberpunk | Fantasy | Neon | | Fitness | Gym | Athletic | | Travel | Social | Bali/Paris | | 90s | Retro | Vintage | | Holiday | Seasonal | Festive | --- # Guardrails ## Fidelity First Identity preservation is always more important than style. ## Never Re-Describe the Person Avoid prompts like: "Indian man in his 20s with short hair" This causes the model to generate a **new face**. Identity must come from the **reference image only**. --- # Recommended Models Best results with: - nano-banana-edit --- # Result This system produces: - consistent identity - photorealistic images - multi-style photo packs - professional outputs
© SamurAIGPT · MIT · SamurAIGPT/Generative-Media-Skills