# Headshot

Generates professional AI headshots of the principal via Nano Banana Pro from 1-3...

- Repository: https://github.com/danielmiessler/LifeOS (19669 stars)
- Category: Media
- License: MIT
- Last updated: 2026-10-28
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add danielmiessler/LifeOS --skill Headshot -g -a claude-code -y`
Codex: `npx skills add danielmiessler/LifeOS --skill Headshot -g -a codex -y`
Cursor: `npx skills add danielmiessler/LifeOS --skill Headshot -g -a cursor -y`
Gemini CLI: `npx skills add danielmiessler/LifeOS --skill Headshot -g -a gemini-cli -y`

## Description

Generates professional AI headshots of the principal via Nano Banana Pro from 1-3 reference images, staged to Downloads for review. USE WHEN headshot, profile picture, avatar, photo of me, LinkedIn photo, profile image, new headshot, portrait, generate my photo, professional photo, casual headshot, update profile pic. NOT FOR general art or diagrams (Art), non-headshot images of the principal (Art with reference images), video avatars (HyperFrames), headshots of anyone else.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Headshot Skill

Generates professional AI headshots of the principal with `Tools/Headshot.ts`, which calls the Gemini image model named `geminiImage` in `LIFEOS/TOOLS/models.ts`. Matches facial structure from approved reference photos (which ones go in is the CreateHeadshot rule), and defaults to 2K resolution and 1:1 square (3:4 for portrait). A real photoshoot is slow and expensive to redo every time the look needs to change, and generic AI image tools drift off the actual face; anchoring generation to approved reference photos keeps the output recognizably the subject, at the size and ratio each use (LinkedIn, profile pics, publication bios) needs.

## Ideal State

- Every headshot is recognizably the subject, because its face comes from approved real reference photos whose energy matches the requested expression.
- Each output lands at the size and ratio its use needs and is saved in the subject's USER data, never in the skill tree.
- Nothing reaches the principal as a first draft, and nothing public ships until the principal has picked it.

## Intent Routing

| Intent | Trigger | File |
|----------|---------|------|
| **CreateHeadshot** | "headshot", "profile picture", "LinkedIn photo", "professional photo", "update profile pic" | `Intents/CreateHeadshot.md` |

| File | Read when |
|------|-----------|
| `References/ReferenceLibrary.md` | choosing references: the approved pool, scene plates, energy-matching rules, growing the pool |
| `Setup.md` | first-time setup, or `Headshot.ts check` exits non-zero |
| `Tools/` | `Tools/headshot.help.md` holds the full CLI flag reference |

## Data & Config

The rest: https://github.com/danielmiessler/LifeOS/blob/HEAD/LifeOS/install/skills/Headshot/SKILL.md
