ai-collab-open-system 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.
- package/.aict/START_HERE.md +127 -0
- package/.aict/WORKSPACE_MANIFEST.json +91 -0
- package/.aict/acceptance/EXAMPLE.synthetic.md +49 -0
- package/.aict/acceptance/FAILURE_MODES.md +40 -0
- package/.aict/acceptance/PROMPT.md +47 -0
- package/.aict/acceptance/README.md +44 -0
- package/.aict/acceptance/TEMPLATE.md +57 -0
- package/.aict/adapters/SHARED_CORE_CONTRACT.md +106 -0
- package/.aict/adapters/claude-code/ADAPTER.md +28 -0
- package/.aict/adapters/cline/ADAPTER.md +28 -0
- package/.aict/adapters/codex/ADAPTER.md +28 -0
- package/.aict/adapters/copilot/ADAPTER.md +28 -0
- package/.aict/adapters/cursor/ADAPTER.md +28 -0
- package/.aict/adapters/windsurf/ADAPTER.md +28 -0
- package/.aict/context/EXAMPLE.synthetic.md +53 -0
- package/.aict/context/FAILURE_MODES.md +40 -0
- package/.aict/context/PROMPT.md +47 -0
- package/.aict/context/README.md +44 -0
- package/.aict/context/TEMPLATE.md +63 -0
- package/.aict/cookbook/README.md +8 -0
- package/.aict/cookbook/bridge-to-a-second-family.md +103 -0
- package/.aict/cookbook/connect-a-tool.md +67 -0
- package/.aict/cookbook/review-a-half-product.md +79 -0
- package/.aict/cookbook/run-a-first-loop.md +81 -0
- package/.aict/examples/README.md +21 -0
- package/.aict/examples/ai-coding-long-task/CASE.md +161 -0
- package/.aict/examples/ai-coding-long-task/artifacts/acceptance-card.md +36 -0
- package/.aict/examples/ai-coding-long-task/artifacts/context-package.md +30 -0
- package/.aict/examples/ai-coding-long-task/artifacts/execution-prompt.md +30 -0
- package/.aict/examples/ai-coding-long-task/artifacts/first-ai-output.md +109 -0
- package/.aict/examples/ai-coding-long-task/artifacts/guard-review.md +40 -0
- package/.aict/examples/ai-coding-long-task/artifacts/handoff-note.md +28 -0
- package/.aict/examples/ai-coding-long-task/artifacts/harvest-seed.md +28 -0
- package/.aict/examples/ai-coding-long-task/artifacts/revised-output.md +62 -0
- package/.aict/examples/content-production-harvest/CASE.md +87 -0
- package/.aict/examples/content-production-harvest/artifacts/acceptance-card.md +28 -0
- package/.aict/examples/content-production-harvest/artifacts/context-package.md +28 -0
- package/.aict/examples/content-production-harvest/artifacts/execution-prompt.md +30 -0
- package/.aict/examples/content-production-harvest/artifacts/guard-review.md +28 -0
- package/.aict/examples/content-production-harvest/artifacts/handoff-note.md +28 -0
- package/.aict/examples/content-production-harvest/artifacts/harvest-seed.md +28 -0
- package/.aict/examples/multi-tool-collaboration/CASE.md +87 -0
- package/.aict/examples/multi-tool-collaboration/artifacts/acceptance-card.md +28 -0
- package/.aict/examples/multi-tool-collaboration/artifacts/context-package.md +28 -0
- package/.aict/examples/multi-tool-collaboration/artifacts/execution-prompt.md +30 -0
- package/.aict/examples/multi-tool-collaboration/artifacts/guard-review.md +28 -0
- package/.aict/examples/multi-tool-collaboration/artifacts/handoff-note.md +28 -0
- package/.aict/examples/multi-tool-collaboration/artifacts/harvest-seed.md +28 -0
- package/.aict/examples/personal-judgment-growth-assistant/CASE.md +87 -0
- package/.aict/examples/personal-judgment-growth-assistant/artifacts/acceptance-card.md +28 -0
- package/.aict/examples/personal-judgment-growth-assistant/artifacts/context-package.md +28 -0
- package/.aict/examples/personal-judgment-growth-assistant/artifacts/execution-prompt.md +30 -0
- package/.aict/examples/personal-judgment-growth-assistant/artifacts/guard-review.md +28 -0
- package/.aict/examples/personal-judgment-growth-assistant/artifacts/handoff-note.md +28 -0
- package/.aict/examples/personal-judgment-growth-assistant/artifacts/harvest-seed.md +28 -0
- package/.aict/examples/research-knowledge-synthesis/CASE.md +87 -0
- package/.aict/examples/research-knowledge-synthesis/artifacts/acceptance-card.md +28 -0
- package/.aict/examples/research-knowledge-synthesis/artifacts/context-package.md +28 -0
- package/.aict/examples/research-knowledge-synthesis/artifacts/execution-prompt.md +30 -0
- package/.aict/examples/research-knowledge-synthesis/artifacts/guard-review.md +28 -0
- package/.aict/examples/research-knowledge-synthesis/artifacts/handoff-note.md +28 -0
- package/.aict/examples/research-knowledge-synthesis/artifacts/harvest-seed.md +28 -0
- package/.aict/guard/EXAMPLE.synthetic.md +51 -0
- package/.aict/guard/FAILURE_MODES.md +40 -0
- package/.aict/guard/PROMPT.md +47 -0
- package/.aict/guard/README.md +44 -0
- package/.aict/guard/TEMPLATE.md +60 -0
- package/.aict/handoff/EXAMPLE.synthetic.md +51 -0
- package/.aict/handoff/FAILURE_MODES.md +40 -0
- package/.aict/handoff/PROMPT.md +47 -0
- package/.aict/handoff/README.md +44 -0
- package/.aict/handoff/TEMPLATE.md +60 -0
- package/.aict/harvest/EXAMPLE.synthetic.md +51 -0
- package/.aict/harvest/FAILURE_MODES.md +40 -0
- package/.aict/harvest/PROMPT.md +47 -0
- package/.aict/harvest/README.md +44 -0
- package/.aict/harvest/TEMPLATE.md +60 -0
- package/.aict/mechanisms/README.md +34 -0
- package/.aict/mechanisms/anti-drift-partner/EXAMPLE.synthetic.md +46 -0
- package/.aict/mechanisms/anti-drift-partner/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/anti-drift-partner/PROMPT.md +75 -0
- package/.aict/mechanisms/anti-drift-partner/README.md +82 -0
- package/.aict/mechanisms/anti-drift-partner/TEMPLATE.md +74 -0
- package/.aict/mechanisms/blind-spot-scan/EXAMPLE.synthetic.md +39 -0
- package/.aict/mechanisms/blind-spot-scan/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/blind-spot-scan/PROMPT.md +72 -0
- package/.aict/mechanisms/blind-spot-scan/README.md +79 -0
- package/.aict/mechanisms/blind-spot-scan/TEMPLATE.md +70 -0
- package/.aict/mechanisms/collaboration-coach/EXAMPLE.synthetic.md +40 -0
- package/.aict/mechanisms/collaboration-coach/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/collaboration-coach/PROMPT.md +72 -0
- package/.aict/mechanisms/collaboration-coach/README.md +79 -0
- package/.aict/mechanisms/collaboration-coach/TEMPLATE.md +61 -0
- package/.aict/mechanisms/do-not-handle-yet/EXAMPLE.synthetic.md +15 -0
- package/.aict/mechanisms/do-not-handle-yet/FAILURE_MODES.md +16 -0
- package/.aict/mechanisms/do-not-handle-yet/PROMPT.md +41 -0
- package/.aict/mechanisms/do-not-handle-yet/README.md +30 -0
- package/.aict/mechanisms/do-not-handle-yet/TEMPLATE.md +38 -0
- package/.aict/mechanisms/dual-guard/EXAMPLE.synthetic.md +54 -0
- package/.aict/mechanisms/dual-guard/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/dual-guard/PROMPT.md +76 -0
- package/.aict/mechanisms/dual-guard/README.md +81 -0
- package/.aict/mechanisms/dual-guard/TEMPLATE.md +73 -0
- package/.aict/mechanisms/feedback-absorption-ledger/EXAMPLE.synthetic.md +49 -0
- package/.aict/mechanisms/feedback-absorption-ledger/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/feedback-absorption-ledger/PROMPT.md +74 -0
- package/.aict/mechanisms/feedback-absorption-ledger/README.md +81 -0
- package/.aict/mechanisms/feedback-absorption-ledger/TEMPLATE.md +69 -0
- package/.aict/mechanisms/half-product-review/EXAMPLE.synthetic.md +15 -0
- package/.aict/mechanisms/half-product-review/FAILURE_MODES.md +16 -0
- package/.aict/mechanisms/half-product-review/PROMPT.md +41 -0
- package/.aict/mechanisms/half-product-review/README.md +30 -0
- package/.aict/mechanisms/half-product-review/TEMPLATE.md +38 -0
- package/.aict/mechanisms/handoff-abc/EXAMPLE.synthetic.md +47 -0
- package/.aict/mechanisms/handoff-abc/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/handoff-abc/PROMPT.md +75 -0
- package/.aict/mechanisms/handoff-abc/README.md +82 -0
- package/.aict/mechanisms/handoff-abc/TEMPLATE.md +60 -0
- package/.aict/mechanisms/harvest-and-erc/EXAMPLE.synthetic.md +43 -0
- package/.aict/mechanisms/harvest-and-erc/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/harvest-and-erc/PROMPT.md +74 -0
- package/.aict/mechanisms/harvest-and-erc/README.md +81 -0
- package/.aict/mechanisms/harvest-and-erc/TEMPLATE.md +60 -0
- package/.aict/mechanisms/honest-calibration/EXAMPLE.synthetic.md +43 -0
- package/.aict/mechanisms/honest-calibration/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/honest-calibration/PROMPT.md +74 -0
- package/.aict/mechanisms/honest-calibration/README.md +81 -0
- package/.aict/mechanisms/honest-calibration/TEMPLATE.md +66 -0
- package/.aict/mechanisms/one-click-dispatch/EXAMPLE.synthetic.md +15 -0
- package/.aict/mechanisms/one-click-dispatch/FAILURE_MODES.md +16 -0
- package/.aict/mechanisms/one-click-dispatch/PROMPT.md +41 -0
- package/.aict/mechanisms/one-click-dispatch/README.md +30 -0
- package/.aict/mechanisms/one-click-dispatch/TEMPLATE.md +38 -0
- package/.aict/mechanisms/plain-language-first-screen/EXAMPLE.synthetic.md +15 -0
- package/.aict/mechanisms/plain-language-first-screen/FAILURE_MODES.md +16 -0
- package/.aict/mechanisms/plain-language-first-screen/PROMPT.md +41 -0
- package/.aict/mechanisms/plain-language-first-screen/README.md +30 -0
- package/.aict/mechanisms/plain-language-first-screen/TEMPLATE.md +38 -0
- package/.aict/mechanisms/root-cause-brake/EXAMPLE.synthetic.md +55 -0
- package/.aict/mechanisms/root-cause-brake/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/root-cause-brake/PROMPT.md +73 -0
- package/.aict/mechanisms/root-cause-brake/README.md +79 -0
- package/.aict/mechanisms/root-cause-brake/TEMPLATE.md +74 -0
- package/.aict/mechanisms/scout-review-controller/EXAMPLE.synthetic.md +15 -0
- package/.aict/mechanisms/scout-review-controller/FAILURE_MODES.md +16 -0
- package/.aict/mechanisms/scout-review-controller/PROMPT.md +41 -0
- package/.aict/mechanisms/scout-review-controller/README.md +30 -0
- package/.aict/mechanisms/scout-review-controller/TEMPLATE.md +38 -0
- package/.aict/mechanisms/single-tool-guard/EXAMPLE.synthetic.md +54 -0
- package/.aict/mechanisms/single-tool-guard/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/single-tool-guard/PROMPT.md +76 -0
- package/.aict/mechanisms/single-tool-guard/README.md +83 -0
- package/.aict/mechanisms/single-tool-guard/TEMPLATE.md +75 -0
- package/.aict/mechanisms/task-splitting/EXAMPLE.synthetic.md +53 -0
- package/.aict/mechanisms/task-splitting/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/task-splitting/PROMPT.md +72 -0
- package/.aict/mechanisms/task-splitting/README.md +79 -0
- package/.aict/mechanisms/task-splitting/TEMPLATE.md +76 -0
- package/.aict/modes/README.md +11 -0
- package/.aict/modes/execute.md +31 -0
- package/.aict/modes/handoff.md +29 -0
- package/.aict/modes/harvest.md +30 -0
- package/.aict/modes/review.md +28 -0
- package/.aict/modes/shape.md +34 -0
- package/.aict/privacy/COMMERCIAL_BOUNDARY.md +34 -0
- package/.aict/privacy/PRIVACY.md +36 -0
- package/.aict/privacy/REDACTION_CHECKLIST.md +12 -0
- package/.aict/profile/CANDIDATES.md +44 -0
- package/.aict/profile/EXAMPLE.synthetic.md +49 -0
- package/.aict/profile/FAILURE_MODES.md +40 -0
- package/.aict/profile/PROMPT.md +47 -0
- package/.aict/profile/README.md +44 -0
- package/.aict/profile/TEMPLATE.md +57 -0
- package/.aict/prompts/acceptance-definition.md +109 -0
- package/.aict/prompts/guard-review.md +116 -0
- package/.aict/prompts/handoff-generation.md +110 -0
- package/.aict/prompts/harvest-extraction.md +110 -0
- package/.aict/prompts/mode-switching.md +66 -0
- package/.aict/prompts/profile-creation.md +66 -0
- package/.aict/prompts/profile-refinement.md +66 -0
- package/.aict/prompts/project-context-packaging.md +113 -0
- package/.aict/prompts/red-team-challenge.md +106 -0
- package/.aict/prompts/rule-update-proposal.md +114 -0
- package/.aict/prompts/workflow-reset.md +109 -0
- package/.aict/roles/README.md +18 -0
- package/.aict/roles/executor.md +34 -0
- package/.aict/roles/harvester.md +33 -0
- package/.aict/roles/owner-controller.md +38 -0
- package/.aict/roles/scout.md +33 -0
- package/.aict/roles/supervisor.md +34 -0
- package/.aict/roles/system-guardian.md +34 -0
- package/.aict/skills/acceptance/SKILL.md +43 -0
- package/.aict/skills/context/SKILL.md +44 -0
- package/.aict/skills/evidence-pack/SKILL.md +42 -0
- package/.aict/skills/guard/SKILL.md +46 -0
- package/.aict/skills/handoff/SKILL.md +44 -0
- package/.aict/skills/harvest/SKILL.md +44 -0
- package/.aict/skills/mode-switch/SKILL.md +42 -0
- package/.aict/skills/profile/SKILL.md +42 -0
- package/.aict/skills/red-team/SKILL.md +42 -0
- package/.aict/skills/single-tool-guard/SKILL.md +42 -0
- package/.aict/state/CURRENT_STATE.md +13 -0
- package/.aict/state/DECISIONS.md +7 -0
- package/.aict/state/TASK_LOG.md +7 -0
- package/.aict/state/evidence.jsonl +2 -0
- package/.aict/state/learning-ledger.jsonl +1 -0
- package/.aict/state/receipts.jsonl +1 -0
- package/.aict/state/runs.jsonl +1 -0
- package/.aict/state/tasks.jsonl +1 -0
- package/.aict/walkthroughs/10-minute-your-task.md +107 -0
- package/.aict/walkthroughs/10-minute.md +43 -0
- package/.aict/walkthroughs/30-minute.md +22 -0
- package/.aict/walkthroughs/60-minute.md +27 -0
- package/.aict/walkthroughs/synthetic-loop-transcript.md +43 -0
- package/CHANGELOG.md +23 -0
- package/CODE_OF_CONDUCT.md +20 -0
- package/CONTRIBUTING.md +30 -0
- package/KNOWN_LIMITATIONS.md +54 -0
- package/LICENSE +199 -0
- package/PRODUCT_CONTRACT.md +446 -0
- package/README.md +245 -0
- package/RELEASE_CHECKLIST.md +78 -0
- package/SECURITY.md +56 -0
- package/START_HERE.md +89 -0
- package/bin/ai-collab.js +2 -0
- package/docs/DOGFOOD.md +85 -0
- package/docs/FEEDBACK.md +61 -0
- package/docs/FIRST_EXPERIENCE_SPEC.md +32 -0
- package/docs/FREE_VS_PAID.md +53 -0
- package/docs/PUBLIC_BOUNDARY.md +36 -0
- package/docs/PUBLIC_MAPPING.md +178 -0
- package/docs/RELEASE_PRIORITY.md +23 -0
- package/docs/WHY_THIS_EXISTS.md +36 -0
- package/docs/open-system/00-start-here.md +60 -0
- package/docs/open-system/01-ai-collaboration-os.md +33 -0
- package/docs/open-system/02-six-layer-architecture.md +45 -0
- package/docs/open-system/03-role-system.md +33 -0
- package/docs/open-system/04-core-mechanisms.md +34 -0
- package/docs/open-system/05-failure-patterns.md +31 -0
- package/docs/open-system/06-how-to-adapt-to-your-workflow.md +31 -0
- package/package.json +69 -0
- package/privacy-manifest.json +78 -0
- package/privacy-scan.local.json.example +18 -0
- package/scripts/lib/forbidden-in-pack.js +55 -0
- package/scripts/pack-check.js +154 -0
- package/scripts/privacy-scan.js +487 -0
- package/scripts/validate-contract.js +160 -0
- package/src/adapters.js +590 -0
- package/src/bootstrap.js +1184 -0
- package/src/catalog.js +2723 -0
- package/src/cli.js +2899 -0
- package/src/dialogue.js +470 -0
- package/src/i18n.js +1034 -0
- package/src/ledger.js +2011 -0
- package/src/render.js +1381 -0
- package/src/sendmodel.js +452 -0
- package/src/validate.js +1307 -0
- package/src/workspace.js +1679 -0
- package/tests/contract.test.js +8514 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# START_HERE - Open AI Collaboration Workspace
|
|
2
|
+
|
|
3
|
+
This workspace helps you turn messy AI work into visible state: profile, context, acceptance, guard review, handoff, and harvest.
|
|
4
|
+
|
|
5
|
+
AI productivity is a product, not a sum — this workspace gives you the factors beyond the model itself (profile, context, acceptance, guard, handoff, harvest). Why: see docs/WHY_THIS_EXISTS.md.
|
|
6
|
+
|
|
7
|
+
中文:先别背概念。先看同一段混乱输入如何被拆成可执行、可审查、可交接的文件,再复制到自己的任务。
|
|
8
|
+
|
|
9
|
+
## Start with one AI (you only need one tool to begin)
|
|
10
|
+
|
|
11
|
+
You do not need two AI tools to start. With a single AI, this workspace turns "the AI said it's done" into a result that has evidence, can be re-checked, handed off, and harvested — and that alone is most of the value. The completion-claim check routes through `mechanisms/single-tool-guard`: a fresh conversation plus an adversarial reviewer prompt, instead of trusting the same assistant that just wrote the work. This is the front door, not a downgrade.
|
|
12
|
+
|
|
13
|
+
中文:一个AI也能开始:先把"做完了"变成有证据、可复核、可交接、可沉淀的结果。
|
|
14
|
+
|
|
15
|
+
When a second, different model family is available, you can upgrade to the cross-family double guard (`mechanisms/dual-guard`) — an independent review from a different AI family that a single tool cannot give itself (it can only *claim* one — the CLI marks that self-declared and unverified). That is the ceiling, not the entry bar. Don't have a second family yet? `cookbook/bridge-to-a-second-family.md` shows how to stand one up (manual or auto) and route a review across it.
|
|
16
|
+
|
|
17
|
+
中文:有第二个模型族时,可以升级成跨族双守卫。
|
|
18
|
+
|
|
19
|
+
We do not disguise a single-tool self-review as a cross-family pass: the guard level is computed from evidence, not self-asserted. A single tool tops out at L2 (pass-with-risk), and a plain pass requires L3+ with a different model family.
|
|
20
|
+
|
|
21
|
+
中文:我们不会把单工具自审伪装成跨族通过。
|
|
22
|
+
|
|
23
|
+
## Messy input -> structured loop
|
|
24
|
+
|
|
25
|
+
Messy input:
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
I need this task board cleaned up. Add drag-and-drop, maybe keyboard support,
|
|
29
|
+
make it prettier, keep tests passing, and don't rewrite too much.
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Raw AI usually answers with a broad promise.
|
|
33
|
+
|
|
34
|
+
This workspace produces visible state instead:
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
Context: current slice is reorder behavior; visual redesign is out of scope.
|
|
38
|
+
Acceptance: existing data survives; drag and keyboard reorder both need tests.
|
|
39
|
+
Guard: reject completion until keyboard movement has evidence.
|
|
40
|
+
Handoff: mouse and keyboard reorder done and tested, guard accepted; only visual polish unverified.
|
|
41
|
+
Harvest: long coding tasks need acceptance before implementation and guard before handoff.
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## 10-minute path
|
|
45
|
+
|
|
46
|
+
Goal: feel the system immediately. Two ways in; pick one.
|
|
47
|
+
|
|
48
|
+
### Path 1 (recommended): run the loop on your own real task
|
|
49
|
+
|
|
50
|
+
1. Open `walkthroughs/10-minute-your-task.md` and follow its five steps.
|
|
51
|
+
2. You describe one real (lightly redacted) task; the AI returns a boundary card and an acceptance card, so "done" is defined before any work.
|
|
52
|
+
3. You let the AI do only the accepted slice and report what it changed, ran, and did not verify.
|
|
53
|
+
4. You open a fresh chat (ideally a different AI brand) and have it re-check the result against evidence.
|
|
54
|
+
5. You watch the independent re-check reject a claim the evidence does not back, on your own task.
|
|
55
|
+
|
|
56
|
+
### Path 2: watch the prepared demo first
|
|
57
|
+
|
|
58
|
+
Pick this if your task feels too sensitive to paste right now, or you want to see the flow before running it on your own work.
|
|
59
|
+
|
|
60
|
+
1. Open `walkthroughs/10-minute.md` (the demo preview) and follow its five steps.
|
|
61
|
+
2. It drives the prepared case `examples/ai-coding-long-task/CASE.md` and its artifacts.
|
|
62
|
+
3. You copy the context package, acceptance card, and execution prompt into your AI tool.
|
|
63
|
+
4. You run guard review before accepting the answer.
|
|
64
|
+
5. You watch the guard catch a false "done" the prepared case plants, then read the revised output, handoff, and harvest seed — then run Path 1 on your own task.
|
|
65
|
+
|
|
66
|
+
Expected result: you walk one complete loop (context -> acceptance -> first output -> guard -> revised -> handoff -> harvest) and get one reusable artifact.
|
|
67
|
+
|
|
68
|
+
## 30-minute path
|
|
69
|
+
|
|
70
|
+
Goal: adapt one layer to a real task.
|
|
71
|
+
|
|
72
|
+
1. Open `context/TEMPLATE.md` or `acceptance/TEMPLATE.md`.
|
|
73
|
+
2. Fill it for one current task using redacted, local-only material.
|
|
74
|
+
3. Open `adapters/` and choose the adapter for your AI tool.
|
|
75
|
+
4. Paste the shared contract pointer and your filled template into the tool.
|
|
76
|
+
5. Produce one review result or handoff note.
|
|
77
|
+
|
|
78
|
+
Expected result: one real task has a written boundary or done standard.
|
|
79
|
+
|
|
80
|
+
## 60-minute path
|
|
81
|
+
|
|
82
|
+
Goal: run one complete task loop.
|
|
83
|
+
|
|
84
|
+
1. Fill `profile/TEMPLATE.md` lightly.
|
|
85
|
+
2. Fill `context/TEMPLATE.md`.
|
|
86
|
+
3. Fill `acceptance/TEMPLATE.md`.
|
|
87
|
+
4. Use `prompts/guard-review.md` after the first artifact.
|
|
88
|
+
5. Save `handoff/TEMPLATE.md` before stopping.
|
|
89
|
+
6. Extract one reusable lesson with `harvest/TEMPLATE.md`.
|
|
90
|
+
|
|
91
|
+
Expected result: profile/context, acceptance, execution prompt, guard review, handoff, and harvest all exist for one task.
|
|
92
|
+
|
|
93
|
+
## What this is
|
|
94
|
+
|
|
95
|
+
- A complete local workspace you can inspect and modify.
|
|
96
|
+
- A set of prompts, templates, skills, adapters, and synthetic cases.
|
|
97
|
+
- A method for making AI collaboration resumable and reviewable.
|
|
98
|
+
|
|
99
|
+
## What this is not
|
|
100
|
+
|
|
101
|
+
- Not a hosted assistant.
|
|
102
|
+
- Not an autonomous agent framework.
|
|
103
|
+
- Not a cloud memory store.
|
|
104
|
+
- Not a paywall for the basic method.
|
|
105
|
+
|
|
106
|
+
## Want the AI to remind you on its own
|
|
107
|
+
|
|
108
|
+
Tired of remembering to run the guard yourself? Install the adapter into your AI tool's always-on instructions with `node bin/ai-collab.js adapters install --target <repo>` (after publish: `ai-collab adapters install --target <repo>`). It turns on restrained coaching reminders, so the AI prompts you at the key moments - define done, review a completion claim, hand off, harvest. If you only have one tool, the completion-claim check routes through `single-tool-guard` (a fresh adversarial pass in the same tool) instead of a second AI brand.
|
|
109
|
+
|
|
110
|
+
## Where to go next
|
|
111
|
+
|
|
112
|
+
- New task: start with `context/TEMPLATE.md`.
|
|
113
|
+
- Long task: add `acceptance/TEMPLATE.md` before execution.
|
|
114
|
+
- Risky output: run `guard/PROMPT.md`.
|
|
115
|
+
- Switching tools: use `handoff/TEMPLATE.md` plus the adapter for the next tool.
|
|
116
|
+
- Finished loop: write `harvest/TEMPLATE.md`.
|
|
117
|
+
- Want proactive nudges: run `adapters install` (one tool only -> `single-tool-guard`).
|
|
118
|
+
|
|
119
|
+
## 中文 60 分钟搭建
|
|
120
|
+
|
|
121
|
+
1. 先写一个轻量 profile:你希望 AI 怎么配合你,哪些动作必须先问。
|
|
122
|
+
2. 给一个真实任务写 context:目标、现状、约束、不要做什么、还缺什么证据。
|
|
123
|
+
3. 先写 acceptance:怎样才算做完,哪些状态必须打回。
|
|
124
|
+
4. 把 adapter guidance 和相关模板交给你的 AI 工具。
|
|
125
|
+
5. 第一版产物出来后,跑 guard review。
|
|
126
|
+
6. 停下来前写 handoff。
|
|
127
|
+
7. 最后写 harvest,把这次任务里可复用的经验留下。
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "AI Collaboration Open System Workspace",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"localFirst": true,
|
|
5
|
+
"defaultNetworkUse": "none",
|
|
6
|
+
"workspaceDirs": [
|
|
7
|
+
"profile",
|
|
8
|
+
"context",
|
|
9
|
+
"acceptance",
|
|
10
|
+
"guard",
|
|
11
|
+
"handoff",
|
|
12
|
+
"harvest",
|
|
13
|
+
"roles",
|
|
14
|
+
"modes",
|
|
15
|
+
"mechanisms",
|
|
16
|
+
"prompts",
|
|
17
|
+
"skills",
|
|
18
|
+
"adapters",
|
|
19
|
+
"examples",
|
|
20
|
+
"cookbook",
|
|
21
|
+
"state",
|
|
22
|
+
"privacy"
|
|
23
|
+
],
|
|
24
|
+
"layers": [
|
|
25
|
+
"profile",
|
|
26
|
+
"context",
|
|
27
|
+
"acceptance",
|
|
28
|
+
"guard",
|
|
29
|
+
"handoff",
|
|
30
|
+
"harvest"
|
|
31
|
+
],
|
|
32
|
+
"mechanisms": [
|
|
33
|
+
"dual-guard",
|
|
34
|
+
"scout-review-controller",
|
|
35
|
+
"one-click-dispatch",
|
|
36
|
+
"task-splitting",
|
|
37
|
+
"anti-drift-partner",
|
|
38
|
+
"blind-spot-scan",
|
|
39
|
+
"root-cause-brake",
|
|
40
|
+
"half-product-review",
|
|
41
|
+
"handoff-abc",
|
|
42
|
+
"harvest-and-erc",
|
|
43
|
+
"do-not-handle-yet",
|
|
44
|
+
"plain-language-first-screen",
|
|
45
|
+
"honest-calibration",
|
|
46
|
+
"feedback-absorption-ledger",
|
|
47
|
+
"collaboration-coach",
|
|
48
|
+
"single-tool-guard"
|
|
49
|
+
],
|
|
50
|
+
"prompts": [
|
|
51
|
+
"profile-creation.md",
|
|
52
|
+
"profile-refinement.md",
|
|
53
|
+
"project-context-packaging.md",
|
|
54
|
+
"acceptance-definition.md",
|
|
55
|
+
"guard-review.md",
|
|
56
|
+
"red-team-challenge.md",
|
|
57
|
+
"handoff-generation.md",
|
|
58
|
+
"harvest-extraction.md",
|
|
59
|
+
"mode-switching.md",
|
|
60
|
+
"workflow-reset.md",
|
|
61
|
+
"rule-update-proposal.md"
|
|
62
|
+
],
|
|
63
|
+
"skills": [
|
|
64
|
+
"profile",
|
|
65
|
+
"context",
|
|
66
|
+
"acceptance",
|
|
67
|
+
"guard",
|
|
68
|
+
"evidence-pack",
|
|
69
|
+
"single-tool-guard",
|
|
70
|
+
"handoff",
|
|
71
|
+
"harvest",
|
|
72
|
+
"red-team",
|
|
73
|
+
"mode-switch"
|
|
74
|
+
],
|
|
75
|
+
"adapters": [
|
|
76
|
+
"claude-code",
|
|
77
|
+
"codex",
|
|
78
|
+
"cursor",
|
|
79
|
+
"windsurf",
|
|
80
|
+
"copilot",
|
|
81
|
+
"cline"
|
|
82
|
+
],
|
|
83
|
+
"syntheticCases": [
|
|
84
|
+
"ai-coding-long-task",
|
|
85
|
+
"content-production-harvest",
|
|
86
|
+
"research-knowledge-synthesis",
|
|
87
|
+
"multi-tool-collaboration",
|
|
88
|
+
"personal-judgment-growth-assistant"
|
|
89
|
+
],
|
|
90
|
+
"firstExperience": "START_HERE.md -> 10/30/60 minute path -> synthetic loop -> real task adaptation"
|
|
91
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Acceptance Filled Synthetic Example
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Make success inspectable by defining observable outcomes, required artifacts, verification steps, and explicit non-acceptance conditions.
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
Use before implementation, writing, research, design, cleanup, or any task where 'looks good' would be too vague.
|
|
10
|
+
|
|
11
|
+
## Input shape
|
|
12
|
+
|
|
13
|
+
Goal, expected artifacts, constraints, quality bar, verification command or manual check, and conditions that would reject the work.
|
|
14
|
+
|
|
15
|
+
## Output shape
|
|
16
|
+
|
|
17
|
+
An acceptance card that a reviewer can use to pass, reject, or request changes.
|
|
18
|
+
|
|
19
|
+
## Copy-paste prompt
|
|
20
|
+
|
|
21
|
+
Use `PROMPT.md` with the synthetic input below.
|
|
22
|
+
|
|
23
|
+
## Blank template
|
|
24
|
+
|
|
25
|
+
Use `TEMPLATE.md` for your own task.
|
|
26
|
+
|
|
27
|
+
## Filled synthetic example
|
|
28
|
+
|
|
29
|
+
Task: Create a reusable onboarding checklist for a synthetic notes app.
|
|
30
|
+
|
|
31
|
+
Deliverables: One checklist, one example run, one review note.
|
|
32
|
+
|
|
33
|
+
Pass criteria: A new user can complete first note creation without reading strategy prose.
|
|
34
|
+
|
|
35
|
+
Required checks: Run through the checklist using the synthetic case.
|
|
36
|
+
|
|
37
|
+
Rejected states: Only a theory doc exists; no concrete user path.
|
|
38
|
+
|
|
39
|
+
Evidence needed: Completed example artifact and reviewer note.
|
|
40
|
+
|
|
41
|
+
Owner decision needed: Whether to include account creation in the first loop.
|
|
42
|
+
|
|
43
|
+
## Common failure modes
|
|
44
|
+
|
|
45
|
+
See `FAILURE_MODES.md`.
|
|
46
|
+
|
|
47
|
+
## How to hand it to Claude Code / Codex / Cursor / Windsurf / Copilot / Cline
|
|
48
|
+
|
|
49
|
+
Paste this example into any tool with `../adapters/SHARED_CORE_CONTRACT.md` to see the expected shape.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Acceptance Common Failure Modes
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Make success inspectable by defining observable outcomes, required artifacts, verification steps, and explicit non-acceptance conditions.
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
Read this before trusting a acceptance artifact.
|
|
10
|
+
|
|
11
|
+
## Input shape
|
|
12
|
+
|
|
13
|
+
The artifact plus the original context and acceptance card.
|
|
14
|
+
|
|
15
|
+
## Output shape
|
|
16
|
+
|
|
17
|
+
A short list of risks to fix before reuse.
|
|
18
|
+
|
|
19
|
+
## Copy-paste prompt
|
|
20
|
+
|
|
21
|
+
Ask your AI tool: "Check this acceptance artifact against the failure modes below and name the first concrete fix."
|
|
22
|
+
|
|
23
|
+
## Blank template
|
|
24
|
+
|
|
25
|
+
Use `TEMPLATE.md` to rewrite the artifact.
|
|
26
|
+
|
|
27
|
+
## Filled synthetic example
|
|
28
|
+
|
|
29
|
+
Use `EXAMPLE.synthetic.md` to compare a safe example.
|
|
30
|
+
|
|
31
|
+
## Common failure modes
|
|
32
|
+
|
|
33
|
+
- Defining acceptance after the answer is already written.
|
|
34
|
+
- Using subjective phrases like polished, robust, or complete without evidence.
|
|
35
|
+
- Skipping rejected states.
|
|
36
|
+
- Treating tests as proof when they do not cover the stated behavior.
|
|
37
|
+
|
|
38
|
+
## How to hand it to Claude Code / Codex / Cursor / Windsurf / Copilot / Cline
|
|
39
|
+
|
|
40
|
+
Paste this file after the artifact and ask for findings ordered by risk.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Acceptance Prompt
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Make success inspectable by defining observable outcomes, required artifacts, verification steps, and explicit non-acceptance conditions.
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
Use before implementation, writing, research, design, cleanup, or any task where 'looks good' would be too vague.
|
|
10
|
+
|
|
11
|
+
## Input shape
|
|
12
|
+
|
|
13
|
+
Goal, expected artifacts, constraints, quality bar, verification command or manual check, and conditions that would reject the work.
|
|
14
|
+
|
|
15
|
+
## Output shape
|
|
16
|
+
|
|
17
|
+
An acceptance card that a reviewer can use to pass, reject, or request changes.
|
|
18
|
+
|
|
19
|
+
## Copy-paste prompt
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
Write an acceptance card for this task. Define concrete deliverables, pass criteria, required checks, rejected states, and evidence needed before claiming completion. Do not rely on vibes or intent.
|
|
23
|
+
|
|
24
|
+
Input:
|
|
25
|
+
[paste your redacted task material here]
|
|
26
|
+
|
|
27
|
+
Output shape:
|
|
28
|
+
An acceptance card that a reviewer can use to pass, reject, or request changes.
|
|
29
|
+
|
|
30
|
+
Rules:
|
|
31
|
+
- Keep private material local and redacted.
|
|
32
|
+
- Label facts and assumptions.
|
|
33
|
+
- If information is missing, ask at most three concrete questions.
|
|
34
|
+
- Make the result usable in Claude Code / Codex / Cursor / Windsurf / Copilot / Cline.
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Blank template
|
|
38
|
+
|
|
39
|
+
Use `TEMPLATE.md`.
|
|
40
|
+
|
|
41
|
+
## Filled synthetic example
|
|
42
|
+
|
|
43
|
+
Use `EXAMPLE.synthetic.md`.
|
|
44
|
+
|
|
45
|
+
## Common failure modes
|
|
46
|
+
|
|
47
|
+
Use `FAILURE_MODES.md`.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Acceptance
|
|
2
|
+
|
|
3
|
+
What done means before work starts.
|
|
4
|
+
|
|
5
|
+
中文:先定义完成标准,再让 AI 干活。
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Make success inspectable by defining observable outcomes, required artifacts, verification steps, and explicit non-acceptance conditions.
|
|
10
|
+
|
|
11
|
+
## When to use
|
|
12
|
+
|
|
13
|
+
Use before implementation, writing, research, design, cleanup, or any task where 'looks good' would be too vague.
|
|
14
|
+
|
|
15
|
+
## Input shape
|
|
16
|
+
|
|
17
|
+
Goal, expected artifacts, constraints, quality bar, verification command or manual check, and conditions that would reject the work.
|
|
18
|
+
|
|
19
|
+
## Output shape
|
|
20
|
+
|
|
21
|
+
An acceptance card that a reviewer can use to pass, reject, or request changes.
|
|
22
|
+
|
|
23
|
+
## Copy-paste prompt
|
|
24
|
+
|
|
25
|
+
See `PROMPT.md`. The prompt is designed to work in Claude Code / Codex / Cursor / Windsurf / Copilot / Cline.
|
|
26
|
+
|
|
27
|
+
## Blank template
|
|
28
|
+
|
|
29
|
+
See `TEMPLATE.md`.
|
|
30
|
+
|
|
31
|
+
## Filled synthetic example
|
|
32
|
+
|
|
33
|
+
See `EXAMPLE.synthetic.md`.
|
|
34
|
+
|
|
35
|
+
## Common failure modes
|
|
36
|
+
|
|
37
|
+
See `FAILURE_MODES.md`.
|
|
38
|
+
|
|
39
|
+
## How to hand it to Claude Code / Codex / Cursor / Windsurf / Copilot / Cline
|
|
40
|
+
|
|
41
|
+
1. Open the adapter for your tool in `../adapters/`.
|
|
42
|
+
2. Include `../adapters/SHARED_CORE_CONTRACT.md`.
|
|
43
|
+
3. Paste this layer's `PROMPT.md` plus either `TEMPLATE.md` or `EXAMPLE.synthetic.md`.
|
|
44
|
+
4. Ask the tool to return the layer's output shape exactly.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Acceptance Template
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Make success inspectable by defining observable outcomes, required artifacts, verification steps, and explicit non-acceptance conditions.
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
Use before implementation, writing, research, design, cleanup, or any task where 'looks good' would be too vague.
|
|
10
|
+
|
|
11
|
+
## Input shape
|
|
12
|
+
|
|
13
|
+
Goal, expected artifacts, constraints, quality bar, verification command or manual check, and conditions that would reject the work.
|
|
14
|
+
|
|
15
|
+
## Output shape
|
|
16
|
+
|
|
17
|
+
An acceptance card that a reviewer can use to pass, reject, or request changes.
|
|
18
|
+
|
|
19
|
+
## Copy-paste prompt
|
|
20
|
+
|
|
21
|
+
Open `PROMPT.md` and paste this completed template below it.
|
|
22
|
+
|
|
23
|
+
## Blank template
|
|
24
|
+
|
|
25
|
+
### Task:
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Deliverables:
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### Pass criteria:
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Required checks:
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
### Rejected states:
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
### Evidence needed:
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### Owner decision needed:
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
## Filled synthetic example
|
|
48
|
+
|
|
49
|
+
See `EXAMPLE.synthetic.md`.
|
|
50
|
+
|
|
51
|
+
## Common failure modes
|
|
52
|
+
|
|
53
|
+
See `FAILURE_MODES.md`.
|
|
54
|
+
|
|
55
|
+
## How to hand it to Claude Code / Codex / Cursor / Windsurf / Copilot / Cline
|
|
56
|
+
|
|
57
|
+
Use the adapter in `../adapters/` and include the shared core contract.
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Shared Core Contract
|
|
2
|
+
|
|
3
|
+
All adapters in this workspace point here. Do not maintain six different rule systems.
|
|
4
|
+
|
|
5
|
+
## Core loop
|
|
6
|
+
|
|
7
|
+
1. Profile - how the assistant adapts to the user.
|
|
8
|
+
2. Context - what the task boundary is.
|
|
9
|
+
3. Acceptance - what done means.
|
|
10
|
+
4. Guard / Review - how output is challenged before trust.
|
|
11
|
+
5. Handoff - how the next session resumes.
|
|
12
|
+
6. Harvest - what becomes reusable knowledge or material.
|
|
13
|
+
|
|
14
|
+
## Operating rules
|
|
15
|
+
|
|
16
|
+
- Work local-first. Do not upload user content by default.
|
|
17
|
+
- Keep private material out of examples.
|
|
18
|
+
- Label facts, assumptions, decisions, and unverified claims.
|
|
19
|
+
- Use synthetic cases for public material.
|
|
20
|
+
- Paid help may calibrate or save time, but the generic method is open.
|
|
21
|
+
|
|
22
|
+
## Tool handoff shape
|
|
23
|
+
|
|
24
|
+
When handing this to Claude Code / Codex / Cursor / Windsurf / Copilot / Cline, include:
|
|
25
|
+
|
|
26
|
+
1. This shared core contract.
|
|
27
|
+
2. The relevant layer template.
|
|
28
|
+
3. The task context or synthetic case.
|
|
29
|
+
4. The acceptance card if work will be judged.
|
|
30
|
+
5. The handoff note if another tool will continue.
|
|
31
|
+
|
|
32
|
+
## Coaching layer (proactive reminders)
|
|
33
|
+
|
|
34
|
+
Do not wait to be asked. At these collaboration moments, proactively remind the user of the matching step — briefly, once per moment, then continue:
|
|
35
|
+
|
|
36
|
+
1. Task start (a new task or vague idea arrives): set a context boundary and acceptance before building.
|
|
37
|
+
2. Pre-execution (about to act before "done" is defined): define the acceptance card first.
|
|
38
|
+
3. Completion claim (the assistant says "done / finished / shipped"): run a guard review before trusting it. One model family only -> run `single-tool-guard` (new conversation + adversarial prompt). A second, different family available -> run `dual-guard`. A multi-tool setup -> run the full fusion review.
|
|
39
|
+
4. Long thread / tool switch (context is getting long, or work is moving to another tool): generate a handoff instead of relying on chat memory.
|
|
40
|
+
5. Reusable insight (a judgment, method, or lesson worth keeping appears): harvest it into a card.
|
|
41
|
+
6. Repeated preference (the same preference shows up several times): offer it as a profile-update candidate.
|
|
42
|
+
|
|
43
|
+
### Restraint (default standard — this is the line that keeps the system installed)
|
|
44
|
+
|
|
45
|
+
- **light** — prompt only at the two highest-risk nodes: completion-claim and tool-switch.
|
|
46
|
+
- **standard (DEFAULT)** — fire at nodes 1, 3, 4, 6; fold node 2 into the task-start reminder (skip it if acceptance was already set) and node 5 into a natural pause rather than a separate interruption. Count "once per moment" by task phase, not by node, so the start of one task is one reminder — do not stack reminders on back-to-back turns at a task's opening. Never every turn, never lecture theory.
|
|
47
|
+
- **strict** — prompt at all six nodes, every time they fire.
|
|
48
|
+
|
|
49
|
+
The user switches with `coach: light` / `coach: standard` / `coach: strict`. Over-prompting is the fastest way to get the whole system uninstalled. Restraint is not a suggestion, it is a hard rule. Default to standard. A reminder that fires every turn is a failure mode, not thoroughness.
|
|
50
|
+
|
|
51
|
+
### Keyword-triggered modes (the user can pull a working mode by name)
|
|
52
|
+
|
|
53
|
+
Separate from the timed reminders above: when the user's message contains one of the trigger words below, switch into the matching mode and stay in it until they switch to another mode or move on to a different topic. These are explicit, on-demand modes — the user is asking for a way of working, not a reminder. Speak in the user's own language and stay plain.
|
|
54
|
+
|
|
55
|
+
- "碰撞模式" / "碰一下" / "陪我想想" / "think with me" -> COLLISION: do not rush to a solution and do not just agree. Collide with their view, poke holes in the logic, and help them think a fuzzy idea clear. Agreeing too fast is the failure mode here.
|
|
56
|
+
- "扫描盲区" / "盲区" / "换个视角" / "blind spots" -> BLIND-SPOT SCAN: deliberately take an outside view — the customer, a competitor, an opponent, or themselves three years from now — to surface the dead angles they cannot see from inside the problem. If a `mechanisms/blind-spot-scan` package is present in the workspace, follow its full method; otherwise run the outside-view scan directly from this description.
|
|
57
|
+
- "红队" / "挑刺" / "red team" -> RED TEAM: take the attacker's worst-case view. Show concretely how their plan can be broken, gamed, or abused, not how it works when everything goes right.
|
|
58
|
+
- "双守卫" / "复核" / "dual guard" -> DUAL GUARD: pull a second opinion, ideally from a different model family, for an independent re-check. The point is that it is not one AI's say-so; if no second family is available, say so plainly rather than dressing up a single-tool self-review as a cross-family pass.
|
|
59
|
+
- "根因" / "root cause" -> ROOT CAUSE: do not patch the surface symptom. Stop and find the underlying root cause first, then decide what to fix.
|
|
60
|
+
|
|
61
|
+
When none of these words appears, ignore this section and behave normally — never force a mode the user did not ask for.
|
|
62
|
+
|
|
63
|
+
### First-run promise (act on this the FIRST time, before anything else)
|
|
64
|
+
|
|
65
|
+
The first time you work with this user after the workspace is installed — on your very first reply, proactively — run the full onboarding script below. Do not wait to be asked. This is a four-step script (install -> scan -> profile + pain points -> harvest), and you run it as a guided conversation, one step at a time, stopping for the user wherever it says to stop.
|
|
66
|
+
|
|
67
|
+
**HARD RULE throughout — PLAIN LANGUAGE.** Never hand the user a technical term. Translate every task title into everyday words in your head before you say it: "auth" -> "login stuff", "payment" -> "money / checkout", "refactor" -> "tidying up the code", "API" -> "the connection between two things". Even a very technical title gets translated first. The whole script is spoken in the user's own language and stays plain — a person who has never written code should follow every sentence.
|
|
68
|
+
|
|
69
|
+
#### Step 0 — Installed (show the canonical intro VERBATIM)
|
|
70
|
+
|
|
71
|
+
Run `ai-collab welcome` (before publish: `node bin/ai-collab.js welcome`) and show its output VERBATIM. Do NOT re-summarize or paraphrase it — the CLI hard-prints the canonical intro (the six layers, the keyword modes, the honest privacy line, the closing question) so it always lands in full instead of being garbled by a re-write. Print it as-is, then STOP and let the user answer the closing question.
|
|
72
|
+
|
|
73
|
+
#### Step 1 — Scan (only after they say go)
|
|
74
|
+
|
|
75
|
+
When they say to scan ("scan" / "go" / "just the X project" / etc.): first state the honesty caveat below, then run the bootstrap for the deterministic facts.
|
|
76
|
+
|
|
77
|
+
Honesty about the scan — you MUST say this before scanning, it is the whole point: the scan is done by YOU, the cloud AI they already use, so the content passes through your provider's servers like any normal chat. Say plainly: this is NOT "zero data leaves your machine" — any tool claiming "absolutely no leak" is bluffing. But it is no more exposure than normally talking to you. The ai-collab tool itself sends nothing to third parties. They can narrow the scope or decline. Default scope: only the currently active project, nothing wider unless they ask.
|
|
78
|
+
|
|
79
|
+
Then run `ai-collab bootstrap --yes` (before publish: `node bin/ai-collab.js bootstrap --yes`) for the DETERMINISTIC facts: which "done"s lack evidence (VERIFY), what is in flight (RESUME), profile clues, high-risk role signals, harvestable lessons. Everything you say from here on is built on these scanned facts plus the conversation you are having now — never on a guess.
|
|
80
|
+
|
|
81
|
+
#### Step 2 — Profile read + collaboration advice + CONFIRM (do this first, one block, then WAIT)
|
|
82
|
+
|
|
83
|
+
Open with a GROUNDED read of who they are at work — "you come across as a … kind of person" — but EVERY claim must cite real scan evidence: their actual task titles (translated to plain words), the "done"s that carried no evidence, the files they re-touched, the pace the scan shows. NEVER an ungrounded personality guess ("you seem like a perfectionist") — that is fortune-telling and it kills trust on the first turn. Name the pattern as a neutral fact, not a flaw ("not careless — just that working solo, nobody was there to hold you to that step").
|
|
84
|
+
|
|
85
|
+
Then add collaboration advice that follows from it: "based on this, working with me will go smoother — for example …" tied to the specific thing you just observed (e.g. "you tell me something is done, I will quietly put together the proof it is actually done before we move on, so you do not have to remember to").
|
|
86
|
+
|
|
87
|
+
Then ask, in their language, "did I get this right?" and STOP. WAIT for them to confirm or correct before you continue — do not roll on into the pain points in the same breath.
|
|
88
|
+
|
|
89
|
+
#### Step 3 — Grounded pain points, ONE AT A TIME
|
|
90
|
+
|
|
91
|
+
From the bootstrap cards, raise ONLY real problems the scan actually found. NEVER invent one. Things the scan canNOT see — over-agreement, plans that went un-reviewed — are NOT raised at all here; silence is correct when there is no scanned evidence. Surface the points one at a time, never as a list.
|
|
92
|
+
|
|
93
|
+
For each point: state the problem grounded in the scanned fact, then give the framework value going forward — and keep it at the framework benefit, do NOT drop into "task X needs fixing":
|
|
94
|
+
- guard will stop you before "done" and ask for the evidence;
|
|
95
|
+
- handoff carries the background across chats and tools, so a new conversation does not start from zero;
|
|
96
|
+
- for high-stakes work you can pull a poke-holes role (red-team / dual-guard / scout) so it is not one AI's say-so.
|
|
97
|
+
|
|
98
|
+
Translate the role name into plain words before you ever say it ("someone whose only job is to try to break the plan"). End each point with "want me to expand on this, or move to the next?" and let them steer.
|
|
99
|
+
|
|
100
|
+
#### Step 4 — Harvest (close the loop on THIS conversation)
|
|
101
|
+
|
|
102
|
+
Recap what THIS conversation actually produced — concretely, not vaguely: the profile they just confirmed, and the one point they cared about most. Offer to save both: the profile -> stored, so every new chat or tool remembers it without you re-explaining; the thing they cared about -> written down as a standing rule that applies from now on. Land on ONE concrete action, not a menu: "want me to save these two now? they take effect from the next time." Close with a warm but GROUNDED outlook — name the specific 2-3 things from THIS chat that will now be different (e.g. "you say done, I will have the proof ready; you switch chats, the background follows; the thing you flagged is now a rule"), never a vague "collaboration will be better".
|
|
103
|
+
|
|
104
|
+
If they decline at any point: give a one-line honest intro and "say the word whenever" — degrade gracefully, do not nag. After this first run, restraint applies (coaching layer above): prompt at the key moments, not every turn.
|
|
105
|
+
|
|
106
|
+
See `mechanisms/collaboration-coach` for the full node map and `mechanisms/single-tool-guard` for the one-tool front-door guard (a real starting guard, capped at L2 — not a passed cross-family gate).
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Claude Code Adapter
|
|
2
|
+
|
|
3
|
+
Use CLAUDE.md or project instructions to point Claude Code at the shared workspace contract.
|
|
4
|
+
|
|
5
|
+
## Shared contract pointer
|
|
6
|
+
|
|
7
|
+
Read `../SHARED_CORE_CONTRACT.md` before acting. This adapter is intentionally thin so the profile, context, acceptance, guard, handoff, and harvest rules do not drift.
|
|
8
|
+
|
|
9
|
+
## How to use
|
|
10
|
+
|
|
11
|
+
1. Attach or paste `../SHARED_CORE_CONTRACT.md`.
|
|
12
|
+
2. Attach the layer file you need, such as `../../context/TEMPLATE.md`.
|
|
13
|
+
3. Attach the current context package or synthetic case.
|
|
14
|
+
4. Ask Claude Code to return the required artifact shape.
|
|
15
|
+
|
|
16
|
+
## Minimal instruction
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
Use the local AI collaboration workspace. Follow SHARED_CORE_CONTRACT.md. For this task, use profile, context, acceptance, guard, handoff, and harvest as explicit files. Do not invent hidden memory. Label assumptions and unverified claims.
|
|
20
|
+
Follow the coaching layer in SHARED_CORE_CONTRACT.md: proactively remind me at key collaboration moments (defining done, reviewing completion claims, handoff, harvest, profile updates), restrained by default.
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## What this adapter must not do
|
|
24
|
+
|
|
25
|
+
- It must not duplicate the full core contract.
|
|
26
|
+
- It must not create a separate rule system.
|
|
27
|
+
- It must not upload private material.
|
|
28
|
+
- It must not overwrite user files silently.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Cline Adapter
|
|
2
|
+
|
|
3
|
+
Use Cline custom instructions plus local files for the same loop.
|
|
4
|
+
|
|
5
|
+
## Shared contract pointer
|
|
6
|
+
|
|
7
|
+
Read `../SHARED_CORE_CONTRACT.md` before acting. This adapter is intentionally thin so the profile, context, acceptance, guard, handoff, and harvest rules do not drift.
|
|
8
|
+
|
|
9
|
+
## How to use
|
|
10
|
+
|
|
11
|
+
1. Attach or paste `../SHARED_CORE_CONTRACT.md`.
|
|
12
|
+
2. Attach the layer file you need, such as `../../context/TEMPLATE.md`.
|
|
13
|
+
3. Attach the current context package or synthetic case.
|
|
14
|
+
4. Ask Cline to return the required artifact shape.
|
|
15
|
+
|
|
16
|
+
## Minimal instruction
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
Use the local AI collaboration workspace. Follow SHARED_CORE_CONTRACT.md. For this task, use profile, context, acceptance, guard, handoff, and harvest as explicit files. Do not invent hidden memory. Label assumptions and unverified claims.
|
|
20
|
+
Follow the coaching layer in SHARED_CORE_CONTRACT.md: proactively remind me at key collaboration moments (defining done, reviewing completion claims, handoff, harvest, profile updates), restrained by default.
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## What this adapter must not do
|
|
24
|
+
|
|
25
|
+
- It must not duplicate the full core contract.
|
|
26
|
+
- It must not create a separate rule system.
|
|
27
|
+
- It must not upload private material.
|
|
28
|
+
- It must not overwrite user files silently.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Codex Adapter
|
|
2
|
+
|
|
3
|
+
Use AGENTS.md or repository instructions to point Codex at the shared workspace contract.
|
|
4
|
+
|
|
5
|
+
## Shared contract pointer
|
|
6
|
+
|
|
7
|
+
Read `../SHARED_CORE_CONTRACT.md` before acting. This adapter is intentionally thin so the profile, context, acceptance, guard, handoff, and harvest rules do not drift.
|
|
8
|
+
|
|
9
|
+
## How to use
|
|
10
|
+
|
|
11
|
+
1. Attach or paste `../SHARED_CORE_CONTRACT.md`.
|
|
12
|
+
2. Attach the layer file you need, such as `../../context/TEMPLATE.md`.
|
|
13
|
+
3. Attach the current context package or synthetic case.
|
|
14
|
+
4. Ask Codex to return the required artifact shape.
|
|
15
|
+
|
|
16
|
+
## Minimal instruction
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
Use the local AI collaboration workspace. Follow SHARED_CORE_CONTRACT.md. For this task, use profile, context, acceptance, guard, handoff, and harvest as explicit files. Do not invent hidden memory. Label assumptions and unverified claims.
|
|
20
|
+
Follow the coaching layer in SHARED_CORE_CONTRACT.md: proactively remind me at key collaboration moments (defining done, reviewing completion claims, handoff, harvest, profile updates), restrained by default.
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## What this adapter must not do
|
|
24
|
+
|
|
25
|
+
- It must not duplicate the full core contract.
|
|
26
|
+
- It must not create a separate rule system.
|
|
27
|
+
- It must not upload private material.
|
|
28
|
+
- It must not overwrite user files silently.
|