@erclx/aitk 3.5.0 → 3.6.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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "aitk",
3
3
  "description": "Automated governance, versioning, and discovery tools for Claude Code.",
4
- "version": "3.5.0",
4
+ "version": "3.6.0",
5
5
  "author": {
6
6
  "name": "Eric Le",
7
7
  "url": "https://github.com/erclx"
@@ -15,14 +15,14 @@ A body written around a named tool fails a third way. A session on a surface car
15
15
 
16
16
  The opposite failure is the one that ships silently. A session that takes a preference decision itself produces work the operator did not ask for and never learns a choice was made, because nothing in the output says a fork was passed.
17
17
 
18
- `CLAUDE.md` states both branches of the rule, sending an ordinary judgment call to a pick with the tradeoff in one sentence and a preference-deciding call to the operator. The first branch has the toolkit's `snippets/decision-help.md` behind it, which installs into a project as `.claude/snippets/decision-help.md`, and the second had no surface at all.
18
+ `CLAUDE.md` states both branches of the rule, sending an ordinary judgment call to a pick with the tradeoff in one sentence and a preference-deciding call to the operator. The first branch has the toolkit's `snippets/decision-help.md` behind it, which installs into a project as `.claude/snippets/decision-help.md`. The second branch now states how a question is shaped and where it is put, so this skill inherits both and adds only what a batch needs on top of one question.
19
19
 
20
20
  ## Must
21
21
 
22
22
  - Collect every open decision before asking any of them, so the operator sees the set rather than the first one
23
23
  - Put the whole batch in one turn, since a batch split across turns is the per-decision ask this skill exists to replace
24
- - Give each question two to four options, each carrying what it means and what it costs, with the recommendation ranked first and named as such
25
- - State the behavior first and the tool second, so the body runs on a chat surface carrying no structured question tool
24
+ - Give each question a short axis header and two to four options, taking the shape of an option from `CLAUDE.md` rather than restating it
25
+ - Test the surface rather than the project's instruction file when choosing where the batch goes, so a target whose `CLAUDE.md` predates the rule still reaches the tool and loses only the shape
26
26
  - Cap a batch at four questions and say how many are held, since a structured question tool takes four and an uncapped batch hides the overflow
27
27
  - Hold every escalated decision until it is answered, and continue only the work depending on none of them
28
28
  - Route a pick that changes a written artifact into that artifact under the standard owning it, rather than leaving it in the session
@@ -31,9 +31,7 @@ Drop anything the session can settle. What survives is the batch.
31
31
 
32
32
  ## Step 2: shape each question
33
33
 
34
- Each entry carries a short header naming the axis, the question itself, and two to four options. Give every option what it means and what it costs. Rank the recommendation first and say it is the recommendation.
35
-
36
- An option with no stated cost is not an option, since the operator picks it without knowing what the other one buys.
34
+ Each entry carries a short header naming the axis, the question itself, and two to four options. `CLAUDE.md` states what an option carries and how the set is ranked, so follow it rather than a second copy here. The header is what a batch adds. An operator scanning four questions needs an axis on each to tell one from the next.
37
35
 
38
36
  Cap the batch at four. A structured question tool takes four, and a batch past that is a session asking to be redesigned rather than answered. When more than four are open, send the four blocking the most work and say in one line how many are held.
39
37
 
@@ -41,11 +39,11 @@ Cap the batch at four. A structured question tool takes four, and a batch past t
41
39
 
42
40
  Put every question in one turn. Never split the batch across turns and never ask the first while the rest stay unstated.
43
41
 
44
- When the session runs on a surface carrying a structured question tool, such as `AskUserQuestion` in Claude Code, send the whole batch through one call with one entry per decision. The tool renders the options and collects the picks together.
42
+ Send the batch through a structured question tool wherever the session runs on one, and write the shape below where it does not. What a batch adds is that one call carries the whole set, with one entry per decision, so the operator answers them together instead of one per turn.
45
43
 
46
- Otherwise write the batch as a numbered list in one message, each question followed by its lettered options with the recommendation marked. The behavior is the same on either surface, and only the rendering changes.
44
+ The test is the surface rather than the project's instruction file. A target scaffolded before the rule shipped still reaches the tool, and what it loses is the option shape `CLAUDE.md` states, which the example below carries instead.
47
45
 
48
- Batch shape:
46
+ Batch shape on the fallback surface:
49
47
 
50
48
  ```plaintext
51
49
  <N> open decisions. <M> held.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@erclx/aitk",
3
3
  "type": "module",
4
- "version": "3.5.0",
4
+ "version": "3.6.0",
5
5
  "description": "Infrastructure and quality tooling for developer workflows",
6
6
  "license": "MIT",
7
7
  "bin": {
@@ -17,6 +17,9 @@
17
17
 
18
18
  - Flag concerns or alternatives when a proposed change has tradeoffs worth discussing
19
19
  - When facing a judgment call with 2-3 reasonable options mid-flow, pick one and state the tradeoff in one sentence. Enumerate options only when the user's preference is the deciding factor.
20
+ - Put a call the user's preference decides through the structured question surface, such as `AskUserQuestion` in Claude Code, and fall back to a numbered list in one message where none exists. Rank the recommendation first and mark it, order the rest behind it, and give each option its cost, since an option with no stated cost is picked blind.
21
+ - Author the real choices only. A structured surface appends its own trailing escapes for a free-text answer and for reopening the question as conversation, so never write either as an option. On the numbered-list fallback, say that answering outside the list is fine.
22
+ - Answer from the artifact when one already put the question in writing with a suggestion, rather than re-asking it. A blank `- Answer:` slot in a plan accepts the `- Suggested:` line above it, per the plan standard, which your toolkit resolves by name.
20
23
  - Match edit scope to the request. Ship minimal v1 and queue extensions as follow-ups.
21
24
  - On simplification requests, edit only what the user named
22
25
  - Do not add features the user did not ask for