@jeffober/thatch 0.1.16 → 0.1.18
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/README.md +38 -16
- package/artifacts/skills/pr-description.md +360 -0
- package/artifacts/skills/split-overlarge-pr.md +112 -0
- package/artifacts/skills/ticket-description.md +399 -0
- package/bin/thatch +1 -1
- package/docs/dev/README.md +42 -18
- package/docs/dev/gotchas.md +27 -0
- package/docs/dev/mcp-parity.md +17 -10
- package/docs/dev/setup-and-hooks.md +4 -4
- package/docs/dev/skills.md +6 -3
- package/docs/qa/README.md +1 -1
- package/docs/qa/use-cases/README.md +4 -2
- package/docs/qa/use-cases/UC-003-extraction-nudge.md +17 -4
- package/docs/qa/use-cases/UC-005-setup-install.md +2 -2
- package/docs/qa/use-cases/UC-006-cursor-hook-lifecycle.md +4 -3
- package/docs/qa/use-cases/UC-009-flush-tools-tiers.md +3 -1
- package/docs/qa/use-cases/UC-014-skill-install-drift.md +3 -3
- package/docs/qa/use-cases/UC-016-concurrent-session-isolation.md +4 -3
- package/docs/qa/use-cases/UC-019-archived-memory-lifecycle.md +36 -0
- package/docs/qa/use-cases/UC-020-extraction-escalation.md +38 -0
- package/docs/user/README.md +27 -5
- package/package.json +1 -1
- package/src/extract-queue.ts +0 -7
- package/src/extraction.ts +18 -5
- package/src/index.ts +42 -20
- package/src/mcp.ts +2 -1
- package/src/prompts.ts +35 -1
- package/src/setup.ts +1 -1
- package/src/skills.ts +3 -0
package/src/prompts.ts
CHANGED
|
@@ -6,7 +6,8 @@ knowledge so future sessions can build on what you've already learned.
|
|
|
6
6
|
|
|
7
7
|
Tools: thatch_memory_remember, thatch_memory_recall, thatch_memory_list,
|
|
8
8
|
thatch_memory_show, thatch_memory_forget, thatch_store_list,
|
|
9
|
-
thatch_find_duplicates, thatch_dedup_mark_checked
|
|
9
|
+
thatch_find_duplicates, thatch_dedup_mark_checked,
|
|
10
|
+
thatch_extraction_done
|
|
10
11
|
|
|
11
12
|
## Stores
|
|
12
13
|
|
|
@@ -41,6 +42,9 @@ workflows. The host auto-discovers them, but reach for them proactively:
|
|
|
41
42
|
- \`thatch-session-reflection\` — record what you learned at end of session.
|
|
42
43
|
- \`thatch-fact-extractor\` — extract durable facts from recent tool interactions (auto-triggered by the extraction pipeline).
|
|
43
44
|
- \`thatch-dedup-classifier\` — resolve duplicate memory pairs from \`thatch_find_duplicates\`.
|
|
45
|
+
- \`pr-description\` — draft a PR description using instructional-design scaffolding with bold and italic emphasis on the phrases that carry the meaning, so a reviewer skimming only the emphasized fragments still gets the story.
|
|
46
|
+
- \`ticket-description\` — draft a ticket, issue, or work item (Linear or Jira) using instructional-design scaffolding with bold and italic emphasis for scanning.
|
|
47
|
+
- \`split-overlarge-pr\` — split already-completed work from an overlarge PR into human-reviewable, release-safe PRs targeting main.
|
|
44
48
|
|
|
45
49
|
## When to Write
|
|
46
50
|
|
|
@@ -48,6 +52,14 @@ workflows. The host auto-discovers them, but reach for them proactively:
|
|
|
48
52
|
Save immediately on: feedback, preferences, corrections, emotional signals,
|
|
49
53
|
new project knowledge, conventions, architectural decisions, investigation results.
|
|
50
54
|
|
|
55
|
+
## Before Responding
|
|
56
|
+
|
|
57
|
+
Before composing a final response after substantial work this turn — multiple
|
|
58
|
+
rounds of tool calls for investigation, debugging, or code-writing — check
|
|
59
|
+
whether you've discovered knowledge worth persisting. Use thatch_memory_recall
|
|
60
|
+
to check for duplicates, then thatch_memory_remember for new findings. Then
|
|
61
|
+
deliver your response.
|
|
62
|
+
|
|
51
63
|
## What to Store
|
|
52
64
|
|
|
53
65
|
- **Global store**: user observations, agent personality, system environment
|
|
@@ -174,6 +186,9 @@ workflows. The host auto-discovers them, but reach for them proactively:
|
|
|
174
186
|
- \`thatch-session-reflection\` — record what you learned at end of session.
|
|
175
187
|
- \`thatch-fact-extractor\` — extract durable facts from recent tool interactions (auto-triggered by the extraction pipeline).
|
|
176
188
|
- \`thatch-dedup-classifier\` — resolve duplicate memory pairs from \`find_duplicates\`.
|
|
189
|
+
- \`pr-description\` — draft a PR description using instructional-design scaffolding with bold and italic emphasis on the phrases that carry the meaning, so a reviewer skimming only the emphasized fragments still gets the story.
|
|
190
|
+
- \`ticket-description\` — draft a ticket, issue, or work item (Linear or Jira) using instructional-design scaffolding with bold and italic emphasis for scanning.
|
|
191
|
+
- \`split-overlarge-pr\` — split already-completed work from an overlarge PR into human-reviewable, release-safe PRs targeting main.
|
|
177
192
|
|
|
178
193
|
## When to Write
|
|
179
194
|
|
|
@@ -181,6 +196,14 @@ workflows. The host auto-discovers them, but reach for them proactively:
|
|
|
181
196
|
Save immediately on: feedback, preferences, corrections, emotional signals,
|
|
182
197
|
new project knowledge, conventions, architectural decisions, investigation results.
|
|
183
198
|
|
|
199
|
+
## Before Responding
|
|
200
|
+
|
|
201
|
+
Before composing a final response after substantial work this turn — multiple
|
|
202
|
+
rounds of tool calls for investigation, debugging, or code-writing — check
|
|
203
|
+
whether you've discovered knowledge worth persisting. Use memory_recall to
|
|
204
|
+
check for duplicates, then memory_remember for new findings. Then deliver
|
|
205
|
+
your response.
|
|
206
|
+
|
|
184
207
|
## What to Store
|
|
185
208
|
|
|
186
209
|
- **Global store**: user observations, agent personality, system environment
|
|
@@ -369,6 +392,9 @@ workflows. The host auto-discovers them, but reach for them proactively:
|
|
|
369
392
|
- \`thatch-session-reflection\` — record what you learned at end of session.
|
|
370
393
|
- \`thatch-fact-extractor\` — extract durable facts from recent tool interactions (auto-triggered by the extraction pipeline).
|
|
371
394
|
- \`thatch-dedup-classifier\` — resolve duplicate memory pairs from \`find_duplicates\`.
|
|
395
|
+
- \`pr-description\` — draft a PR description using instructional-design scaffolding with bold and italic emphasis on the phrases that carry the meaning, so a reviewer skimming only the emphasized fragments still gets the story.
|
|
396
|
+
- \`ticket-description\` — draft a ticket, issue, or work item (Linear or Jira) using instructional-design scaffolding with bold and italic emphasis for scanning.
|
|
397
|
+
- \`split-overlarge-pr\` — split already-completed work from an overlarge PR into human-reviewable, release-safe PRs targeting main.
|
|
372
398
|
|
|
373
399
|
## When to Write
|
|
374
400
|
|
|
@@ -376,6 +402,14 @@ workflows. The host auto-discovers them, but reach for them proactively:
|
|
|
376
402
|
Save immediately on: feedback, preferences, corrections, emotional signals,
|
|
377
403
|
new project knowledge, conventions, architectural decisions, investigation results.
|
|
378
404
|
|
|
405
|
+
## Before Responding
|
|
406
|
+
|
|
407
|
+
Before composing a final response after substantial work this turn — multiple
|
|
408
|
+
rounds of tool calls for investigation, debugging, or code-writing — check
|
|
409
|
+
whether you've discovered knowledge worth persisting. Use memory_recall to
|
|
410
|
+
check for duplicates, then memory_remember for new findings. Then deliver
|
|
411
|
+
your response.
|
|
412
|
+
|
|
379
413
|
## What to Store
|
|
380
414
|
|
|
381
415
|
- **Global store**: user observations, agent personality, system environment
|
package/src/setup.ts
CHANGED
|
@@ -173,7 +173,7 @@ function writeHooks(path: string, thatchBin: string): void {
|
|
|
173
173
|
// (see src/extract-queue.ts). No stdout — the next model call must not block
|
|
174
174
|
// on a payload that should be invisible to the agent until UserPromptSubmit.
|
|
175
175
|
const bufferCmd = `${thatchBin} buffer-batch`;
|
|
176
|
-
// UserPromptSubmit
|
|
176
|
+
// UserPromptSubmit peeks the queue. With buffered interactions, it prints
|
|
177
177
|
// the extraction nudge carrying the JSON payload; with an empty queue, it
|
|
178
178
|
// falls back to the static write-nudge. Either output is transcript-visible
|
|
179
179
|
// since UserPromptSubmit adds stdout to context.
|
package/src/skills.ts
CHANGED
|
@@ -45,6 +45,9 @@ function loadSharedSkills(): SkillDef[] {
|
|
|
45
45
|
"thatch-change-walkthrough",
|
|
46
46
|
"thatch-code-walkthrough",
|
|
47
47
|
"thatch-session-reflection",
|
|
48
|
+
"pr-description",
|
|
49
|
+
"ticket-description",
|
|
50
|
+
"split-overlarge-pr",
|
|
48
51
|
];
|
|
49
52
|
return names.map((name) => ({ name, content: loadSkillFile(name) }));
|
|
50
53
|
}
|