pack-creator
Skill64 starsChanged 13 days agoMITView on GitHub
Guide a PACK-X author through the SPF fill cycle 01-11. Calls R28 Diagnostician to select mode (assembly/hybrid/full SPF) and leads through phases. Protects the read-only upstream invariant via PreToolUse hook.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- iwesys/IWEtheir own version, first seen Nov 1, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- iwesys/IWE★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository54 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- agent-faultSkill
- apply-capturesSkill
- archgateSkill
- artifactorSkill
- audit-docsSkill
- audit-installationSkill
- author-modeSkill
- bottleneck-pickSkill
- check-secretSkill
- consentSkill
- day-closeSkill
- day-openSkill
- decomposeSkill
- diagnoseSkill
- discovery-sessionSkill
- extendSkill
- find-methodSkill
- fpfSkill
- integration-gateSkill
- iwe-bug-reportSkill
- iwe-platform-redteamSkill
- iwe-restoreSkill
- iwe-rules-reviewSkill
- iwe-updateSkill
- keSkill
- kimi-peer-writerSkill
- local-llmSkill
- mentor-participant-briefSkill
- month-closeSkill
- onboardingSkill
- org-devSkill
- pack-newSkill
- peer-conversationSkill
- personal-guide-renderSkill
- personal-guide-startSkill
- platform-bottleneckSkill
- repo-newSkill
- restore-exocortexSkill
- run-protocolSkill
- setup-wakatimeSkill
- skill-creatorSkill
- strategy-sessionSkill
- skill-id # kebab-case, уникален в skills-catalog.yamlSkill
- thinkSkill
- transcribeSkill
- vdvSkill
- verify-hypothesesSkill
- verifySkill
- week-close-pilotSkill
- week-closeSkill
- wp-newSkill
- w-reflectionSkill
The file
Files
/pack-creator — сопровождение автора PACK-X по SPF-циклу
⚡ Скилл-проводник, не автор. Знание оригинирует автор Pack. Скилл удерживает процесс (SPF/process 01-11), защищает инвариант read-only upstream FPF/SPF и подстраивает глубину под cp.iwe автора.
Контракт скилла
- Вход: автор намерен создать или продолжить наполнение PACK-X (после
/pack-new). - Выход: PACK-X с заполненными разделами 01-11 + state-файл
.iwe-runtime/state/spf/{pack_id_slug}.yaml(локальный, вне Pack — WP-474 Ф3). - Время: N сессий по 30-90 мин, чекпоинты после каждой фазы.
- Не делает: не пишет в
SPF/иFPF/(блокируется hook'ом), не выполняет cross-pack consistency аудит (это R24 Аудитор), не декомпозирует деятельность (это R29 Артефактор).
Когда вызывается
Триггер-фразы: «Создатель паков, …», «Pack Creator, …», slash /pack-creator.
Сценарии (DP.SC.048 §5):
- Автор сделал
/pack-new, скаффолд готов, нужно наполнить 02-11. - Автор продолжает работу над PACK-X через несколько сессий — скилл подхватывает
с
spf_checkpointиз state-файла. - Автор не уверен, какой режим оригинальности выбрать — скилл вызывает R28 Диагност.
Шаг 0 — диагностика автора (R28)
Перед началом работы — определить cp.iwe автора (компетенция «работа с формализациями»). Это задаёт режим:
| cp.iwe | Режим | Что делает автор | Что делает скилл |
| ≤ 2 | assembly | Выбирает distinction'ы из чек-листа шаблонов соседних паков | Подаёт шаблоны, объясняет суть |
| = 3 | hybrid | Модифицирует шаблоны под свой домен | Подаёт шаблоны + вопросы на адаптацию |
| ≥ 4 | full SPF | Оригинирует distinction'ы, методы, формализации | Консультирует по форме (frontmatter, naming) |
Если cp.iwe недоступен (новый пилот, нет данных в Neon) → default assembly.
Не запускать /diagnose принудительно — спросить автора напрямую: «Какой у тебя
опыт с формализациями: впервые / есть / уверенно работаю?» и смапить ответ.
Шаг 1 — scaffold через /pack-new
Если каталог PACK-X/ не существует:
Вызвать Skill: /pack-newПередать имя домена (существительное, не тема и не инструмент — см. CLAUDE.md §1).
/pack-new создаст структуру по SPF/pack-template/ (разделы 01-11 пустыми
скелетами) и склонирует FPF/SPF при необходимости. После — продолжать с Шага 2.
Шаг 2 — фазы SPF/process 02-11
Последовательность процесса — SPF/process/01-domain-selection.md … 11-review-and-evolution-cycle.md.
Скилл ведёт автора по фазам с записью прогресса в state-файл (Шаг 7).
Глубина оригинальности по режиму
- assembly (cp.iwe ≤ 2) — источник кандидатов = домен, не соседние Pack'и (WP-474 Ф6, разрыв #2: копирование содержания соседей давало «Pack в стиле IWE», не заземлённый в реальной практике — нарушение D11):
- Кандидаты различений скилл извлекает из SoTA-источников самого Pack'а (
06-sota/*.md, собраны Шагом 1.5 pack-new): детерминированный парсинг строк видаdistinction: X vs Y— строка ищется в ЛЮБОМ месте sota-sheet-файла (начало строкиdistinction:, разделительvs), не только рядом с Claims. Найденные кандидаты подаются автору как чек-лист — автор выбирает применимые (механика чек-листа сохранена, она и делает режим посильным для cp.iwe ≤ 2; сменился только материал). - LLM-fallback: если маркированных строк в SoTA-sheet нет — скилл предлагает переформулировки claims в форму «X ≠ Y», каждая помечается «предложение агента, требует подтверждения автора». Принятые автором дописываются в SoTA-sheet строками
distinction: X vs Y— следующий прогон уже детерминирован. sota_sources: noneв манифесте → сначала добрать источник (вернуться к Шагу 1.5 pack-new) ИЛИ формализовать практику автора как источник — fallback допустим только при недоступности внешнего SoTA по домену, с явной записью в06-sota/:source: author practice,evidence: self-report / interview,claims: 2-4 тезиса,validity region: личный опыт автора. Голое «я так делаю» без формализации — не источник (размывает D11).- Соседние Pack'и (
PACK-*в${IWE:-$HOME/IWE}/) — только образец ФОРМЫ: структура заголовка### <код>.D.NNN, строка**Maturity:**, тест «можно ли проверить?». Копирование их СОДЕРЖАНИЯ (формулировок различений, терминов) в новый Pack запрещено.
- Кандидаты различений скилл извлекает из SoTA-источников самого Pack'а (
- hybrid (cp.iwe = 3): кандидаты из SoTA-источников (как в assembly) + вопросы: «Что в твоём домене отличается?», «Какой термин замени, какой оставь?» Автор модифицирует формулировки сам; соседние Pack'и — форма only.
- full SPF (cp.iwe ≥ 4): скилл не даёт шаблоны, только напоминает требования
формы (id-схема
<PACK>.D.NNN, обязательные поля frontmatter, проверка тестом «можно ли проверить?»). Автор оригинирует distinction'ы с нуля.
Чекпоинт после каждой фазы
После завершения раздела (например, 03-distinctions заполнен):
- Обновить
.iwe-runtime/state/spf/{pack_id_slug}.yaml:spf_checkpoint: 03. - Предложить автору паузу или переход к следующей фазе.
- Запомнить решение, не настаивать.
Шаг 3 — защита инварианта (PreToolUse hook)
Скилл устанавливает переменную окружения PACK_CREATOR_ACTIVE=1 на время сессии.
Hook pack-creator-spf-guard.sh блокирует Write/Edit/NotebookEdit в путях
${IWE_WORKSPACE:-$HOME/IWE}/SPF/* и ${IWE_WORKSPACE:-$HOME/IWE}/FPF/*. При срабатывании hook возвращает exit 2 с
объяснением.
Что делать при срабатывании:
- НЕ пытаться обойти (это hook bypass, CLAUDE.md §2.6).
- Если изменение точечно для PACK-X (новое distinction, метод, formalisation)
→ переписать путь на
PACK-X/pack/X/<раздел>/. См. extension-механизм вSPF/process/00-process-overview.md#extension-mechanism. - Если изменение системное (касается всех Pack, правка процесса/спецификации
SPF) → это отдельный РП на правку SPF (governance-работа), не работа
/pack-creator. Завершить текущую фазу, открыть/wp-newс владельцем upstream.
Шаг 4 — verify через R23
После прохождения 02-11 (или промежуточного checkpoint):
- Структурная проверка (SPF.SPEC.001):
Вызвать Skill: /verifyАртефакт — PACK-X/pack/X/. Эталон — SPF.SPEC.001 (структура и обязательные
секции Pack). VR.R.001 работает context-isolated, проверяет результат, не процесс.
- Package-адекватность по E.4.DPF.DA (WP-474 Ф4, для seed-пакета):
Вызвать Skill: /verify
Аргумент: pack <путь-к-PACK-X>Проверяет 11 координат Domain Adequacy (D1-D11) по артефактам фаз Ф1-Ф3 (SoTA-лист, decision-record, seed-маркер) на порядковой шкале 0-5 с порогом допуска (floor 4, или 3 при явной заготовке — WP-474 Ф8.1). Вердикт: DPFPackageAdequacyStatus (admissibleForDeclaredDPFUse / seedOnly / repairBeforeDPFUse, плюс эскалационные значения). Проверка честная для заготовки: низкие значения по координатам зрелости (педагогика, практики, трансфер и т.д.) не блокируют seedOnly — приоритет ремонта задаётся сортировкой строк результата по значению, не списком «критичных» координат (WP-474 Ф8.3, пир-сессия 2026-09-05-27).
При расхождении эталону (любой проверке): скилл получает отчёт, возвращается на нарушенную фазу, повторяет.
Шаг 5 — state management
Вынесено из дерева Pack (WP-474 Ф3, пир-сессия 2026-07-09-14-seed-mature-spf-state).
.spf-state.yaml— машинное состояние процесса заполнения (кто, когда, до какого чекпоинта), не содержание Pack. Оставление его внутри Pack означало бы, что при переносе/копировании Pack (командный форк, публикация) чужой автор получает вместе с содержанием чужой, бессмысленный для него прогресс-трекер. Contrast:.pfad-decision.md(Ф2) остался ВНУТРИ Pack — это человекочитаемая история происхождения, которая обязана путешествовать с Pack.
Файл: .iwe-runtime/state/spf/{pack_id_slug}.yaml — локально, вне git (.iwe-runtime/ уже в .gitignore корня IWE).
pack_id_slug — имя директории Pack без префикса PACK- (например PACK-product-management/ → pack_id_slug: product-management), НЕ поле pack_id манифеста — то содержит короткий мнемо-код (DP, MIM), а не slug (расхождение найдено и исправлено при WP-474 Ф3: изначальная версия этого правила ошибочно предполагала, что pack_id манифеста и есть slug с префиксом).
Источник имени директории — по приоритету: (1) если /pack-creator вызван с явным путём/именем Pack в аргументе («Создатель паков, продолжи PACK-X») — взять {slug} оттуда; (2) иначе, если текущая рабочая директория — сам Pack (содержит 00-pack-manifest.md) — взять slug из её имени; (3) иначе — спросить пользователя, какой Pack продолжаем, не гадать.
Минимальная схема:
pack_id: DP # короткий код из манифеста, для справки — не используется в пути state-файла
mode: assembly | hybrid | full
cp_iwe_at_start: 2
spf_checkpoint: 03 # последний завершённый раздел SPF/process
last_session: 2026-05-31
notes: |
свободный текст автора между сессиямиПри повторном запуске /pack-creator: определить pack_id_slug из пути/имени директории Pack (PACK-{slug} → {slug}) → прочитать .iwe-runtime/state/spf/{pack_id_slug}.yaml, если существует → восстановить режим и точку входа, не повторять Шаг 0 (если cp_iwe_at_start свежее 30 дней). Не читать .pfad-decision.md для этого поиска — wp: там остаётся гуманитарной ссылкой для аудита, не механической точкой входа скилла.
Если .iwe-runtime/state/spf/{pack_id_slug}.yaml не найден (первый запуск, или машина сменилась и state не перенесли вручную) — считать это первым запуском, начать с Шага 0. Историю прогресса это не портит: сам Pack (заполненные разделы) — источник истины о том, что реально сделано; .spf-state.yaml — только удобный ярлык, не обязательная зависимость.
Шаг 6 — соседи (Pack-различения)
| Скилл/роль | Когда | Граница |
/pack-new | Скаффолд каталогов PACK-X (разово) | Скилл, не роль |
/pack-creator (эта) | Наполнение 02-11, сопровождение N сессий | R30, длинный процесс |
/ke | Захват одного факта в Pack/CLAUDE.md/memory | Точечно, не процесс |
| R29 Артефактор-Декомпозитор | Разбить деятельность на этапы (≥3h РП) | Деятельность, не онтология |
| R24 Аудитор | Cross-pack consistency, аудит инсталляции | За границей R30 |
Тест границы R30: «Это про наполнение онтологии одного Pack?» Да → R30. «Это про разбиение работы на этапы?» → R29. «Это про сверку соответствия N паков общему стандарту?» → R24.
Шаг 7 — закрытие сессии
В конце каждой сессии скилла:
- Записать прогресс в
.iwe-runtime/state/spf/{pack_id_slug}.yaml(spf_checkpoint,last_session,notes). - Снять
PACK_CREATOR_ACTIVE(черезunsetв обёртке или закрытие сессии Claude). - Если фаза 11 пройдена и
/verifyOK → предложить commit + push PACK-X. - Если ещё не end-of-process → отметить «продолжим с фазы N» в чате.
Анти-паттерны
- ❌ Скилл оригинирует distinction'ы за автора (особенно в режиме full SPF).
- ❌ Скилл правит SPF/FPF «потому что так логичнее» — hook должен сработать; если обходишь — нарушаешь CLAUDE.md §2.6.
- ❌ Прыжок через фазы (03 → 07 без 04-06) — Pack получит дырки, R23 завалит verify.
- ❌ Запуск без state-файла, повторное прохождение Шага 0 каждую сессию.
Источники
- DP.SC.048 — service clause «Pack Creation»
- DP.ROLE.062 — роль «Создатель паков» (R30)
- SPF/process/00-process-overview.md — общая карта процесса + extension-механизм
- CLAUDE.md §1 — Pack Creation Gate, fallback chain
- WP-369 — закрыт 31 мая, контекст создания роли
- WP-377 Ф2.4 — реализация скилла + hook (текущая)
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

