mister-wolf 2.33.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/README.md +11 -9
  2. package/README.ru.md +11 -9
  3. package/dist/adapters/cli/commands/complaint-target.d.ts +32 -0
  4. package/dist/adapters/cli/commands/complaint-target.d.ts.map +1 -0
  5. package/dist/adapters/cli/commands/complaint-target.js +131 -0
  6. package/dist/adapters/cli/commands/complaint-target.js.map +1 -0
  7. package/dist/adapters/cli/commands/memory-call.d.ts.map +1 -1
  8. package/dist/adapters/cli/commands/memory-call.js +3 -1
  9. package/dist/adapters/cli/commands/memory-call.js.map +1 -1
  10. package/dist/adapters/cli/commands/memory-complain.d.ts +2 -7
  11. package/dist/adapters/cli/commands/memory-complain.d.ts.map +1 -1
  12. package/dist/adapters/cli/commands/memory-complain.js +17 -36
  13. package/dist/adapters/cli/commands/memory-complain.js.map +1 -1
  14. package/dist/adapters/cli/commands/memory-init.d.ts.map +1 -1
  15. package/dist/adapters/cli/commands/memory-init.js +4 -49
  16. package/dist/adapters/cli/commands/memory-init.js.map +1 -1
  17. package/dist/adapters/cli/commands/memory-scaffold.d.ts.map +1 -1
  18. package/dist/adapters/cli/commands/memory-scaffold.js +4 -1
  19. package/dist/adapters/cli/commands/memory-scaffold.js.map +1 -1
  20. package/dist/adapters/cli/commands/memory-upgrade.d.ts.map +1 -1
  21. package/dist/adapters/cli/commands/memory-upgrade.js +14 -1
  22. package/dist/adapters/cli/commands/memory-upgrade.js.map +1 -1
  23. package/dist/adapters/platforms/opencode-config-keys.d.ts +1 -1
  24. package/dist/adapters/platforms/opencode-config-keys.d.ts.map +1 -1
  25. package/dist/adapters/platforms/opencode-config-keys.js +1 -1
  26. package/dist/adapters/platforms/opencode-config-keys.js.map +1 -1
  27. package/dist/app/use-cases/decisions.d.ts +2 -0
  28. package/dist/app/use-cases/decisions.d.ts.map +1 -1
  29. package/dist/app/use-cases/decisions.js +31 -2
  30. package/dist/app/use-cases/decisions.js.map +1 -1
  31. package/dist/app/use-cases/generate-recap.js +1 -1
  32. package/dist/app/use-cases/generate-recap.js.map +1 -1
  33. package/dist/app/use-cases/get-call-injections.d.ts +3 -2
  34. package/dist/app/use-cases/get-call-injections.d.ts.map +1 -1
  35. package/dist/app/use-cases/get-call-injections.js +1 -1
  36. package/dist/app/use-cases/get-call-injections.js.map +1 -1
  37. package/dist/app/use-cases/init-project.d.ts +4 -8
  38. package/dist/app/use-cases/init-project.d.ts.map +1 -1
  39. package/dist/app/use-cases/init-project.js +3 -36
  40. package/dist/app/use-cases/init-project.js.map +1 -1
  41. package/dist/app/use-cases/scaffold-agent.d.ts +3 -2
  42. package/dist/app/use-cases/scaffold-agent.d.ts.map +1 -1
  43. package/dist/app/use-cases/scaffold-agent.js +23 -43
  44. package/dist/app/use-cases/scaffold-agent.js.map +1 -1
  45. package/package.json +1 -1
  46. package/templates/base/AGENTS.md +42 -69
  47. package/templates/base/README.md +1 -1
  48. package/templates/base/agents/mr-wolf.md +150 -212
  49. package/templates/base/agents/wolf-architect.md +38 -0
  50. package/templates/base/agents/wolf-developer.md +42 -0
  51. package/templates/base/agents/wolf-editor.md +38 -0
  52. package/templates/base/agents/wolf-expert.md +57 -0
  53. package/templates/base/agents/wolf-release-engineer.md +38 -0
  54. package/templates/base/agents/wolf-researcher.md +42 -0
  55. package/templates/base/agents/wolf-reviewer.md +42 -0
  56. package/templates/base/agents/wolf-tester.md +38 -0
  57. package/templates/base/commands/analyze-doc.md +7 -7
  58. package/templates/base/commands/complain.md +16 -4
  59. package/templates/base/commands/doc-review.md +4 -4
  60. package/templates/base/skills/finishing-a-development-branch/SKILL.md +5 -55
  61. package/templates/base/skills/receiving-code-review/SKILL.md +5 -44
  62. package/templates/base/skills/requesting-code-review/SKILL.md +5 -52
  63. package/templates/base/skills/test-driven-development/SKILL.md +7 -7
  64. package/templates/base/skills/using-git-worktrees/SKILL.md +5 -41
  65. package/templates/base/skills/using-skills/SKILL.md +17 -18
  66. package/templates/base/skills/using-skills/references/agent-language.md +2 -2
  67. package/templates/base/skills/using-skills/references/context-and-memory.md +23 -21
  68. package/templates/base/skills/using-skills/references/contracts.md +13 -13
  69. package/templates/base/skills/using-skills/references/division-of-labor.md +25 -17
  70. package/templates/base/skills/using-skills/references/project-rules.md +9 -9
  71. package/templates/base/skills/using-skills/references/project-tools.md +5 -5
  72. package/templates/base/skills/using-skills/references/routes-capabilities.md +3 -3
  73. package/templates/base/skills/using-skills/references/routes-communication.md +5 -5
  74. package/templates/base/skills/using-skills/references/routes-execution.md +13 -12
  75. package/templates/base/skills/using-skills/references/routes-intent.md +3 -3
  76. package/templates/base/skills/using-skills/references/routes-quality.md +2 -2
  77. package/templates/base/skills/verification-before-completion/SKILL.md +9 -7
  78. package/templates/base/skills/wolf-agent-language/SKILL.md +47 -0
  79. package/templates/base/skills/wolf-brainstorm/SKILL.md +15 -13
  80. package/templates/base/skills/wolf-code-craft/SKILL.md +4 -2
  81. package/templates/base/skills/wolf-council/SKILL.md +11 -11
  82. package/templates/base/skills/wolf-debug/SKILL.md +17 -17
  83. package/templates/base/skills/wolf-debug/references/techniques.md +2 -2
  84. package/templates/base/skills/wolf-design/SKILL.md +8 -6
  85. package/templates/base/skills/wolf-document-readability/SKILL.md +5 -5
  86. package/templates/base/skills/wolf-execute/SKILL.md +20 -17
  87. package/templates/base/skills/wolf-execute/references/technical-helpers.md +5 -5
  88. package/templates/base/skills/wolf-execute/scripts/workflow-helper.py +1 -1
  89. package/templates/base/skills/wolf-explain/SKILL.md +3 -3
  90. package/templates/base/skills/wolf-feedback/SKILL.md +9 -9
  91. package/templates/base/skills/wolf-feedback/references/complaints.md +24 -25
  92. package/templates/base/skills/wolf-feedback/references/session-diagnosis.md +2 -2
  93. package/templates/base/skills/wolf-git/SKILL.md +5 -1
  94. package/templates/base/skills/wolf-handoff/SKILL.md +14 -14
  95. package/templates/base/skills/wolf-memory/SKILL.md +39 -0
  96. package/templates/base/skills/wolf-plan/SKILL.md +19 -13
  97. package/templates/base/skills/wolf-release/SKILL.md +16 -0
  98. package/templates/base/skills/wolf-release-docs/SKILL.md +5 -5
  99. package/templates/base/skills/wolf-requirements/SKILL.md +16 -0
  100. package/templates/base/skills/wolf-review/SKILL.md +26 -24
  101. package/templates/base/skills/wolf-sdd/SKILL.md +5 -85
  102. package/templates/base/skills/wolf-skill-intake/SKILL.md +6 -35
  103. package/templates/base/skills/wolf-software-design/SKILL.md +4 -2
  104. package/templates/base/skills/wolf-test/SKILL.md +17 -0
  105. package/templates/base/skills/wolf-testplan/SKILL.md +2 -2
  106. package/templates/base/skills/wolf-user-report/SKILL.md +6 -6
  107. package/templates/base/skills/wolf-visual-dialogue/SKILL.md +5 -41
  108. package/templates/base/skills/wolf-work-strategy/SKILL.md +6 -69
  109. package/templates/base/skills/writing-skills/SKILL.md +6 -6
  110. package/templates/opencode/plugins-reserved/README.md +4 -0
  111. package/update-map.json +135 -70
  112. package/templates/base/agents/executor-lead.md +0 -335
  113. package/templates/base/agents/steward.md +0 -149
  114. package/templates/base/agents/worker-expert.md +0 -135
  115. package/templates/base/agents/worker-implementer.md +0 -103
  116. package/templates/base/agents/worker-researcher.md +0 -110
  117. package/templates/base/agents/worker-reviewer.md +0 -115
  118. package/templates/base/playbooks/complaint-protocol.md +0 -19
  119. package/templates/base/playbooks/executor-lead-playbook.md +0 -103
  120. package/templates/base/playbooks/steward-nastavnik.md +0 -90
  121. package/templates/base/playbooks/worker-expert-playbook.md +0 -35
  122. package/templates/base/playbooks/worker-implementer-playbook.md +0 -80
  123. package/templates/base/playbooks/worker-researcher-playbook.md +0 -71
  124. package/templates/base/playbooks/worker-reviewer-playbook.md +0 -37
  125. /package/templates/opencode/{plugins → plugins-reserved}/wolf-router.ts +0 -0
  126. /package/templates/opencode/{plugins → plugins-reserved}/wolf-session-start.js +0 -0
@@ -1,8 +1,7 @@
1
1
  import { join } from 'path';
2
2
  import { UserFacingError } from '../../domain/errors.js';
3
- import { createFaceVersion } from './create-face-version.js';
4
3
  import { recordRelation } from './record-relation.js';
5
- /** Playbook-источник рамки (T-05): лицо — type 'face'; legacy — note+facet howto
4
+ /** Playbook-источник рамки (--from-playbook): лицо — type 'face'; legacy — note+facet howto
6
5
  * (старые файлы читаются как note — alias) и старый тип playbook. */
7
6
  function isPlaybookNote(pb) {
8
7
  if (!pb)
@@ -13,7 +12,6 @@ function isPlaybookNote(pb) {
13
12
  (pb.facet === 'howto' || pb.alias_origin === 'playbook')));
14
13
  }
15
14
  export const SCAFFOLD_KINDS = ['agent', 'skill', 'command', 'artifact'];
16
- export const DEFAULT_SCAFFOLD_MODEL = 'zai-coding-plan/glm-5.3';
17
15
  /** Каталог command — единственного числа (.opencode/command/), agents и skills — как в opencode. */
18
16
  export function frameRelativePath(kind, name) {
19
17
  if (kind === 'agent')
@@ -23,28 +21,32 @@ export function frameRelativePath(kind, name) {
23
21
  return join('.opencode', 'command', `${name}.md`);
24
22
  }
25
23
  function defaultPersona(name) {
26
- return `You are ${name}. Work strictly by the playbook delivered by the plugin into the system prompt.`;
24
+ return `You are ${name}. Follow the methodology in this file.`;
27
25
  }
28
- function frameContent(input, ownerSkill, playbookId) {
29
- const description = `${input.name} frame: works by a playbook from Wolf memory (delivered by the wolf-router plugin)`;
26
+ function frameContent(input) {
27
+ const playbookId = input.fromPlaybook;
28
+ const description = playbookId
29
+ ? `${input.name} frame: methodology content is in Wolf memory (playbook ${playbookId})`
30
+ : `${input.name} frame: fill in the methodology in this file`;
30
31
  if (input.kind === 'agent') {
31
32
  const persona = input.persona?.trim() !== '' && input.persona !== undefined ? input.persona.trim() : defaultPersona(input.name);
32
- const model = input.model?.trim() !== '' && input.model !== undefined ? input.model.trim() : DEFAULT_SCAFFOLD_MODEL;
33
- // agent-id обязан быть в ТЕЛЕ (frontmatter не попадает в system-промпт) — грабля opencode.
33
+ const model = input.model?.trim() !== '' && input.model !== undefined ? input.model.trim() : undefined;
34
34
  return [
35
35
  '---',
36
36
  `description: ${description}`,
37
37
  'mode: all',
38
- `model: ${model}`,
38
+ ...(model ? [`model: ${model}`] : []),
39
39
  'temperature: 0.2',
40
40
  '---',
41
- `agent-id: ${ownerSkill}`,
42
41
  '',
43
42
  persona,
44
43
  '',
45
44
  ].join('\n');
46
45
  }
47
46
  if (input.kind === 'skill') {
47
+ const body = playbookId
48
+ ? `The methodology content is in Wolf memory (playbook ${playbookId}); this file is only a frame.`
49
+ : 'This file is only a frame: fill in the methodology here.';
48
50
  return [
49
51
  '---',
50
52
  `name: ${input.name}`,
@@ -53,11 +55,13 @@ function frameContent(input, ownerSkill, playbookId) {
53
55
  '',
54
56
  `# ${input.name} — frame skill`,
55
57
  '',
56
- `The methodology content is in Wolf memory (playbook ${playbookId}); this file is only a frame.`,
57
- 'Work strictly by the playbook delivered by the plugin into the system prompt.',
58
+ body,
58
59
  '',
59
60
  ].join('\n');
60
61
  }
62
+ const body = playbookId
63
+ ? `The methodology content is in Wolf memory (playbook ${playbookId}).`
64
+ : 'Fill in the methodology in this file.';
61
65
  return [
62
66
  '---',
63
67
  `description: ${description}. Usage: /${input.name} <task>`,
@@ -65,14 +69,14 @@ function frameContent(input, ownerSkill, playbookId) {
65
69
  '---',
66
70
  'Execute: $ARGUMENTS',
67
71
  '',
68
- 'Work strictly by the playbook from Wolf memory (delivered by the wolf-router plugin).',
72
+ body,
69
73
  '',
70
74
  ].join('\n');
71
75
  }
72
76
  export async function scaffoldFrame(deps, input) {
73
77
  const run = async () => {
74
78
  const framePath = frameRelativePath(input.kind, input.name);
75
- // Идемпотентность ДО создания playbook — чтобы не плодить объекты-сироты.
79
+ // Идемпотентность до любых записей.
76
80
  if (await deps.fs.exists(join(deps.baseDir, framePath))) {
77
81
  throw new UserFacingError(`${framePath} already exists`);
78
82
  }
@@ -92,37 +96,13 @@ export async function scaffoldFrame(deps, input) {
92
96
  : input.name;
93
97
  }
94
98
  else {
95
- // Живое лицо того же владельца не перезаписывается заглушкой: scaffold —
96
- // создание новой рамки, а не мутация существующего лица (штатный контур —
97
- // Стюард, wolf face new). Проверка ДО любых записей.
98
- const existingFace = (await deps.store.list({ type: 'face' })).find((o) => o.owner_skill === input.name && o.status === 'active');
99
- if (existingFace) {
100
- throw new UserFacingError(`Живое лицо "${input.name}" уже существует (${existingFace.id}, v${existingFace.version}): ` +
101
- 'scaffold его не перезаписывает. Выбери другое имя либо обнови лицо штатным контуром Стюарда ' +
102
- '(wolf face new).');
103
- }
104
- // T-05 (design §scaffoldAgent): лицо нового агента — через face-контракт
105
- // createFaceVersion с initiator='seed' (внутренний путь, ADR-6). lock не
106
- // передаём: мы уже внутри deps.lock.withLock (FsMemoryLock не реентерабелен).
107
- const { face } = await createFaceVersion({
108
- store: deps.store,
109
- log: deps.log,
110
- clock: deps.clock,
111
- idGen: deps.idGen,
112
- index: deps.index,
113
- declarations: deps.declarations,
114
- }, {
115
- command: 'seed',
116
- ownerSkill: input.name,
117
- reason: `scaffold stub for ${input.kind}:${input.name} frame`,
118
- title: `Playbook: ${input.name}`,
119
- body: `Scaffold stub for the ${input.kind}:${input.name} frame. Fill in steps and methodology.`,
120
- });
121
- playbookId = face.id;
99
+ // R-13b: без --from-playbook объект памяти не создаётся — каркас самодостаточен;
100
+ // живое лицо того же owner_skill не блокирует (штатный контур лица — Стюард, wolf face new).
122
101
  ownerSkill = input.name;
123
102
  }
124
- await deps.fs.writeFile(join(deps.baseDir, framePath), frameContent(input, ownerSkill, playbookId));
125
- if (deps.relations) {
103
+ await deps.fs.writeFile(join(deps.baseDir, framePath), frameContent(input));
104
+ // Связывать нечего без playbook-источника.
105
+ if (deps.relations && playbookId !== undefined) {
126
106
  await recordRelation({ relations: deps.relations, idGen: deps.idGen }, deps.clock.now(), playbookId, 'owner_skill', `${input.kind}:${input.name}`);
127
107
  }
128
108
  return { playbookId, ownerSkill, framePath };
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold-agent.js","sourceRoot":"","sources":["../../../src/app/use-cases/scaffold-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold-agent.js","sourceRoot":"","sources":["../../../src/app/use-cases/scaffold-agent.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mister-wolf",
3
- "version": "2.33.0",
3
+ "version": "3.0.0",
4
4
  "description": "A local-first project organization for AI assistants: goal-directed processes, project memory and governed learning",
5
5
  "keywords": [
6
6
  "ai-agents",
@@ -1,71 +1,44 @@
1
- <!-- wolf:onboarding v3 -->
2
-
3
- # Mr. Wolf — память проекта
4
-
5
- Этот проект использует Mr. Wolf (local-first память для агентов).
6
-
7
- ## Протокол холодного старта (каждая свежая сессия)
8
-
9
- 1. **Начинай с состояния проекта:** запусти `wolf call` и `wolf brief`
10
- (CLI: установленный `wolf`, или `node <путь-к-repo-wolf>/dist/bootstrap/cli.js` в репо Wolf; MCP-инструменты: `mr-wolf_*`).
11
- Возвращённые injections и brief — активное руководство проекта.
12
- 2. **Фиксируй значимое через Wolf:** решения — `wolf add --type decision`,
13
- уроки — `--type lesson`, блокеры — thread со статусом `blocked`
14
- (`wolf thread add`, затем `wolf transition <id> blocked`); устаревшее —
15
- `wolf supersede <old-id> <new-id>`.
16
- 3. **Состояние проекта — только у Wolf** (`wolf search`, `wolf get`,
17
- `wolf brief`): статические списки в файлах устаревают. Память Wolf —
18
- единственный источник состояния проекта.
19
-
20
- ## Адресный воркер и продолжение
21
-
22
- L1 передаёт действующие относящиеся к подзадаче политики, решения и ограничения
23
- с revision/источником. Отсутствие обязательной политики — запрос контекста,
24
- не разрешение её пропустить. Полученный источник обязан охватывать мандат.
25
-
26
- Холодный старт выше относится к L0/L1 без доставленного состояния. L2 с TASK,
27
- назначенной методикой, источниками и playbook не запускает общий onboarding
28
- заново: выполняет подзадачу, соблюдая проектные ограничения. Недостающие входы
29
- передаёт L1; не обходит запреты памяти через CLI. Уже доставленные актуальные
30
- инструкции не ищет повторно. После checkpoint продолжает незакрытые пункты,
31
- не повторяет все проверки неизменившейся версии. Нет достаточного TASK —
32
- запрашивает конкретный вход, не угадывает состояние проекта.
33
-
34
- ## Документация этапа
35
-
36
- В FULL docs/dev/<date>-<feat>/ — пакет цели в объявленном порядке:
37
- pre-requirements.md, requirements.md, change-request.md, design.md, test-plan.md, plan.md
38
- (состав и поток — using-skills/references/project-rules.md) и единичные обоснованные
39
- L1 документы для следующих этапов. Частные отчёты,
40
- черновики, checkpoint, логи и скрипты туда не клади, в том числе в подпапки.
41
- L2 возвращает результат сообщением; L0/L1 сохраняет нужное между сессиями
42
- как адресные рабочие note/context/history Wolf, не lesson/complaint. Запись документа — лишь в точный файл/раздел
43
- TASK. Полезные выводы интегрирует L1; он задаёт рабочее место вне документации
44
- и обеспечивает сохранность нужных evidence до очистки/передачи.
45
-
46
- ## Лестница приоритетов
47
-
48
- 1. Явные указания пользователя.
49
- 2. Память Wolf (решения, правила, уроки — `wolf brief`/`wolf search`).
50
- 3. Свои догадки — только если пусты 1 и 2, и уточни у пользователя.
51
-
52
- ## Указатели
53
-
54
- - Документация: `docs/README.md`
55
- - Защита файла от обновления: `protect: true` (или `protect: X.Y.Z`) в YAML-frontmatter
56
- agent/skill/command-файла; конфликты разбираются `wolf upgrade --review`,
57
- снятие защиты — `wolf upgrade --resolve <файл>=take|keep`.
1
+ <!-- wolf:onboarding v4 -->
2
+
3
+ # Mr. Wolf — процесс проекта
4
+
5
+ Проект ведёт агент mr-wolf: общение с пользователем и собственное выполнение;
6
+ для специализации и объёма он нанимает исполнителей wolf-* напрямую:
7
+ wolf-researcher, wolf-architect, wolf-developer, wolf-reviewer, wolf-tester,
8
+ wolf-editor, wolf-release-engineer, wolf-expert. Исполнители не делегируют
9
+ дальше; промежуточного уровня нет.
10
+
11
+ ## Протокол сессии
12
+
13
+ 1. Начинай с состояния проекта: запусти `wolf call` и `wolf brief`
14
+ (CLI: установленный `wolf`, или `node <путь-к-repo-wolf>/dist/bootstrap/cli.js`;
15
+ MCP-инструменты: `mr-wolf_*`). Возвращённое — активное руководство проекта.
16
+ 2. Значимое фиксируй в памяти Wolf: решения — `wolf add --type decision`,
17
+ уроки — `--type lesson`, блокеры — thread (`wolf thread add`, затем
18
+ `wolf transition <id> blocked`), устаревшее — `wolf supersede <old-id> <new-id>`.
19
+ 3. Состояние проекта спрашивай у Wolf (`wolf search`, `wolf get`, `wolf brief`):
20
+ статические списки в файлах устаревают. Память Wolf — единственный источник
21
+ состояния проекта.
22
+
23
+ ## Адресные входы
24
+
25
+ - Ведущий без доставленного состояния восстанавливает thread, решения и относящиеся
26
+ правила адресно через память Wolf, не читает всё подряд.
27
+ - Исполнитель с TASK не запускает общий onboarding: читает назначенные входы
28
+ и проектные ограничения, недостающее запрашивает у ведущего.
29
+ - Новая самостоятельная часть — свежий исполнитель; reuse прежнего — только
30
+ по условиям продолжения; после одного корректирующего возврата — новый экземпляр.
31
+ - Собственную работу ведущий проверяет независимо по тем же критериям.
32
+
33
+ ## Документация этапа и правила
34
+
35
+ - FULL сохраняет docs/dev/<date>-<feat>/ — пакет цели полным списком в объявленном
36
+ порядке (требования, дизайн, тест-план, план и другие по потоку проекта).
37
+ Рабочие отчёты, черновики, checkpoint и логи в docs/dev не кладутся; исполнитель
38
+ возвращает результат сообщением, нужное между сессиями сохраняет ведущий.
39
+ - Лестница приоритетов: явные указания пользователя → память Wolf
40
+ (`wolf brief`/`wolf search`) → свои догадки; при пустых первых двух — уточнить
41
+ у пользователя.
58
42
  - Номер версии всегда полный X.Y.Z — в планах, тредах, волнах, тегах и разговоре.
59
- Голый минор («2.16») запрещён как имя релиза/волны/треда/плана: релизов «2.16» не
60
- существует, есть «2.16.0», «2.16.1» (пример корректного полного номера: 2.16.2).
61
- <!-- /wolf:onboarding -->
62
43
 
63
- ## Сохраняемые инструменты
64
-
65
- Сохраняемый вспомогательный инструмент живёт в принятом каталоге проекта,
66
- карточка Wolf ссылается на него. Если места нет, L1 обеспечивает выбор/создание;
67
- при неоднозначности L0 уточняет у пользователя, решение фиксируется в памяти.
68
- Нужный для воспроизведения или продолжения скрипт не остаётся только в tmp:
69
- L2 сообщает назначение/путь/проверку/нужность, L1 сохраняет и регистрирует.
70
- Подробности — using-skills/references/project-tools.md. Это часть завершения
71
- уже разрешённой работы, без обязательной универсализации разовых проб.
44
+ <!-- /wolf:onboarding -->
@@ -1 +1 @@
1
- Neutral base-set templates (agents/skills/commands/playbooks). Content ships in phase B.
1
+ Neutral base-set templates (agents/skills/commands). Content ships in phase B.