orbit-thread 0.0.0-stage → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,31 @@
1
+ # Changelog
2
+
3
+ ## 1.1.0 — 7 October 2026
4
+
5
+ - Rename the product from **Orbit Handoff** to **Orbit Thread**.
6
+ - Publish the feature release under the new npm package name `orbit-thread`; keep historical `orbit-handoff` releases immutable.
7
+ - Add `orbit-setup` for Codex and Claude Code.
8
+ - Add `npx orbit-thread setup`; keep `init` as an alias.
9
+ - Create only missing lightweight PRODUCT, DESIGN, ARCHITECTURE, SECURITY and ROADMAP living docs while preserving existing equivalents.
10
+ - Add selective context-loading, in-place living-doc updates, fresh-context recovery and bounded-subagent rules.
11
+ - Add `configure` for project-specific subagent model/reasoning preferences stored in `.orbit-thread/config.json`.
12
+ - Add `doctor` for full continuity/config/document-health checks; keep `check` as the lightweight legacy managed-skill installation check.
13
+ - Allow Handoff to be invoked implicitly at meaningful verified checkpoints and completed coding tasks.
14
+ - Keep `HANDOFF-STATE.md` overwrite-only, evidence-only and capped at 50 lines.
15
+ - Migrate compatible Orbit Handoff project state to Orbit Thread while preserving locally edited managed files.
16
+ - Reduce CI noise by running feature work on pull requests, main on push, and package/release checks once after the cross-platform test matrix.
17
+
18
+ ## 1.0.1 — 5 October 2026
19
+
20
+ - Confirm successful public npm publication and make `npx orbit-handoff install` the primary installation route.
21
+ - Remove stale pre-publication claims and record public package smoke testing.
22
+ - Update release and submission artifact references; directory submissions remain pending.
23
+ - Keep the installer, canonical skill and handoff writer unchanged.
24
+
25
+ ## 1.0.0 — 5 October 2026
26
+
27
+ - Publish the proven handoff workflow as Orbit Handoff for Codex and Claude Code.
28
+ - Add interactive installation and ownership-aware init, check, update and uninstall.
29
+ - Package one canonical skill for Claude marketplaces and portable Agent Plugins.
30
+ - Preserve validated atomic handoffs, the 50-line limit and the local-only runtime.
31
+ - Add macOS and Linux tests, release packaging and directory submission guidance.
@@ -0,0 +1,40 @@
1
+ # Contributing
2
+
3
+ Thanks for helping improve Orbit Thread. Open an issue for a bug/focused proposal, or send a pull request with a clear explanation and relevant tests. Use synthetic repositories and credentials in reproductions.
4
+
5
+ Requirements: Node.js 20+, Python 3 for packaging, Git and a POSIX shell. The project has no npm runtime dependencies.
6
+
7
+ ```sh
8
+ npm test
9
+ npm run validate
10
+ npm run scan:public
11
+ npm run build:plugin
12
+ npm pack
13
+ npm run smoke:pack
14
+ ```
15
+
16
+ Keep canonical skills under:
17
+
18
+ ```text
19
+ plugin/skills/handoff/
20
+ plugin/skills/orbit-setup/
21
+ ```
22
+
23
+ Do not create divergent Codex and Claude implementations.
24
+
25
+ Handoff changes must preserve the 50-line cap, overwrite-only current state, validation before atomic replacement, secret backstop, failed-write preservation, no temporary residue, no network calls and no Git mutation.
26
+
27
+ Setup/configuration changes must preserve existing project docs and unrelated instructions, avoid duplicate root/docs files, stay idempotent, keep living docs as current truth rather than changelogs, and keep user-configured subagent preferences inside the managed Orbit Thread block.
28
+
29
+ Installer/update tests must cover migration from compatible Orbit Handoff installations, edited-file preservation and user-owned content.
30
+
31
+ Packaging changes should also be validated with current Claude Code:
32
+
33
+ ```sh
34
+ claude plugin validate ./plugin --strict
35
+ claude plugin validate . --strict
36
+ ```
37
+
38
+ Public-directory validation is separate from provider approval.
39
+
40
+ Use British English in documentation.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Shabih Anwar
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/PRIVACY.md ADDED
@@ -0,0 +1,9 @@
1
+ # Privacy
2
+
3
+ Orbit Thread has no telemetry, remote service, external account or MCP server.
4
+
5
+ The Handoff writer processes input locally and saves `HANDOFF-STATE.md`. Orbit Setup writes local/project documentation, managed agent instructions, a small project configuration file and local ownership state. The CLI records hashes and the exact managed instruction blocks it adds.
6
+
7
+ Installation through npm or a plugin marketplace uses the relevant registry or Git host. Your coding agent's model calls and privacy settings remain governed by its provider. Orbit Thread's local writer and setup/configuration scripts do not send repository content anywhere.
8
+
9
+ Keep secrets, credentials, personal data and sensitive production data out of handoffs and living docs. Pattern checks are limited and are not a data-loss-prevention system. `HANDOFF-STATE.md` and Orbit Thread's local ownership state are Git-ignored by setup; ignoring a previously tracked file does not untrack it.
package/README.md CHANGED
@@ -1,3 +1,320 @@
1
- # Temporary Holding Version
1
+ # Orbit Thread
2
2
 
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.
3
+ **Keep coding agents aligned across long projects without carrying a huge conversation forever.**
4
+
5
+ [![Licence: MIT](https://img.shields.io/badge/licence-MIT-blue.svg)](LICENSE)
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
+
8
+ Orbit Thread is a small local continuity layer for Codex and Claude Code. It has two reusable skills:
9
+
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.
12
+
13
+ Tracked source, Git history and living project docs remain authoritative. The handoff is current execution state, not a changelog.
14
+
15
+ ## Quick start
16
+
17
+ From the project you want to configure:
18
+
19
+ ```sh
20
+ npx orbit-thread install
21
+ npx orbit-thread setup
22
+ ```
23
+
24
+ Choose Codex, Claude Code or both when prompted.
25
+
26
+ Non-interactive:
27
+
28
+ ```sh
29
+ npx orbit-thread install --agent both --scope project --yes
30
+ npx orbit-thread setup --agent both --yes
31
+ ```
32
+
33
+ Then use the skills directly:
34
+
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` |
40
+
41
+ ## What Orbit Setup creates
42
+
43
+ Orbit Setup is designed to run before the first substantial coding prompt, or later to upgrade an existing project.
44
+
45
+ If equivalent files do not already exist, it creates:
46
+
47
+ ```text
48
+ project/
49
+ ├── AGENTS.md
50
+ ├── CLAUDE.md # when Claude is selected
51
+ ├── .orbit-thread/
52
+ │ └── config.json # tracked project preferences
53
+ └── docs/
54
+ ├── PRODUCT.md
55
+ ├── DESIGN.md
56
+ ├── ARCHITECTURE.md
57
+ ├── SECURITY.md
58
+ └── ROADMAP.md
59
+ ```
60
+
61
+ At the first meaningful checkpoint, Handoff creates:
62
+
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:
74
+
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.
93
+
94
+ ## Checkpoints and fresh-context recovery
95
+
96
+ Orbit Thread asks the coding agent to run Handoff:
97
+
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.
101
+
102
+ It intentionally skips read-only questions and trivial edits.
103
+
104
+ Each successful checkpoint **overwrites** the previous `HANDOFF-STATE.md`. It does not grow into a development diary.
105
+
106
+ After a fresh, cleared or recovered session, the generated project rules tell the agent to recover in this order:
107
+
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.
113
+
114
+ ## Handoff format
115
+
116
+ A handoff is normally about 30 lines and has a hard cap of 50:
117
+
118
+ ```markdown
119
+ # Handoff State
120
+
121
+ Updated: 07-10-2026 00:30
122
+
123
+ ## Current objective
124
+ - Finish account-security settings.
125
+
126
+ ## Completed milestones
127
+ - Added the settings route.
128
+ - Connected password change and session revocation.
129
+
130
+ ## In progress
131
+ - Passkey-management UI.
132
+
133
+ ## Open issues / risks
134
+ - Passkey removal still needs a browser test.
135
+
136
+ ## Immediate next steps
137
+ 1. Finish passkey management.
138
+ 2. Run the authentication suite.
139
+
140
+ ## Verification
141
+ - Typecheck passed.
142
+ - Unit tests passed: 42/42.
143
+ ```
144
+
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
148
+
149
+ Orbit Thread defaults to **no subagents unless they genuinely help**, with a maximum of two and no recursive subagents.
150
+
151
+ You can save project-specific model/reasoning preferences without hand-editing `AGENTS.md`:
152
+
153
+ ```sh
154
+ npx orbit-thread configure --agent claude \
155
+ --model "Claude Sonnet 5.5" --effort low
156
+
157
+ npx orbit-thread configure --agent codex \
158
+ --model "GPT-6.1 Sol" --reasoning high
159
+ ```
160
+
161
+ Change the maximum:
162
+
163
+ ```sh
164
+ npx orbit-thread configure --max-subagents 1
165
+ ```
166
+
167
+ Disable subagents:
168
+
169
+ ```sh
170
+ npx orbit-thread configure --max-subagents 0
171
+ ```
172
+
173
+ Show configuration:
174
+
175
+ ```sh
176
+ npx orbit-thread configure --show
177
+ ```
178
+
179
+ Reset saved subagent preferences:
180
+
181
+ ```sh
182
+ npx orbit-thread configure --agent claude --reset-subagents
183
+ ```
184
+
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.
186
+
187
+ ## Project doctor
188
+
189
+ Run:
190
+
191
+ ```sh
192
+ npx orbit-thread doctor
193
+ ```
194
+
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.
196
+
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.
198
+
199
+ ## Installation
200
+
201
+ Requirements:
202
+
203
+ - Node.js 20+
204
+ - Git for normal repository workflows
205
+ - a POSIX shell and standard Unix utilities for the handoff writer
206
+
207
+ macOS and Linux are supported. Native Windows is not currently supported; WSL is the expected route.
208
+
209
+ ### npm / standalone Codex and Claude Code
210
+
211
+ ```sh
212
+ npx orbit-thread install
213
+ ```
214
+
215
+ Project installs use:
216
+
217
+ | Agent | Project location |
218
+ | --- | --- |
219
+ | Codex | `.agents/skills/handoff/` and `.agents/skills/orbit-setup/` |
220
+ | Claude Code | `.claude/skills/handoff/` and `.claude/skills/orbit-setup/` |
221
+
222
+ User/global installs use the equivalent `~/.agents/skills/` or `~/.claude/skills/` locations.
223
+
224
+ ### Claude GitHub marketplace
225
+
226
+ Inside Claude Code:
227
+
228
+ ```text
229
+ /plugin marketplace add shab1h-gh/orbit-thread
230
+ /plugin install orbit-thread@orbit-thread
231
+ ```
232
+
233
+ Equivalent shell commands:
234
+
235
+ ```sh
236
+ claude plugin marketplace add shab1h-gh/orbit-thread
237
+ claude plugin install orbit-thread@orbit-thread
238
+ ```
239
+
240
+ The GitHub marketplace route is separate from Anthropic's official public directory.
241
+
242
+ ## Commands
243
+
244
+ | Command | Purpose |
245
+ | --- | --- |
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). |
254
+
255
+ Common options:
256
+
257
+ ```text
258
+ --agent codex|claude|both
259
+ --scope project|user
260
+ --yes
261
+ ```
262
+
263
+ ## Migrating from Orbit Handoff 1.0.x
264
+
265
+ Orbit Thread is the successor to **Orbit Handoff**.
266
+
267
+ Existing npm-managed users should install/update through the new package name:
268
+
269
+ ```sh
270
+ npx orbit-thread@latest update --agent both --scope project --yes
271
+ npx orbit-thread@latest setup --agent both --yes
272
+ npx orbit-thread doctor --agent both --scope project
273
+ ```
274
+
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.
276
+
277
+ The historical `orbit-handoff` npm releases remain immutable.
278
+
279
+ For Claude GitHub-marketplace users, update/reinstall from the renamed repository and run:
280
+
281
+ ```text
282
+ /orbit-thread:orbit-setup
283
+ ```
284
+
285
+ ## Updating Orbit Thread
286
+
287
+ ```sh
288
+ npx orbit-thread@latest update --agent both --scope project --yes
289
+ npx orbit-thread@latest setup --agent both --yes
290
+ ```
291
+
292
+ The first command updates unchanged managed skill files. The second updates the project-managed rules and creates only missing living docs.
293
+
294
+ Locally edited managed skill files are never force-overwritten.
295
+
296
+ ## Security and privacy
297
+
298
+ Orbit Thread is local-first.
299
+
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.
301
+
302
+ The installer refuses unmanaged skill collisions and protects locally modified managed files. Setup preserves unrelated instructions and existing project docs.
303
+
304
+ There is no Orbit Thread telemetry. npm, GitHub, Claude and OpenAI still operate under their own service/privacy policies.
305
+
306
+ See [SECURITY.md](SECURITY.md) and [PRIVACY.md](PRIVACY.md).
307
+
308
+ ## Provider directories
309
+
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.
311
+
312
+ Public OpenAI and Anthropic directory approval is separate from npm/GitHub installation. See [docs/SUBMISSION.md](docs/SUBMISSION.md).
313
+
314
+ ## Contributing
315
+
316
+ Issues and focused pull requests are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md).
317
+
318
+ ## Licence
319
+
320
+ [MIT](LICENSE) — Shabih Anwar.
package/SECURITY.md ADDED
@@ -0,0 +1,18 @@
1
+ # Security
2
+
3
+ Orbit Thread keeps handoff and project-continuity state local.
4
+
5
+ The Handoff writer makes no network requests and does not mutate Git. It validates a temporary file before replacing the previous handoff with a same-directory atomic rename. Failed validation leaves the previous file intact and removes temporary residue. New handoffs inherit `mktemp`'s restrictive permissions.
6
+
7
+ The secret check is a backstop for recognisable credential/private-key patterns, not a complete DLP system. Rejection messages include line numbers rather than matched content.
8
+
9
+ The npm CLI copies the same canonical skills to supported agents. It records file hashes, refuses unmanaged skill collisions or locally edited managed installations, preserves edited files during uninstall and rejects symlinked destinations. Setup uses ownership-tracked instruction blocks, preserves unrelated instructions and existing living docs, and writes project subagent preferences only into Orbit Thread's managed AGENTS.md block.
10
+
11
+ There are no runtime npm dependencies or postinstall hooks.
12
+
13
+ `npx` and plugin installation may access their registries or GitHub. Your coding agent uses its own provider and permissions; Orbit Thread does not expand those permissions or sandbox the host agent.
14
+
15
+ Please report vulnerabilities privately through the repository security advisory form after the repository rename:
16
+ `https://github.com/shab1h-gh/orbit-thread/security/advisories/new`
17
+
18
+ Use synthetic data in reports. Never put live secrets or private project state in public issues.
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ import { main } from '../lib/cli.mjs';
3
+ try {
4
+ await main(process.argv.slice(2));
5
+ } catch (error) {
6
+ console.error(`Orbit Thread: ${error.message}`);
7
+ process.exitCode = 1;
8
+ }
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ import { main } from '../lib/cli.mjs';
3
+ try {
4
+ await main(process.argv.slice(2));
5
+ } catch (error) {
6
+ console.error(`Orbit Thread: ${error.message}`);
7
+ process.exitCode = 1;
8
+ }
@@ -0,0 +1,113 @@
1
+ # npm publication and releases
2
+
3
+ Orbit Thread v1.1.0 is the successor to Orbit Handoff v1.0.x.
4
+
5
+ Historical `orbit-handoff@1.0.0` and `orbit-handoff@1.0.1` releases are immutable. Do not republish, unpublish or move their release tags.
6
+
7
+ The new primary package is:
8
+
9
+ ```text
10
+ orbit-thread
11
+ ```
12
+
13
+ ## Release checks
14
+
15
+ Before publication:
16
+
17
+ ```sh
18
+ npm test
19
+ npm run validate
20
+ npm run scan:public
21
+ npm run build:plugin
22
+ npm pack
23
+ npm run smoke:pack
24
+ ```
25
+
26
+ Also validate the Claude plugin with the currently installed Claude Code release:
27
+
28
+ ```sh
29
+ claude plugin validate ./plugin --strict
30
+ claude plugin validate . --strict
31
+ ```
32
+
33
+ Inspect:
34
+
35
+ ```text
36
+ orbit-thread-1.1.0.tgz
37
+ dist/orbit-thread-plugin-1.1.0.zip
38
+ ```
39
+
40
+ Confirm both canonical skills are present:
41
+
42
+ ```text
43
+ plugin/skills/handoff/
44
+ plugin/skills/orbit-setup/
45
+ ```
46
+
47
+ and that the packed CLI can install, setup, configure, doctor, update and uninstall in a disposable repository.
48
+
49
+ ## Publish
50
+
51
+ After release checks pass:
52
+
53
+ ```sh
54
+ npm publish ./orbit-thread-1.1.0.tgz --access public --registry https://registry.npmjs.org/
55
+ ```
56
+
57
+ Complete npm's normal browser/2FA challenge if prompted. Never weaken npm account security to automate publication.
58
+
59
+ If interactive authentication is unavailable to the release agent, stop with the verified tarball and give the publisher the exact command above.
60
+
61
+ ## Verify public distribution
62
+
63
+ After publication:
64
+
65
+ ```sh
66
+ npm view orbit-thread@latest version repository --registry https://registry.npmjs.org/
67
+ mkdir /tmp/orbit-thread-public-smoke
68
+ cd /tmp/orbit-thread-public-smoke
69
+ git init
70
+ npx orbit-thread@latest install --agent both --scope project --yes
71
+ npx orbit-thread@latest setup --agent both --yes
72
+ npx orbit-thread@latest doctor --agent both --scope project
73
+ npx orbit-thread@latest uninstall --agent both --scope project --yes
74
+ ```
75
+
76
+ Verify `latest` resolves to `1.1.0` and package metadata points to `shab1h-gh/orbit-thread`.
77
+
78
+ ## Existing Orbit Handoff users
79
+
80
+ Because the npm package name changes, users should migrate through the new package explicitly:
81
+
82
+ ```sh
83
+ npx orbit-thread@latest update --agent both --scope project --yes
84
+ npx orbit-thread@latest setup --agent both --yes
85
+ npx orbit-thread doctor --agent both --scope project
86
+ ```
87
+
88
+ The v1.1 CLI accepts compatible Orbit Handoff ownership/project state and migrates it while refusing locally edited managed files.
89
+
90
+ After Orbit Thread is publicly verified, the old package may be deprecated with a migration message, but must not be unpublished:
91
+
92
+ ```sh
93
+ npm deprecate 'orbit-handoff@<=1.0.1' 'Renamed to orbit-thread. Install orbit-thread@latest.'
94
+ ```
95
+
96
+ That command also requires publisher authentication and is optional.
97
+
98
+ ## Claude GitHub-marketplace users
99
+
100
+ After the repository is renamed:
101
+
102
+ ```sh
103
+ claude plugin marketplace add shab1h-gh/orbit-thread
104
+ claude plugin install orbit-thread@orbit-thread
105
+ ```
106
+
107
+ Then run:
108
+
109
+ ```text
110
+ /orbit-thread:orbit-setup
111
+ ```
112
+
113
+ Public OpenAI and Anthropic directory publication is separate from npm/GitHub distribution. See [SUBMISSION.md](SUBMISSION.md).
@@ -0,0 +1,72 @@
1
+ # Directory submission
2
+
3
+ Updated 7 October 2026.
4
+
5
+ Provider-directory review is separate from npm, GitHub and standalone installation.
6
+
7
+ ## OpenAI / ChatGPT Plugins Directory
8
+
9
+ Orbit Thread v1.1.0 is submitted as:
10
+
11
+ ```text
12
+ dist/orbit-thread-plugin-1.1.0.zip
13
+ ```
14
+
15
+ Build it with:
16
+
17
+ ```sh
18
+ npm run build:plugin
19
+ ```
20
+
21
+ The ZIP contains portable `plugin.json`, both canonical skills, OpenAI interface metadata, the Orbit Setup onboarding skill, listing icon and compatibility metadata. Orbit Thread needs no MCP server or external account.
22
+
23
+ ### Submission flow
24
+
25
+ 1. Complete release validation and build the final v1.1.0 ZIP from the release commit/tag.
26
+ 2. Open the OpenAI Plugins publisher dashboard:
27
+ `https://platform.openai.com/plugins`
28
+ 3. Upload `orbit-thread-plugin-1.1.0.zip`.
29
+ 4. Complete automated checks and resolve genuine findings.
30
+ 5. Review listing metadata and required policy/data-handling declarations.
31
+ 6. Choose **Submit for review**.
32
+ 7. Track **Review status** in the same dashboard.
33
+ 8. After approval, choose **Publish plugin** when ready.
34
+
35
+ Changing bundled skills or plugin metadata requires a newly uploaded ZIP; changing GitHub alone does not update an already uploaded package.
36
+
37
+ Only advertise public availability after the dashboard says the plugin is published.
38
+
39
+ ## Anthropic / Claude public directory
40
+
41
+ The GitHub marketplace route and Anthropic's public Claude directory are separate.
42
+
43
+ After the repository rename, direct GitHub installation is:
44
+
45
+ ```text
46
+ /plugin marketplace add shab1h-gh/orbit-thread
47
+ /plugin install orbit-thread@orbit-thread
48
+ ```
49
+
50
+ or:
51
+
52
+ ```sh
53
+ claude plugin marketplace add shab1h-gh/orbit-thread
54
+ claude plugin install orbit-thread@orbit-thread
55
+ ```
56
+
57
+ For public-directory publication, use Anthropic's developer directory submission portal. Anthropic announced that developers on paid Claude plans can submit plugins, track review and see usage after publication.
58
+
59
+ Before submission:
60
+
61
+ ```sh
62
+ claude plugin validate ./plugin --strict
63
+ claude plugin validate . --strict
64
+ ```
65
+
66
+ Then use the directory management/submission surface in Claude, connect the GitHub account that owns `shab1h-gh/orbit-thread`, select the repository/plugin, complete the listing details and submit it for review. Use the immutable v1.1.0 release/tag once created.
67
+
68
+ A successful GitHub marketplace installation does not mean the plugin is approved for Anthropic's public directory.
69
+
70
+ ## General rule
71
+
72
+ Provider dashboard state wins over repository documentation. Update these instructions in place if either provider changes its submission flow; Git history already records the old process.