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.
- package/.agents/plugins/marketplace.json +20 -0
- package/.claude-plugin/marketplace.json +18 -0
- package/.claude-plugin/plugin.json +21 -0
- package/.codex-plugin/plugin.json +47 -0
- package/.opencode/INSTALL.md +37 -0
- package/.opencode/plugins/nobrainer-tech-skills.js +66 -0
- package/.pi/extensions/nobrainer-tech-skills.js +64 -0
- package/AGENTS.md +205 -0
- package/CLAUDE.md +205 -0
- package/CONTRIBUTING.md +70 -0
- package/GEMINI.md +1 -0
- package/LICENSE +21 -0
- package/README.md +659 -2
- package/SECURITY.md +33 -0
- package/adapters/bootstrap.md +27 -0
- package/assets/nobrainer-tech-logo.svg +1 -0
- package/assets/nobrainer-workflow.svg +155 -0
- package/assets/plugin-logo.png +0 -0
- package/bin/nobrainer-tech-flow.mjs +48 -0
- package/docs/BOUNDED_RUNNER.md +60 -0
- package/docs/CHAT_PLUGINS.md +29 -0
- package/docs/COMPATIBILITY.md +371 -0
- package/docs/INSTALL.md +626 -0
- package/docs/MIGRATION_TO_FLOW.md +117 -0
- package/docs/NAMING.md +39 -0
- package/docs/PRIVACY.md +9 -0
- package/docs/RELEASING.md +24 -0
- package/docs/SESSION_RESTART.md +70 -0
- package/docs/SKILL_CURATION.md +124 -0
- package/docs/TESTING.md +232 -0
- package/docs/TRY_IT.md +109 -0
- package/docs/releases/v1.0.0.md +81 -0
- package/docs/releases/v1.1.0.md +85 -0
- package/docs/releases/v1.10.0.md +34 -0
- package/docs/releases/v1.11.0-publication-readback.md +25 -0
- package/docs/releases/v1.11.0.md +42 -0
- package/docs/releases/v1.12.0.md +30 -0
- package/docs/releases/v1.13.0.md +46 -0
- package/docs/releases/v1.14.0.md +43 -0
- package/docs/releases/v1.14.1.md +21 -0
- package/docs/releases/v1.2.0.md +87 -0
- package/docs/releases/v1.2.1.md +92 -0
- package/docs/releases/v1.3.0-publication-readback.md +69 -0
- package/docs/releases/v1.3.0.md +66 -0
- package/docs/releases/v1.3.1-publication-readback.md +76 -0
- package/docs/releases/v1.3.1.md +59 -0
- package/docs/releases/v1.4.0-publication-readback.md +81 -0
- package/docs/releases/v1.4.0.md +43 -0
- package/docs/releases/v1.5.0-publication-readback.md +76 -0
- package/docs/releases/v1.5.0.md +54 -0
- package/docs/releases/v1.6.0.md +64 -0
- package/docs/releases/v1.6.1-publication-readback.md +53 -0
- package/docs/releases/v1.6.1.md +82 -0
- package/docs/releases/v1.7.0.md +42 -0
- package/docs/releases/v1.7.1-publication-readback.md +64 -0
- package/docs/releases/v1.7.1.md +49 -0
- package/docs/releases/v1.8.0.md +63 -0
- package/docs/releases/v1.8.1.md +32 -0
- package/docs/releases/v1.9.0.md +33 -0
- package/docs/releases/v2.0.0-candidate.md +28 -0
- package/docs/releases/v2.0.0.md +53 -0
- package/docs/releases/v2.0.1.md +135 -0
- package/docs/releases/v2.0.2.md +189 -0
- package/docs/releases/v2.1.0.md +64 -0
- package/docs/releases/v2.1.1.md +43 -0
- package/docs/releases/v2.2.0.md +64 -0
- package/docs/releases/v2.2.1.md +11 -0
- package/docs/releases/v2.3.0.md +97 -0
- package/docs/releases/v2.3.1.md +71 -0
- package/docs/releases/v2.3.2.md +242 -0
- package/docs/releases/v2.4.0.md +126 -0
- package/docs/releases/v2.4.1.md +63 -0
- package/gemini-extension.json +6 -0
- package/hooks/claude-hooks.json +17 -0
- package/hooks/hooks-cursor.json +10 -0
- package/hooks/run-hook.cmd +36 -0
- package/hooks/session-start +38 -0
- package/package.json +69 -4
- package/plugin.json +51 -0
- package/scripts/build_plugin.py +50 -0
- package/scripts/check_flow_update.py +18 -0
- package/scripts/check_public_commit.py +86 -0
- package/scripts/fetch_public_refs.py +69 -0
- package/scripts/install.py +600 -0
- package/scripts/install.sh +1420 -0
- package/scripts/install_guards.py +279 -0
- package/scripts/install_personalization.py +527 -0
- package/scripts/install_skills.py +951 -0
- package/scripts/npm_install.py +85 -0
- package/scripts/recommend_flow_setup.py +1537 -0
- package/scripts/validate_skills.py +465 -0
- package/skills/nobrainer-auto-fine-tune/SKILL.md +79 -0
- package/skills/nobrainer-auto-fine-tune/references/capacity-audit.md +49 -0
- package/skills/nobrainer-autoimprove/SKILL.md +212 -0
- package/skills/nobrainer-autoimprove/scripts/count_words.py +22 -0
- package/skills/nobrainer-browser/SKILL.md +234 -0
- package/skills/nobrainer-browser/references/cdp-profile-restart.md +93 -0
- package/skills/nobrainer-build/SKILL.md +173 -0
- package/skills/nobrainer-codex-context/SKILL.md +111 -0
- package/skills/nobrainer-codex-context/scripts/codex_context.py +175 -0
- package/skills/nobrainer-decide/SKILL.md +198 -0
- package/skills/nobrainer-dispatcher/SKILL.md +256 -0
- package/skills/nobrainer-dispatcher/agents/openai.yaml +4 -0
- package/skills/nobrainer-rca/SKILL.md +163 -0
- package/skills/nobrainer-research/SKILL.md +131 -0
- package/skills/nobrainer-review/SKILL.md +195 -0
- package/skills/nobrainer-security/SKILL.md +166 -0
- package/skills/nobrainer-sessions/SKILL.md +223 -0
- package/skills/nobrainer-sessions/references/evidence-receipt.md +55 -0
- package/skills/nobrainer-sessions/references/protocol.md +337 -0
- package/skills/nobrainer-sessions/references/session-restart.md +255 -0
- package/skills/nobrainer-sessions/scripts/evidence_receipt.py +373 -0
- package/skills/nobrainer-sessions/scripts/restart_gate.py +140 -0
- package/skills/nobrainer-sessions/scripts/run_bounded.py +390 -0
- package/skills/nobrainer-sessions/scripts/session_title.py +43 -0
- package/skills/nobrainer-skill-doctor/SKILL.md +149 -0
- package/skills/nobrainer-skill-doctor/references/astra.md +19 -0
- package/skills/nobrainer-skill-doctor/scripts/audit.py +100 -0
- package/skills/nobrainer-skill-doctor/scripts/context_candidates.py +133 -0
- package/skills/nobrainer-spec-driven-development/SKILL.md +132 -0
- package/skills/nobrainer-spec-driven-development/references/spec-template.md +114 -0
- package/skills/nobrainer-team/SKILL.md +165 -0
- package/skills/nobrainer-team/references/team-plan.md +64 -0
- package/skills/nobrainer-tech-flow/SKILL.md +239 -0
- package/skills/nobrainer-tech-flow/VERSION +1 -0
- package/skills/nobrainer-tech-flow/references/autopilot.md +72 -0
- package/skills/nobrainer-tech-flow/references/codex-routing.md +21 -0
- package/skills/nobrainer-tech-flow/references/communication.md +108 -0
- package/skills/nobrainer-tech-flow/references/correction-hooks.md +110 -0
- package/skills/nobrainer-tech-flow/references/daily-update.md +28 -0
- package/skills/nobrainer-tech-flow/references/delivery.md +243 -0
- package/skills/nobrainer-tech-flow/references/idea-to-delivery.md +82 -0
- package/skills/nobrainer-tech-flow/references/long-run-state.md +209 -0
- package/skills/nobrainer-tech-flow/references/model-routing.md +83 -0
- package/skills/nobrainer-tech-flow/references/optional-decisions.md +83 -0
- package/skills/nobrainer-tech-flow/references/project-start.md +22 -0
- package/skills/nobrainer-tech-flow/references/routing.md +125 -0
- package/skills/nobrainer-tech-flow/references/setup.md +180 -0
- package/skills/nobrainer-tech-flow/references/worktrees.md +138 -0
- package/skills/nobrainer-tech-flow/scripts/check_flow_update.py +298 -0
- package/skills/nobrainer-tech-flow/scripts/cleanup_worktree.py +327 -0
- package/skills/nobrainer-tech-flow/scripts/decision_config.py +107 -0
- package/skills/nobrainer-tech-flow/scripts/flow_guard.py +252 -0
- package/skills/nobrainer-tech-flow/scripts/typed_decisions.py +210 -0
- package/skills/nobrainer-wiki/SKILL.md +164 -0
- package/skills/nobrainer-wiki/references/setup.md +88 -0
- package/skills/nobrainer-writing/SKILL.md +272 -0
- package/skills/nobrainer-writing/agents/openai.yaml +4 -0
- package/skills/nobrainer-writing/references/brief-artifacts.md +357 -0
- package/skills/nobrainer-writing/references/plain-technical-english.md +76 -0
- package/skills/nobrainer-writing/references/research.md +86 -0
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
# nobrainer-tech-flow compatibility evidence
|
|
2
|
+
|
|
3
|
+
nobrainer-tech-flow keeps one portable `skills/` source, but portability is
|
|
4
|
+
not the same as a proven client integration. Record these levels separately:
|
|
5
|
+
|
|
6
|
+
1. `SOURCE_VALIDATED` — the portable `SKILL.md` folders pass repository
|
|
7
|
+
validators; this makes no client claim.
|
|
8
|
+
2. `REPOSITORY_CHECKED` — the manifest, hook, plugin or installer has a
|
|
9
|
+
deterministic local parse or execution test against the repository's frozen
|
|
10
|
+
contract; this does not prove the client accepts it.
|
|
11
|
+
3. `CLIENT_LOADED` — the exact installed client version accepts the package and
|
|
12
|
+
reports the expected skills or bootstrap as loaded.
|
|
13
|
+
4. `RUNTIME_VERIFIED_EXPLICIT` — a clean client session loads and follows the
|
|
14
|
+
canonical body under explicit invocation; this does not prove discovery.
|
|
15
|
+
5. `RUNTIME_VERIFIED` — a clean client session discovers and follows
|
|
16
|
+
`nobrainer-tech-flow` without manually pasting its body.
|
|
17
|
+
6. `DISTRIBUTED` — the exact release is available through the claimed public
|
|
18
|
+
marketplace or install channel and was read back after installation.
|
|
19
|
+
|
|
20
|
+
Never promote one level from evidence belonging to another.
|
|
21
|
+
Merge is a repository delivery state, not a client-compatibility level; release
|
|
22
|
+
evidence records it separately.
|
|
23
|
+
|
|
24
|
+
The current source version is **2.1.1**. Its release scope and proof limits are
|
|
25
|
+
recorded in the [2.1.1 verification record](releases/v2.1.1.md), which refines
|
|
26
|
+
the communication defaults of [2.1.0](releases/v2.1.0.md).
|
|
27
|
+
It builds on the [2.0.2 installer record](releases/v2.0.2.md).
|
|
28
|
+
The [2.0.0](releases/v2.0.0.md) and [1.14.1](releases/v1.14.1.md) records are
|
|
29
|
+
historical evidence, not statements about the current source. The package/entrypoint migration
|
|
30
|
+
is documented in the [migration guide](MIGRATION_TO_FLOW.md).
|
|
31
|
+
|
|
32
|
+
For 2.0.x, portable structure, installation, selected setup, personalization,
|
|
33
|
+
update checks and guarded cleanup have repository-level tests. The historical
|
|
34
|
+
client matrix below does not establish fresh 2.0 automatic discovery,
|
|
35
|
+
parallel execution, live Jev/Laya access or marketplace acceptance.
|
|
36
|
+
Source release availability must be verified separately against its public tag.
|
|
37
|
+
The unchanged command runner retains its scoped [v1.7.0 evidence](releases/v1.7.0.md).
|
|
38
|
+
|
|
39
|
+
The 1.6.1 instruction review
|
|
40
|
+
clarifies skill precedence and sufficient verification. Its evidence is a
|
|
41
|
+
source-contract review; the v1.6 runtime results apply only to the archived
|
|
42
|
+
release bytes. It adds no model-wide or cross-client runtime claim.
|
|
43
|
+
|
|
44
|
+
The source channel was `DISTRIBUTED` for `v1.5.0`, with its exact historical
|
|
45
|
+
merge, tag and installation in the [publication evidence](releases/v1.5.0-publication-readback.md).
|
|
46
|
+
That record and [v1.3.1](releases/v1.3.1-publication-readback.md) remain rollback evidence. Pin a reviewed full
|
|
47
|
+
commit SHA when immutability matters. Neither source publication nor an installed
|
|
48
|
+
folder proves marketplace acceptance or model behavior.
|
|
49
|
+
|
|
50
|
+
## Model-neutral readiness
|
|
51
|
+
|
|
52
|
+
`WORKFLOW_READY` is a product-positioning label, not a seventh compatibility
|
|
53
|
+
level. It means the portable policy can carry a selected model, effort, budget
|
|
54
|
+
and escalation gate; it does not prove that a provider exposes or follows that
|
|
55
|
+
policy.
|
|
56
|
+
|
|
57
|
+
| Model / family | Workflow posture | Runtime evidence |
|
|
58
|
+
|---|---|---|
|
|
59
|
+
| GPT-6 Astra | `WORKFLOW_READY`: host-selected policy, optional native capabilities | Bounded v1.6 Codex behavioral probes; exact source and limits in the [release evidence](releases/v1.6.0.md) |
|
|
60
|
+
| Other OpenAI models | Same portable instructions and policy | Only exact tested model IDs in the release evidence; no family-wide pass |
|
|
61
|
+
| Claude models | Same portable instructions and policy | Historical explicit client evidence below; no automatic claim for a new model |
|
|
62
|
+
| Other models / clients | Portable Markdown plus available tools | Unverified until tested in that host |
|
|
63
|
+
|
|
64
|
+
OpenAI [announced GPT-6 Astra](https://openai.com/index/gpt-6-astra/) on
|
|
65
|
+
2026-09-03. Names and access change; inspect the host's actual model list rather
|
|
66
|
+
than treating this document as a model catalogue. No provider is a dependency.
|
|
67
|
+
|
|
68
|
+
`v1.0.0` remains a separately verified nine-skill rollback anchor with its own
|
|
69
|
+
[publication readback](releases/v1.0.0.md).
|
|
70
|
+
|
|
71
|
+
The v1.3.0 source release has additional local runtime evidence in
|
|
72
|
+
[the historical harness evaluation](evals/v1.3.0-harness-clarity-2026-08-30.md)
|
|
73
|
+
and current behavioral evidence in
|
|
74
|
+
[the Autoimprove evaluation](evals/v1.3.0-autoimprove-integrity-2026-09-01.md).
|
|
75
|
+
The older client transcripts remain hash-scoped and do not silently upgrade to
|
|
76
|
+
marketplace or automatic-routing claims. Both clients retain explicit-runtime
|
|
77
|
+
evidence only; automatic routing and client publication remain unverified.
|
|
78
|
+
|
|
79
|
+
## Adapter contracts and historical client evidence
|
|
80
|
+
|
|
81
|
+
`REPOSITORY_CHECKED` below means deterministic repository tests passed. It does
|
|
82
|
+
not mean the external client's parser accepted or loaded the package.
|
|
83
|
+
|
|
84
|
+
| Client / harness | Source | Repository contract | Client load | Runtime | Distribution |
|
|
85
|
+
|---|---|---|---|---|---|
|
|
86
|
+
| Claude Code | `SOURCE_VALIDATED` | `REPOSITORY_CHECKED`: manifest, portable installer and Claude SessionStart output | `CLIENT_LOADED`: CLI `2.1.241`, isolated plugin, namespaced explicit invocation | `RUNTIME_VERIFIED_EXPLICIT`: final nobrainer-tech-flow route reached and read canonical Autoimprove; automatic routing remains unverified | `NOT_PUBLISHED` |
|
|
87
|
+
| Codex | `SOURCE_VALIDATED` | `REPOSITORY_CHECKED`: accepted manifest schema and portable installer | `CLIENT_LOADED`: CLI `0.149.1`, repo-scoped copy, explicit canonical invocation | `RUNTIME_VERIFIED_EXPLICIT`: final Luna cases and isolated implementation passed; automatic and alias-only routing remain unverified | `NOT_PUBLISHED` |
|
|
88
|
+
| Cursor | `SOURCE_VALIDATED` | `REPOSITORY_CHECKED`: manifest path and Cursor SessionStart output | `NOT_VERIFIED` | `NOT_VERIFIED` | `NOT_PUBLISHED` |
|
|
89
|
+
| OpenCode | `SOURCE_VALIDATED` | `REPOSITORY_CHECKED`: skills registration plus idempotent first-user transform | `NOT_VERIFIED` | `NOT_VERIFIED` | `NOT_PUBLISHED` |
|
|
90
|
+
| GitHub Copilot CLI | `SOURCE_VALIDATED` | `REPOSITORY_CHECKED`: portable installer and repository instructions; no bootstrap | `NOT_VERIFIED` | `NOT_VERIFIED` | `NOT_PUBLISHED` |
|
|
91
|
+
| Gemini CLI | `SOURCE_VALIDATED` | `REPOSITORY_CHECKED`: extension manifest and owned context include | `NOT_VERIFIED` | `NOT_VERIFIED` | `NOT_PUBLISHED` |
|
|
92
|
+
| Kimi Code | `SOURCE_VALIDATED` | `REPOSITORY_CHECKED`: canonical skills path, `nobrainer-tech-flow` session-start field and native-tool boundary | `NOT_VERIFIED` | `NOT_VERIFIED` | `NOT_PUBLISHED` |
|
|
93
|
+
| Devin CLI | `SOURCE_VALIDATED` | no dedicated adapter | `NOT_VERIFIED` | `NOT_VERIFIED` | `NOT_PUBLISHED` |
|
|
94
|
+
| Pi | `SOURCE_VALIDATED` | `REPOSITORY_CHECKED`: package resources and per-request dedupe transform | `CLIENT_LOADED`: resource loader `0.87.1` only, no session (see the current-source readback) | `NOT_VERIFIED` | `NOT_PUBLISHED` |
|
|
95
|
+
| Hermes Agent | `SOURCE_VALIDATED` | `REPOSITORY_CHECKED`: root Agent Plugins v1 manifest only; no bootstrap | `NOT_VERIFIED` | `NOT_VERIFIED` | `NOT_PUBLISHED` |
|
|
96
|
+
| Antigravity and other plugin hosts | `SOURCE_VALIDATED` | no host-specific contract | `NOT_VERIFIED` | `NOT_VERIFIED` | `NOT_PUBLISHED` |
|
|
97
|
+
| Generic Agent Skills consumers | `SOURCE_VALIDATED` | canonical folders only | `NOT_VERIFIED` | `NOT_VERIFIED` | `NOT_PUBLISHED` |
|
|
98
|
+
|
|
99
|
+
Adapter checks apply to the current source. The client/runtime cells retain their
|
|
100
|
+
recorded historical versions and hashes; they do not silently transfer to the current source.
|
|
101
|
+
Consult the current release record for new probes. There is deliberately no blanket “works everywhere”
|
|
102
|
+
badge: an unknown harness gets portable skill folders, then needs its own
|
|
103
|
+
discovery/bootstrap proof before promotion.
|
|
104
|
+
|
|
105
|
+
## Adapter contract
|
|
106
|
+
|
|
107
|
+
All adapters point at the same eighteen directories. They may expose discovery and
|
|
108
|
+
one small `NOBRAINER_BOOTSTRAP_V1` routing context, but they must not copy or
|
|
109
|
+
rewrite skill bodies.
|
|
110
|
+
|
|
111
|
+
- Claude and Cursor hooks emit exactly one platform-specific JSON field.
|
|
112
|
+
- OpenCode and Pi detect their marker so one request never carries the bootstrap
|
|
113
|
+
twice. OpenCode prefixes the first user message's text and, when that message
|
|
114
|
+
has none (after a compaction), adds a synthetic text part. Pi adds it to every
|
|
115
|
+
model request that lacks it, because the host rebuilds the message list per
|
|
116
|
+
request.
|
|
117
|
+
- Gemini includes an extension-owned context file instead of changing a user's
|
|
118
|
+
global instructions.
|
|
119
|
+
- Kimi maps native tools but explicitly refuses to treat a hidden subagent as
|
|
120
|
+
proof of visible cross-session transport.
|
|
121
|
+
- Codex uses native skill discovery and has no hook entry or default
|
|
122
|
+
`hooks/hooks.json` file. Claude points explicitly to
|
|
123
|
+
`hooks/claude-hooks.json`, preventing Codex from auto-discovering the
|
|
124
|
+
Claude-specific SessionStart adapter.
|
|
125
|
+
- The portable root manifest contains no client-specific bootstrap. Hermes can
|
|
126
|
+
consume it through its Agent Plugins path, where skills remain namespaced and
|
|
127
|
+
explicitly selected until a clean runtime transcript proves more.
|
|
128
|
+
- Copilot and Devin use portable skill folders and repository instructions only;
|
|
129
|
+
no dedicated startup hook or client plugin contract is claimed.
|
|
130
|
+
|
|
131
|
+
## Current-source readback (2026-09-29)
|
|
132
|
+
|
|
133
|
+
Run against a checkout of the 2.0.1 source (2.0.2 changes no adapter or hook and
|
|
134
|
+
only the version in the manifests) with isolated client configuration and
|
|
135
|
+
no real model request: the Claude Code session ran against a local stand-in API
|
|
136
|
+
endpoint and Codex against a closed network, and both plugin installs used a
|
|
137
|
+
local checkout, not the GitHub source. The rows show what the client loads and
|
|
138
|
+
sends, not how a model behaves.
|
|
139
|
+
|
|
140
|
+
| Client | Readback | Level |
|
|
141
|
+
|---|---|---|
|
|
142
|
+
| Claude Code `2.1.284` (Linux) | `claude plugin validate` passed. `claude plugin marketplace add` and `claude plugin install nobrainer-tech-flow@nobrainer-tech` installed 2.0.1 with 18 skills. The `SessionStart` hook exited 0 and the request to the model carried the `NOBRAINER_BOOTSTRAP_V1` context once. With `CLAUDE_CONFIG_DIR` set, guided setup installed into that directory, the client listed the installed skills, the instruction block reached the request and `~/.claude` stayed untouched. | `CLIENT_LOADED`; bootstrap delivery observed; routing unverified |
|
|
143
|
+
| Codex `0.158.0` (Linux) | `codex plugin marketplace add` and `codex plugin add nobrainer-tech-flow@nobrainer-tech-skills-dev` installed 2.0.1. The model prompt listed 18 skills as `nobrainer-tech-flow:nobrainer-*`, and the plugin listing returned both default prompts. With 2.0.0 neither plugin name installed. | `CLIENT_LOADED`; routing unverified |
|
|
144
|
+
| Pi `0.87.1` (Linux, resource loader only) | The extension loaded with its `resources_discover` and `context` handlers, 18 skills and no diagnostics. | `CLIENT_LOADED` for the loader; no session |
|
|
145
|
+
| Windows (CI only: GitHub-hosted `windows-latest`, Git Bash, Python 3.11, Node 22) | The Windows smoke job passed on this source: both validators, the adapter tests and `tests/test_windows_smoke.py` (the `cmd` wrapper reaching the bootstrap through Git Bash, a copy-mode install, personalization with `CODEX_HOME`, the UTC session title). | `REPOSITORY_CHECKED` on Windows; no client read back |
|
|
146
|
+
|
|
147
|
+
The Codex row used the marketplace's earlier name, `nobrainer-tech-skills-dev`.
|
|
148
|
+
Since 2.4.0 it is `nobrainer-tech`: on 2026-10-18, Codex `0.163.0` (macOS) with
|
|
149
|
+
an empty `CODEX_HOME` added the 2.4.0 source checkout as a local marketplace
|
|
150
|
+
`nobrainer-tech` and installed `nobrainer-tech-flow@nobrainer-tech` with 18
|
|
151
|
+
skills (`CLIENT_LOADED`; routing unverified). An old `nobrainer-tech-skills-dev`
|
|
152
|
+
install stays enabled next to the new one until it is removed; see the
|
|
153
|
+
[migration guide](MIGRATION_TO_FLOW.md#existing-installation-identities).
|
|
154
|
+
|
|
155
|
+
The other rows above keep their earlier level: no readback of OpenCode, Cursor,
|
|
156
|
+
Gemini CLI, Kimi Code or Copilot CLI was made for this source. The Windows job
|
|
157
|
+
runs the validators and the modules listed in [Testing](TESTING.md), not the
|
|
158
|
+
whole suite.
|
|
159
|
+
|
|
160
|
+
## Codex module names (2.3.2 readback)
|
|
161
|
+
|
|
162
|
+
Checked on 2026-10-14 with Codex 0.157.1 on macOS and the 2.3.1 source. The real
|
|
163
|
+
client ran against a local stand-in server with all other network blocked, so no
|
|
164
|
+
model was involved. The table shows the name the client lists and whether a typed
|
|
165
|
+
name made it add the module text to the request, not how a model behaves.
|
|
166
|
+
|
|
167
|
+
| Install | Listed as | Typed `$nobrainer-tech-flow` | Typed `$nobrainer-tech-flow:nobrainer-tech-flow` |
|
|
168
|
+
|---|---|---|---|
|
|
169
|
+
| `scripts/install.sh` links into a git checkout, which holds the plugin manifests | `nobrainer-tech-flow:nobrainer-tech-flow` | no module text added | module text added |
|
|
170
|
+
| The npm package (from `npm pack`; it ships `.codex-plugin` and `.claude-plugin`), linked by the installer | `nobrainer-tech-flow:nobrainer-tech-flow` | no module text added | module text added |
|
|
171
|
+
| `install_skills.py --mode copy` (real folders, no manifest above them) | `nobrainer-tech-flow` | module text added | no module text added |
|
|
172
|
+
|
|
173
|
+
Codex names a module `<plugin>:<skill>` when a `.codex-plugin`, `.claude-plugin` or
|
|
174
|
+
`.cursor-plugin` manifest sits above the folder a link resolves to. A checkout that
|
|
175
|
+
keeps only `.kimi-plugin`, the root `plugin.json`, `gemini-extension.json` or
|
|
176
|
+
`.agents/plugins`, or none of them, lists the plain name and takes the plain form.
|
|
177
|
+
A mention linked to the module's `SKILL.md` path added the module text in the first
|
|
178
|
+
row, whichever of the two names its text showed. The Codex 0.158.0 row above, a
|
|
179
|
+
plugin install, lists the skills under the plugin name as well.
|
|
180
|
+
|
|
181
|
+
Not checked: what a model does with the plain form when the listing is namespaced,
|
|
182
|
+
the terminal and desktop mention pickers, other Codex versions and operating
|
|
183
|
+
systems, and a plugin-channel install on 0.157.1. Level: `CLIENT_LOADED`; routing
|
|
184
|
+
unverified.
|
|
185
|
+
|
|
186
|
+
## Clean-session acceptance
|
|
187
|
+
|
|
188
|
+
The approved-plan [autopilot loop](../skills/nobrainer-tech-flow/references/autopilot.md)
|
|
189
|
+
is development source after the v2.0.2 tag. It adds explicit select, execute,
|
|
190
|
+
check, review, correct and advance guidance.
|
|
191
|
+
It preserves the active client and its authority boundary. Source validation
|
|
192
|
+
and the deterministic lifecycle checks do not establish fresh automatic
|
|
193
|
+
discovery or unattended continuation in any client; those still need the
|
|
194
|
+
clean-session evidence below. This guidance adds no CLI executor or scheduler.
|
|
195
|
+
|
|
196
|
+
For each client, record the exact client version, model, operating system,
|
|
197
|
+
installation source and commit or release. Start with no project-specific rule
|
|
198
|
+
that names NoBrainer. Preserve the complete transcript and use these probes:
|
|
199
|
+
|
|
200
|
+
For a long-running probe, read back `SESSION_HEALTH_GATE` at `START`,
|
|
201
|
+
`AFTER_COMPACTION`, `MATERIAL_TRANSITION` and `BEFORE_CLOSEOUT`, using the
|
|
202
|
+
host/configured policy rather than assuming universal limits. Record
|
|
203
|
+
`UNKNOWN`/`UNSUPPORTED` signals and lower proof instead of guessing. Read back
|
|
204
|
+
`RUNTIME_RELEASE` separately: `task_complete` does not prove that task-owned
|
|
205
|
+
browser, tool or subprocess workers are closed.
|
|
206
|
+
Missing optional telemetry does not block safe bounded work or artifact acceptance;
|
|
207
|
+
it only limits the health claim. An explicitly required hard budget still needs
|
|
208
|
+
reliable enforcement. A configured warning checkpoints goal/TODO and prevents optional new workers or
|
|
209
|
+
large units; a hard threshold requires the clear/end-turn gate. Repository
|
|
210
|
+
examples are not universal host limits.
|
|
211
|
+
For resumable probes, persist one task-local Markdown `GOAL_FILE`. Before clear,
|
|
212
|
+
prove its checkpoint and no active writer, then record `CLEAR_MODE` and host
|
|
213
|
+
readback. After clear or a fresh turn, reload the file from disk and reconcile
|
|
214
|
+
identity, checkout and evidence; a transcript summary or host-native goal is not
|
|
215
|
+
the canonical recovery source.
|
|
216
|
+
|
|
217
|
+
### Automatic routing
|
|
218
|
+
|
|
219
|
+
The portable `ROUTED` policy describes how a plan may select an advertised
|
|
220
|
+
capability tier; it is not a cross-provider gateway. A client must read back the
|
|
221
|
+
actual model, effort and budget before claiming automatic routing. An unavailable
|
|
222
|
+
target is `MODEL_ESCALATION_PROPOSED` or `OWNER_APPROVAL`, never a silent
|
|
223
|
+
fallback.
|
|
224
|
+
|
|
225
|
+
```text
|
|
226
|
+
Use nobrainer-tech-flow to design and implement an ambiguous feature that crosses several modules
|
|
227
|
+
and may affect production.
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
Passing behavior:
|
|
231
|
+
|
|
232
|
+
- `nobrainer-tech-flow` is selected without pasting its body;
|
|
233
|
+
- the agent enters a short requirements/acceptance gate before writes;
|
|
234
|
+
- it creates one canonical plan and shows a compact Progress checklist;
|
|
235
|
+
- production effects remain owner-gated;
|
|
236
|
+
- it does not manufacture workers before work units exist.
|
|
237
|
+
|
|
238
|
+
### Correction and review loop
|
|
239
|
+
|
|
240
|
+
```text
|
|
241
|
+
I changed my mind: keep the public API unchanged. Update the plan accordingly.
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
Passing behavior: the old requirement is marked superseded, dependent TODO
|
|
245
|
+
items and evidence are invalidated, and the affected route is rebuilt without a
|
|
246
|
+
second ordinary clarification round. A simulated verified review finding must
|
|
247
|
+
return to Build and then fresh Review; it may not reuse the old green result.
|
|
248
|
+
|
|
249
|
+
### Explicit technical invocation
|
|
250
|
+
|
|
251
|
+
```text
|
|
252
|
+
$nobrainer-tech-flow Deliver this task with the smallest safe workflow.
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
Type the name the client lists for the module. In Codex that is
|
|
256
|
+
`$nobrainer-tech-flow:nobrainer-tech-flow` when the module is listed under the
|
|
257
|
+
plugin name and `$nobrainer-tech-flow` when it is listed plainly (see
|
|
258
|
+
[Codex module names](#codex-module-names-232-readback)).
|
|
259
|
+
|
|
260
|
+
Passing behavior: the client loads the nobrainer-tech-flow technical
|
|
261
|
+
`nobrainer-tech-flow` body and any
|
|
262
|
+
required relative reference without the user pasting either one.
|
|
263
|
+
|
|
264
|
+
### Compatibility alias control
|
|
265
|
+
|
|
266
|
+
```text
|
|
267
|
+
Use nobrainer-tech-flow to deliver this task with the smallest safe workflow.
|
|
268
|
+
Compatibility alias probe: use nb-ultra or nb-flow to deliver this task with the smallest safe workflow.
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
`nb-ultra`, `nb-flow` and `nb-workflow` are compatibility trigger phrases, not
|
|
272
|
+
the product name or additional skill names.
|
|
273
|
+
Record whether the client supports and selects it through implicit matching.
|
|
274
|
+
Do not present this as an explicit invocation guarantee. In the v1.3.0 Codex
|
|
275
|
+
probe, alias-only selection failed under a crowded skill catalog and a prompt
|
|
276
|
+
that prohibited file reads; the canonical `$nobrainer-tech-flow` probe passed.
|
|
277
|
+
|
|
278
|
+
### Non-trigger control
|
|
279
|
+
|
|
280
|
+
```text
|
|
281
|
+
Fix this obvious typo in README.md.
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
Passing behavior: the visible MAIN coordinator makes this tiny correction
|
|
285
|
+
directly, without SDD, a wiki or a native worker. One visible MAIN can coordinate
|
|
286
|
+
many native workers for non-trivial work under the
|
|
287
|
+
[delegation contract](../skills/nobrainer-tech-flow/references/delivery.md#coordinated-team-execution).
|
|
288
|
+
|
|
289
|
+
## Runtime evidence record
|
|
290
|
+
|
|
291
|
+
Store a transcript or durable report with:
|
|
292
|
+
|
|
293
|
+
```text
|
|
294
|
+
CLIENT:
|
|
295
|
+
CLIENT_VERSION:
|
|
296
|
+
MODEL:
|
|
297
|
+
OS:
|
|
298
|
+
INSTALL_SOURCE:
|
|
299
|
+
RELEASE_OR_COMMIT:
|
|
300
|
+
SKILL_SHA256:
|
|
301
|
+
INVOCATION: CANONICAL_EXPLICIT | IMPLICIT_DESCRIPTION
|
|
302
|
+
PROMPT:
|
|
303
|
+
SKILL_DISCOVERED:
|
|
304
|
+
FIRST_WRITE_BEFORE_GATE: YES | NO
|
|
305
|
+
RESULT: PASS | FAIL | BLOCKED
|
|
306
|
+
SESSION_HEALTH_GATE:
|
|
307
|
+
RUNTIME_RELEASE:
|
|
308
|
+
OWNED_WORKER_READBACK:
|
|
309
|
+
EVIDENCE_PATH:
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
Marketplace screenshots, manifest parsing, an installer exit code, or a skill
|
|
313
|
+
appearing on disk do not replace this acceptance test.
|
|
314
|
+
|
|
315
|
+
For a hook-based client, preserve the emitted JSON and prove the client consumed
|
|
316
|
+
the marker. For OpenCode or Pi, preserve both adapter logs/readback and the first
|
|
317
|
+
model action. A prompt that pastes the skill body does not prove discovery. A
|
|
318
|
+
valid explicit run by the name the client lists proves explicit loading, not
|
|
319
|
+
automatic routing.
|
|
320
|
+
|
|
321
|
+
## Optional bounded command runtime (1.7.0)
|
|
322
|
+
|
|
323
|
+
The Sessions helper runs explicit argv commands using Python 3.11+ on POSIX.
|
|
324
|
+
It is opt-in and ships with the skill; no daemon or new hook registration is
|
|
325
|
+
required. Windows process-group enforcement is unsupported. The eighteen
|
|
326
|
+
plain-text skills remain portable; this helper does not narrow their format
|
|
327
|
+
compatibility. See [runtime limits and examples](BOUNDED_RUNNER.md).
|
|
328
|
+
|
|
329
|
+
## Session restart capability levels
|
|
330
|
+
|
|
331
|
+
The `session-restart` mode shipped in v1.8.0 and refined in v1.8.1 is a
|
|
332
|
+
client/model-neutral Sessions
|
|
333
|
+
protocol. The optional Python 3.11+ helper evaluates observations and runs without
|
|
334
|
+
a model or client SDK. It does not implement native creation or archival.
|
|
335
|
+
Explicit nobrainer-tech-flow entry invokes startup naming and health assessment through `nobrainer-tech-flow`.
|
|
336
|
+
This is agent-executed care; no native transport backend is bundled.
|
|
337
|
+
Human-readable startup and rollover titles use `<stable task title> | started DD-MM` where a
|
|
338
|
+
host supports create-time titles or rename. The registry retains the full start
|
|
339
|
+
timestamp and timezone, and IDs remain authoritative. A client without title
|
|
340
|
+
mutation reports that cosmetic capability as unsupported; this is not a failed
|
|
341
|
+
transfer and no universal rename API is implied.
|
|
342
|
+
|
|
343
|
+
- No hooks: the model checks at task boundaries and prepares durable progress.
|
|
344
|
+
- Hooks: a reviewed client adapter may supply normalized observations and invoke
|
|
345
|
+
the helper; hook names and output envelopes remain client-specific.
|
|
346
|
+
- Native sessions: automatic rotation additionally requires fresh creation, exact
|
|
347
|
+
identity/readback, shared checkpoint access and authoritative ownership transfer.
|
|
348
|
+
- No archive API: a verified successor can continue with source archive pending.
|
|
349
|
+
- No safe transport/ownership: manual handoff; no hidden worker substitution.
|
|
350
|
+
|
|
351
|
+
Existing client-load evidence does not establish restart support. Native
|
|
352
|
+
end-to-end restart, all-model behavior and net cost savings are unverified until
|
|
353
|
+
tested separately for the exact adapter/client version. No global hooks are
|
|
354
|
+
installed by enabling portable instructions. See [the guide](SESSION_RESTART.md).
|
|
355
|
+
# Optional typed-decision runtime
|
|
356
|
+
|
|
357
|
+
The eighteen-skill Markdown lifecycle requires only the host's existing model.
|
|
358
|
+
Jev/Laya are optional profiles, off by default; Python and model access are not
|
|
359
|
+
core prerequisites. See [configuration](../skills/nobrainer-tech-flow/references/optional-decisions.md).
|
|
360
|
+
|
|
361
|
+
| Profile | Required only when enabled | Current proof |
|
|
362
|
+
|---|---|---|
|
|
363
|
+
| Core | Host able to follow project instructions | Existing host-specific evidence below; no universal runtime assertion |
|
|
364
|
+
| Jev shadow | Python 3, authorized TypeSafe key and HTTPS access | Live synthetic Noul/Choice/Score via direct Jev 1.13.0 on macOS |
|
|
365
|
+
| Laya shadow | Apple Silicon, separately installed Laya-MLX, cached model and compatible Python | Live synthetic Noul/Choice/Score with multilingual MLX checkpoint, offline loading on macOS |
|
|
366
|
+
|
|
367
|
+
Typed-answer validity is not semantic correctness: Laya assigned a middling
|
|
368
|
+
urgency score to the no-deadline fixture. Do not advertise equivalence or
|
|
369
|
+
promote suggestions into hard decisions based on this smoke test. Per-call
|
|
370
|
+
timings include process/model startup and are not warm inference benchmarks.
|
|
371
|
+
No clean-session proof for a new harness is implied by these helper tests.
|