hotmilk 0.1.13 → 0.1.15
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.
- package/AGENTS.md +12 -10
- package/README.md +237 -53
- package/agents/README.md +3 -3
- package/agents/assistant.md +1 -1
- package/agents/coach.md +26 -4
- package/agents/designer.md +1 -1
- package/agents/planner.md +2 -2
- package/hotmilk.json +11 -0
- package/package.json +43 -24
- package/prompts/prompt-eval.md +241 -0
- package/prompts/tidy.md +3 -1
- package/prompts/translate.md +3 -1
- package/skills/make-docs/SKILL.md +43 -0
- package/skills/pioneer/SKILL.md +135 -131
- package/skills/pioneer/references/autoresearch-routing.md +114 -0
- package/skills/pioneer/references/chat-plan.md +50 -0
- package/skills/pioneer/references/goal-gate.md +54 -0
- package/skills/pioneer/references/graph-recon-gate.md +50 -0
- package/skills/pioneer/references/observational-memory-routing.md +90 -0
- package/skills/pioneer/references/openspec-routing.md +50 -0
- package/skills/pioneer/references/plannotator-routing.md +83 -0
- package/skills/pioneer/references/prompt-eval-gate.md +38 -0
- package/skills/pioneer/references/shazam-routing.md +58 -0
- package/skills/recommend-research/SKILL.md +94 -6
- package/skills/recommend-research/references/example-narrow.md +53 -0
- package/skills/recommend-research/references/scope-gate.md +46 -0
- package/skills/recommend-research/references/shortlist-gate.md +69 -0
- package/skills/recommend-research/references/verify-gate.md +73 -0
- package/skills/update-docs/SKILL.md +86 -0
- package/skills/update-docs/references/doc-inventory.md +69 -0
- package/skills/update-docs/references/drift-verification.md +59 -0
- package/src/bootstrap/btw.ts +49 -0
- package/src/bootstrap/context-stack.ts +71 -14
- package/src/bootstrap/dashboard-settings.ts +16 -2
- package/src/bootstrap/dashboard.ts +85 -10
- package/src/bootstrap/defaults.ts +26 -0
- package/src/bootstrap/extensions.ts +10 -1
- package/src/bootstrap/global-extension-sources.ts +43 -4
- package/src/bootstrap/graph.ts +12 -0
- package/src/bootstrap/project-trust.ts +55 -0
- package/src/bootstrap/resolve-bundled.ts +28 -4
- package/src/bootstrap/session.ts +61 -1
- package/src/bootstrap/subagents-doctor.ts +12 -0
- package/src/config/bundled-extensions.ts +42 -0
- package/src/config/bundled-package-registry.ts +3 -0
- package/src/config/hotmilk.ts +76 -1
- package/src/config/mcp.ts +45 -12
- package/src/config/resolve.ts +21 -0
- package/src/config/runtime.ts +6 -0
- package/src/controller/input.ts +15 -0
- package/src/controller/mode.ts +32 -0
- package/src/index.ts +5 -0
- package/src/ui/footer.ts +63 -1
- package/src/ui/github-user.ts +52 -4
- package/src/ui/session-logo.ts +31 -3
- package/themes/monokai.json +1 -1
- package/skills/empirical-prompt-tuning/SKILL.md +0 -232
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hotmilk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.15",
|
|
4
4
|
"description": "hotmilk — Pi package bundling gentle-pi, context-mode, graphify, subagents, and bundled extension toggles via hotmilk.json",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"hotmilk",
|
|
@@ -38,45 +38,63 @@
|
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@blackbelt-technology/pi-agent-dashboard": "^0.5.4",
|
|
41
|
-
"@blackbelt-technology/pi-flows": "^0.2
|
|
41
|
+
"@blackbelt-technology/pi-flows": "^0.3.2",
|
|
42
42
|
"@haispeed/pi-obsidian": "^0.1.1",
|
|
43
|
+
"@llblab/pi-actors": "^0.39.0",
|
|
44
|
+
"@mrclrchtr/supi-context": "^2.2.1",
|
|
45
|
+
"@plannotator/pi-extension": "^0.22.0",
|
|
43
46
|
"@tomxprime/planning-with-files": "^1.1.0",
|
|
44
|
-
"context-mode": "^1.0.
|
|
45
|
-
"gentle-pi": "^0.
|
|
47
|
+
"context-mode": "^1.0.169",
|
|
48
|
+
"gentle-pi": "^0.13.0",
|
|
46
49
|
"graphify-pi": "^0.3.0",
|
|
47
|
-
"
|
|
48
|
-
"pi-
|
|
50
|
+
"latchkey": "^2.20.1",
|
|
51
|
+
"pi-ask-user": "^0.12.0",
|
|
52
|
+
"pi-autoresearch": "^1.6.2",
|
|
53
|
+
"pi-btw": "^0.4.1",
|
|
49
54
|
"pi-caveman": "^1.0.7",
|
|
50
55
|
"pi-docparser": "^3.0.1",
|
|
51
|
-
"pi-goal": "^0.1.
|
|
56
|
+
"pi-goal": "^0.1.7",
|
|
52
57
|
"pi-kanagawa": "^1.0.0",
|
|
53
|
-
"pi-mcp-adapter": "^2.
|
|
58
|
+
"pi-mcp-adapter": "^2.11.0",
|
|
59
|
+
"pi-observational-memory": "^3.0.3",
|
|
60
|
+
"pi-prompt-template-model": "^0.10.0",
|
|
54
61
|
"pi-red-green": "^0.2.2",
|
|
55
|
-
"pi-rtk-optimizer": "^0.
|
|
62
|
+
"pi-rtk-optimizer": "^0.9.0",
|
|
63
|
+
"pi-shazam": "^0.26.0",
|
|
56
64
|
"pi-simplify": "^0.2.2",
|
|
57
|
-
"pi-subagents": "^0.
|
|
65
|
+
"pi-subagents": "^0.34.0",
|
|
58
66
|
"pi-tetris": "^1.3.1",
|
|
59
|
-
"pi-web-access": "^0.
|
|
67
|
+
"pi-web-access": "^0.13.0"
|
|
60
68
|
},
|
|
61
69
|
"devDependencies": {
|
|
62
|
-
"@earendil-works/pi-agent-core": "^0.
|
|
63
|
-
"@earendil-works/pi-ai": "^0.
|
|
64
|
-
"@earendil-works/pi-coding-agent": "^0.
|
|
65
|
-
"@earendil-works/pi-tui": "^0.
|
|
66
|
-
"@types/node": "^22.
|
|
67
|
-
"typebox": "^1.
|
|
68
|
-
"vite-plus": "^0.
|
|
70
|
+
"@earendil-works/pi-agent-core": "^0.80.6",
|
|
71
|
+
"@earendil-works/pi-ai": "^0.80.6",
|
|
72
|
+
"@earendil-works/pi-coding-agent": "^0.80.6",
|
|
73
|
+
"@earendil-works/pi-tui": "^0.80.6",
|
|
74
|
+
"@types/node": "^22.20.1",
|
|
75
|
+
"typebox": "^1.3.6",
|
|
76
|
+
"vite-plus": "^0.2.4"
|
|
69
77
|
},
|
|
70
78
|
"peerDependencies": {
|
|
71
|
-
"@earendil-works/pi-agent-core": "^0.
|
|
72
|
-
"@earendil-works/pi-ai": "^0.
|
|
73
|
-
"@earendil-works/pi-coding-agent": "^0.
|
|
74
|
-
"@earendil-works/pi-tui": "^0.
|
|
75
|
-
"typebox": "^1.
|
|
79
|
+
"@earendil-works/pi-agent-core": "^0.80.6",
|
|
80
|
+
"@earendil-works/pi-ai": "^0.80.6",
|
|
81
|
+
"@earendil-works/pi-coding-agent": "^0.80.6",
|
|
82
|
+
"@earendil-works/pi-tui": "^0.80.6",
|
|
83
|
+
"typebox": "^1.3.6"
|
|
76
84
|
},
|
|
77
85
|
"overrides": {
|
|
86
|
+
"@earendil-works/pi-coding-agent": "^0.80.6",
|
|
78
87
|
"@fastify/static": "9.1.3",
|
|
79
|
-
"@
|
|
88
|
+
"@mariozechner/pi-coding-agent": "npm:@earendil-works/pi-coding-agent@^0.80.6",
|
|
89
|
+
"@mozilla/readability": "0.6.0",
|
|
90
|
+
"dompurify": "^3.4.11",
|
|
91
|
+
"esbuild": "0.28.1",
|
|
92
|
+
"hono": "^4.12.28",
|
|
93
|
+
"linkify-it": "^5.0.1",
|
|
94
|
+
"protobufjs": "^7.6.3",
|
|
95
|
+
"undici": "^7.28.0",
|
|
96
|
+
"vite": "^8.1.4",
|
|
97
|
+
"ws": "8.21.0"
|
|
80
98
|
},
|
|
81
99
|
"engines": {
|
|
82
100
|
"node": "22"
|
|
@@ -100,6 +118,7 @@
|
|
|
100
118
|
"node_modules/@haispeed/pi-obsidian/skills",
|
|
101
119
|
"node_modules/pi-ask-user/skills",
|
|
102
120
|
"node_modules/pi-web-access/skills",
|
|
121
|
+
"node_modules/pi-autoresearch/skills",
|
|
103
122
|
"node_modules/@tomxprime/planning-with-files"
|
|
104
123
|
],
|
|
105
124
|
"themes": [
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Harden a prompt or skill with fresh subagent evaluation loops
|
|
3
|
+
argument-hint: "<path to SKILL.md, AGENTS.md section, or prompt file>"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Run a parent-orchestrated prompt hardening loop for the target below.
|
|
7
|
+
|
|
8
|
+
Target:
|
|
9
|
+
|
|
10
|
+
$@
|
|
11
|
+
|
|
12
|
+
Keep this parent session as loop controller and sole editor. Child subagents must not spawn subagents, edit files, or inherit authoring context.
|
|
13
|
+
|
|
14
|
+
## Core rule: fresh executor
|
|
15
|
+
|
|
16
|
+
A prompt's quality is opaque to its author. Dispatch a **new** fresh executor every iteration. Self re-reading never qualifies.
|
|
17
|
+
|
|
18
|
+
Always set on executor and instructor dispatches:
|
|
19
|
+
|
|
20
|
+
- `context: "fresh"`
|
|
21
|
+
- `skill: false`
|
|
22
|
+
- `clarify: false`
|
|
23
|
+
- explicit `model` when the default resolver fails
|
|
24
|
+
|
|
25
|
+
**NOT fresh**: `context: "fork"`, same session, or reusing a prior executor's thread.
|
|
26
|
+
|
|
27
|
+
If `subagent` is unavailable, ask the user to open a separate session or report `prompt-eval skipped: no fresh agent available`. Never substitute self re-reading.
|
|
28
|
+
|
|
29
|
+
## Step 0 — Static coherence check (parent inline)
|
|
30
|
+
|
|
31
|
+
Before any dispatch, compare what the target **advertises** vs what the body **delivers**. Fix divergences first.
|
|
32
|
+
|
|
33
|
+
| Target type | "Advertises" source | Check |
|
|
34
|
+
| ----------------------------- | ---------------------------- | ------------------------------------------- |
|
|
35
|
+
| Skill file | Frontmatter `description` | Triggers/use-cases match body coverage? |
|
|
36
|
+
| CLAUDE.md / AGENTS.md section | Section heading | Heading promise matches actionable content? |
|
|
37
|
+
| Task prompt / system prompt | Opening instruction or title | Stated goal matches the actual rules? |
|
|
38
|
+
|
|
39
|
+
Skipping this causes false positives — the fresh executor silently re-interprets the body.
|
|
40
|
+
|
|
41
|
+
## Step 1 — Baseline (parent inline)
|
|
42
|
+
|
|
43
|
+
1. Read the target file and freeze one stakes tier:
|
|
44
|
+
|
|
45
|
+
| Stakes | Scenarios | `[critical]` tags | Stop condition | Iteration cap |
|
|
46
|
+
| --------------------------------- | --------------------- | ----------------- | -------------------- | ------------- |
|
|
47
|
+
| **High** (core skill, automation) | 3 (1 median + 2 edge) | ≥ 2 | 3 consecutive clears | none |
|
|
48
|
+
| **Standard** (default) | 2 (1 median + 1 edge) | ≥ 1 | 2 consecutive clears | 5 |
|
|
49
|
+
| **Low** (small, low-blast) | 2 (1 median + 1 edge) | ≥ 1 | ship at 80% | 3 |
|
|
50
|
+
|
|
51
|
+
2. Design scenarios and requirement checklists. Do not change checklists after seeing results.
|
|
52
|
+
|
|
53
|
+
Checklist rules:
|
|
54
|
+
|
|
55
|
+
- 3–7 items per scenario.
|
|
56
|
+
- At least one `[critical]` item — without it, success judgment is vacuous.
|
|
57
|
+
- Translate user complaints into observable criteria (e.g. "shallow" → "names at least one concrete bug with line reference").
|
|
58
|
+
- `[critical]` failure = whole scenario fails (binary ×), regardless of other items.
|
|
59
|
+
- Non-critical items: ○ = 1, partial = 0.5, × = 0. Accuracy = sum / total.
|
|
60
|
+
|
|
61
|
+
3. Paste the **full target prompt text** into every executor task (not a path).
|
|
62
|
+
|
|
63
|
+
## Step 2 — Evaluation loop
|
|
64
|
+
|
|
65
|
+
Repeat until convergence, iteration cap, or divergence. Each iteration:
|
|
66
|
+
|
|
67
|
+
### 2a. Fresh executor (one per scenario)
|
|
68
|
+
|
|
69
|
+
For each scenario, launch:
|
|
70
|
+
|
|
71
|
+
```text
|
|
72
|
+
subagent({
|
|
73
|
+
agent: "assistant",
|
|
74
|
+
context: "fresh",
|
|
75
|
+
skill: false,
|
|
76
|
+
clarify: false,
|
|
77
|
+
model: "<explicit-model-id>",
|
|
78
|
+
task: "<executor contract below with full pasted prompt + one scenario + its checklist>"
|
|
79
|
+
})
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Executor task contract:
|
|
83
|
+
|
|
84
|
+
```markdown
|
|
85
|
+
You are an executor reading <target prompt name> as a blank slate.
|
|
86
|
+
You have no prior exposure to this prompt; treat it as newly encountered.
|
|
87
|
+
|
|
88
|
+
## Target Prompt
|
|
89
|
+
|
|
90
|
+
<paste the full target prompt here>
|
|
91
|
+
|
|
92
|
+
## Scenario
|
|
93
|
+
|
|
94
|
+
<one paragraph describing the situation>
|
|
95
|
+
|
|
96
|
+
## Requirement Checklist
|
|
97
|
+
|
|
98
|
+
1. [critical] <item>
|
|
99
|
+
2. <item>
|
|
100
|
+
...
|
|
101
|
+
|
|
102
|
+
## Task
|
|
103
|
+
|
|
104
|
+
1. Execute the scenario following the target prompt and produce the deliverable.
|
|
105
|
+
2. On completion, respond with the report below.
|
|
106
|
+
|
|
107
|
+
## Report Structure
|
|
108
|
+
|
|
109
|
+
- Deliverable: <the artifact or run summary>
|
|
110
|
+
- Requirement status: for each item, ○ / × / partial (with reason)
|
|
111
|
+
- Ambiguities: places where wording was open to interpretation (bullets)
|
|
112
|
+
- Discretionary fills: decisions the instructions did not specify (bullets)
|
|
113
|
+
- Retries: how many times you redid a decision and why
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Parallel scenarios: use `subagent({ tasks: [...] })` with models from the **same provider** only.
|
|
117
|
+
|
|
118
|
+
### 2b. Instructor scoring (fresh reviewer)
|
|
119
|
+
|
|
120
|
+
Launch one fresh reviewer per iteration (or one per scenario when scenarios are large):
|
|
121
|
+
|
|
122
|
+
```text
|
|
123
|
+
subagent({
|
|
124
|
+
agent: "reviewer",
|
|
125
|
+
context: "fresh",
|
|
126
|
+
skill: false,
|
|
127
|
+
clarify: false,
|
|
128
|
+
model: "<explicit-model-id>",
|
|
129
|
+
task: "Score executor reports using the rubric below. Return: per-scenario Success/Accuracy/Steps/Duration/Retries table, new ambiguities, new discretionary fills, and the single highest-impact ambiguity to fix next. Qualitative signals outweigh raw speed."
|
|
130
|
+
})
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Instructor rubric:
|
|
134
|
+
|
|
135
|
+
| Axis | Source | How to measure |
|
|
136
|
+
| ----------------------- | --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
137
|
+
| **Success/Failure** | Instructor (reviewer) | ○ only if every `[critical]` met. Binary. |
|
|
138
|
+
| **Accuracy** | Instructor | ○/partial/× per item → percentage |
|
|
139
|
+
| **Step count** | Environment metadata | `tool_uses` or tool-use blocks. Text-only targets: count review comments, checklist items, or code blocks — state the unit once in the iteration log. |
|
|
140
|
+
| **Duration** | Environment metadata | `duration_ms` or wall-clock |
|
|
141
|
+
| **Retry count** | Self-report | Times the agent redid a decision |
|
|
142
|
+
| **Ambiguities** | Self-report | Primary signal for improvement |
|
|
143
|
+
| **Discretionary fills** | Self-report | Surfaces implicit requirements |
|
|
144
|
+
|
|
145
|
+
Weighting: ambiguities and discretionary fills are primary. Quantitative metrics are supporting. Chasing time alone makes prompts brittle.
|
|
146
|
+
|
|
147
|
+
On failure: append one line to Ambiguities naming which `[critical]` item dropped.
|
|
148
|
+
|
|
149
|
+
Step-count skew (even at 100% accuracy): one scenario at 3–5× the others → prompt lacks self-containment for that case. Fix with inline guidance or a minimal complete example.
|
|
150
|
+
|
|
151
|
+
Reviewers must not edit files. They score from executor self-reports plus environment metadata when available.
|
|
152
|
+
|
|
153
|
+
### 2c. Parent applies ONE delta
|
|
154
|
+
|
|
155
|
+
1. Identify the most impactful ambiguity from the instructor report.
|
|
156
|
+
2. State which checklist item the edit satisfies.
|
|
157
|
+
3. Apply the minimum edit to the target file — one semantic theme only.
|
|
158
|
+
4. Record the iteration:
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
## Iteration N
|
|
162
|
+
|
|
163
|
+
### Changes (delta from previous)
|
|
164
|
+
- <one-line edit description>
|
|
165
|
+
|
|
166
|
+
### Results
|
|
167
|
+
| Scenario | Success | Accuracy | Steps | Duration | Retries |
|
|
168
|
+
|---|---|---|---|---|---|
|
|
169
|
+
| A | ○ | 90% | 4 | 20s | 0 |
|
|
170
|
+
| B | × | 60% | 9 | 41s | 2 |
|
|
171
|
+
|
|
172
|
+
### Ambiguities (new this iteration)
|
|
173
|
+
- <Scenario B>: [critical] item N was × — <reason>
|
|
174
|
+
- <Scenario A>: (none new)
|
|
175
|
+
|
|
176
|
+
### Discretionary fills (new this iteration)
|
|
177
|
+
- <Scenario B>: <what was filled>
|
|
178
|
+
|
|
179
|
+
### Next edit
|
|
180
|
+
- <one-line minimal edit>
|
|
181
|
+
|
|
182
|
+
(Convergence: X consecutive clears / Y iterations until stop)
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
Never leave an axis blank (write "0", not "—"). "None new" is explicit signal.
|
|
186
|
+
|
|
187
|
+
Delta rules: one semantic theme per iteration. A cluster of 2–3 related micro-edits is one theme; unrelated edits go to the next iteration.
|
|
188
|
+
|
|
189
|
+
### 2d. Re-evaluate
|
|
190
|
+
|
|
191
|
+
Dispatch **new** fresh executors. Never reuse prior executor threads.
|
|
192
|
+
|
|
193
|
+
## Stopping
|
|
194
|
+
|
|
195
|
+
**Converged** when for N consecutive iterations (N = 2 standard, 3 high-stakes):
|
|
196
|
+
|
|
197
|
+
- New ambiguities: 0
|
|
198
|
+
- Accuracy gain: ≤ +3 points
|
|
199
|
+
- Step count change: within ±10%
|
|
200
|
+
- Duration change: within ±15%
|
|
201
|
+
|
|
202
|
+
**Diverged**: after 3+ iterations ambiguities aren't decreasing → stop patching, rewrite.
|
|
203
|
+
|
|
204
|
+
**Resource cutoff**: ship at 80% when improvement cost exceeds prompt importance.
|
|
205
|
+
|
|
206
|
+
Before declaring done on any tier, run one hold-out scenario not used earlier. Accuracy drop ≥ 15 points → overfitting; return to scenario design.
|
|
207
|
+
|
|
208
|
+
## Completion summary
|
|
209
|
+
|
|
210
|
+
Report:
|
|
211
|
+
|
|
212
|
+
- stakes tier and scenarios used
|
|
213
|
+
- iterations run and deltas applied
|
|
214
|
+
- final per-scenario scores
|
|
215
|
+
- hold-out result (if run)
|
|
216
|
+
- plateau reason (converged / cap / diverged / skipped)
|
|
217
|
+
- remaining ambiguities worth accepting or deferring
|
|
218
|
+
|
|
219
|
+
## Red flags
|
|
220
|
+
|
|
221
|
+
| Rationalization | Reality |
|
|
222
|
+
| ------------------------------------------------ | ---------------------------------------------------------------- |
|
|
223
|
+
| "Re-reading it myself is equivalent." | Structurally impossible to objectively view text you just wrote. |
|
|
224
|
+
| "One scenario is enough." | Overfits. Minimum 2. |
|
|
225
|
+
| "Zero ambiguities once, so done." | May be coincidence. Require consecutive clears. |
|
|
226
|
+
| "Fix multiple things in one pass." | Lose attribution. One theme per iteration. |
|
|
227
|
+
| "Metrics look good, ignore qualitative." | Faster ≠ better. Qualitative is primary. |
|
|
228
|
+
| "Reuse the same fresh agent." | It learned. Dispatch anew every time. |
|
|
229
|
+
| "Split every micro-edit into its own iteration." | Over-splitting. One semantic unit = one iteration. |
|
|
230
|
+
| "Rewrite from scratch." | Valid only after 3+ stalled iterations. |
|
|
231
|
+
|
|
232
|
+
## Subagent troubleshooting
|
|
233
|
+
|
|
234
|
+
| Symptom | Cause | Fix |
|
|
235
|
+
| --------------------------- | ------------------------ | -------------------------- |
|
|
236
|
+
| "No API key found" | Default model resolution | Specify `model` explicitly |
|
|
237
|
+
| Agent reads wrong files | Skill/cwd pollution | Add `skill: false` |
|
|
238
|
+
| Parallel timeout (exit 143) | Cross-provider mixing | Same-provider models only |
|
|
239
|
+
| Subagent hangs | Provider instability | Try different model id |
|
|
240
|
+
|
|
241
|
+
Structural-audit mode: for coherence/clarity checks only (not empirical behavior), mark the request with _"structural-audit mode: check textual coherence only, do not execute."_ Cannot count toward consecutive-clear convergence.
|
package/prompts/tidy.md
CHANGED
|
@@ -18,12 +18,14 @@ All of these must hold:
|
|
|
18
18
|
|
|
19
19
|
If you would hesitate to ship it by itself, it is not tidying.
|
|
20
20
|
|
|
21
|
+
**Extract boundary:** one extract moves a small cohesive unit with no logic change. Restructuring most of a large function is normal refactor work, not tidying.
|
|
22
|
+
|
|
21
23
|
## Rules
|
|
22
24
|
|
|
23
25
|
1. **Name the tidying** when you describe the change
|
|
24
26
|
2. **One tidying at a time**
|
|
25
27
|
3. **Stay in scope** — only that cleanup
|
|
26
|
-
4. **Tests pass** after the change
|
|
28
|
+
4. **Tests pass** after the change — run the relevant test command and report the result; if you cannot run tests, say why
|
|
27
29
|
|
|
28
30
|
## Agent instructions
|
|
29
31
|
|
package/prompts/translate.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Translate text
|
|
2
|
+
description: Translate text between English and Japanese (auto-detect direction)
|
|
3
3
|
argument-hint: "<text to translate>"
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -8,6 +8,8 @@ You are a professional translator fluent in both English and Japanese. Your task
|
|
|
8
8
|
Guidelines:
|
|
9
9
|
|
|
10
10
|
- Maintain the original intent and nuance of the text
|
|
11
|
+
- Match the source's force and register: prohibitions stay prohibitions, advisories stay advisories, polite requests stay polite; do not soften or strengthen
|
|
12
|
+
- Apply register matching independently to each sentence or clause
|
|
11
13
|
- Use natural, fluent Japanese expressions
|
|
12
14
|
- Preserve technical terms when appropriate
|
|
13
15
|
- Keep formatting and special characters intact
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: make-docs
|
|
3
|
+
description: "Greenfield: create docs/* (9 files), README.md from interview or repo scan. If docs/ or README.md already exists, stop — use doc sync instead. [Triggers: /make-docs, create docs, init docs, generate AGENTS.md]"
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /make-docs — Documentation bootstrap
|
|
8
|
+
|
|
9
|
+
**前提**: `docs/` も `README.md` も無いリポジトリだけ。既にあるなら **update-docs 系に切り替え**。このスキルは初回スキャフォールド用で、勝手に上書きしない。
|
|
10
|
+
|
|
11
|
+
## モード選択(最初に確定・途中で混ぜない)
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
リポジトリ無し / 仕様だけ → Interactive(2〜3 問ずつ)
|
|
15
|
+
リポジトリあり かつ docs と AGENTS が無い → Auto-scan(下の bash)→ 足りない所だけ短命インタビュー
|
|
16
|
+
docs または AGENTS が既にある → **STOP**(同期ワークフローへ)
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Auto-scan(プロジェクトルートで実行)
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
find . -type f -not -path '*/node_modules/*' -not -path '*/.git/*' -not -path '*/dist/*' -not -path '*/.next/*' -not -path '*/build/*' -not -path '*/target/*' | head -100
|
|
23
|
+
cat README.md AGENTS.md 2>/dev/null
|
|
24
|
+
cat package.json 2>/dev/null || cat Cargo.toml 2>/dev/null || cat pyproject.toml 2>/dev/null
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## 現在のプロジェクトのファイルを読み内容に合わせて作成、またはインタラクティブに作成
|
|
28
|
+
|
|
29
|
+
## progresive disclosure
|
|
30
|
+
|
|
31
|
+
- `./docs/requirements.md` (要件定義)
|
|
32
|
+
- `./docs/design.md` (詳細設計、スキーマ設計)
|
|
33
|
+
- `./docs/directory.md` (ディレクトリ構成)
|
|
34
|
+
- `./docs/tech.md` (技術スタック)
|
|
35
|
+
- `./docs/tasks.md` (タスク管理、進捗管理)
|
|
36
|
+
- `./docs/test.md` (テスト設計、テストガイド)
|
|
37
|
+
- `./docs/security.md` (セキュリティ設計)
|
|
38
|
+
- `./docs/problems.md` (注意点、落とし穴)
|
|
39
|
+
- `./docs/references.md` (参考文献、サンプルコード)
|
|
40
|
+
|
|
41
|
+
## テーブル, mermaidダイアグラム
|
|
42
|
+
|
|
43
|
+
- 必要に応じてtasks.md と連動した `ROADMAP.md` も作成
|