orbit-thread 1.1.0 โ†’ 1.2.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/README.md CHANGED
@@ -1,53 +1,91 @@
1
- # Orbit Thread
1
+ # ๐Ÿงต Orbit Thread
2
2
 
3
- **Keep coding agents aligned across long projects without carrying a huge conversation forever.**
3
+ **Pick up where you left off, without carrying an entire coding conversation into the next session.**
4
4
 
5
- [![Licence: MIT](https://img.shields.io/badge/licence-MIT-blue.svg)](LICENSE)
5
+ [![npm version](https://img.shields.io/npm/v/orbit-thread?label=npm)](https://www.npmjs.com/package/orbit-thread)
6
6
  [![CI](https://github.com/shab1h-gh/orbit-thread/actions/workflows/ci.yml/badge.svg)](https://github.com/shab1h-gh/orbit-thread/actions/workflows/ci.yml)
7
+ [![MIT licence](https://img.shields.io/badge/licence-MIT-blue.svg)](LICENSE)
7
8
 
8
- Orbit Thread is a small local continuity layer for Codex and Claude Code. It has two reusable skills:
9
+ Orbit Thread helps **Codex** and **Claude Code** keep their place during long projects. It gives each project a small set of useful documents and saves a short handoff when the agent reaches a verified checkpoint.
9
10
 
10
- - **Orbit Setup** prepares a project with lightweight living documentation and token-efficient agent rules.
11
- - **Handoff** keeps one short `HANDOFF-STATE.md` current so a fresh session can resume from verified state instead of replaying a large chat history.
11
+ No giant session diary. No separate account or hosted memory service. Your repository and Git history remain the source of truth.
12
12
 
13
- Tracked source, Git history and living project docs remain authoritative. The handoff is current execution state, not a changelog.
13
+ | Skill | What it does |
14
+ | --- | --- |
15
+ | ๐Ÿงญ **Orbit Setup** | Prepares project docs, agent instructions and optional subagent preferences. |
16
+ | ๐Ÿ” **Handoff** | Records the current objective, completed work, risks and next actions in `HANDOFF-STATE.md`. |
17
+ | โ–ถ๏ธ **Resume** | Reconstructs concise current context from the handoff and read-only Git state. |
18
+
19
+ **Jump to:** [Quick start](#quick-start) ยท [How it works](#how-it-works) ยท [Setup files](#what-setup-creates) ยท [Handoff and Resume](#handoff-and-resume) ยท [Subagents](#configure-subagents) ยท [Doctor](#check-your-setup) ยท [Commands](#command-reference) ยท [Help](#troubleshooting)
14
20
 
15
21
  ## Quick start
16
22
 
17
- From the project you want to configure:
23
+ > ๐Ÿš€ Run these commands **inside the project** you want to set up.
18
24
 
19
- ```sh
25
+ ```bash
20
26
  npx orbit-thread install
21
27
  npx orbit-thread setup
22
28
  ```
23
29
 
24
- Choose Codex, Claude Code or both when prompted.
25
-
26
- Non-interactive:
30
+ Choose Codex, Claude Code or both when prompted. To skip the questions:
27
31
 
28
- ```sh
32
+ ```bash
29
33
  npx orbit-thread install --agent both --scope project --yes
30
34
  npx orbit-thread setup --agent both --yes
31
35
  ```
32
36
 
33
- Then use the skills directly:
37
+ Once installed, call the skills in your coding agent:
38
+
39
+ | Where you're working | Set up a project | Save a handoff | Resume a fresh chat |
40
+ | --- | --- | --- | --- |
41
+ | Codex | `$orbit-setup` | `$handoff` | `$orbit-resume` |
42
+ | Claude Code | `/orbit-setup` | `/handoff` | `/orbit-resume` |
43
+ | Claude marketplace plugin | `/orbit-thread:orbit-setup` | `/orbit-thread:handoff` | `/orbit-thread:orbit-resume` |
44
+
45
+ The commands above are **skill invocations**, not Terminal commands. You can also ask the agent to run a handoff after a verified milestone.
46
+
47
+ ## How it works
48
+
49
+ Orbit Thread keeps **lasting project knowledge** separate from **what the agent is doing right now**.
50
+
51
+ ```text
52
+ Existing project
53
+ โ”‚
54
+ โ–ผ
55
+ Orbit Setup
56
+ โ”‚
57
+ โ”œโ”€โ”€ Living docs and agent instructions
58
+ โ””โ”€โ”€ Project preferences
59
+ โ”‚
60
+ โ–ผ
61
+ Agent completes verified work
62
+ โ”‚
63
+ โ–ผ
64
+ Handoff rewrites HANDOFF-STATE.md
65
+ โ”‚
66
+ โ–ผ
67
+ Next session checks handoff + Git + relevant docs
68
+ โ”‚
69
+ โ–ผ
70
+ Continue from the last verified point
71
+ ```
72
+
73
+ The important distinction:
34
74
 
35
- | Agent | Setup | Handoff |
36
- | --- | --- | --- |
37
- | Codex standalone | `$orbit-setup` | `$handoff` |
38
- | Claude Code standalone | `/orbit-setup` | `/handoff` |
39
- | Claude plugin | `/orbit-thread:orbit-setup` | `/orbit-thread:handoff` |
75
+ - **Git** keeps the history of code and decisions.
76
+ - **Living docs** describe the project as it stands today.
77
+ - **`HANDOFF-STATE.md`** says where the current task stands and what needs doing next.
40
78
 
41
- ## What Orbit Setup creates
79
+ The handoff is a checkpoint, **not** another changelog or a substitute for Git. If the handoff is stale, the current repository state wins.
42
80
 
43
- Orbit Setup is designed to run before the first substantial coding prompt, or later to upgrade an existing project.
81
+ ## What setup creates
44
82
 
45
- If equivalent files do not already exist, it creates:
83
+ Orbit Setup can prepare a new project or add the workflow to an existing one. It creates missing files without duplicating equivalent documents already in the repository root or `docs/`.
46
84
 
47
85
  ```text
48
86
  project/
49
87
  โ”œโ”€โ”€ AGENTS.md
50
- โ”œโ”€โ”€ CLAUDE.md # when Claude is selected
88
+ โ”œโ”€โ”€ CLAUDE.md # if Claude Code is selected
51
89
  โ”œโ”€โ”€ .orbit-thread/
52
90
  โ”‚ โ””โ”€โ”€ config.json # tracked project preferences
53
91
  โ””โ”€โ”€ docs/
@@ -58,62 +96,37 @@ project/
58
96
  โ””โ”€โ”€ ROADMAP.md
59
97
  ```
60
98
 
61
- At the first meaningful checkpoint, Handoff creates:
99
+ The first successful Handoff also creates `HANDOFF-STATE.md`. That file and Orbit Thread's local ownership state are ignored by Git.
62
100
 
63
- ```text
64
- HANDOFF-STATE.md # local, Git-ignored, overwrite-only
65
- ```
66
-
67
- Orbit Thread also keeps its small internal ownership state local and Git-ignored.
68
-
69
- Existing product/design/architecture/security/roadmap files at either the repository root or under `docs/` are preserved instead of duplicated.
70
-
71
- ### Living-doc rules
72
-
73
- The generated project instructions tell the agent to:
101
+ ### Which document should change?
74
102
 
75
- - load only the docs relevant to the current task;
76
- - inspect only the source files it actually needs;
77
- - keep `PRODUCT.md`, `DESIGN.md`, `ARCHITECTURE.md`, `SECURITY.md` and `ROADMAP.md` as current truth;
78
- - update affected sections **in place** after verified changes;
79
- - never append session diaries or duplicate superseded sections;
80
- - keep Git as history;
81
- - never rewrite an applied migration;
82
- - run the smallest relevant verification before claiming completion.
83
-
84
- The document-routing rules are deliberately selective:
85
-
86
- - product behaviour, copy or scope โ†’ `PRODUCT.md`
87
- - UI/UX โ†’ `DESIGN.md`
88
- - runtime, data flow, infrastructure or integrations โ†’ `ARCHITECTURE.md`
89
- - auth, tenancy, secrets or other security-sensitive work โ†’ `SECURITY.md`
90
- - future planning only โ†’ `ROADMAP.md`
91
-
92
- This keeps routine tasks from loading every project document into context.
103
+ | Work completed | Update |
104
+ | --- | --- |
105
+ | Product behaviour, copy or scope | `PRODUCT.md` |
106
+ | Interface, layouts or user experience | `DESIGN.md` |
107
+ | Runtime, data flow or integrations | `ARCHITECTURE.md` |
108
+ | Authentication, permissions or secrets handling | `SECURITY.md` |
109
+ | Plans that have not been implemented | `ROADMAP.md` |
93
110
 
94
- ## Checkpoints and fresh-context recovery
111
+ The generated instructions ask coding agents to read only the documents and source files they need. After verified changes, they should **update the relevant sections in place**, not pile new notes underneath old ones.
95
112
 
96
- Orbit Thread asks the coding agent to run Handoff:
113
+ They also tell agents to preserve applied migrations, leave history to Git and run an appropriate check before claiming work is finished.
97
114
 
98
- - after a meaningful verified milestone that changed repository state or durable project truth;
99
- - after a completed coding task with such changes, before the final reply;
100
- - before `/clear`, session end, or a usage/context stop when the agent receives warning.
115
+ ## Handoff and Resume
101
116
 
102
- It intentionally skips read-only questions and trivial edits.
117
+ ### When to save a handoff
103
118
 
104
- Each successful checkpoint **overwrites** the previous `HANDOFF-STATE.md`. It does not grow into a development diary.
119
+ Handoff is intended for moments that matter:
105
120
 
106
- After a fresh, cleared or recovered session, the generated project rules tell the agent to recover in this order:
121
+ - After a verified milestone that changes the repository or lasting project information.
122
+ - At the end of a coding task that made those changes.
123
+ - Before clearing a session or stopping because of a usage or context warning.
107
124
 
108
- 1. read `HANDOFF-STATE.md` once if present;
109
- 2. inspect current branch/status/diff/recent Git log;
110
- 3. load only relevant living docs;
111
- 4. inspect only source needed for the recorded next action;
112
- 5. preserve valid uncommitted work and continue from the highest verified milestone.
125
+ It is not necessary for ordinary questions or tiny edits with no lasting effect. Each successful checkpoint **replaces** the previous handoff.
113
126
 
114
- ## Handoff format
127
+ ### What gets saved?
115
128
 
116
- A handoff is normally about 30 lines and has a hard cap of 50:
129
+ Handoffs are usually around 30 lines, with a **hard limit of 50 lines**.
117
130
 
118
131
  ```markdown
119
132
  # Handoff State
@@ -121,14 +134,14 @@ A handoff is normally about 30 lines and has a hard cap of 50:
121
134
  Updated: 07-10-2026 00:30
122
135
 
123
136
  ## Current objective
124
- - Finish account-security settings.
137
+ - Finish account security settings.
125
138
 
126
139
  ## Completed milestones
127
140
  - Added the settings route.
128
- - Connected password change and session revocation.
141
+ - Connected password changes and session revocation.
129
142
 
130
143
  ## In progress
131
- - Passkey-management UI.
144
+ - Passkey management UI.
132
145
 
133
146
  ## Open issues / risks
134
147
  - Passkey removal still needs a browser test.
@@ -142,115 +155,158 @@ Updated: 07-10-2026 00:30
142
155
  - Unit tests passed: 42/42.
143
156
  ```
144
157
 
145
- The writer validates before replacing the previous handoff, rejects obvious secret-like content, writes atomically, makes no network calls and does not mutate Git.
146
-
147
- ## Subagent configuration
158
+ The writer validates the replacement before saving it, checks for recognisable secret patterns and writes the file atomically. **It makes no network requests and does not change Git.** Secret detection is a safety net, not a guarantee; never put sensitive data in a handoff.
148
159
 
149
- Orbit Thread defaults to **no subagents unless they genuinely help**, with a maximum of two and no recursive subagents.
160
+ ### Starting a fresh session
150
161
 
151
- You can save project-specific model/reasoning preferences without hand-editing `AGENTS.md`:
162
+ Start each new coding task in a fresh chat. Orbit Setup asks the agent to invoke Resume once when the session starts (automatically where the host supports it). If it does not start automatically, use `$orbit-resume`, `/orbit-resume`, or `/orbit-thread:orbit-resume` in Claude marketplace installs. Do not invoke it repeatedly in the same session.
152
163
 
153
- ```sh
154
- npx orbit-thread configure --agent claude \
155
- --model "Claude Sonnet 5.5" --effort low
164
+ For a terminal summary, run:
156
165
 
157
- npx orbit-thread configure --agent codex \
158
- --model "GPT-6.1 Sol" --reasoning high
166
+ ```bash
167
+ npx orbit-thread resume
159
168
  ```
160
169
 
161
- Change the maximum:
170
+ Resume prints the handoff objective, verified milestones, unfinished work, risks, verification, current branch and working-tree status, next steps and relevant living-doc paths. It is read-only: it does not modify files or Git, install tools, deploy, or inspect secret files. It uses current repository evidence over stale handoff details, flags a handoff that appears older than the latest commit, and preserves dirty changes. If the handoff is absent or invalid, it says what is unknown rather than guessing.
162
171
 
163
- ```sh
164
- npx orbit-thread configure --max-subagents 1
172
+ This lightweight checkpoint saves tokens by replacing repeated conversation history with a short summary and only the project documents the next task needs. It cannot recover details that were never recorded, prove that an unrecorded check passed, or determine the user's next goal when none was stated. Use the current request as the objective and say when evidence is missing.
173
+
174
+ The project instructions ask the agent to:
175
+
176
+ 1. Use the Resume summary or read `HANDOFF-STATE.md` once if no summary was supplied.
177
+ 2. Check the branch, working tree, diff summary and recent Git history.
178
+ 3. Read only living docs relevant to the current task.
179
+ 4. Inspect only source needed for the next action.
180
+ 5. Preserve unfinished work and continue from the latest verified point.
181
+
182
+ You do not need to paste an old conversation into the next session.
183
+
184
+ ## Configure subagents
185
+
186
+ Orbit Thread only **records preferences**. It does not launch subagents itself.
187
+
188
+ By default, agents should use helpers only when the work warrants them. The configured maximum is **two**, and helpers should not spawn further helpers.
189
+
190
+ **Set the limit:**
191
+
192
+ ```bash
193
+ npx orbit-thread configure --max-subagents 2
165
194
  ```
166
195
 
167
- Disable subagents:
196
+ **Turn subagents off:**
168
197
 
169
- ```sh
198
+ ```bash
170
199
  npx orbit-thread configure --max-subagents 0
171
200
  ```
172
201
 
173
- Show configuration:
202
+ **Save preferred models and reasoning:**
203
+
204
+ ```bash
205
+ npx orbit-thread configure --agent codex --model "GPT-6 Luna" --reasoning high
206
+ npx orbit-thread configure --agent claude --model "Claude Sonnet 5.5" --effort medium
207
+ ```
208
+
209
+ **Check the saved settings:**
174
210
 
175
- ```sh
211
+ ```bash
176
212
  npx orbit-thread configure --show
177
213
  ```
178
214
 
179
- Reset saved subagent preferences:
215
+ **Reset one agent's preferences:**
180
216
 
181
- ```sh
217
+ ```bash
182
218
  npx orbit-thread configure --agent claude --reset-subagents
183
219
  ```
184
220
 
185
- Preferences are stored in `.orbit-thread/config.json` and reflected in Orbit Thread's managed section of `AGENTS.md`. They are preferences rather than hard dependencies: an unavailable exact model setting should not block useful work.
221
+ The settings live in `.orbit-thread/config.json` and are reflected in Orbit Thread's managed section of `AGENTS.md`. They are preferences, not requirements. If a named model is unavailable, the agent can use a suitable alternative.
186
222
 
187
- ## Project doctor
223
+ ## Check your setup
188
224
 
189
- Run:
225
+ > ๐Ÿฉบ **Doctor** checks Orbit Thread itself. It does not test whether your application works.
190
226
 
191
- ```sh
192
- npx orbit-thread doctor
227
+ Run it after installing, updating, changing configuration or moving to a fresh checkout:
228
+
229
+ ```bash
230
+ npx orbit-thread doctor --agent both --scope project
193
231
  ```
194
232
 
195
- It checks the managed skill installation and project continuity setup, including living docs, config, managed agent blocks, Git-ignore rules, duplicate root/docs files and handoff size.
233
+ Or check each integration separately:
196
234
 
197
- `npx orbit-thread check` remains the lightweight managed-skill installation check kept for Orbit Handoff compatibility; use `doctor` for the full project health check.
235
+ ```bash
236
+ npx orbit-thread doctor --agent codex --scope project
237
+ npx orbit-thread doctor --agent claude --scope project
238
+ ```
198
239
 
199
- ## Installation
240
+ Doctor checks skill versions (including Resume), project configuration, managed instruction blocks, living docs, Git ignore rules and handoff size.
200
241
 
201
- Requirements:
242
+ **How do you know it passed?** A successful command exits with status `0`. To print a clear confirmation:
202
243
 
203
- - Node.js 20+
204
- - Git for normal repository workflows
205
- - a POSIX shell and standard Unix utilities for the handoff writer
244
+ ```bash
245
+ npx orbit-thread doctor --agent both --scope project && echo "Orbit Thread Doctor passed"
246
+ ```
206
247
 
207
- macOS and Linux are supported. Native Windows is not currently supported; WSL is the expected route.
248
+ A nonzero result means the continuity setup needs attention. It does **not** necessarily mean your app or deployment is broken.
208
249
 
209
- ### npm / standalone Codex and Claude Code
250
+ For a quicker check of installed managed skills only:
210
251
 
211
- ```sh
212
- npx orbit-thread install
252
+ ```bash
253
+ npx orbit-thread check
213
254
  ```
214
255
 
215
- Project installs use:
256
+ ## Installation options
257
+
258
+ ### Requirements
216
259
 
217
- | Agent | Project location |
260
+ - **Node.js 20 or later**
261
+ - **Git** for normal repository work
262
+ - **POSIX shell and standard Unix tools** for the handoff writer
263
+
264
+ Orbit Thread supports **macOS and Linux**. For Windows, use **WSL**; native Windows is not currently supported.
265
+
266
+ ### npm for Codex or Claude Code
267
+
268
+ ```bash
269
+ npx orbit-thread install
270
+ ```
271
+
272
+ | Agent | Project skill directories |
218
273
  | --- | --- |
219
- | Codex | `.agents/skills/handoff/` and `.agents/skills/orbit-setup/` |
220
- | Claude Code | `.claude/skills/handoff/` and `.claude/skills/orbit-setup/` |
274
+ | Codex | `.agents/skills/handoff/`, `.agents/skills/orbit-setup/` and `.agents/skills/orbit-resume/` |
275
+ | Claude Code | `.claude/skills/handoff/`, `.claude/skills/orbit-setup/` and `.claude/skills/orbit-resume/` |
221
276
 
222
- User/global installs use the equivalent `~/.agents/skills/` or `~/.claude/skills/` locations.
277
+ A user level install uses the equivalent directories under `~/.agents/skills/` or `~/.claude/skills/`.
223
278
 
224
279
  ### Claude GitHub marketplace
225
280
 
226
- Inside Claude Code:
281
+ In **Claude Code**, run:
227
282
 
228
283
  ```text
229
284
  /plugin marketplace add shab1h-gh/orbit-thread
230
285
  /plugin install orbit-thread@orbit-thread
231
286
  ```
232
287
 
233
- Equivalent shell commands:
288
+ Or use these Terminal commands:
234
289
 
235
- ```sh
290
+ ```bash
236
291
  claude plugin marketplace add shab1h-gh/orbit-thread
237
292
  claude plugin install orbit-thread@orbit-thread
238
293
  ```
239
294
 
240
- The GitHub marketplace route is separate from Anthropic's official public directory.
295
+ This GitHub marketplace route is separate from the **official Anthropic public directory**. Installing from GitHub does not mean the plugin has been approved for that directory.
241
296
 
242
- ## Commands
297
+ ## Command reference
243
298
 
244
299
  | Command | Purpose |
245
300
  | --- | --- |
246
- | `npx orbit-thread install` | Install both skills for selected agent(s). |
247
- | `npx orbit-thread setup` | Prepare/upgrade the current project workflow and living docs. |
248
- | `npx orbit-thread configure` | Configure project subagent preferences. |
249
- | `npx orbit-thread doctor` | Check installation and project continuity health. |
250
- | `npx orbit-thread@latest update` | Upgrade unchanged managed skill files. |
251
- | `npx orbit-thread uninstall` | Remove managed skills/instruction blocks while preserving project-owned docs/config/state. |
252
- | `npx orbit-thread init` | Backwards-compatible alias for `setup`. |
253
- | `npx orbit-thread check` | Check managed skill installation (kept for Orbit Handoff compatibility). |
301
+ | `npx orbit-thread install` | Install the three skills for selected agents. |
302
+ | `npx orbit-thread setup` | Prepare or update project docs and managed instructions. |
303
+ | `npx orbit-thread resume` | Print a concise, read-only project and Git summary. |
304
+ | `npx orbit-thread configure` | Save project subagent preferences. |
305
+ | `npx orbit-thread doctor` | Check the project's continuity setup. |
306
+ | `npx orbit-thread check` | Check managed skill installation only. |
307
+ | `npx orbit-thread@latest update` | Update managed skills that have not been locally changed. |
308
+ | `npx orbit-thread uninstall` | Remove managed skills and blocks, preserving project docs and state. |
309
+ | `npx orbit-thread init` | Older alias for `setup`. |
254
310
 
255
311
  Common options:
256
312
 
@@ -260,61 +316,134 @@ Common options:
260
316
  --yes
261
317
  ```
262
318
 
263
- ## Migrating from Orbit Handoff 1.0.x
319
+ ### Update an existing installation
320
+
321
+ ```bash
322
+ npx orbit-thread@latest update --agent both --scope project --yes
323
+ npx orbit-thread@latest setup --agent both --yes
324
+ npx orbit-thread doctor --agent both --scope project
325
+ ```
264
326
 
265
- Orbit Thread is the successor to **Orbit Handoff**.
327
+ The update command protects locally edited managed skill files. Setup updates managed project instructions and creates missing living docs without replacing existing equivalents.
266
328
 
267
- Existing npm-managed users should install/update through the new package name:
329
+ ### Moving from Orbit Handoff 1.0.x
268
330
 
269
- ```sh
331
+ Orbit Thread is the successor to **Orbit Handoff**. The v1.1 and later CLI recognises compatible older managed installations and state while preserving local edits.
332
+
333
+ ```bash
270
334
  npx orbit-thread@latest update --agent both --scope project --yes
271
335
  npx orbit-thread@latest setup --agent both --yes
272
336
  npx orbit-thread doctor --agent both --scope project
273
337
  ```
274
338
 
275
- The v1.1 CLI recognises the managed Orbit Handoff installation/state and migrates it without intentionally overwriting local edits. The old `orbit-handoff` binary name remains an alias inside the Orbit Thread package for compatibility.
339
+ The old `orbit-handoff` binary name remains an alias inside the new package. Earlier npm releases remain unchanged.
276
340
 
277
- The historical `orbit-handoff` npm releases remain immutable.
341
+ If you installed the Claude GitHub marketplace plugin, update or reinstall it from `shab1h-gh/orbit-thread` and run `/orbit-thread:orbit-setup`.
278
342
 
279
- For Claude GitHub-marketplace users, update/reinstall from the renamed repository and run:
343
+ ## Troubleshooting
280
344
 
281
- ```text
282
- /orbit-thread:orbit-setup
345
+ <details>
346
+ <summary><strong>Doctor reports a changed AGENTS.md or CLAUDE.md block</strong></summary>
347
+
348
+ A Markdown formatter can change whitespace inside an Orbit Thread managed block. That can fail the integrity check even when the text looks fine.
349
+
350
+ Inspect the changes first:
351
+
352
+ ```bash
353
+ git diff -- AGENTS.md CLAUDE.md
283
354
  ```
284
355
 
285
- ## Updating Orbit Thread
356
+ **Only if those files have no work you need to keep**, restore them and rerun setup:
286
357
 
287
- ```sh
288
- npx orbit-thread@latest update --agent both --scope project --yes
289
- npx orbit-thread@latest setup --agent both --yes
358
+ ```bash
359
+ git restore -- AGENTS.md CLAUDE.md
360
+ npx orbit-thread setup --agent both --yes
361
+ npx orbit-thread doctor --agent both --scope project
290
362
  ```
291
363
 
292
- The first command updates unchanged managed skill files. The second updates the project-managed rules and creates only missing living docs.
364
+ If you have intentional edits, do **not** restore the whole files. Repair only the affected managed block, then rerun setup and Doctor. Consider excluding `AGENTS.md` and `CLAUDE.md` from Prettier using `.prettierignore`.
365
+
366
+ </details>
367
+
368
+ <details>
369
+ <summary><strong>Setup refuses to overwrite a managed block</strong></summary>
293
370
 
294
- Locally edited managed skill files are never force-overwritten.
371
+ That protection is deliberate. Orbit Thread will not replace a block it can no longer confirm it owns.
372
+
373
+ Review the block and its markers, preserve your own instructions, repair the managed portion and run:
374
+
375
+ ```bash
376
+ npx orbit-thread setup --agent both --yes
377
+ npx orbit-thread doctor --agent both --scope project
378
+ ```
379
+
380
+ Do not delete `.orbit-thread/state.json` or remove markers to get around the check.
381
+
382
+ </details>
383
+
384
+ <details>
385
+ <summary><strong>My handoff was rejected</strong></summary>
386
+
387
+ Keep `HANDOFF-STATE.md` at **50 lines or fewer**. Remove credentials, tokens, keys and sensitive personal or production information, then retry. The previous successful handoff is preserved when validation fails.
388
+
389
+ </details>
390
+
391
+ <details>
392
+ <summary><strong>Does Orbit Thread synchronise chats across agents?</strong></summary>
393
+
394
+ No. It keeps project documents and a local handoff that agents can read. It does not copy conversation history between Codex and Claude Code. A fresh session should check the handoff and Git rather than assume it has the earlier chat's context.
395
+
396
+ </details>
397
+
398
+ <details>
399
+ <summary><strong>What if a configured model is unavailable?</strong></summary>
400
+
401
+ The subagent model and reasoning values are suggestions, not enforced settings. Use an appropriate available model and keep the configured helper limit.
402
+
403
+ ```bash
404
+ npx orbit-thread configure --show
405
+ ```
406
+
407
+ </details>
408
+
409
+ <details>
410
+ <summary><strong>npm reports a cache permission error</strong></summary>
411
+
412
+ Try the Doctor command in your normal Terminal and check npm's cache before changing any permissions:
413
+
414
+ ```bash
415
+ npm config get cache
416
+ npm cache verify
417
+ ```
418
+
419
+ A restricted coding environment may report a permissions error even when your Mac's cache is healthy. Do not run npm with `sudo` or change ownership without identifying the failing path.
420
+
421
+ </details>
295
422
 
296
423
  ## Security and privacy
297
424
 
298
- Orbit Thread is local-first.
425
+ > ๐Ÿ”’ Orbit Thread's handoff writer runs locally. It does not send files to an Orbit Thread service, collect telemetry or alter Git.
299
426
 
300
- The handoff writer makes no network calls and does not mutate Git. Secret detection is a backstop, not a data-loss-prevention system, so never place credentials, personal data or sensitive production information in handoffs or project docs.
427
+ The installer protects unmanaged skills and locally modified managed files. Setup leaves unrelated instructions and existing project documents alone.
301
428
 
302
- The installer refuses unmanaged skill collisions and protects locally modified managed files. Setup preserves unrelated instructions and existing project docs.
429
+ The secret checker catches some recognisable patterns, **not every type of sensitive information**. Do not include passwords, API keys, recovery codes, personal data or production secrets in handoffs or living docs.
303
430
 
304
- There is no Orbit Thread telemetry. npm, GitHub, Claude and OpenAI still operate under their own service/privacy policies.
431
+ Installing packages or using a coding agent can still involve **npm, GitHub, OpenAI or Anthropic** under those providers' own terms and privacy policies.
305
432
 
306
- See [SECURITY.md](SECURITY.md) and [PRIVACY.md](PRIVACY.md).
433
+ Read [Security](SECURITY.md) and [Privacy](PRIVACY.md) for the details.
307
434
 
308
435
  ## Provider directories
309
436
 
310
- The repository includes a portable skills-only plugin ZIP suitable for OpenAI's plugin upload flow and a Claude plugin manifest suitable for Anthropic/GitHub distribution.
437
+ The repository includes a portable skills plugin ZIP for the OpenAI upload flow and a Claude plugin manifest for Anthropic and GitHub distribution.
311
438
 
312
- Public OpenAI and Anthropic directory approval is separate from npm/GitHub installation. See [docs/SUBMISSION.md](docs/SUBMISSION.md).
439
+ **Submission, approval and publication are separate steps.** A working npm or GitHub installation does not establish that a plugin is publicly listed by OpenAI or Anthropic. See [directory submission notes](docs/SUBMISSION.md).
313
440
 
314
441
  ## Contributing
315
442
 
316
- Issues and focused pull requests are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md).
443
+ Bug reports, documentation improvements and focused pull requests are welcome.
444
+
445
+ See [CONTRIBUTING.md](CONTRIBUTING.md), or [open an issue](https://github.com/shab1h-gh/orbit-thread/issues).
317
446
 
318
447
  ## Licence
319
448
 
320
- [MIT](LICENSE) โ€” Shabih Anwar.
449
+ [MIT](LICENSE). Created by **Shabih Anwar**.