@weave-tools/weave-it 0.1.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 (34) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +868 -0
  3. package/dist/cli.d.ts +5 -0
  4. package/dist/cli.js +4538 -0
  5. package/dist/cli.js.map +1 -0
  6. package/package.json +65 -0
  7. package/templates/opencode/commands/weave-architect.md +7 -0
  8. package/templates/opencode/commands/weave-capture.md +7 -0
  9. package/templates/opencode/commands/weave-clarify.md +7 -0
  10. package/templates/opencode/commands/weave-execute.md +7 -0
  11. package/templates/opencode/commands/weave-explore.md +7 -0
  12. package/templates/opencode/commands/weave-issues.md +7 -0
  13. package/templates/opencode/commands/weave-knowledge.md +7 -0
  14. package/templates/opencode/commands/weave-new.md +7 -0
  15. package/templates/opencode/commands/weave-next.md +7 -0
  16. package/templates/opencode/commands/weave-prd.md +7 -0
  17. package/templates/opencode/commands/weave-prepare.md +7 -0
  18. package/templates/skills/weave-architect/SKILL.md +291 -0
  19. package/templates/skills/weave-architect/api-contract-template.md +21 -0
  20. package/templates/skills/weave-architect/frontend-backend-template.md +21 -0
  21. package/templates/skills/weave-architect/index-template.md +24 -0
  22. package/templates/skills/weave-architect/schema-template.md +21 -0
  23. package/templates/skills/weave-capture/SKILL.md +398 -0
  24. package/templates/skills/weave-clarify/SKILL.md +513 -0
  25. package/templates/skills/weave-execute/SKILL.md +215 -0
  26. package/templates/skills/weave-explore/SKILL.md +434 -0
  27. package/templates/skills/weave-issues/SKILL.md +441 -0
  28. package/templates/skills/weave-knowledge/SKILL.md +161 -0
  29. package/templates/skills/weave-knowledge/knowledge-templates.md +63 -0
  30. package/templates/skills/weave-new/SKILL.md +76 -0
  31. package/templates/skills/weave-next/SKILL.md +216 -0
  32. package/templates/skills/weave-prd/SKILL.md +419 -0
  33. package/templates/skills/weave-prd/prd-template.md +186 -0
  34. package/templates/skills/weave-prepare/SKILL.md +94 -0
@@ -0,0 +1,215 @@
1
+ ---
2
+ name: weave-execute
3
+ description: Execute selected local Weave tasks for an active change by preparing branches, implementing tasks, running verification, and updating tasks.md evidence without committing, pushing, or opening PRs.
4
+ last_changed_in: 0.1.0
5
+ ---
6
+
7
+ # Weave Execute
8
+
9
+ Use this skill when the user wants an agent to execute selected `T#` tasks in an active Weave change.
10
+
11
+ Execution means: resolve the active change, read `tasks.md`, resolve the user's selector, expand dependencies from `Blocked by:`, run prepare for the final task set, implement each eligible task, run appropriate verification, update local task evidence, and summarize outcomes.
12
+
13
+ Execution is local-only. It must not commit, push, open pull requests, create remote branches, stash, discard changes, force-checkout, publish external issue updates, or create a separate execution run-history artifact.
14
+
15
+ # Silent Weave Command Output
16
+
17
+ Weave skills run Weave CLI commands silently by default. Use command results
18
+ as internal context, not response content.
19
+
20
+ Do not show raw stdout, JSON payloads, command echoes, lifecycle payloads,
21
+ internal state-write confirmations, or verbatim notice text unless the user
22
+ explicitly asks for diagnostic output.
23
+
24
+ Surface only information that changes what the user or agent should do next:
25
+ blockers, failures, missing relevant repos, branch or task outcomes,
26
+ lifecycle failures, package-outdated notices, relevant outdated or modified
27
+ skills, and user-required actions.
28
+
29
+ Notice handling:
30
+
31
+ - `package_outdated`: show only when present. Say exactly:
32
+ `A newer Weave version is available. Run \`weave status\` for details, then upgrade Weave when convenient.`
33
+ - `skills_outdated`: suppress unrelated skills. If the invoked skill is outdated, say:
34
+ `The installed \`<skill-name>\` skill appears older than the bundled template. Run \`weave status\` for details, then \`weave agent update --all\` when you want to refresh installed skills.`
35
+ - `skills_outdated`: if multiple skills used in this workflow are outdated, say:
36
+ `Some installed skills used in this workflow appear older than the bundled templates: \`<skill-a>\`, \`<skill-b>\`. Run \`weave status\` for details, then \`weave agent update --all\` when you want to refresh them.`
37
+ - `skills_modified`: suppress unless the invoked skill is modified locally or the user is asking about skill updates. If the invoked skill is modified, say:
38
+ `The installed \`<skill-name>\` skill has local edits, so its behavior may differ from the bundled template. Run \`weave status\` or \`weave agent diff\` if you want to inspect the difference.`
39
+ - `skills_modified`: if the user asks to update skills and installed skills have local edits, say:
40
+ `Some installed skills have local edits. \`weave agent update\` may skip or protect them; run \`weave status\` or \`weave agent diff\` before updating.`
41
+
42
+ Do not say `Notices: ...`, `The command returned notices`, raw
43
+ `notices[].message`, full notice JSON, or full skill lists unless the user
44
+ asks for diagnostics.
45
+
46
+ # Resolve Context
47
+
48
+ Start with Tier 1 context commands:
49
+
50
+ ```bash
51
+ weave workspace --json
52
+ weave change current --json
53
+ weave change status --json
54
+ ```
55
+
56
+ If there is no active change, stop and say that the user needs `weave change new` or `weave change switch` first.
57
+
58
+ Read the active change's task artifact:
59
+
60
+ ```text
61
+ wiki/changes/<change-id>/tasks.md
62
+ ```
63
+
64
+ If `tasks.md` is missing, stop and tell the user to run `weave-issues` first.
65
+
66
+ # Selector Handling
67
+
68
+ Resolve the user's selector before preparing or implementing anything.
69
+
70
+ Supported invocation shapes:
71
+
72
+ ```text
73
+ /weave-execute
74
+ /weave-execute T3
75
+ /weave-execute T1 T3 T7
76
+ /weave-execute backend
77
+ /weave-execute all
78
+ ```
79
+
80
+ Map user input as follows:
81
+
82
+ - `all` -> all executable `T#` tasks in the active `tasks.md`
83
+ - Task ids such as `T1` or `T1 T3` -> those explicit task ids
84
+ - A single non-task, non-`all` value such as `backend` -> tasks whose `Scope` matches that value
85
+
86
+ If invoked without arguments, ask:
87
+
88
+ ```text
89
+ What should I execute: all tasks, a scope like backend, or specific task ids like T1 T3?
90
+ ```
91
+
92
+ When asking, derive available examples from `tasks.md`: include `all`, available `Scope` values, and available `T#` task ids. Do not default to `all`.
93
+
94
+ If no tasks match the selector, or an explicit task id is missing, stop before prepare or implementation.
95
+
96
+ # Task Eligibility
97
+
98
+ Only execute `T#` tasks. Do not execute `QF#` findings or `R#` refactor records directly.
99
+
100
+ Executable statuses:
101
+
102
+ - `todo`
103
+ - `in_progress`
104
+ - `not_tested`
105
+
106
+ Conditionally executable:
107
+
108
+ - `blocked` only after all listed `Blocked by:` dependencies are resolved in the same run or are already `done`
109
+
110
+ Skip by default:
111
+
112
+ - `done`
113
+ - `invalid`
114
+
115
+ # Dependency Ordering
116
+
117
+ Use `Blocked by:` as the source of dependency truth.
118
+
119
+ For explicit task id selectors, if a selected task depends on incomplete tasks outside the explicit selection, tell the user which blockers must be executed first and ask before expanding the run.
120
+
121
+ For scope and `all` selectors, automatically include required incomplete blocking tasks and execute them before dependent selected tasks.
122
+
123
+ Stop before prepare or implementation when:
124
+
125
+ - a dependency references a missing task id
126
+ - a dependency value is unclear and cannot be interpreted as `None` or `T#` ids
127
+ - dependencies form a cycle
128
+
129
+ If a task fails, continue independent later tasks. Skip downstream tasks whose dependencies failed, and summarize those skips at the end.
130
+
131
+ # Run Prepare Before Implementation
132
+
133
+ Run exactly one prepare command for the final selected task set before implementing anything.
134
+
135
+ Use the deterministic prepare CLI. The CLI owns branch readiness and `status.yml.execution` writes. Do not hand-edit `status.yml` and do not run git checkout commands yourself for this workflow.
136
+
137
+ Map the final selected tasks to prepare like this:
138
+
139
+ - all executable tasks selected from `all` -> `weave task prepare --all --json`
140
+ - explicit task ids -> `weave task prepare T1 T3 --json`
141
+ - scope selectors -> `weave task prepare --scope backend --json`
142
+ - dependency-expanded selections that no longer map cleanly to one scope -> `weave task prepare T1 T3 --json`
143
+
144
+ If the global `weave` command is unavailable in this repo, use the local development form:
145
+
146
+ ```bash
147
+ npm run dev -- task prepare <selector> --json
148
+ ```
149
+
150
+ If prepare reports blockers, stop before implementation. State that no selected implementation repo branches were moved when the prepare result is blocked.
151
+
152
+ Dirty work already on the expected branch is allowed when prepare succeeds. Dirty work on another branch must be resolved by the user; do not stash, discard, or force-checkout it.
153
+
154
+ # Execute Tasks
155
+
156
+ Execute tasks in dependency order.
157
+
158
+ Before starting each task:
159
+
160
+ 1. Patch only that task's active index row and detail `Status:` to `in_progress`.
161
+ 2. Do not rewrite unrelated task wording or unrelated task sections.
162
+ 3. For HITL tasks, pause for the required human input before proceeding. `/weave-execute all` includes HITL tasks, but still pauses before each HITL task.
163
+
164
+ During implementation:
165
+
166
+ - Use the task's `### What to build`, acceptance criteria, verification guidance, architecture refs, and repo anchors as the implementation contract.
167
+ - Keep edits scoped to the task.
168
+ - If the task exposes missing or ambiguous instructions, ask before guessing.
169
+
170
+ # Verification
171
+
172
+ Run task-listed checks first. Then run the smallest relevant broader checks when the task's blast radius warrants it.
173
+
174
+ Examples:
175
+
176
+ - a skill packaging change should usually run the relevant `tests/agent-skills.test.ts` tests
177
+ - a CLI or library behavior change should usually run targeted tests plus typecheck when practical
178
+ - final cross-cutting verification may run `npm run typecheck`, `npm test`, and `npm run build`
179
+
180
+ If verification cannot run, explain why. Mark a task `not_tested` only when implementation appears complete but verification could not be completed.
181
+
182
+ # Task Artifact Updates
183
+
184
+ Update `tasks.md` directly and narrowly.
185
+
186
+ Allowed updates for affected tasks:
187
+
188
+ - active task index status
189
+ - detail section `Status:`
190
+ - acceptance criteria checkboxes that were actually satisfied
191
+ - concise verification notes under the affected task's `### Verification` section
192
+
193
+ Status rules:
194
+
195
+ - set `in_progress` when work begins for a task
196
+ - set `done` only when implementation is complete and verification passes
197
+ - set `not_tested` when implementation appears complete but verification could not run
198
+ - leave or set `in_progress` with notes when implementation is incomplete or verification fails
199
+ - skip `done` and `invalid` tasks by default
200
+
201
+ Do not rewrite unrelated task wording, unrelated task sections, `QF#` entries, `R#` entries, invalid task history, or global task sections unless the selected task's own evidence requires a narrow local note.
202
+
203
+ # Final Summary
204
+
205
+ Finish with a grouped outcome summary:
206
+
207
+ - completed tasks
208
+ - tasks left `not_tested`
209
+ - failed or still-`in_progress` tasks
210
+ - skipped tasks, including `done`, `invalid`, or dependency-blocked tasks
211
+ - prepare blockers, if any
212
+ - verification commands or checks that passed, failed, or could not run
213
+ - next steps for anything unresolved
214
+
215
+ Always state that `/weave-execute` did not commit, push, open a PR, create remote branches, stash, discard changes, or publish external issue updates.
@@ -0,0 +1,434 @@
1
+ ---
2
+ name: weave-explore
3
+ description: Stress-test product requirements against the current system, workflows, and domain language. Use when refining PRDs, validating workflows, uncovering edge cases, clarifying ownership, or aligning new changes with existing product behavior.
4
+ last_changed_in: 0.1.0
5
+ ---
6
+
7
+ # Weave Awareness
8
+
9
+ This is a Weave product exploration skill.
10
+
11
+ ---
12
+
13
+ # Plan Mode Guard
14
+
15
+ This skill must run in Plan Mode.
16
+
17
+ If the current environment exposes collaboration mode and it is not Plan Mode, stop immediately and say:
18
+
19
+ `This skill must run in Plan Mode. Switch to Plan Mode, then invoke weave-explore again.`
20
+
21
+ Do not inspect deeply, ask discovery questions, update artifacts, or continue work before this guard passes.
22
+
23
+ Static Weave skill content cannot automatically switch collaboration mode. The host, user, or developer layer must switch modes before this skill continues.
24
+
25
+ In Plan Mode, this skill commits the active artifact lane to local Weave session state via:
26
+
27
+ ```bash
28
+ weave artifact current set exploration --json
29
+ ```
30
+
31
+ This writes local Weave session state only. It does not write repo-tracked artifacts and IS allowed in Plan Mode. Call it after resolving the active Weave change and before any other discovery work.
32
+
33
+ Do not write repo-tracked artifacts directly. Produce the plan, decisions, questions, or proposed artifact changes needed for the user to approve. Actual artifact writes happen only after the user exits Plan Mode and asks to implement the plan.
34
+
35
+ ---
36
+
37
+ Start by discovering the current Weave session:
38
+
39
+ ```bash
40
+ weave workspace --json
41
+ weave change current --json
42
+ weave artifact current set exploration --json
43
+ ```
44
+
45
+ Use the cwd-dispatched workspace or repo context returned by `weave workspace --json` as the exploration boundary. In workspace mode, the workspace root owns the change store and registered sub-repos in `repos[]` are implementation locations inside that single context. In repo mode, the active session's folders are the boundary. If there is no active Weave change, stop and ask the user to run `weave change new` or `weave change switch` before continuing.
46
+
47
+ # Workspace Repo Context Protocol
48
+
49
+ When `weave workspace --json` returns a `workspace` object, treat `workspace.path` as the single Weave change artifact root. Registered entries in `repos[]` are implementation and documentation locations inside that workspace, not separate artifact targets.
50
+
51
+ Do not create, read, or update change artifacts under each sub-repo by default. Durable change artifacts remain under:
52
+
53
+ ```text
54
+ <workspace.path>/wiki/changes/<change-id>/
55
+ ```
56
+
57
+ Before deep inspection, build a lightweight repo context map from `repos[]`:
58
+
59
+ - repo id
60
+ - repo path
61
+ - repo kind
62
+ - remote, when present
63
+ - whether the repo appears relevant to the current user request
64
+ - docs and knowledge surfaces present, such as `README.md`, `CONTEXT.md`, `CONTEXT-MAP.md`, `docs/`, `docs/adr/`, `adr/`, `wiki/knowledge/`, `wiki/changes/`, `specs/`
65
+ - obvious code/test surfaces that may verify current behavior
66
+
67
+ Lightly inventory all registered repos. Deeply inspect only repos that appear relevant from the user's request, active change artifacts, repo names/kinds, docs, knowledge, prior changes, or code references.
68
+
69
+ Prefer current docs, knowledge specs, ADRs, and repo-local Weave wiki content before reading implementation code. Use code and tests to verify important claims from docs or memory.
70
+
71
+ If a repo is skipped, keep the reason simple: unrelated name/kind, no matching docs, no matching code references, or out of scope for the current question.
72
+
73
+ When presenting findings, include a short context note:
74
+
75
+ ```text
76
+ Context loaded:
77
+ - Workspace artifact root: <path>
78
+ - Repos inspected: <repo ids>
79
+ - Repo docs/knowledge read: <paths>
80
+ - Code/test anchors read: <paths>
81
+ - Repos skipped: <repo id> (<reason>)
82
+ ```
83
+
84
+ Do not exhaustively scan every repo unless the user explicitly asks for a workspace-wide audit.
85
+
86
+ ---
87
+
88
+ For each resolved context, inspect Weave knowledge first when present:
89
+
90
+ ```text
91
+ wiki/knowledge/index.md
92
+ wiki/knowledge/README.md
93
+ wiki/knowledge/domains/**/index.md
94
+ wiki/knowledge/domains/**/features/**/behavior.md
95
+ wiki/knowledge/domains/**/domain-wide/**
96
+ wiki/knowledge/shared/**/behavior.md
97
+ wiki/knowledge/**/source-map.md
98
+ wiki/changes/
99
+ ```
100
+
101
+ Use `wiki/knowledge/` as current product/domain context.
102
+
103
+ Use `wiki/changes/` as historical or in-progress change context.
104
+
105
+ If a relevant change folder exists, read the applicable change artifacts:
106
+
107
+ ```text
108
+ exploration.md
109
+ prd.md
110
+ sessions/*-exploration.md
111
+ decisions.md
112
+ contracts.md
113
+ status.yml
114
+ handoff.md
115
+ implementation.md
116
+ tasks.md
117
+ ```
118
+
119
+ In workspace mode there is one change context: the workspace root. In repo mode, do not assume every session folder is equally relevant; identify which contexts appear relevant and why.
120
+
121
+ ---
122
+
123
+ # Resume Context
124
+
125
+ `weave-explore` means enter or resume exploration for the active change.
126
+
127
+ When an active change already has exploration context, resume before asking new discovery questions:
128
+
129
+ 1. Read `wiki/changes/<change-id>/exploration.md` first. Treat the live artifact as canonical current truth.
130
+ 2. Read relevant `wiki/changes/<change-id>/sessions/*-exploration.md` files newest-first.
131
+ 3. Prioritize the latest `## Next Resume Point` when deciding what to ask or examine next.
132
+ 4. Use older exploration session files only when needed for rationale, unresolved points, user preferences, or agent recommendations.
133
+ 5. If session notes conflict with the live artifact, prefer the live artifact unless the latest session records an explicit newer user decision.
134
+ 6. If the user gives an explicit direction, follow it over the stored resume point.
135
+
136
+ At the start of a resumed exploration, briefly state what was loaded:
137
+
138
+ ```text
139
+ Resuming exploration for <change-id>.
140
+ Loaded exploration.md and <N> exploration session note(s).
141
+ Latest resume point: <summary>
142
+ ```
143
+
144
+ If no useful prior exploration content or session notes exist, start normal exploration.
145
+
146
+ ---
147
+
148
+ # Purpose
149
+
150
+ This skill helps refine product requirements by interrogating workflows, domain language, permissions, lifecycle behavior, operational expectations, and edge cases.
151
+
152
+ The goal is to clarify:
153
+ - what the system should do
154
+ - who experiences it
155
+ - how it behaves in real scenarios
156
+ - how it fits into the existing product model
157
+
158
+ This is a product discovery and requirement clarification exercise - not an architecture review.
159
+
160
+ ---
161
+
162
+ # Core Behavior
163
+
164
+ Interview the user relentlessly about the product behavior until a shared understanding is reached.
165
+
166
+ Ask questions one at a time and wait for the user's response before continuing.
167
+
168
+ For each question:
169
+ - explain why the question matters
170
+ - provide a likely/default recommendation
171
+ - explain implications of alternative choices
172
+ - keep the discussion grounded in user and business behavior
173
+ - avoid implementation details unless explicitly requested
174
+
175
+ Prefer:
176
+ - concrete scenarios
177
+ - user journeys
178
+ - lifecycle transitions
179
+ - ownership clarification
180
+ - operational edge cases
181
+
182
+ Avoid:
183
+ - infrastructure discussions
184
+ - database choices
185
+ - eventing strategies
186
+ - APIs
187
+ - storage design
188
+ - deployment architecture
189
+ - framework discussions
190
+
191
+ unless the user explicitly asks for technical design.
192
+
193
+ ---
194
+
195
+ # Discovery Order
196
+
197
+ Resolve questions in this order:
198
+
199
+ 1. Domain language
200
+ 2. Users, actors, and roles
201
+ 3. User workflows
202
+ 4. Permissions and admin controls
203
+ 5. State transitions and lifecycle rules
204
+ 6. Failure cases and edge cases
205
+ 7. Notifications and visibility
206
+ 8. Operational expectations
207
+ 9. Rollout flags, configuration, rollout scope, and migration concerns
208
+ 10. Technical implications (only if required)
209
+
210
+ Do not jump into technical implementation prematurely.
211
+
212
+ ---
213
+
214
+ # Technical Boundary
215
+
216
+ You may inspect the codebase to:
217
+ - understand existing workflows
218
+ - identify terminology
219
+ - discover current constraints
220
+ - detect contradictions
221
+ - understand current product behavior
222
+ - uncover hidden assumptions
223
+
224
+ Use the codebase to anchor the conversation in reality.
225
+
226
+ But do NOT ask users to choose:
227
+ - databases
228
+ - queues
229
+ - event buses
230
+ - consistency models
231
+ - storage engines
232
+ - deployment patterns
233
+ - API styles
234
+ - frameworks
235
+
236
+ unless:
237
+ 1. the user explicitly requests technical design
238
+ 2. or the decision materially changes product behavior, compliance, or operational guarantees
239
+
240
+ If a technical concern emerges:
241
+ - capture it as a technical implication
242
+ - do not force resolution immediately
243
+ - continue product discovery first
244
+
245
+ Translate technical concerns into behavioral language whenever possible.
246
+
247
+ Example:
248
+ Instead of asking:
249
+ > "Should this be eventually consistent?"
250
+
251
+ Ask:
252
+ > "Is it acceptable if users see updates a few seconds later?"
253
+
254
+ ---
255
+
256
+ # Sub-Repo Product Discovery
257
+
258
+ In workspace mode, use registered repos to understand existing product behavior across the workspace.
259
+
260
+ For relevant repos, prioritize reading:
261
+
262
+ ```text
263
+ wiki/knowledge/**
264
+ wiki/changes/**
265
+ README.md
266
+ CONTEXT.md
267
+ CONTEXT-MAP.md
268
+ docs/**
269
+ docs/adr/**
270
+ adr/**
271
+ specs/**
272
+ tests/**
273
+ ```
274
+
275
+ Use sub-repo context to discover:
276
+
277
+ - domain language and user-facing terminology
278
+ - actors, roles, permissions, and ownership boundaries
279
+ - existing workflows and lifecycle states
280
+ - configuration or rollout behavior that changes user experience
281
+ - failure states, edge cases, and operational expectations
282
+ - prior changes or specs that constrain the current exploration
283
+
284
+ Read implementation code only as needed to verify current behavior, locate hidden assumptions, or resolve contradictions between docs and reality.
285
+
286
+ Translate technical findings into product behavior questions. Do not ask the user to choose implementation details unless the choice materially changes user behavior, compliance, visibility, permissions, rollout, or operational guarantees.
287
+
288
+ ---
289
+
290
+ # Scenario-Driven Discovery
291
+
292
+ Prefer concrete scenarios over abstractions.
293
+
294
+ Instead of:
295
+ > "Can approvals be revoked?"
296
+
297
+ Ask:
298
+ > "Suppose compensation is finalized and a manager reopens the review afterward - what should happen?"
299
+
300
+ Use scenarios to:
301
+ - expose hidden assumptions
302
+ - clarify ownership
303
+ - test lifecycle boundaries
304
+ - uncover operational risks
305
+ - reveal conflicting expectations
306
+
307
+ ---
308
+
309
+ # Domain Awareness
310
+
311
+ During codebase exploration, also look for existing documentation. Prefer Weave knowledge when present, and use existing repo documentation as additional context.
312
+
313
+ ## File structure
314
+
315
+ Most repos have a single context:
316
+
317
+ ```text
318
+ /
319
+ |-- CONTEXT.md
320
+ |-- docs/
321
+ | `-- adr/
322
+ `-- src/
323
+ ```
324
+
325
+ Some repos have multiple contexts:
326
+
327
+ ```text
328
+ /
329
+ |-- CONTEXT-MAP.md
330
+ |-- docs/
331
+ | `-- adr/
332
+ `-- src/
333
+ |-- ordering/
334
+ | |-- CONTEXT.md
335
+ | `-- docs/adr/
336
+ `-- billing/
337
+ |-- CONTEXT.md
338
+ `-- docs/adr/
339
+ ```
340
+
341
+ Use existing documentation to:
342
+ - align terminology
343
+ - avoid duplicate concepts
344
+ - detect conflicting meanings
345
+ - understand established workflows
346
+ - reconcile Weave knowledge with repo-local docs when they conflict
347
+
348
+ ---
349
+
350
+ # PM-Safe Code Exploration
351
+
352
+ Code inspection is allowed when needed to verify current product behavior.
353
+
354
+ However, do not show code snippets, function internals, database schemas, API details, or infrastructure details unless the user explicitly asks.
355
+
356
+ Translate technical findings into product language.
357
+
358
+ Good:
359
+ > "Today, the system appears to finalize the whole review at once. It does not currently support partial approvals."
360
+
361
+ Avoid unless asked:
362
+ > "The `finalizeReview()` function calls `updateMany()` on all review items."
363
+
364
+ If technical uncertainty matters, surface it as a product-relevant implication:
365
+ > "There may be technical coupling here, but the product question is whether partial approval should exist at all."
366
+
367
+ Keep technical implications separate from product decisions.
368
+
369
+ ---
370
+
371
+ # Glossary Discipline
372
+
373
+ Challenge terminology aggressively.
374
+
375
+ If the user uses a term that conflicts with the existing language, call it out immediately.
376
+
377
+ Example:
378
+ > "Your glossary defines 'submission' differently from how you're using it here - which meaning should we standardize on?"
379
+
380
+ Sharpen vague language.
381
+
382
+ Replace overloaded terms with precise domain concepts.
383
+
384
+ Example:
385
+ > "When you say 'manager', do you mean the direct manager, calibration owner, or workflow approver?"
386
+
387
+ Do not allow ambiguous terminology to survive.
388
+
389
+ ---
390
+
391
+ # Cross-Reference With Reality
392
+
393
+ When the user describes behavior:
394
+ - verify whether the existing system already behaves differently
395
+ - inspect workflows if necessary
396
+ - surface contradictions explicitly
397
+
398
+ Example:
399
+ > "You mentioned partial approvals are allowed, but the current workflow finalizes the entire review together. Which behavior should be authoritative?"
400
+
401
+ Treat the current product behavior as an important input - but not necessarily the correct future behavior.
402
+
403
+ ---
404
+
405
+ # Silent Weave Command Output
406
+
407
+ Weave skills run Weave CLI commands silently by default. Use command results
408
+ as internal context, not response content.
409
+
410
+ Do not show raw stdout, JSON payloads, command echoes, lifecycle payloads,
411
+ internal state-write confirmations, or verbatim notice text unless the user
412
+ explicitly asks for diagnostic output.
413
+
414
+ Surface only information that changes what the user or agent should do next:
415
+ blockers, failures, missing relevant repos, branch or task outcomes,
416
+ lifecycle failures, package-outdated notices, relevant outdated or modified
417
+ skills, and user-required actions.
418
+
419
+ Notice handling:
420
+
421
+ - `package_outdated`: show only when present. Say exactly:
422
+ `A newer Weave version is available. Run \`weave status\` for details, then upgrade Weave when convenient.`
423
+ - `skills_outdated`: suppress unrelated skills. If the invoked skill is outdated, say:
424
+ `The installed \`<skill-name>\` skill appears older than the bundled template. Run \`weave status\` for details, then \`weave agent update --all\` when you want to refresh installed skills.`
425
+ - `skills_outdated`: if multiple skills used in this workflow are outdated, say:
426
+ `Some installed skills used in this workflow appear older than the bundled templates: \`<skill-a>\`, \`<skill-b>\`. Run \`weave status\` for details, then \`weave agent update --all\` when you want to refresh them.`
427
+ - `skills_modified`: suppress unless the invoked skill is modified locally or the user is asking about skill updates. If the invoked skill is modified, say:
428
+ `The installed \`<skill-name>\` skill has local edits, so its behavior may differ from the bundled template. Run \`weave status\` or \`weave agent diff\` if you want to inspect the difference.`
429
+ - `skills_modified`: if the user asks to update skills and installed skills have local edits, say:
430
+ `Some installed skills have local edits. \`weave agent update\` may skip or protect them; run \`weave status\` or \`weave agent diff\` before updating.`
431
+
432
+ Do not say `Notices: ...`, `The command returned notices`, raw
433
+ `notices[].message`, full notice JSON, or full skill lists unless the user
434
+ asks for diagnostics.