Cat Skill — цифровой кот по фото и описанию
Скилл собирает один самодостаточный HTML-файл: открывается двойным кликом в любом
браузере, ничего не устанавливает, в сеть не выходит. Внутри — нарисованный кодом кот
(никаких картинок) на нарисованном рабочем столе с иконками, окном и полосой задач.
Вся внешность и повадки задаются файлом cat.json. Работа скилла = аккуратно заполнить
этот файл под конкретного кота и собрать HTML.
Рабочий процесс
1. Собери входные данные
- Фото — посмотри на него сам и выпиши параметры: основной цвет, узор, цвет глаз,
длина шерсти, телосложение, приметы (белые лапы, пятно на груди, рваное ухо, ошейник).
Как читать фото — в
references/pet-spec.md, раздел «Как читать фото».
- Текст — вытащи цвета, окрас, пол, характер. Если текст противоречит фото, верь тексту:
хозяин знает своего кота лучше, чем видно на снимке.
- Ничего конкретного — не устраивай анкету. Задай максимум один короткий вопрос
(окрас и характер) либо собери разумного кота и предложи поправить: итерация дешевле допроса.
2. Заполни cat.json
Схема, допустимые значения, готовые палитры окрасов и перевод характера в числа —
в references/pet-spec.md. Обязательны только name и appearance.base_color.
Главное правило: характер берётся из повадок, а не из окраса. «Целый день спит» →
низкая energy, высокий loaf_bias. «Лезет во всё» → высокие energy и curiosity.
«Боится гостей» → низкая boldness. «Орёт с утра» → высокая talkativeness.
За образец удобно брать assets/cat.example.json.
3. Собери файл
python3 scripts/build_pet.py cat.json -o murzik.html
Скрипт проверяет описание, подставляет значения по умолчанию и печатает замечания
понятным текстом. Только проверка, без сборки: --check.
Нужен Python 3.9+ и ничего больше — ни библиотек, ни интернета.
4. Отдай результат
Покажи собранный HTML через present_files первым файлом — он рендерится прямо в
интерфейсе, и пользователь сразу видит кота. Без этого шага файл ему недоступен.
Скажи коротко: кот живёт в своём окне, курсор он отслеживает по-настоящему; клик по коту —
погладить; кнопки под сценой вызывают любое поведение принудительно; браузер запоминает,
где кот остался, и при следующем открытии он проснётся там же. Не пересказывай
cat.json построчно — достаточно двух фраз о том, какой кот получился, и приглашения поправить.
5. Правки
Почти любая правка — это правка cat.json и повторная сборка, а не правка кода:
| Просьба |
Что менять |
| «слишком быстрый» / «медленный» |
speed_scale, personality.energy |
| «слишком мелкий» |
scale |
| «пусть чаще мяукает» |
personality.talkativeness |
| «пусть не боится» |
personality.boldness выше |
| «пусть больше лежит» |
energy ниже, loaf_bias выше |
| «пусть лезет к иконкам» |
curiosity выше |
| «ходит за мной» |
clinginess выше |
| другой окрас, глаза, приметы |
appearance |
| «рваное ухо», «шрам», «разные глаза», «подпалины» |
appearance.extras: notched_ear, scar, heterochromia + eye_color2, tan_points + tan_color |
| «вискас», «как в рекламе» |
appearance.pattern: "whiskas" |
| «в пиратской шляпе», «капитан», «пират» |
appearance.extras: pirate_hat |
| кот вместо кошки |
sex |
Что умеет питомец
Полный список состояний и того, какие поля на них влияют — в references/behaviors.md.
Коротко: прогулка четырёхтактным шагом со случайной скоростью; приседание, прыжок на
иконку и спрыгивание; удары лапой по иконке плавным замахом; прятки за окном с торчащим
хвостом и выглядыванием; слежение за курсором, догонялки, висение на передних лапах и срыв
при тряске; буханка с подвёрнутыми лапами; сон на спине; умывание; еда и питьё из мисок,
которые появляются сами; мурчание, когда курсором ведут по коту; игра с мышкой (крадётся, прыгает, шлёпает лапой,
догоняет); испуг с шерстью дыбом —
и случайное демонстративное безразличие вместо испуга; берсерк с галопом и выбеганием за
край окна. Голос — только текстовые пузыри, звука нет намеренно.
Ограничения, о которых нужно сказать честно
- Кот живёт внутри своего HTML-окна, а не поверх настоящего рабочего стола: браузерная
страница не может рисовать по чужим окнам. Иконки, окно и полоса задач на сцене —
нарисованные. За настоящим курсором кот следит по-настоящему, когда тот над сценой.
- По иконкам он не кликает и ничего не запускает: они часть картинки.
- В сеть файл не выходит и ничего никуда не отправляет. Единственное, что он запоминает —
место, пол и число поглаживаний в
localStorage браузера: откроешь завтра в том же
браузере — кот проснётся там же и поздоровается. Другой браузер — начнёт заново.
Файлы скилла
references/pet-spec.md — схема cat.json, палитры окрасов, чтение фото, характер в числах.
references/behaviors.md — состояния и поля, которые ими управляют.
scripts/build_pet.py — проверка описания и сборка HTML.
assets/pet.template.html — движок с маркером __CAT_SPEC__ для подстановки.
assets/cat.example.json — заполненный пример.
1---2name: cat-skill3description: Создаёт цифрового кота по фотографии и/или описанию — один HTML-файл, в котором нарисованный питомец живёт на псевдо-рабочем столе — гуляет, трогает лапой иконки и запрыгивает на них, прячется за окном и выглядывает, следит за курсором, цепляется за него и срывается при тряске, лежит буханкой, спит на спине, умывается, ест из миски, мурчит, когда его гладят курсором, пугается резких движений, а иногда срывается в берсерк и носится по экрану. Внешность и характер целиком берутся из описания — окрас, узор, длина шерсти, цвет глаз, приметы, пол, энергия, любопытство, смелость. Используй этот скилл ВСЕГДА, когда пользователь просит виртуального или цифрового кота, кошку, котёнка, экранного питомца, присылает фото своего кота и хочет его «оживить», упоминает desktop pet, screen mate, neko, shimeji, тамагочи, «котик на экране» — и когда просит изменить уже созданного питомца — цвет, характер, размер, скорость.4---56# Cat Skill — цифровой кот по фото и описанию78Скилл собирает **один самодостаточный HTML-файл**: открывается двойным кликом в любом9браузере, ничего не устанавливает, в сеть не выходит. Внутри — нарисованный кодом кот10(никаких картинок) на нарисованном рабочем столе с иконками, окном и полосой задач.1112Вся внешность и повадки задаются файлом `cat.json`. Работа скилла = аккуратно заполнить13этот файл под конкретного кота и собрать HTML.1415## Рабочий процесс1617### 1. Собери входные данные1819- **Фото** — посмотри на него сам и выпиши параметры: основной цвет, узор, цвет глаз,20 длина шерсти, телосложение, приметы (белые лапы, пятно на груди, рваное ухо, ошейник).21 Как читать фото — в `references/pet-spec.md`, раздел «Как читать фото».22- **Текст** — вытащи цвета, окрас, пол, характер. Если текст противоречит фото, верь тексту:23 хозяин знает своего кота лучше, чем видно на снимке.24- **Ничего конкретного** — не устраивай анкету. Задай максимум один короткий вопрос25 (окрас и характер) либо собери разумного кота и предложи поправить: итерация дешевле допроса.2627### 2. Заполни `cat.json`2829Схема, допустимые значения, готовые палитры окрасов и перевод характера в числа —30в `references/pet-spec.md`. Обязательны только `name` и `appearance.base_color`.3132Главное правило: **характер берётся из повадок, а не из окраса.** «Целый день спит» →33низкая `energy`, высокий `loaf_bias`. «Лезет во всё» → высокие `energy` и `curiosity`.34«Боится гостей» → низкая `boldness`. «Орёт с утра» → высокая `talkativeness`.3536За образец удобно брать `assets/cat.example.json`.3738### 3. Собери файл3940```bash41python3 scripts/build_pet.py cat.json -o murzik.html42```4344Скрипт проверяет описание, подставляет значения по умолчанию и печатает замечания45понятным текстом. Только проверка, без сборки: `--check`.4647Нужен Python 3.9+ и ничего больше — ни библиотек, ни интернета.4849### 4. Отдай результат5051Покажи собранный HTML через `present_files` **первым файлом** — он рендерится прямо в52интерфейсе, и пользователь сразу видит кота. Без этого шага файл ему недоступен.5354Скажи коротко: кот живёт в своём окне, курсор он отслеживает по-настоящему; клик по коту —55погладить; кнопки под сценой вызывают любое поведение принудительно; браузер запоминает,56где кот остался, и при следующем открытии он проснётся там же. Не пересказывай57`cat.json` построчно — достаточно двух фраз о том, какой кот получился, и приглашения поправить.5859### 5. Правки6061Почти любая правка — это правка `cat.json` и повторная сборка, а не правка кода:6263| Просьба | Что менять |64|---|---|65| «слишком быстрый» / «медленный» | `speed_scale`, `personality.energy` |66| «слишком мелкий» | `scale` |67| «пусть чаще мяукает» | `personality.talkativeness` |68| «пусть не боится» | `personality.boldness` выше |69| «пусть больше лежит» | `energy` ниже, `loaf_bias` выше |70| «пусть лезет к иконкам» | `curiosity` выше |71| «ходит за мной» | `clinginess` выше |72| другой окрас, глаза, приметы | `appearance` |73| «рваное ухо», «шрам», «разные глаза», «подпалины» | `appearance.extras`: `notched_ear`, `scar`, `heterochromia` + `eye_color2`, `tan_points` + `tan_color` |74| «вискас», «как в рекламе» | `appearance.pattern: "whiskas"` |75| «в пиратской шляпе», «капитан», «пират» | `appearance.extras`: `pirate_hat` |76| кот вместо кошки | `sex` |7778## Что умеет питомец7980Полный список состояний и того, какие поля на них влияют — в `references/behaviors.md`.81Коротко: прогулка четырёхтактным шагом со случайной скоростью; приседание, прыжок на82иконку и спрыгивание; удары лапой по иконке плавным замахом; прятки за окном с торчащим83хвостом и выглядыванием; слежение за курсором, догонялки, висение на передних лапах и срыв84при тряске; буханка с подвёрнутыми лапами; сон на спине; умывание; еда и питьё из мисок,85которые появляются сами; мурчание, когда курсором ведут по коту; игра с мышкой (крадётся, прыгает, шлёпает лапой,86догоняет); испуг с шерстью дыбом —87и случайное демонстративное безразличие вместо испуга; берсерк с галопом и выбеганием за88край окна. Голос — только текстовые пузыри, звука нет намеренно.8990## Ограничения, о которых нужно сказать честно9192- Кот живёт **внутри своего HTML-окна**, а не поверх настоящего рабочего стола: браузерная93 страница не может рисовать по чужим окнам. Иконки, окно и полоса задач на сцене —94 нарисованные. За настоящим курсором кот следит по-настоящему, когда тот над сценой.95- По иконкам он не кликает и ничего не запускает: они часть картинки.96- В сеть файл не выходит и ничего никуда не отправляет. Единственное, что он запоминает —97 место, пол и число поглаживаний в `localStorage` браузера: откроешь завтра в том же98 браузере — кот проснётся там же и поздоровается. Другой браузер — начнёт заново.99100## Файлы скилла101102- `references/pet-spec.md` — схема `cat.json`, палитры окрасов, чтение фото, характер в числах.103- `references/behaviors.md` — состояния и поля, которые ими управляют.104- `scripts/build_pet.py` — проверка описания и сборка HTML.105- `assets/pet.template.html` — движок с маркером `__CAT_SPEC__` для подстановки.106- `assets/cat.example.json` — заполненный пример.