nobrainer-tech-flow 0.0.0-stage → 2.4.1

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 (151) hide show
  1. package/.agents/plugins/marketplace.json +20 -0
  2. package/.claude-plugin/marketplace.json +18 -0
  3. package/.claude-plugin/plugin.json +21 -0
  4. package/.codex-plugin/plugin.json +47 -0
  5. package/.opencode/INSTALL.md +37 -0
  6. package/.opencode/plugins/nobrainer-tech-skills.js +66 -0
  7. package/.pi/extensions/nobrainer-tech-skills.js +64 -0
  8. package/AGENTS.md +205 -0
  9. package/CLAUDE.md +205 -0
  10. package/CONTRIBUTING.md +70 -0
  11. package/GEMINI.md +1 -0
  12. package/LICENSE +21 -0
  13. package/README.md +659 -2
  14. package/SECURITY.md +33 -0
  15. package/adapters/bootstrap.md +27 -0
  16. package/assets/nobrainer-tech-logo.svg +1 -0
  17. package/assets/nobrainer-workflow.svg +155 -0
  18. package/assets/plugin-logo.png +0 -0
  19. package/bin/nobrainer-tech-flow.mjs +48 -0
  20. package/docs/BOUNDED_RUNNER.md +60 -0
  21. package/docs/CHAT_PLUGINS.md +29 -0
  22. package/docs/COMPATIBILITY.md +371 -0
  23. package/docs/INSTALL.md +626 -0
  24. package/docs/MIGRATION_TO_FLOW.md +117 -0
  25. package/docs/NAMING.md +39 -0
  26. package/docs/PRIVACY.md +9 -0
  27. package/docs/RELEASING.md +24 -0
  28. package/docs/SESSION_RESTART.md +70 -0
  29. package/docs/SKILL_CURATION.md +124 -0
  30. package/docs/TESTING.md +232 -0
  31. package/docs/TRY_IT.md +109 -0
  32. package/docs/releases/v1.0.0.md +81 -0
  33. package/docs/releases/v1.1.0.md +85 -0
  34. package/docs/releases/v1.10.0.md +34 -0
  35. package/docs/releases/v1.11.0-publication-readback.md +25 -0
  36. package/docs/releases/v1.11.0.md +42 -0
  37. package/docs/releases/v1.12.0.md +30 -0
  38. package/docs/releases/v1.13.0.md +46 -0
  39. package/docs/releases/v1.14.0.md +43 -0
  40. package/docs/releases/v1.14.1.md +21 -0
  41. package/docs/releases/v1.2.0.md +87 -0
  42. package/docs/releases/v1.2.1.md +92 -0
  43. package/docs/releases/v1.3.0-publication-readback.md +69 -0
  44. package/docs/releases/v1.3.0.md +66 -0
  45. package/docs/releases/v1.3.1-publication-readback.md +76 -0
  46. package/docs/releases/v1.3.1.md +59 -0
  47. package/docs/releases/v1.4.0-publication-readback.md +81 -0
  48. package/docs/releases/v1.4.0.md +43 -0
  49. package/docs/releases/v1.5.0-publication-readback.md +76 -0
  50. package/docs/releases/v1.5.0.md +54 -0
  51. package/docs/releases/v1.6.0.md +64 -0
  52. package/docs/releases/v1.6.1-publication-readback.md +53 -0
  53. package/docs/releases/v1.6.1.md +82 -0
  54. package/docs/releases/v1.7.0.md +42 -0
  55. package/docs/releases/v1.7.1-publication-readback.md +64 -0
  56. package/docs/releases/v1.7.1.md +49 -0
  57. package/docs/releases/v1.8.0.md +63 -0
  58. package/docs/releases/v1.8.1.md +32 -0
  59. package/docs/releases/v1.9.0.md +33 -0
  60. package/docs/releases/v2.0.0-candidate.md +28 -0
  61. package/docs/releases/v2.0.0.md +53 -0
  62. package/docs/releases/v2.0.1.md +135 -0
  63. package/docs/releases/v2.0.2.md +189 -0
  64. package/docs/releases/v2.1.0.md +64 -0
  65. package/docs/releases/v2.1.1.md +43 -0
  66. package/docs/releases/v2.2.0.md +64 -0
  67. package/docs/releases/v2.2.1.md +11 -0
  68. package/docs/releases/v2.3.0.md +97 -0
  69. package/docs/releases/v2.3.1.md +71 -0
  70. package/docs/releases/v2.3.2.md +242 -0
  71. package/docs/releases/v2.4.0.md +126 -0
  72. package/docs/releases/v2.4.1.md +63 -0
  73. package/gemini-extension.json +6 -0
  74. package/hooks/claude-hooks.json +17 -0
  75. package/hooks/hooks-cursor.json +10 -0
  76. package/hooks/run-hook.cmd +36 -0
  77. package/hooks/session-start +38 -0
  78. package/package.json +69 -4
  79. package/plugin.json +51 -0
  80. package/scripts/build_plugin.py +50 -0
  81. package/scripts/check_flow_update.py +18 -0
  82. package/scripts/check_public_commit.py +86 -0
  83. package/scripts/fetch_public_refs.py +69 -0
  84. package/scripts/install.py +600 -0
  85. package/scripts/install.sh +1420 -0
  86. package/scripts/install_guards.py +279 -0
  87. package/scripts/install_personalization.py +527 -0
  88. package/scripts/install_skills.py +951 -0
  89. package/scripts/npm_install.py +85 -0
  90. package/scripts/recommend_flow_setup.py +1537 -0
  91. package/scripts/validate_skills.py +465 -0
  92. package/skills/nobrainer-auto-fine-tune/SKILL.md +79 -0
  93. package/skills/nobrainer-auto-fine-tune/references/capacity-audit.md +49 -0
  94. package/skills/nobrainer-autoimprove/SKILL.md +212 -0
  95. package/skills/nobrainer-autoimprove/scripts/count_words.py +22 -0
  96. package/skills/nobrainer-browser/SKILL.md +234 -0
  97. package/skills/nobrainer-browser/references/cdp-profile-restart.md +93 -0
  98. package/skills/nobrainer-build/SKILL.md +173 -0
  99. package/skills/nobrainer-codex-context/SKILL.md +111 -0
  100. package/skills/nobrainer-codex-context/scripts/codex_context.py +175 -0
  101. package/skills/nobrainer-decide/SKILL.md +198 -0
  102. package/skills/nobrainer-dispatcher/SKILL.md +256 -0
  103. package/skills/nobrainer-dispatcher/agents/openai.yaml +4 -0
  104. package/skills/nobrainer-rca/SKILL.md +163 -0
  105. package/skills/nobrainer-research/SKILL.md +131 -0
  106. package/skills/nobrainer-review/SKILL.md +195 -0
  107. package/skills/nobrainer-security/SKILL.md +166 -0
  108. package/skills/nobrainer-sessions/SKILL.md +223 -0
  109. package/skills/nobrainer-sessions/references/evidence-receipt.md +55 -0
  110. package/skills/nobrainer-sessions/references/protocol.md +337 -0
  111. package/skills/nobrainer-sessions/references/session-restart.md +255 -0
  112. package/skills/nobrainer-sessions/scripts/evidence_receipt.py +373 -0
  113. package/skills/nobrainer-sessions/scripts/restart_gate.py +140 -0
  114. package/skills/nobrainer-sessions/scripts/run_bounded.py +390 -0
  115. package/skills/nobrainer-sessions/scripts/session_title.py +43 -0
  116. package/skills/nobrainer-skill-doctor/SKILL.md +149 -0
  117. package/skills/nobrainer-skill-doctor/references/astra.md +19 -0
  118. package/skills/nobrainer-skill-doctor/scripts/audit.py +100 -0
  119. package/skills/nobrainer-skill-doctor/scripts/context_candidates.py +133 -0
  120. package/skills/nobrainer-spec-driven-development/SKILL.md +132 -0
  121. package/skills/nobrainer-spec-driven-development/references/spec-template.md +114 -0
  122. package/skills/nobrainer-team/SKILL.md +165 -0
  123. package/skills/nobrainer-team/references/team-plan.md +64 -0
  124. package/skills/nobrainer-tech-flow/SKILL.md +239 -0
  125. package/skills/nobrainer-tech-flow/VERSION +1 -0
  126. package/skills/nobrainer-tech-flow/references/autopilot.md +72 -0
  127. package/skills/nobrainer-tech-flow/references/codex-routing.md +21 -0
  128. package/skills/nobrainer-tech-flow/references/communication.md +108 -0
  129. package/skills/nobrainer-tech-flow/references/correction-hooks.md +110 -0
  130. package/skills/nobrainer-tech-flow/references/daily-update.md +28 -0
  131. package/skills/nobrainer-tech-flow/references/delivery.md +243 -0
  132. package/skills/nobrainer-tech-flow/references/idea-to-delivery.md +82 -0
  133. package/skills/nobrainer-tech-flow/references/long-run-state.md +209 -0
  134. package/skills/nobrainer-tech-flow/references/model-routing.md +83 -0
  135. package/skills/nobrainer-tech-flow/references/optional-decisions.md +83 -0
  136. package/skills/nobrainer-tech-flow/references/project-start.md +22 -0
  137. package/skills/nobrainer-tech-flow/references/routing.md +125 -0
  138. package/skills/nobrainer-tech-flow/references/setup.md +180 -0
  139. package/skills/nobrainer-tech-flow/references/worktrees.md +138 -0
  140. package/skills/nobrainer-tech-flow/scripts/check_flow_update.py +298 -0
  141. package/skills/nobrainer-tech-flow/scripts/cleanup_worktree.py +327 -0
  142. package/skills/nobrainer-tech-flow/scripts/decision_config.py +107 -0
  143. package/skills/nobrainer-tech-flow/scripts/flow_guard.py +252 -0
  144. package/skills/nobrainer-tech-flow/scripts/typed_decisions.py +210 -0
  145. package/skills/nobrainer-wiki/SKILL.md +164 -0
  146. package/skills/nobrainer-wiki/references/setup.md +88 -0
  147. package/skills/nobrainer-writing/SKILL.md +272 -0
  148. package/skills/nobrainer-writing/agents/openai.yaml +4 -0
  149. package/skills/nobrainer-writing/references/brief-artifacts.md +357 -0
  150. package/skills/nobrainer-writing/references/plain-technical-english.md +76 -0
  151. package/skills/nobrainer-writing/references/research.md +86 -0
package/README.md CHANGED
@@ -1,3 +1,660 @@
1
- # Temporary Holding Version
1
+ <p align="center">
2
+ <a href="https://nobrainer.tech">
3
+ <img src="assets/nobrainer-tech-logo.svg" width="96" alt="NoBrainer Tech logo">
4
+ </a>
5
+ </p>
2
6
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
7
+ <h1 align="center">nobrainer-tech-flow</h1>
8
+
9
+ <p align="center">
10
+ <em>For developers whose coding agent just said "Done."</em>
11
+ </p>
12
+
13
+ <p align="center">
14
+ <strong>From task to done. See what was delivered.</strong><br>
15
+ One workflow with 18 modules that lets your coding agent do the work,<br>
16
+ check it and hand over the evidence. Every release has
17
+ <a href="https://nobrainer.tech/flow/changelog/?nb_from=github-readme">public verification notes</a>.
18
+ </p>
19
+
20
+ <p align="center">
21
+ <a href="https://github.com/nobrainer-tech/nobrainer-tech-flow/actions/workflows/validate.yml"><img alt="Validation" src="https://github.com/nobrainer-tech/nobrainer-tech-flow/actions/workflows/validate.yml/badge.svg"></a>
22
+ <a href="LICENSE"><img alt="MIT License" src="https://img.shields.io/badge/license-MIT-27d8cf.svg"></a>
23
+ <a href="https://github.com/nobrainer-tech/nobrainer-tech-flow/releases/latest"><img alt="Latest release" src="https://img.shields.io/github/v/release/nobrainer-tech/nobrainer-tech-flow"></a>
24
+ </p>
25
+
26
+ <p align="center">
27
+ <a href="#install-safely"><strong>Add to your coding agent</strong></a>
28
+ ·
29
+ <a href="https://nobrainer.tech/flow/?nb_from=github-readme">Launch page</a>
30
+ ·
31
+ <a href="https://nobrainer.tech/flow/compare/?nb_from=github-readme">Compare 50+ tools</a>
32
+ ·
33
+ <a href="https://nobrainer.tech/flow/deep-dive/?nb_from=github-readme">Deep dive</a>
34
+ ·
35
+ <a href="https://www.producthunt.com/products/nobrainer-tech-flow">Product Hunt</a>
36
+ </p>
37
+
38
+ <table>
39
+ <tr>
40
+ <td width="50%" align="center" valign="top">
41
+ <a href="https://nobrainer.tech/flow/assets/flow-reel-universal-1x1.mp4"><picture><source media="(prefers-reduced-motion: reduce)" srcset="https://nobrainer.tech/flow/assets/flow-reel-universal-poster-1x1.png"><img src="https://nobrainer.tech/flow/assets/flow-reel-universal-preview-1x1.webp" alt="50+ tools you could piece together turn into one workflow: nobrainer-tech-flow, from task to done."></picture></a><br>
42
+ <strong>Why?</strong> 50+ tools you could piece together, or one workflow.<br>
43
+ <a href="https://nobrainer.tech/flow/assets/flow-reel-universal-1x1.mp4">Watch with sound (20 s)</a>
44
+ </td>
45
+ <td width="50%" align="center" valign="top">
46
+ <a href="https://nobrainer.tech/flow/assets/flow-done-v2-1x1.mp4"><picture><source media="(prefers-reduced-motion: reduce)" srcset="https://nobrainer.tech/flow/assets/flow-done-v2-poster-1x1.png"><img src="https://nobrainer.tech/flow/assets/flow-done-v2-preview-1x1.webp" alt="Your agent says Done. nobrainer-tech-flow shows what was delivered, the proof, what was not checked and the decision left to you."></picture></a><br>
47
+ <strong>Done?</strong> What was delivered, the proof, what was not checked.<br>
48
+ <a href="https://nobrainer.tech/flow/assets/flow-done-v2-1x1.mp4">Watch with sound (30 s)</a>
49
+ </td>
50
+ </tr>
51
+ </table>
52
+
53
+ - **A handoff you can check.** Each finished task lists what was delivered,
54
+ which checks ran and what was not checked. An optional evidence receipt marks
55
+ a check `STALE` once its input files change, and a behavior-preserving rewrite
56
+ reports `PROVEN`, `PARTLY_PROVEN` or `NOT_PROVEN` for whether the tests would
57
+ catch a change.
58
+ - **A pause before risky commands.** With the Git install, optional Claude Code
59
+ guards ask before `git push --force`, `git reset --hard`, a recursive delete
60
+ outside temporary folders, a production deploy or a publish. A turn that
61
+ changed files and ends without a proof line or an explicit `UNVERIFIED` is
62
+ sent back once. Opt-in, with preview and undo.
63
+ - **Parallel work, checked in one place.** Independent ready parts go to native
64
+ workers; the main session checks each one.
65
+
66
+ Free, MIT. The Git install previews every change and has undo. Your coding client's usage costs still apply.
67
+
68
+ <p align="center">
69
+ Ships adapters for
70
+ <a href="https://github.com/openai/codex">Codex</a>,
71
+ <a href="https://code.claude.com/docs">Claude Code</a>,
72
+ <a href="https://cursor.com/">Cursor</a>,
73
+ <a href="https://github.com/features/copilot/cli">GitHub Copilot CLI</a>,
74
+ <a href="https://opencode.ai/">OpenCode</a>,
75
+ <a href="https://github.com/google-gemini/gemini-cli">Gemini CLI</a>,
76
+ <a href="https://www.kimi.com/code">Kimi Code</a> and
77
+ <a href="https://pi.dev/">Pi</a>.
78
+ See the <a href="docs/COMPATIBILITY.md">per-client compatibility evidence</a> for what has been loaded and tested.
79
+ </p>
80
+
81
+ Start with a task or just an idea. nobrainer-tech-flow clarifies what matters, does the work, and checks the result.
82
+
83
+ In **2.3.0**, non-trivial work delegates every useful independent ready unit to
84
+ native workers within verified capacity and authorized usage. MAIN coordinates,
85
+ advances the critical path, integrates and checks the results. Each audited
86
+ completion can release the next ready unit while other workers continue.
87
+ See the [delegation contract](skills/nobrainer-tech-flow/references/delivery.md#coordinated-team-execution).
88
+
89
+ In **2.2.0**, simple answers stay text. Small diagrams explain relationships;
90
+ interactive HTML is used when controls help you explore a result. The closeout
91
+ states what was delivered, the inspected proof and any unfinished requirement.
92
+ There is no new module, renderer or service. See the
93
+ [communication policy](skills/nobrainer-tech-flow/references/communication.md)
94
+ and [verification record](docs/releases/v2.2.0.md).
95
+
96
+ Agents use plain technical English for operational exchanges; you receive
97
+ natural replies in your requested language. Explicit language and format
98
+ requests take precedence, with commands, conditions and evidence kept intact.
99
+
100
+ Writing defaults to [plain technical English](skills/nobrainer-writing/references/plain-technical-english.md) for English technical artifacts:
101
+ clear steps and consistent terms while keeping exact commands, conditions and uncertainty.
102
+ The mode is informed by ASD-STE100; it does not claim full standard compliance.
103
+
104
+ ## Install and use the plugin
105
+
106
+ Claude Code and Codex add nobrainer-tech-flow as a plugin straight from this
107
+ repository. Any coding agent can use the Git install, which previews every
108
+ change and has undo. Both are under [Install safely](#install-safely). The
109
+ [npm command](docs/INSTALL.md#npm-command) is coming soon: the package is not
110
+ yet published on npm. The [portable plugin ZIP](docs/CHAT_PLUGINS.md) brings the
111
+ same 18 modules to supported ChatGPT/Codex and Claude surfaces. Public directory
112
+ approval remains a separate step.
113
+
114
+ ## How it works
115
+
116
+ ![nobrainer-tech-flow: direct work for clear small tasks; focused clarification, bounded execution and verification when needed](assets/nobrainer-workflow.svg)
117
+
118
+ Small, clear tasks take the quick path. Larger work is scoped, carried through and verified, and the handoff says what was delivered, what was checked and what is left for you to decide.
119
+
120
+ For an idea, [SDD](skills/nobrainer-tech-flow/references/idea-to-delivery.md)
121
+ turns the agreed scope into a spec and checkable acceptance criteria. Ask for
122
+ end-to-end delivery, and those criteria stay attached to execution and evidence.
123
+ Routine choices need no extra prompt; material unknowns stay visible.
124
+ [Try idea to delivery](docs/TRY_IT.md#from-an-idea-to-a-working-result).
125
+
126
+ For a supplied or generated plan, [autopilot](skills/nobrainer-tech-flow/references/autopilot.md)
127
+ works through ready tasks, checks each result, corrects confirmed defects and
128
+ continues to the whole goal. Blocked work stays visible while independent tasks
129
+ advance. [Try a small approved plan](docs/TRY_IT.md#carry-an-approved-plan-through-autopilot).
130
+
131
+ <details>
132
+ <summary><strong>The workflow in detail</strong></summary>
133
+
134
+ New AI skills, workflows and add-ons keep arriving. nobrainer-tech-flow curates
135
+ the useful parts into one maintained path from task to a checked finish.
136
+
137
+ Say **“Use nobrainer-tech-flow”** (or invoke the technical entrypoint by the exact name your client lists for it) to fix code, prepare
138
+ an everyday document, or investigate a problem. Clear tasks go straight to execution;
139
+ meaningful ambiguity gets one focused question round. Done means the agreed
140
+ criteria are met and the result is checked. A real blocker is reported with the
141
+ next unblock action.
142
+
143
+ A quick answer stays a quick answer. The model-neutral workflow uses one plan,
144
+ bounded corrective attempts and a Markdown checkpoint for longer work. Native
145
+ goals, telemetry and client-specific tools are optional. Available native workers
146
+ handle independent ready units; unavailable workers leave safe work in MAIN.
147
+
148
+ **One model is enough.** Optional Jev (remote) and Laya (local) profiles add
149
+ typed suggestions for bounded classification, ranking and evaluation. Setup
150
+ remembers your choice; the default makes no provider calls. Missing access or
151
+ failed requests return to the core workflow. See [setup and usage](skills/nobrainer-tech-flow/references/optional-decisions.md)
152
+ for configuration, data approval and tested platform limits.
153
+
154
+ Team checks whether a task has the capabilities it needs. Research records
155
+ which sources were actually checked; Build names any known limit in an
156
+ accepted simplification. The current task stays central while specialist
157
+ tools remain optional.
158
+
159
+ New source links, public package/plugin IDs and checkout paths use
160
+ `nobrainer-tech-flow`. Existing installations with the previous
161
+ `nobrainer-tech-skills` ID need the reviewed migration path; an installed
162
+ legacy package does not automatically become the new package. See the
163
+ [migration guide](docs/MIGRATION_TO_FLOW.md) and [naming map](docs/NAMING.md).
164
+
165
+ ### GitHub flow chart
166
+
167
+ ```mermaid
168
+ %%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#161B23', 'primaryTextColor': '#F3EEE6', 'primaryBorderColor': '#7F9BFF', 'lineColor': '#D94724', 'secondaryColor': '#0F1319', 'tertiaryColor': '#0F1319', 'fontFamily': 'Inter, system-ui, sans-serif'}}}%%
169
+ flowchart TD
170
+ A[Task or idea; check nobrainer-tech-flow release once today] --> B{Material ambiguity?}
171
+ B -->|yes| C[BUDDY: one focused question round]
172
+ B -->|no| D{Small and clear?}
173
+ C --> D
174
+ D -->|yes| E[Direct answer or edit; check the result]
175
+ D -->|no| F[SCOPE + PLAN: outcome, authority, proof; concise TODO]
176
+ F --> S[Short-term goal from long-term direction]
177
+ F -. SDD requested or justified .-> U[Reviewed spec; acceptance IDs; preserve owner gates]
178
+ U --> G
179
+ S --> G[AUTOPILOT: execute the authorized scope; select ready work and check]
180
+ G --> H[Verify; independent REVIEW when useful]
181
+ H -->|verified defect; attempt budget remains| G
182
+ H -->|acceptance met| I[Audit delegated artifacts and stop owned workers]
183
+ H -->|blocked| J[Checkpoint; report one unblock action]
184
+ E --> K[Deliver evidence and stop; use the requested language]
185
+ I -->|whole-goal DoD met| K
186
+ I -. accepted milestone; goal incomplete .-> P[Update TODO; select next ready milestone]
187
+ P --> G
188
+ J -. independent authorized work remains .-> P
189
+ F -. optional .-> L[Markdown goal for resume]
190
+ G -. every independent ready unit within capacity and quota .-> M[Bounded native subagents; owner-approved model and effort]
191
+ G -. configured shadow only .-> Q[Jev remote or Laya local: advisory typed decisions]
192
+ Q -. unavailable or invalid: core fallback .-> G
193
+ M -->|Plain technical English reports| H
194
+ H -. audited unit; refill ready native slots .-> M
195
+ F -. first project use .-> R[Inspect layers and relevant wiki]
196
+ R --> G
197
+ M -. recurring workload .-> T[Auto Fine Tune: measured worker route]
198
+ T --> M
199
+ L -. context pressure; transfer supported .-> N[Fresh session: same task + started DD-MM]
200
+ N -->|takeover verified; archive old if authorized| G
201
+ G -. entry and milestones .-> O[Date at startup; assess context health]
202
+ O -. safe transfer qualifies .-> N
203
+ L -. unavailable native goals or telemetry .-> G
204
+ ```
205
+
206
+ </details>
207
+
208
+ ## Install safely
209
+
210
+ **Claude Code** (plugin):
211
+
212
+ ```sh
213
+ claude plugin marketplace add nobrainer-tech/nobrainer-tech-flow
214
+ claude plugin install nobrainer-tech-flow@nobrainer-tech
215
+ ```
216
+
217
+ Start with `/nobrainer-tech-flow:nobrainer-tech-flow` or say "Use nobrainer-tech-flow".
218
+ The plugin also adds a small `SessionStart` hook that loads a short bootstrap.
219
+
220
+ **Codex** (plugin):
221
+
222
+ ```sh
223
+ codex plugin marketplace add nobrainer-tech/nobrainer-tech-flow
224
+ codex plugin add nobrainer-tech-flow@nobrainer-tech
225
+ ```
226
+
227
+ Start with `$nobrainer-tech-flow:nobrainer-tech-flow` or say "Use nobrainer-tech-flow".
228
+
229
+ A marketplace added from GitHub follows the default branch. To pin a reviewed
230
+ commit, see [client channels](docs/INSTALL.md#client-channels). The
231
+ [compatibility evidence](docs/COMPATIBILITY.md) lists the tested client versions
232
+ and limits; installing the package does not prove automatic routing.
233
+
234
+ **Any coding agent** (Git install with preview and undo; macOS, Linux and
235
+ Windows, no Python needed): paste this setup prompt into your coding agent. The
236
+ same prompt installs and updates:
237
+
238
+ ```text
239
+ Install nobrainer-tech-flow from https://github.com/nobrainer-tech/nobrainer-tech-flow
240
+ for the coding agent you are, or update it if it is already installed.
241
+
242
+ 1. Keep a copy in ~/.nobrainer-tech-flow: clone the repository there, or run
243
+ git pull there if it already exists. Do not delete that folder later; the
244
+ skills link to it.
245
+ 2. Read the install section of its README and follow the method it gives for
246
+ your client and operating system (docs/INSTALL.md has the details).
247
+ 3. Preview first and show me what will change. Apply only after I agree, and
248
+ do not edit my files beyond what that method does.
249
+ 4. Tell me the undo command, and whether I need to restart you.
250
+ ```
251
+
252
+ Or run it yourself in a terminal (on Windows, in Git Bash):
253
+
254
+ ```sh
255
+ git clone https://github.com/nobrainer-tech/nobrainer-tech-flow ~/.nobrainer-tech-flow
256
+ sh ~/.nobrainer-tech-flow/scripts/install.sh --client claude # preview: changes nothing
257
+ sh ~/.nobrainer-tech-flow/scripts/install.sh --client claude --apply # link the skills, add the block
258
+ ```
259
+
260
+ `--client` is `claude`, `codex`, `opencode` or `copilot`. Cursor, Gemini CLI, Pi and Kimi Code
261
+ use a plugin or extension instead: see their sections in
262
+ [docs/INSTALL.md](docs/INSTALL.md#client-channels). The script links all eighteen skills and adds
263
+ one instruction block, shows the exact text first, refuses anything that is not its own, grants
264
+ no authorization and undoes itself with `--undo --apply`. To update, run `git pull` in
265
+ `~/.nobrainer-tech-flow` and the same two commands again, or paste the prompt again. With Python,
266
+ `python3 scripts/install.py` takes the same flags.
267
+
268
+ **npm:** coming soon. The package is not published yet.
269
+
270
+ **Next step:** in a fresh session, give it one small task with a checkable result:
271
+
272
+ > Use nobrainer-tech-flow. Fix one bug in this project. Reproduce it first, make the
273
+ > smallest correction and run the relevant check. Tell me what changed and
274
+ > what remains unverified.
275
+
276
+ More first tasks, with acceptance criteria: [docs/TRY_IT.md](docs/TRY_IT.md). These are trials, not promised benchmark scores.
277
+
278
+ <details>
279
+ <summary><strong>Install manually from a reviewed commit</strong></summary>
280
+
281
+ Clone a reviewed ref, validate it, preview what would change, then apply:
282
+
283
+ ```bash
284
+ (
285
+ set -u
286
+ : "${NB_REVIEWED_COMMIT:?set a reviewed full 40-character commit SHA}"
287
+ test "${#NB_REVIEWED_COMMIT}" -eq 40 || exit 2
288
+ case "$NB_REVIEWED_COMMIT" in *[!0-9a-f]*) exit 2 ;; esac
289
+ git clone --no-checkout https://github.com/nobrainer-tech/nobrainer-tech-flow.git || exit 3
290
+ cd nobrainer-tech-flow || exit 3
291
+ git checkout --detach "$NB_REVIEWED_COMMIT" || exit 3
292
+ test "$(git rev-parse HEAD)" = "$NB_REVIEWED_COMMIT" || exit 3
293
+ python3 scripts/validate_skills.py --suite || exit 4
294
+ python3 scripts/install.py --client codex || exit 4 # preview: changes nothing
295
+ python3 scripts/install.py --client codex --apply || exit 4 # link the skills, add the block
296
+ )
297
+ ```
298
+
299
+ Set `NB_REVIEWED_COMMIT` to the exact full commit SHA you reviewed. Tags and
300
+ branches are rejected because they can move; every failed gate stops before the
301
+ next command.
302
+
303
+ `install.py`, like `scripts/install.sh` without Python, links all eighteen skills
304
+ and adds one managed instruction block for `claude`, `codex`, `opencode` or
305
+ `copilot`. The preview shows the exact text it would write, a target that is not
306
+ its own link is refused, no authorization is ever granted, and
307
+ `python3 scripts/install.py --client codex --undo --apply` reverses it. It needs
308
+ symbolic links (Windows: Developer Mode). For a subset, a copy install, the shared
309
+ `agents` folder or another client, use the individual scripts in
310
+ [Installation](docs/INSTALL.md). Restart the client and perform clean-session
311
+ discovery before claiming runtime installation.
312
+
313
+ </details>
314
+
315
+ ## After setup
316
+
317
+ - [Run this as a ready workflow](https://nobrainer.tech/paths/ai-engineering/?nb_from=github-readme).
318
+ Deliver software from requirement to CI with a ready AI engineering workflow
319
+ built on nobrainer-tech-flow.
320
+ - [New to AI? Start the free course](https://nobrainer.tech/edu/ai-basics/?nb_from=github-readme).
321
+
322
+ If this workflow helps with a real task, star the repository and follow
323
+ [@nobrainer_tech](https://x.com/nobrainer_tech) for build notes and practical examples.
324
+
325
+ <details>
326
+ <summary><strong>Full documentation in this README</strong>: skills, compatibility, attribution, contributing</summary>
327
+
328
+ <details>
329
+ <summary><strong>Astra Ready, portable by design</strong></summary>
330
+
331
+ Since version **1.6**, ordinary work has no client-specific prerequisites.
332
+ OpenAI [introduced GPT-6 Astra](https://openai.com/index/gpt-6-astra/) on
333
+ September 3, 2026. The suite keeps the host-selected model and uses the same
334
+ plain-text instructions with other models; it does not pin a provider or choose
335
+ an expensive tier automatically.
336
+
337
+ [Compatibility](docs/COMPATIBILITY.md) separates available models, tested
338
+ behavior, client loading and source distribution. Local smoke evidence covers
339
+ only its recorded source and scenarios. It is not a universal compatibility,
340
+ quality or token-savings benchmark.
341
+
342
+ User authority, transparent pauses and sufficient verification apply across
343
+ models. Historical runtime proof stays tied to the tested release bytes.
344
+
345
+ ```text
346
+ Small task -> direct result + relevant check
347
+ Larger task -> clarify if needed + short TODO + execute + verify
348
+ Resumable task -> same workflow + one Markdown goal/checkpoint
349
+ Independent work -> dispatch all useful ready native units; MAIN integrates and audits
350
+ ```
351
+
352
+ Load specialists only when needed. Reuse the project's instructions, tests,
353
+ specs and wiki. Choose SDD for durable contracts and TDD when a failing test
354
+ would expose the behavior; neither requires installing a framework.
355
+
356
+ </details>
357
+
358
+ <details>
359
+ <summary><strong>Start with one skill</strong></summary>
360
+
361
+ Use nobrainer-tech-flow through the canonical skill
362
+ [`nobrainer-tech-flow`](skills/nobrainer-tech-flow/), for setup or any non-trivial
363
+ outcome. A small reversible edit without a public contract, routing, workflow or
364
+ portfolio change can use its quick path; other changes use the full path and its
365
+ coherence gate.
366
+ In Codex, type the exact name it lists for the module: `$nobrainer-tech-flow:nobrainer-tech-flow` after the installer or a plugin install (and after the npm package, once it is published), and `$nobrainer-tech-flow` for a copy made with `install_skills.py --mode copy`. Say
367
+ `Use NBFlow`, `Use NBF` or `Use nobrainer-tech-flow` in natural language;
368
+ older trigger phrases are migration context only and
369
+ depend on a client's implicit description matching.
370
+
371
+ ```text
372
+ DRIFT_CHECK -> BUDDY -> SCOPE -> AUTOPILOT -> VERIFY -> RECEIVE_AUDIT -> LEARN
373
+ ```
374
+
375
+ - `BUDDY` is the first and only ordinary clarification stage.
376
+ - `SCOPE` freezes outcome, non-goals, expected files, proof, untouched work,
377
+ minimum solution, test decision and clean completion before a non-trivial write.
378
+ - One canonical plan owns TODO state; the owner sees only a compact Progress
379
+ checklist and one next action.
380
+ - A durable ledger adds exact identity, dependencies, checkpoints, retries and
381
+ rollback only for cross-session, dependency-rich or consequential work.
382
+ - `AUTOPILOT` continues through routine approved work without repeated check-ins.
383
+ - Delegate every independent ready unit to native workers within verified capacity
384
+ and quota under the [delegation contract](skills/nobrainer-tech-flow/references/delivery.md#coordinated-team-execution).
385
+ MAIN coordinates, integrates, verifies and refills freed slots. Team supplies
386
+ capabilities; Dispatcher schedules real queues. Visible sessions require an
387
+ explicit owner request or authorized MAIN restart.
388
+ - Failed review returns to `nobrainer-build`; changed code invalidates old proof.
389
+ - Merge, deploy, publishing, spending, credentials, destructive operations and
390
+ production mutation remain owner gates unless exact authority is already
391
+ recorded.
392
+
393
+ The two execution axes stay independent:
394
+
395
+ ```text
396
+ CONTROL_MODE: BUDDY -> AUTOPILOT
397
+ SESSION_MODE: MAIN | MULTI_SESSION
398
+ ```
399
+
400
+ For resumable or delegated work, `SESSION_HEALTH_GATE` uses available,
401
+ configured limits. Missing optional telemetry lowers the health claim and still
402
+ allows bounded safe work. An explicitly required hard budget must be enforceable.
403
+ `RUNTIME_RELEASE` concerns actual task-owned workers; a completed result does not
404
+ prove they stopped. `GOAL_FILE` is optional Markdown recovery state. A native goal
405
+ is used only when available and authorized; the file alone suffices.
406
+
407
+ Autopilot works with one visible MAIN coordinator and bounded native workers.
408
+ Ordinary native assignments use the compact packet in the delegation contract,
409
+ exact returned IDs, observable completion and reviewed artifacts. Use persistent
410
+ sessions and a Dispatcher only when a real handoff or dependent queue needs them.
411
+ Native delegation does not authorize a new visible conversation.
412
+
413
+ </details>
414
+
415
+ <details>
416
+ <summary><strong>Eighteen skills, distinct ownership</strong></summary>
417
+
418
+ Aliases are compatibility trigger phrases, not product names or duplicate
419
+ directories. Each skill owns one
420
+ recurring boundary:
421
+
422
+ | Skill | Alias | Responsibility |
423
+ |---|---|---|
424
+ | [`nobrainer-tech-flow`](skills/nobrainer-tech-flow/) | `NBFlow`, `NBF` | Technical entrypoint for end-to-end setup and delivery: one requirements gate, concise progress, bounded execution, recovery, audit and learning |
425
+ | [`nobrainer-auto-fine-tune`](skills/nobrainer-auto-fine-tune/) | `nb-auto-fine-tune` | Read-only capability audit and route calibration: verified host models, effort, context and useful parallelism while MAIN keeps the owner's model |
426
+ | [`nobrainer-codex-context`](skills/nobrainer-codex-context/) | `nb-codex-context` | Project-local Codex context setup: instruction discovery, fallback and byte-budget audit, safe context block reconciliation and runtime readback |
427
+ | [`nobrainer-skill-doctor`](skills/nobrainer-skill-doctor/) | `nb-skill-doctor` | Cross-project audit of skills, project instructions and task prompts: trigger overlap, excessive process, coverage and minimal portfolio repair planning |
428
+ | [`nobrainer-team`](skills/nobrainer-team/) | `nb-team` | Capability selection and bounded native assignments, installed-skill inventory and safe temporary specialist discovery |
429
+ | [`nobrainer-dispatcher`](skills/nobrainer-dispatcher/) | `nb-dispatcher` | Dependency-aware ready-set scheduling, bounded dispatch, backpressure and audited result routing |
430
+ | [`nobrainer-research`](skills/nobrainer-research/) | `nb-research` | Bounded current research from primary sources with facts separated from inference |
431
+ | [`nobrainer-writing`](skills/nobrainer-writing/) | `nb-write`, `nb-brief` | High-signal drafting, compression and short human-sounding comments, issues and stories that preserve meaning, evidence, voice and action |
432
+ | [`nobrainer-build`](skills/nobrainer-build/) | `nb-build` | Smallest verified implementation using calibrated KISS, DRY, SOLID, YAGNI and anti-slop gates |
433
+ | [`nobrainer-security`](skills/nobrainer-security/) | `nb-security` | Threat models, security review, supply-chain audit and high-risk release evidence |
434
+ | [`nobrainer-sessions`](skills/nobrainer-sessions/) | `nb-sessions` | Named visible sessions, exact identity, isolated writers, audited handoff, lease and recovery |
435
+ | [`nobrainer-spec-driven-development`](skills/nobrainer-spec-driven-development/) | `nb-sdd` | Durable specification and acceptance ledger when contracts, risk or resumability justify it |
436
+ | [`nobrainer-wiki`](skills/nobrainer-wiki/) | `nb-wiki` | Targeted retrieval and sourced durable knowledge without hidden memory or live task state |
437
+ | [`nobrainer-browser`](skills/nobrainer-browser/) | `nb-browser` | Playwright-first rendered inspection, bounded CDP profile restart, approved session attach, browser tests and trace evidence |
438
+ | [`nobrainer-autoimprove`](skills/nobrainer-autoimprove/) | `nb-autoimprove` | Measured baseline/variant/eval/holdout improvement with keep-or-revert |
439
+ | [`nobrainer-decide`](skills/nobrainer-decide/) | `just decide` / `just-decide` / `decide` / `nb-decide` / `nobrainer-decide` / `deep decide` / `deep-decide` | Quick, standard or deep decisions; feasibility, reliability, total cost, delivery time and practical growth before commitment |
440
+ | [`nobrainer-rca`](skills/nobrainer-rca/) | `nb-rca` | Read-only causal diagnosis with a continuous evidence chain and explicit uncertainty |
441
+ | [`nobrainer-review`](skills/nobrainer-review/) | `nb-review` | Acceptance trace, adversarial bug hunt and release close gate without speculative findings |
442
+
443
+ The [curation audit](docs/SKILL_CURATION.md) records why each skill exists and
444
+ what belongs in another skill instead of becoming an unnecessary trigger.
445
+
446
+ </details>
447
+
448
+ <details>
449
+ <summary><strong>SDD and GDD</strong></summary>
450
+
451
+ SDD specifies what must work. GDD (Goal-Driven Development) executes it through
452
+ accepted milestones under one overarching goal. See the [product specification](docs/specs/goal-driven-delivery.spec.md).
453
+
454
+ For substantial work, `nobrainer-tech-flow` derives the outcome and DoD and keeps
455
+ one task owner without waiting for a separate planning request. Native goal
456
+ creation still follows the host's explicit-request requirement. Autopilot checks
457
+ available authorized UI/API/CLI steps before handing an obstacle to the owner,
458
+ continues independent work, and bounds review to concrete executable slices.
459
+ Explicit `yolo` requests select the same persistence contract, without changing
460
+ permissions or bypassing a denial. See the [delivery contract](skills/nobrainer-tech-flow/references/delivery.md).
461
+ These are agent instructions, not an enforcement daemon or a promise to run
462
+ while the host is paused or out of quota.
463
+
464
+ </details>
465
+
466
+ <details>
467
+ <summary><strong>Correct once, improve permanently</strong></summary>
468
+
469
+ nobrainer-tech-flow contains portable semantic hooks for four events:
470
+
471
+ - `OWNER_DECISION_CHANGED` updates the canonical decision, marks the old value
472
+ superseded and invalidates dependent TODO items and evidence;
473
+ - `AGENT_ERROR_CORRECTED` fixes the active result and classifies one minimal
474
+ prevention candidate: `AUTO_SCOPED` may persist it to one governed canonical
475
+ project-local store, `ASK` prepares one exact diff, and `OFF` keeps it
476
+ task-local without a durable diff;
477
+ - `REVIEW_FAILED` creates a bounded Build correction and sends fresh evidence
478
+ back to Review;
479
+ - `REPEATED_DEFECT` stops blind retries and invokes RCA with the prior failure
480
+ fingerprint.
481
+
482
+ Only durable, sourced, authorized and non-secret knowledge is promoted through
483
+ `nobrainer-wiki`. One mutable fact has one canonical owner; the system does not
484
+ append contradictory copies to the plan, instructions and wiki.
485
+ Project setup records `LEARNING_WRITE_POLICY: AUTO_SCOPED | ASK | OFF`, so an
486
+ owner can enable automatic project-local learning without granting global or
487
+ publishing authority.
488
+
489
+ </details>
490
+
491
+ <details>
492
+ <summary><strong>Quality without AI slop</strong></summary>
493
+
494
+ The shared delivery contract operationalizes:
495
+
496
+ - `KISS`: the simplest complete design wins;
497
+ - `YAGNI`: no speculative extension points or future options;
498
+ - `DRY`: deduplicate owned knowledge and state, not incidental similarity;
499
+ - `SOLID`: cohesive responsibilities and stable boundaries without class or
500
+ interface ceremony;
501
+ - evidence: no invented APIs, fake runtime claims, placeholder logic, swallowed
502
+ errors, generic prose, broad unrelated rewrites or mock-only confidence;
503
+ - content quality: purpose, audience, correctness sources, completeness,
504
+ coherence and target-workflow usefulness are frozen before execution.
505
+
506
+ If a decision-relevant fact may be current, niche, uncertain, high-stakes or
507
+ source-attributed, nobrainer-tech-flow routes the smallest sufficient check through Research.
508
+ A stable local syntax, import, test or configuration error starts from local
509
+ evidence instead of an automatic wiki/web detour. If required primary evidence
510
+ is unavailable, it says `RESEARCH_BLOCKED` instead of guessing.
511
+
512
+ </details>
513
+
514
+ <details>
515
+ <summary><strong>Compatibility is a proof ladder</strong></summary>
516
+
517
+ All clients consume the same `skills/` tree. Thin adapters cover Claude Code,
518
+ Codex, Cursor, OpenCode, Gemini CLI, Kimi Code and Pi; the portable Agent Plugin
519
+ manifest and project instructions are the fallback for other Agent Skills
520
+ consumers.
521
+
522
+ Compatibility claims use six distinct levels:
523
+
524
+ ```text
525
+ SOURCE_VALIDATED -> REPOSITORY_CHECKED -> CLIENT_LOADED
526
+ -> RUNTIME_VERIFIED_EXPLICIT -> RUNTIME_VERIFIED -> DISTRIBUTED
527
+ ```
528
+
529
+ A valid manifest does not prove clean-session routing. A local test does not
530
+ prove production. See [Compatibility](docs/COMPATIBILITY.md) for current proof
531
+ and [Testing](docs/TESTING.md) for acceptance evidence.
532
+
533
+
534
+ **What's new in 2.4.0:** nobrainer-tech-flow can ask before risky commands and
535
+ shows whether its proof still matches your files. See [RELEASE-NOTES.md](RELEASE-NOTES.md).
536
+
537
+ Current source version: **2.4.1**, which fixes undo after a rearranged profile. Check the
538
+ [latest published GitHub release](https://github.com/nobrainer-tech/nobrainer-tech-flow/releases/latest)
539
+ for distribution and the [2.4.1](docs/releases/v2.4.1.md) and
540
+ [2.4.0 verification records](docs/releases/v2.4.0.md) for
541
+ the current scope, reproducible checks and client-runtime limits. The unchanged command runner keeps its
542
+ [v1.7.0 verification scope](docs/releases/v1.7.0.md). Source publication does not
543
+ imply client marketplace discovery or improved model reasoning. The earlier
544
+ [v1.6.1 publication readback](docs/releases/v1.6.1-publication-readback.md)
545
+ remains historical evidence.
546
+
547
+ Version [`v1.5.0`](docs/releases/v1.5.0-publication-readback.md) remains an
548
+ accepted rollback source release. Its historical pre-publication checkpoint is
549
+ [`docs/releases/v1.5.0.md`](docs/releases/v1.5.0.md).
550
+
551
+ Version [`v1.4.0`](docs/releases/v1.4.0-publication-readback.md) remains the
552
+ previous accepted source release and rollback option. Client-specific runtime
553
+ rows remain evidence-scoped; source publication does not imply marketplace
554
+ discovery.
555
+
556
+ The [`v1.3.1` release](docs/releases/v1.3.1-publication-readback.md) remains the
557
+ previous accepted source release and a rollback option. It adds the English
558
+ `BRIEF` writing mode, concise issue/story templates and surface-specific bug
559
+ evidence.
560
+
561
+ The [`v1.3.0` release](docs/releases/v1.3.0-publication-readback.md) remains an
562
+ older accepted source release and rollback option.
563
+
564
+ Version [`v1.2.1`](docs/releases/v1.2.1.md) remains the rollback source release
565
+ at full commit `0010140d19a7ff847dff776569772ef04d82c314`, with its own exact
566
+ tag, archive and isolated-install evidence. To reproduce the reviewed v1.3.0
567
+ source:
568
+
569
+ ```bash
570
+ git checkout --detach 8ae4a26548ce908fc5f98b22663f52e163541f56
571
+ test "$(git rev-parse HEAD)" = "8ae4a26548ce908fc5f98b22663f52e163541f56"
572
+ python3 scripts/validate_skills.py --suite
573
+ python3 -m unittest discover -s tests -q
574
+ ```
575
+
576
+ `v1.2.0` remains published but failed archive acceptance; its exact boundary is
577
+ [recorded separately](docs/releases/v1.2.0.md). GitHub reports the `v1.2.1`
578
+ release object as non-immutable and tag protection was not independently
579
+ verified, so security-sensitive consumers should pin the full commit SHA. The
580
+ current tag archive was re-read after the metadata-only history rewrite and
581
+ passed 88/88 tests; historical CI binds the same tree, not the current commit
582
+ identity.
583
+ [`v1.1.0`](docs/releases/v1.1.0.md) remains the accepted rollback anchor at full
584
+ commit `711be31d654835a04ef8c70674c3e493aeb2da8a`.
585
+
586
+ </details>
587
+
588
+ <details>
589
+ <summary><strong>One source, thin adapters</strong></summary>
590
+
591
+ ```text
592
+ skills/ canonical portable behavior
593
+ adapters/bootstrap.md small session-start route to nobrainer-tech-flow
594
+ hooks/ tested client lifecycle adapters
595
+ scripts/ validation and conflict-safe installation
596
+ tests/ deterministic and behavior-contract gates
597
+ docs/ compatibility, curation, eval and release evidence
598
+ assets/ brand and workflow diagrams
599
+ ```
600
+
601
+ Client-specific forks of a skill are prohibited. External skills discovered by
602
+ Team are untrusted input: inspect the exact source/ref, instructions, scripts,
603
+ permissions, network/credential behavior, trigger overlap and rollback. Prefer
604
+ temporary project-scoped use; persistent or global installation is an owner
605
+ gate.
606
+
607
+ </details>
608
+
609
+ <details>
610
+ <summary><strong>Attribution</strong></summary>
611
+
612
+ - `nobrainer-autoimprove` is an independent adaptation of Andrej Karpathy's
613
+ [autoresearch](https://github.com/karpathy/autoresearch) measure-change-keep
614
+ loop.
615
+ - `nobrainer-wiki` is an independent adaptation of Andrej Karpathy's
616
+ [LLM wiki concept](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f).
617
+ - Other external design sources remain cited inside the exact skill where they
618
+ influenced a behavior contract.
619
+
620
+ </details>
621
+
622
+ <details>
623
+ <summary><strong>Contributing and security</strong></summary>
624
+
625
+ Read [CONTRIBUTING.md](CONTRIBUTING.md), [SECURITY.md](SECURITY.md) and
626
+ [RELEASE-NOTES.md](RELEASE-NOTES.md). Every change goes through a focused PR,
627
+ pressure scenario, validators, diff review and secret scan. Do not report
628
+ publication, distribution, live routing or user-visible success without
629
+ readback from that layer.
630
+
631
+ NoBrainer.Tech builds practical agentic workflows for teams that want speed
632
+ without surrendering control. Learn more at [nobrainer.tech](https://nobrainer.tech)
633
+ or browse ready-to-use workflow products on
634
+ [Gumroad](https://nobrainertech.gumroad.com).
635
+
636
+ </details>
637
+
638
+ <details>
639
+ <summary><strong>Adaptive session restart</strong></summary>
640
+
641
+ On explicit task invocation, nobrainer-tech-flow immediately names the conversation
642
+ `<task title> | started DD-MM` using its verified creation date and preserves it
643
+ on resume. It assesses context before work, after compaction and at accepted
644
+ milestones. Adaptive care uses recorded task authority and respects `off` and
645
+ stricter host rules; installing the package alone enables no session mutation.
646
+
647
+ A pressured session with a materially smaller full startup can rotate even when
648
+ token payback is unknown. Age and compaction count alone do not force rotation.
649
+ nobrainer-tech-flow preserves progress in the task file, verifies successor takeover and archives
650
+ the source only when authorized. The full timestamp, timezone and exact session
651
+ ID stay authoritative. Unsupported clients receive an explicit manual handoff.
652
+
653
+ This belongs to [Sessions](skills/nobrainer-sessions/references/session-restart.md),
654
+ not a separate skill. The optional stdlib [decision helper](skills/nobrainer-sessions/scripts/restart_gate.py)
655
+ can serve a client hook without requiring one. Automatic startup care has shipped since v1.10.0;
656
+ native transport and all-client savings are not implied. See [session restart](docs/SESSION_RESTART.md).
657
+
658
+ </details>
659
+
660
+ </details>