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/CHANGELOG.md +17 -0
- package/PRIVACY.md +79 -5
- package/README.md +277 -148
- package/docs/PUBLISHING.md +13 -8
- package/docs/SUBMISSION.md +7 -7
- package/docs/VALIDATION.md +72 -0
- package/lib/cli.mjs +10 -2
- package/lib/resume.mjs +164 -0
- package/package.json +2 -2
- package/plugin/.claude-plugin/plugin.json +2 -2
- package/plugin/README.md +7 -5
- package/plugin/plugin.json +5 -5
- package/plugin/skills/handoff/SKILL.md +1 -0
- package/plugin/skills/orbit-resume/SKILL.md +25 -0
- package/plugin/skills/orbit-resume/agents/openai.yaml +6 -0
- package/plugin/skills/orbit-setup/scripts/setup_project.mjs +3 -2
package/README.md
CHANGED
|
@@ -1,53 +1,91 @@
|
|
|
1
|
-
# Orbit Thread
|
|
1
|
+
# ๐งต Orbit Thread
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**Pick up where you left off, without carrying an entire coding conversation into the next session.**
|
|
4
4
|
|
|
5
|
-
[](https://www.npmjs.com/package/orbit-thread)
|
|
6
6
|
[](https://github.com/shab1h-gh/orbit-thread/actions/workflows/ci.yml)
|
|
7
|
+
[](LICENSE)
|
|
7
8
|
|
|
8
|
-
Orbit Thread
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
23
|
+
> ๐ Run these commands **inside the project** you want to set up.
|
|
18
24
|
|
|
19
|
-
```
|
|
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
|
-
```
|
|
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
|
-
|
|
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
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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
|
-
|
|
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
|
-
|
|
81
|
+
## What setup creates
|
|
44
82
|
|
|
45
|
-
|
|
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 #
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
117
|
+
### When to save a handoff
|
|
103
118
|
|
|
104
|
-
|
|
119
|
+
Handoff is intended for moments that matter:
|
|
105
120
|
|
|
106
|
-
After a
|
|
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
|
-
|
|
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
|
-
|
|
127
|
+
### What gets saved?
|
|
115
128
|
|
|
116
|
-
|
|
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
|
|
137
|
+
- Finish account security settings.
|
|
125
138
|
|
|
126
139
|
## Completed milestones
|
|
127
140
|
- Added the settings route.
|
|
128
|
-
- Connected password
|
|
141
|
+
- Connected password changes and session revocation.
|
|
129
142
|
|
|
130
143
|
## In progress
|
|
131
|
-
- Passkey
|
|
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
|
|
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
|
-
|
|
160
|
+
### Starting a fresh session
|
|
150
161
|
|
|
151
|
-
|
|
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
|
-
|
|
154
|
-
npx orbit-thread configure --agent claude \
|
|
155
|
-
--model "Claude Sonnet 5.5" --effort low
|
|
164
|
+
For a terminal summary, run:
|
|
156
165
|
|
|
157
|
-
|
|
158
|
-
|
|
166
|
+
```bash
|
|
167
|
+
npx orbit-thread resume
|
|
159
168
|
```
|
|
160
169
|
|
|
161
|
-
|
|
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
|
-
|
|
164
|
-
|
|
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
|
-
|
|
196
|
+
**Turn subagents off:**
|
|
168
197
|
|
|
169
|
-
```
|
|
198
|
+
```bash
|
|
170
199
|
npx orbit-thread configure --max-subagents 0
|
|
171
200
|
```
|
|
172
201
|
|
|
173
|
-
|
|
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
|
-
```
|
|
211
|
+
```bash
|
|
176
212
|
npx orbit-thread configure --show
|
|
177
213
|
```
|
|
178
214
|
|
|
179
|
-
Reset
|
|
215
|
+
**Reset one agent's preferences:**
|
|
180
216
|
|
|
181
|
-
```
|
|
217
|
+
```bash
|
|
182
218
|
npx orbit-thread configure --agent claude --reset-subagents
|
|
183
219
|
```
|
|
184
220
|
|
|
185
|
-
|
|
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
|
-
##
|
|
223
|
+
## Check your setup
|
|
188
224
|
|
|
189
|
-
|
|
225
|
+
> ๐ฉบ **Doctor** checks Orbit Thread itself. It does not test whether your application works.
|
|
190
226
|
|
|
191
|
-
|
|
192
|
-
|
|
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
|
-
|
|
233
|
+
Or check each integration separately:
|
|
196
234
|
|
|
197
|
-
|
|
235
|
+
```bash
|
|
236
|
+
npx orbit-thread doctor --agent codex --scope project
|
|
237
|
+
npx orbit-thread doctor --agent claude --scope project
|
|
238
|
+
```
|
|
198
239
|
|
|
199
|
-
|
|
240
|
+
Doctor checks skill versions (including Resume), project configuration, managed instruction blocks, living docs, Git ignore rules and handoff size.
|
|
200
241
|
|
|
201
|
-
|
|
242
|
+
**How do you know it passed?** A successful command exits with status `0`. To print a clear confirmation:
|
|
202
243
|
|
|
203
|
-
|
|
204
|
-
-
|
|
205
|
-
|
|
244
|
+
```bash
|
|
245
|
+
npx orbit-thread doctor --agent both --scope project && echo "Orbit Thread Doctor passed"
|
|
246
|
+
```
|
|
206
247
|
|
|
207
|
-
|
|
248
|
+
A nonzero result means the continuity setup needs attention. It does **not** necessarily mean your app or deployment is broken.
|
|
208
249
|
|
|
209
|
-
|
|
250
|
+
For a quicker check of installed managed skills only:
|
|
210
251
|
|
|
211
|
-
```
|
|
212
|
-
npx orbit-thread
|
|
252
|
+
```bash
|
|
253
|
+
npx orbit-thread check
|
|
213
254
|
```
|
|
214
255
|
|
|
215
|
-
|
|
256
|
+
## Installation options
|
|
257
|
+
|
|
258
|
+
### Requirements
|
|
216
259
|
|
|
217
|
-
|
|
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-
|
|
220
|
-
| Claude Code | `.claude/skills/handoff/` and `.claude/skills/orbit-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
288
|
+
Or use these Terminal commands:
|
|
234
289
|
|
|
235
|
-
```
|
|
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
|
-
|
|
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
|
-
##
|
|
297
|
+
## Command reference
|
|
243
298
|
|
|
244
299
|
| Command | Purpose |
|
|
245
300
|
| --- | --- |
|
|
246
|
-
| `npx orbit-thread install` | Install
|
|
247
|
-
| `npx orbit-thread setup` | Prepare
|
|
248
|
-
| `npx orbit-thread
|
|
249
|
-
| `npx orbit-thread
|
|
250
|
-
| `npx orbit-thread
|
|
251
|
-
| `npx orbit-thread
|
|
252
|
-
| `npx orbit-thread
|
|
253
|
-
| `npx orbit-thread
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
329
|
+
### Moving from Orbit Handoff 1.0.x
|
|
268
330
|
|
|
269
|
-
|
|
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
|
|
339
|
+
The old `orbit-handoff` binary name remains an alias inside the new package. Earlier npm releases remain unchanged.
|
|
276
340
|
|
|
277
|
-
|
|
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
|
-
|
|
343
|
+
## Troubleshooting
|
|
280
344
|
|
|
281
|
-
|
|
282
|
-
|
|
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
|
-
|
|
356
|
+
**Only if those files have no work you need to keep**, restore them and rerun setup:
|
|
286
357
|
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
npx orbit-thread
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
427
|
+
The installer protects unmanaged skills and locally modified managed files. Setup leaves unrelated instructions and existing project documents alone.
|
|
301
428
|
|
|
302
|
-
The
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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)
|
|
449
|
+
[MIT](LICENSE). Created by **Shabih Anwar**.
|