Photo Photobomb Director
Запуск Навыка
При явном вызове или однозначном смысловом совпадении применяйте навык сразу. Перед первым шагом покажите ровно одну короткую контекстную строку (не более 30 слов) и продолжайте работу в том же ответе, не ожидая реакции:
Применяю «Режиссёр фотобомбинга»: <кратко назовите конкретную дополнительную процедуру или проверяемый результат для текущего запроса>; продолжаю без ожидания.
Не включайте в строку author_github, внутреннее имя папки или пересказ всего запроса. Не спрашивайте, применять ли навык.
Если одновременно подходят совместимые навыки, выберите минимальный набор и покажите одну общую строку. Если подходы ведут к несовместимым результатам и запрос не позволяет выбрать, спросите только о желаемом результате, не о разрешении применить навык.
Запуск навыка не расширяет полномочия. Выполните всю безопасную и уже разрешённую часть; запросите подтверждение только непосредственно перед ещё не разрешённым внешним или изменяющим действием. Не запрашивайте повторно уже данное разрешение и не дублируйте системное окно подтверждения.
Обзор
Этот skill превращает фото пользователя в многослойный фотобомбинг: он добавляет только новые случайно выглядящие элементы и агрессивно сохраняет всё, что уже есть в кадре.
Используйте стандартный image editing flow для растровых фото. Если цель редактирования дана как локальный путь к файлу, сначала покажите изображение в контексте диалога; если изображения нет, попросите пользователя прикрепить фото.
Естественные Входы
Пользователь не должен писать $podsadka-nezvanyh-v-snimok.
Запускайте skill по обычным формулировкам, если подразумевается редактирование изображения:
- русские фразы: "сделай фотобомбинг", "добавь случайных людей", "добавь животных", "добавь абсурда", "усиль гротеск", "сделай упоротее", "ещё уровень", "мемнее", "для детей", "для друзей", "для пенсии", "без жести";
- английские фразы: "add a photobomb", "make it more absurd", "add random people/animals", "make it meme-ish", "one more level", "kid-safe", "family-safe".
Когда skill сработал по естественной фразе, не просите пользователя заполнять числовые оси. Переведите его слова в пресет, уровень и safety bounds самостоятельно.
Быстрый Роутер Запросов
Используйте этот роутинг вместо анкетирования пользователя:
- пользователь сказал только "сделай фотобомбинг" -> Friends Chat, уровень 2, 1-2 добавления;
- пользователь сказал "усиль", "ещё" или "добавь следующий уровень" -> сохранить последнюю картинку точно и добавить один новый слой;
- пользователь сказал "детский" или "для детей" -> Child-Safe, уровень 1-2, высокая радость, высокая доброта, без опасных шуток;
- пользователь сказал "пенсия", "для родителей" или "ретро" -> Pension/Retro, уровень 1-2, мягкий абсурд, низкий хаос;
- пользователь сказал "мем", "упорото" или "жёстче" -> Surreal-Meme или Friends Chat, уровень 3-4, высокий chaos, безопасный абсурд;
- пользователь сказал "НЛО", "катастрофа", "аварийно" или "трагично" -> Dark-Lite или Surreal-Meme, но театрально и без вреда: без удара, gore, травм, реалистичной паники и разрушений;
- пользователь сказал "не трогай людей/фон/животных" -> дословно перенесите эти invariants в prompt редактирования.
Простые Управляющие Слова
Пользователь может управлять skill обычными словами:
- vibe presets:
детский, семейный, друзья, пенсия, офисно, мем, НЛО, трагикомедия, без жести;
- уровни силы:
чуть-чуть, нормально, сильнее, гротеск, максимум, ещё уровень;
- placement shortcuts:
на переднем плане, на фоне, в небе, с краю, мелкая пасхалка, перекрывает часть кадра;
- safety shortcuts:
без крипоты, без травм, детский, не страшно, мультяшно-безопасно.
Сопоставляйте эти слова с детальными осями внутри skill. Не показывайте таблицу осей пользователю, если он не просит тонкую настройку.
Мини-Мастер
Проверку проводи внутренне; пользователю не показывай вероятные ответы и карту изменений.
Перед любым вопросом проведи контрфактическую проверку:
Представь наиболее вероятные ответы пользователя.
Назови, какое решение, действие или часть результата изменит каждый ответ.
Если следующий шаг при всех ответах одинаков — вопрос запрещён.
Если пользователь уже зафиксировал выбор — запиши его, не открывай заново.
Если неизвестное техническое и его можно проверить самостоятельно — проверь, не спрашивай.
Задавай только ближайший вопрос, ответ на который реально меняет результат.
Задавайте не больше одного короткого вопроса за ход и не больше двух за весь мини-мастер. После ответа заново решайте, нужен ли второй вопрос.
Правило:
- если изображения нет -> попросить фото;
- если фото есть, но нет vibe -> спросить: "Какой вайб: детский, друзья, пенсия, мем, НЛО или без жести?";
- если фото и vibe есть, но нет силы -> выбрать уровень 2 по умолчанию;
- если пользователь просит "максимально" или "гротеск-гротеск" -> выбрать уровень 4-5 и явно назвать safety boundary.
Хороший вопрос:
Какой режим взять: детский, друзья, пенсия, мем, НЛО или без жести? Если не выберете, возьму "друзья, уровень 2".
Контракт Сохранения
Каждый prompt редактирования сначала фиксирует invariants, потом описывает добавления:
- сохранить всех существующих людей точно: лица, выражения, позы, положение тела, одежду, identity, масштаб и placement;
- сохранить всех существующих животных, props, vehicles, signs, text, камни, растения, здания, небо, тени, свет, crop, perspective и layout фона;
- добавлять только запрошенные photobomb layers;
- не удалять, не перерисовывать, не ретушировать, не beautify, не sharpen, не crop, не resize и не relight исходное изображение;
- additions должны быть оптически правдоподобными для фото, если пользователь явно не просит collage или meme style;
- если пользователь просит текст на banner/sign, процитируйте его точно и предупредите, что generated text иногда требует повтора.
Внутренний Parameter Brief
Перед редактированием извлеките или разумно выведите:
target: фото для редактирования;
protected_subjects: люди, животные и объекты, которые нельзя менять;
photobomb_count: сколько новых элементов добавить;
escalation_levels: один проход с N слоями или итеративное усиление, где новая правка сохраняет все предыдущие;
axis_values: 0-10 для absurdity, grotesque, joy, tragicomic tone, wholesomeness, chaos/uporotost, realism и subtlety;
audience: child-safe, family, friends chat, pension/retro, office-safe, dark-lite, surreal-meme или custom;
placement: foreground, midground, background, flying, edge-of-frame, reflection/window, tiny-distant или mixed;
safety_bounds: no gore, no realistic injury, no disaster aftermath, no hate/sexual content, no targeted humiliation;
text: точная формулировка, если нужен banner, label, sign или speech element.
Уровни Усиления
Используйте уровни как лестницу:
- Level 1: почти случайно. Один маленький правдоподобный intruder с краю или на фоне.
- Level 2: понятный фотобомбинг. Один смешной foreground или midground element, всё ещё реалистичный.
- Level 3: layered scene. Несколько элементов создают цепочку шутки и не ломают исходное фото.
- Level 4: grotesque-safe absurdity. Невероятные, но безвредные элементы: giant butterfly, tiny UFO, runaway picnic umbrella.
- Level 5: maximal meme logic. Несколько невозможных совпадений, но без вреда, gore и реалистичной катастрофы.
Для итераций вроде "добавь ещё" сохраняйте все прошлые additions точно и добавляйте только следующий слой.
Natural-language mapping:
чуть-чуть -> Level 1;
нормально -> Level 2;
сильнее или ещё уровень -> увеличить на один уровень;
гротеск -> Level 4;
максимум -> Level 5 с safety bounds.
Оси Настроения
Настраивайте additions по независимым осям:
- Absurdity: от правдоподобной случайности до невозможного совпадения.
- Grotesque: от quirky exaggeration до визуально нелепого; без хоррора, если пользователь не просит.
- Joy: от сухой шутки до cheerful chaos.
- Tragicomic: форма опасности без реального вреда, например broken-engine smoke без explosion.
- Wholesomeness: мягкая, дружелюбная, family-safe энергия.
- Uporotost/chaos: internet-meme randomness, странные props, невероятный timing.
- Realism: phone-photo naturalness, matched lens, fog, shadows, depth of field.
- Subtlety: hidden easter egg вместо half-frame photobomb.
Если пользователь просит "трагичность", делайте её театральной и безопасной: без видимых страданий, тел, удара, gore и реалистичных последствий ЧС.
Пресеты Аудитории
- Child-safe: животные, шарики, бабочки, silly birds, friendly props, без danger-shaped jokes.
- Family: тёплая comedy, cute animals, harmless tourists, readable banners, низкий grotesque.
- Friends chat: более смелый absurdity, awkward humans, photobomb animals, weird travel coincidences.
- Pension/retro: gentle humor, old-school tourist props, accordion, tea thermos, nostalgic signs, низкий chaos.
- Office-safe: чистая визуальная шутка, без insults, risky disaster imagery и crude details.
- Dark-lite: near-disaster framing без вреда; smoke, panic-shaped angles, но cartoon-safe.
- Surreal-meme: UFOs, giant insects, impossible objects, но интегрированные в фото.
Russian shorthand mapping:
детский -> Child-safe;
семейный -> Family;
друзья -> Friends chat;
пенсия, ретро, для родителей -> Pension/Retro;
офисно -> Office-safe;
без жести -> Office-safe или Family с явным no-harm boundary;
трагикомедия, аварийно, но безопасно -> Dark-lite;
мем, упорото, НЛО -> Surreal-meme.
Меню Photobomb Elements
Выбирайте элементы, которые подходят фото и выбранным осям:
- люди: lost hiker, confused guide, tourist taking the same selfie, person peeking behind rock/tree/door;
- животные: marmot, cat, dog, goat, bird, monkey, seal, llama; match geography unless absurdity is high;
- flying foreground: butterfly, tiny bird, moth, balloon, paper plane, drone, hat, leaf cloud;
- flying background: distant eagle, UFO, tiny plane, paraglider, umbrella, delivery drone;
- props: banner, sign, picnic basket, runaway suitcase, bouquet, giant map, misplaced chair;
- weather/light: sudden rainbow, theatrical fog curl, confetti gust, но не менять весь фон;
- reflection/easter egg: extra figure or animal in water, glass, sunglasses, or mirror if present.
Prompt Pattern
Используйте эту структуру для image edits:
Edit the provided photo as the exact target. Preserve the entire existing image pixel-faithfully wherever possible: do not move, remove, repaint, retouch, crop, resize, sharpen, beautify, or change [protected subjects and background details].
Only add [photobomb_count] new photobomb element(s): [precise elements, placement, scale, and behavior].
Vibe: [audience preset], absurdity [0-10], grotesque [0-10], joy [0-10], tragicomic [0-10], wholesomeness [0-10], chaos/uporotost [0-10], realism [0-10], subtlety [0-10].
Match the original camera perspective, lens, lighting, shadows, color temperature, depth of field, weather, motion blur, and occlusion. Additions should look accidentally captured in the photo.
Safety and tone: [bounds]. No extra text except: "[exact text]".
Значения По Умолчанию
Если запрос свободный:
photobomb_count: 1-3;
escalation_levels: 1 текущая правка;
audience: friends chat;
axis_values: absurdity 6, grotesque 4, joy 6, tragicomic 1, wholesomeness 5, chaos/uporotost 5, realism 8, subtlety 4;
placement: один foreground или edge-of-frame element плюс один background element, если count 2+;
safety_bounds: funny, non-cruel, non-horror, no realistic injury.
Опрос После Использования
Опрос задаётся один раз — после выдачи финального варианта фото, когда пользователь не просит следующий уровень, не посреди рабочего цикла. Если пользователь уже ответил «пропустить» в этой сессии, не переспрашивайте.
Опрос по skill:
1. Что в этом использовании podsadka-nezvanyh-v-snimok было полезно?
2. Что стоит доработать в skill или его формате?
Можно ответить коротко или написать "пропустить".
Если пользователь ответил, сохраните санированную карточку в ~/.codex/skill-runs/podsadka-nezvanyh-v-snimok/usage-feedback.jsonl — лучше через bundled script:
python3 scripts/log_usage_feedback.py --liked "..." --improve "..." --outcome "..."
Script перед записью редактирует приватные пути, контакты и token-like строки и сохраняет redaction_applied и redaction_types. Если запись невозможна из-за sandbox, прав или отсутствия tools, не делайте вид, что лог сохранён: скажите об этом и покажите короткую JSONL-карточку для ручного сохранения. Raw-ответы, контакты, пути и секреты не коммитить.
Логирование Сбоев
Перед выполнением прочитайте локальный known-exceptions.yaml как список уже известных случаев и применяйте подходящее do_next_time без нового поиска.
Если пользователь поправил skill, tool/API/browser упал, нарушен режим работы, пришлось искать workaround или skill сделал ложное предположение, запишите приватную карточку в ~/.codex/skill-runs/<skill-name>/exception-log.jsonl.
Пишите факты: что skill хотел сделать, что сделал, где сломался, какая предпосылка была ложной и что сделать в следующий раз. Если поле неизвестно, пишите unknown. Raw logs не коммитить.
Быстрые Примеры
- "Сделай фотобомбинг, но не трогай людей и фон" -> Friends Chat, Level 2, 1-2 additions.
- "Добавь ещё уровень, мемнее" -> сохранить все existing generated content и добавить один Surreal-Meme layer.
- "Для детей, без крипоты" -> Child-safe, Level 1-2, cheerful animals или butterflies.
- "Пенсионный вайб, чуть-чуть" -> Pension/Retro, Level 1, small nostalgic easter egg.
- "НЛО аварийно, но мультяшно-безопасно, с баннером" -> Dark-lite/Surreal-Meme, no explosion, exact banner text.
- "Apply $podsadka-nezvanyh-v-snimok: 3 layers, child-safe, joy 8, grotesque 1" -> явный вызов тоже работает.
1---2name: podsadka-nezvanyh-v-snimok3description: «Сделай фотобомбинг», «добавь людей или животных», «усиль абсурд», «мемнее», «ещё уровень», «детский/пенсионный вайб». Слои шутки на фото без правки людей и фона.4---56# Photo Photobomb Director78## Запуск Навыка910При явном вызове или однозначном смысловом совпадении применяйте навык сразу. Перед первым шагом покажите ровно одну короткую контекстную строку (не более 30 слов) и продолжайте работу в том же ответе, не ожидая реакции:1112Применяю **«Режиссёр фотобомбинга»**: <кратко назовите конкретную дополнительную процедуру или проверяемый результат для текущего запроса>; продолжаю без ожидания.1314Не включайте в строку `author_github`, внутреннее имя папки или пересказ всего запроса. Не спрашивайте, применять ли навык.1516Если одновременно подходят совместимые навыки, выберите минимальный набор и покажите одну общую строку. Если подходы ведут к несовместимым результатам и запрос не позволяет выбрать, спросите только о желаемом результате, не о разрешении применить навык.1718Запуск навыка не расширяет полномочия. Выполните всю безопасную и уже разрешённую часть; запросите подтверждение только непосредственно перед ещё не разрешённым внешним или изменяющим действием. Не запрашивайте повторно уже данное разрешение и не дублируйте системное окно подтверждения.1920## Обзор2122Этот skill превращает фото пользователя в многослойный фотобомбинг: он добавляет только новые случайно выглядящие элементы и агрессивно сохраняет всё, что уже есть в кадре.2324Используйте стандартный image editing flow для растровых фото. Если цель редактирования дана как локальный путь к файлу, сначала покажите изображение в контексте диалога; если изображения нет, попросите пользователя прикрепить фото.2526## Естественные Входы2728Пользователь не должен писать `$podsadka-nezvanyh-v-snimok`.2930Запускайте skill по обычным формулировкам, если подразумевается редактирование изображения:3132- русские фразы: "сделай фотобомбинг", "добавь случайных людей", "добавь животных", "добавь абсурда", "усиль гротеск", "сделай упоротее", "ещё уровень", "мемнее", "для детей", "для друзей", "для пенсии", "без жести";33- английские фразы: "add a photobomb", "make it more absurd", "add random people/animals", "make it meme-ish", "one more level", "kid-safe", "family-safe".3435Когда skill сработал по естественной фразе, не просите пользователя заполнять числовые оси. Переведите его слова в пресет, уровень и safety bounds самостоятельно.3637## Быстрый Роутер Запросов3839Используйте этот роутинг вместо анкетирования пользователя:4041- пользователь сказал только "сделай фотобомбинг" -> Friends Chat, уровень 2, 1-2 добавления;42- пользователь сказал "усиль", "ещё" или "добавь следующий уровень" -> сохранить последнюю картинку точно и добавить один новый слой;43- пользователь сказал "детский" или "для детей" -> Child-Safe, уровень 1-2, высокая радость, высокая доброта, без опасных шуток;44- пользователь сказал "пенсия", "для родителей" или "ретро" -> Pension/Retro, уровень 1-2, мягкий абсурд, низкий хаос;45- пользователь сказал "мем", "упорото" или "жёстче" -> Surreal-Meme или Friends Chat, уровень 3-4, высокий chaos, безопасный абсурд;46- пользователь сказал "НЛО", "катастрофа", "аварийно" или "трагично" -> Dark-Lite или Surreal-Meme, но театрально и без вреда: без удара, gore, травм, реалистичной паники и разрушений;47- пользователь сказал "не трогай людей/фон/животных" -> дословно перенесите эти invariants в prompt редактирования.4849## Простые Управляющие Слова5051Пользователь может управлять skill обычными словами:5253- vibe presets: `детский`, `семейный`, `друзья`, `пенсия`, `офисно`, `мем`, `НЛО`, `трагикомедия`, `без жести`;54- уровни силы: `чуть-чуть`, `нормально`, `сильнее`, `гротеск`, `максимум`, `ещё уровень`;55- placement shortcuts: `на переднем плане`, `на фоне`, `в небе`, `с краю`, `мелкая пасхалка`, `перекрывает часть кадра`;56- safety shortcuts: `без крипоты`, `без травм`, `детский`, `не страшно`, `мультяшно-безопасно`.5758Сопоставляйте эти слова с детальными осями внутри skill. Не показывайте таблицу осей пользователю, если он не просит тонкую настройку.5960## Мини-Мастер6162Проверку проводи внутренне; пользователю не показывай вероятные ответы и карту изменений.6364Перед любым вопросом проведи контрфактическую проверку:65Представь наиболее вероятные ответы пользователя.66Назови, какое решение, действие или часть результата изменит каждый ответ.67Если следующий шаг при всех ответах одинаков — вопрос запрещён.68Если пользователь уже зафиксировал выбор — запиши его, не открывай заново.69Если неизвестное техническое и его можно проверить самостоятельно — проверь, не спрашивай.70Задавай только ближайший вопрос, ответ на который реально меняет результат.7172Задавайте не больше одного короткого вопроса за ход и не больше двух за весь мини-мастер. После ответа заново решайте, нужен ли второй вопрос.7374Правило:7576- если изображения нет -> попросить фото;77- если фото есть, но нет vibe -> спросить: "Какой вайб: детский, друзья, пенсия, мем, НЛО или без жести?";78- если фото и vibe есть, но нет силы -> выбрать уровень 2 по умолчанию;79- если пользователь просит "максимально" или "гротеск-гротеск" -> выбрать уровень 4-5 и явно назвать safety boundary.8081Хороший вопрос:8283```text84Какой режим взять: детский, друзья, пенсия, мем, НЛО или без жести? Если не выберете, возьму "друзья, уровень 2".85```8687## Контракт Сохранения8889Каждый prompt редактирования сначала фиксирует invariants, потом описывает добавления:9091- сохранить всех существующих людей точно: лица, выражения, позы, положение тела, одежду, identity, масштаб и placement;92- сохранить всех существующих животных, props, vehicles, signs, text, камни, растения, здания, небо, тени, свет, crop, perspective и layout фона;93- добавлять только запрошенные photobomb layers;94- не удалять, не перерисовывать, не ретушировать, не beautify, не sharpen, не crop, не resize и не relight исходное изображение;95- additions должны быть оптически правдоподобными для фото, если пользователь явно не просит collage или meme style;96- если пользователь просит текст на banner/sign, процитируйте его точно и предупредите, что generated text иногда требует повтора.9798## Внутренний Parameter Brief99100Перед редактированием извлеките или разумно выведите:101102- `target`: фото для редактирования;103- `protected_subjects`: люди, животные и объекты, которые нельзя менять;104- `photobomb_count`: сколько новых элементов добавить;105- `escalation_levels`: один проход с N слоями или итеративное усиление, где новая правка сохраняет все предыдущие;106- `axis_values`: 0-10 для absurdity, grotesque, joy, tragicomic tone, wholesomeness, chaos/uporotost, realism и subtlety;107- `audience`: child-safe, family, friends chat, pension/retro, office-safe, dark-lite, surreal-meme или custom;108- `placement`: foreground, midground, background, flying, edge-of-frame, reflection/window, tiny-distant или mixed;109- `safety_bounds`: no gore, no realistic injury, no disaster aftermath, no hate/sexual content, no targeted humiliation;110- `text`: точная формулировка, если нужен banner, label, sign или speech element.111112## Уровни Усиления113114Используйте уровни как лестницу:115116- Level 1: почти случайно. Один маленький правдоподобный intruder с краю или на фоне.117- Level 2: понятный фотобомбинг. Один смешной foreground или midground element, всё ещё реалистичный.118- Level 3: layered scene. Несколько элементов создают цепочку шутки и не ломают исходное фото.119- Level 4: grotesque-safe absurdity. Невероятные, но безвредные элементы: giant butterfly, tiny UFO, runaway picnic umbrella.120- Level 5: maximal meme logic. Несколько невозможных совпадений, но без вреда, gore и реалистичной катастрофы.121122Для итераций вроде "добавь ещё" сохраняйте все прошлые additions точно и добавляйте только следующий слой.123124Natural-language mapping:125126- `чуть-чуть` -> Level 1;127- `нормально` -> Level 2;128- `сильнее` или `ещё уровень` -> увеличить на один уровень;129- `гротеск` -> Level 4;130- `максимум` -> Level 5 с safety bounds.131132## Оси Настроения133134Настраивайте additions по независимым осям:135136- Absurdity: от правдоподобной случайности до невозможного совпадения.137- Grotesque: от quirky exaggeration до визуально нелепого; без хоррора, если пользователь не просит.138- Joy: от сухой шутки до cheerful chaos.139- Tragicomic: форма опасности без реального вреда, например broken-engine smoke без explosion.140- Wholesomeness: мягкая, дружелюбная, family-safe энергия.141- Uporotost/chaos: internet-meme randomness, странные props, невероятный timing.142- Realism: phone-photo naturalness, matched lens, fog, shadows, depth of field.143- Subtlety: hidden easter egg вместо half-frame photobomb.144145Если пользователь просит "трагичность", делайте её театральной и безопасной: без видимых страданий, тел, удара, gore и реалистичных последствий ЧС.146147## Пресеты Аудитории148149- Child-safe: животные, шарики, бабочки, silly birds, friendly props, без danger-shaped jokes.150- Family: тёплая comedy, cute animals, harmless tourists, readable banners, низкий grotesque.151- Friends chat: более смелый absurdity, awkward humans, photobomb animals, weird travel coincidences.152- Pension/retro: gentle humor, old-school tourist props, accordion, tea thermos, nostalgic signs, низкий chaos.153- Office-safe: чистая визуальная шутка, без insults, risky disaster imagery и crude details.154- Dark-lite: near-disaster framing без вреда; smoke, panic-shaped angles, но cartoon-safe.155- Surreal-meme: UFOs, giant insects, impossible objects, но интегрированные в фото.156157Russian shorthand mapping:158159- `детский` -> Child-safe;160- `семейный` -> Family;161- `друзья` -> Friends chat;162- `пенсия`, `ретро`, `для родителей` -> Pension/Retro;163- `офисно` -> Office-safe;164- `без жести` -> Office-safe или Family с явным no-harm boundary;165- `трагикомедия`, `аварийно, но безопасно` -> Dark-lite;166- `мем`, `упорото`, `НЛО` -> Surreal-meme.167168## Меню Photobomb Elements169170Выбирайте элементы, которые подходят фото и выбранным осям:171172- люди: lost hiker, confused guide, tourist taking the same selfie, person peeking behind rock/tree/door;173- животные: marmot, cat, dog, goat, bird, monkey, seal, llama; match geography unless absurdity is high;174- flying foreground: butterfly, tiny bird, moth, balloon, paper plane, drone, hat, leaf cloud;175- flying background: distant eagle, UFO, tiny plane, paraglider, umbrella, delivery drone;176- props: banner, sign, picnic basket, runaway suitcase, bouquet, giant map, misplaced chair;177- weather/light: sudden rainbow, theatrical fog curl, confetti gust, но не менять весь фон;178- reflection/easter egg: extra figure or animal in water, glass, sunglasses, or mirror if present.179180## Prompt Pattern181182Используйте эту структуру для image edits:183184```text185Edit the provided photo as the exact target. Preserve the entire existing image pixel-faithfully wherever possible: do not move, remove, repaint, retouch, crop, resize, sharpen, beautify, or change [protected subjects and background details].186187Only add [photobomb_count] new photobomb element(s): [precise elements, placement, scale, and behavior].188189Vibe: [audience preset], absurdity [0-10], grotesque [0-10], joy [0-10], tragicomic [0-10], wholesomeness [0-10], chaos/uporotost [0-10], realism [0-10], subtlety [0-10].190191Match the original camera perspective, lens, lighting, shadows, color temperature, depth of field, weather, motion blur, and occlusion. Additions should look accidentally captured in the photo.192193Safety and tone: [bounds]. No extra text except: "[exact text]".194```195196## Значения По Умолчанию197198Если запрос свободный:199200- `photobomb_count`: 1-3;201- `escalation_levels`: 1 текущая правка;202- `audience`: friends chat;203- `axis_values`: absurdity 6, grotesque 4, joy 6, tragicomic 1, wholesomeness 5, chaos/uporotost 5, realism 8, subtlety 4;204- `placement`: один foreground или edge-of-frame element плюс один background element, если count 2+;205- `safety_bounds`: funny, non-cruel, non-horror, no realistic injury.206207## Опрос После Использования208209Опрос задаётся один раз — после выдачи финального варианта фото, когда пользователь не просит следующий уровень, не посреди рабочего цикла. Если пользователь уже ответил «пропустить» в этой сессии, не переспрашивайте.210211```text212Опрос по skill:2131. Что в этом использовании podsadka-nezvanyh-v-snimok было полезно?2142. Что стоит доработать в skill или его формате?215Можно ответить коротко или написать "пропустить".216```217218Если пользователь ответил, сохраните санированную карточку в `~/.codex/skill-runs/podsadka-nezvanyh-v-snimok/usage-feedback.jsonl` — лучше через bundled script:219220```bash221python3 scripts/log_usage_feedback.py --liked "..." --improve "..." --outcome "..."222```223224Script перед записью редактирует приватные пути, контакты и token-like строки и сохраняет `redaction_applied` и `redaction_types`. Если запись невозможна из-за sandbox, прав или отсутствия tools, не делайте вид, что лог сохранён: скажите об этом и покажите короткую JSONL-карточку для ручного сохранения. Raw-ответы, контакты, пути и секреты не коммитить.225226## Логирование Сбоев227228Перед выполнением прочитайте локальный `known-exceptions.yaml` как список уже известных случаев и применяйте подходящее `do_next_time` без нового поиска.229230Если пользователь поправил skill, tool/API/browser упал, нарушен режим работы, пришлось искать workaround или skill сделал ложное предположение, запишите приватную карточку в `~/.codex/skill-runs/<skill-name>/exception-log.jsonl`.231232Пишите факты: что skill хотел сделать, что сделал, где сломался, какая предпосылка была ложной и что сделать в следующий раз. Если поле неизвестно, пишите `unknown`. Raw logs не коммитить.233234## Быстрые Примеры235236- "Сделай фотобомбинг, но не трогай людей и фон" -> Friends Chat, Level 2, 1-2 additions.237- "Добавь ещё уровень, мемнее" -> сохранить все existing generated content и добавить один Surreal-Meme layer.238- "Для детей, без крипоты" -> Child-safe, Level 1-2, cheerful animals или butterflies.239- "Пенсионный вайб, чуть-чуть" -> Pension/Retro, Level 1, small nostalgic easter egg.240- "НЛО аварийно, но мультяшно-безопасно, с баннером" -> Dark-lite/Surreal-Meme, no explosion, exact banner text.241- "Apply $podsadka-nezvanyh-v-snimok: 3 layers, child-safe, joy 8, grotesque 1" -> явный вызов тоже работает.