From f58551937e7dc6d20181e0f17a62feed946a5771 Mon Sep 17 00:00:00 2001 From: Cog Date: Sat, 31 Oct 2026 13:14:53 -0400 Subject: [PATCH] =?UTF-8?q?feat:=20cogos-cloud-node=20plugin=20=E2=80=94?= =?UTF-8?q?=20CogOS=20node=20in=20a=20Claude=20Code=20Cloud=20env=20(phone?= =?UTF-8?q?-friendly)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thin convenience plugin + operator-template-repo architecture (repo's SessionStart hook owns bootstrap; data-export seed; no operator data). Verified: falsifiable local harness + fresh-env deploy sim PASS (file assertions; broken input fails loudly). Ships method only. --- .claude-plugin/marketplace.json | 303 +++++++++--------- .../.claude-plugin/plugin.json | 10 + plugins/cogos-cloud-node/README.md | 46 +++ .../skills/cogos-cloud-node/SKILL.md | 47 +++ 4 files changed, 257 insertions(+), 149 deletions(-) create mode 100644 plugins/cogos-cloud-node/.claude-plugin/plugin.json create mode 100644 plugins/cogos-cloud-node/README.md create mode 100644 plugins/cogos-cloud-node/skills/cogos-cloud-node/SKILL.md diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index e55962b..0f31941 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -1,152 +1,157 @@ { - "$schema": "https://anthropic.com/claude-code/marketplace.schema.json", - "name": "plugins", - "description": "Skills, harness plugins, and modality integrations for CogOS \u2014 the cognitive operating system for AI development", - "owner": { - "name": "myrgic", - "email": "myrgic@users.noreply.github.com" + "$schema": "https://anthropic.com/claude-code/marketplace.schema.json", + "name": "plugins", + "description": "Skills, harness plugins, and modality integrations for CogOS \u2014 the cognitive operating system for AI development", + "owner": { + "name": "myrgic", + "email": "myrgic@users.noreply.github.com" + }, + "metadata": { + "version": "0.3.0", + "pluginRoot": "./plugins" + }, + "plugins": [ + { + "name": "cogos-workflow", + "source": "./plugins/cogos-workflow", + "description": "Phased planning, execution, critical review, agent-dispatch, and session-continuity skills for complex multi-step development tasks", + "version": "0.1.0", + "category": "development", + "keywords": [ + "planning", + "execution", + "review", + "multi-agent", + "dispatch", + "session-continuity" + ], + "homepage": "https://github.com/myrgic/plugins" }, - "metadata": { - "version": "0.3.0", - "pluginRoot": "./plugins" + { + "name": "cogos-substrate", + "source": "./plugins/cogos-substrate", + "description": "Substrate archaeology \u2014 finding and trusting prior work in a CogOS/Myrgic substrate before building new things", + "version": "0.1.0", + "category": "development", + "keywords": [ + "cogos", + "myrgic", + "substrate", + "archaeology", + "research" + ], + "homepage": "https://github.com/myrgic/plugins" }, - "plugins": [ - { - "name": "cogos-workflow", - "source": "./plugins/cogos-workflow", - "description": "Phased planning, execution, critical review, agent-dispatch, and session-continuity skills for complex multi-step development tasks", - "version": "0.1.0", - "category": "development", - "keywords": [ - "planning", - "execution", - "review", - "multi-agent", - "dispatch", - "session-continuity" - ], - "homepage": "https://github.com/myrgic/plugins" - }, - { - "name": "cogos-substrate", - "source": "./plugins/cogos-substrate", - "description": "Substrate archaeology \u2014 finding and trusting prior work in a CogOS/Myrgic substrate before building new things", - "version": "0.1.0", - "category": "development", - "keywords": [ - "cogos", - "myrgic", - "substrate", - "archaeology", - "research" - ], - "homepage": "https://github.com/myrgic/plugins" - }, - { - "name": "cogos-voice", - "source": "./plugins/cogos-voice", - "description": "Voice modality integration via Mod\u00b3 \u2014 dual-channel protocol for conversational AI development", - "version": "0.1.0", - "category": "productivity", - "keywords": [ - "voice", - "tts", - "modality", - "mod3" - ], - "homepage": "https://github.com/myrgic/mod3" - }, - { - "name": "cogos-research", - "source": "./plugins/cogos-research", - "description": "Structured research skills \u2014 literature review, experiment design, and interdisciplinary synthesis", - "version": "0.1.0", - "category": "development", - "keywords": [ - "research", - "literature", - "experiments", - "synthesis" - ], - "homepage": "https://github.com/myrgic/research" - }, - { - "name": "cogos-dev-tools", - "source": "./plugins/cogos-dev-tools", - "description": "Development methodology and tooling skills \u2014 code quality, systems architecture, technical writing, git forensics, shell and storage management, and cross-model CLI tooling", - "version": "0.1.0", - "category": "development", - "keywords": [ - "code-quality", - "architecture", - "documentation", - "git", - "shell", - "storage", - "cli-tools" - ], - "homepage": "https://github.com/myrgic/plugins" - }, - { - "name": "cogos-architecture", - "source": "./plugins/cogos-architecture", - "description": "CogOS architecture corpus hygiene \u2014 cross-check proposed RFCs/ADRs against the existing substrate corpus", - "version": "0.1.0", - "category": "development", - "keywords": [ - "architecture", - "adr", - "rfc", - "corpus", - "review" - ], - "homepage": "https://github.com/myrgic/plugins" - }, - { - "name": "myrgic-org", - "source": "./plugins/myrgic-org", - "description": "Org-management skills for the myrgic GitHub org: PR triage, issue triage. Read-only by default.", - "version": "0.1.0", - "category": "development", - "keywords": [ - "github", - "org-management", - "triage", - "gh-cli" - ], - "homepage": "https://github.com/myrgic/plugins" - }, - { - "name": "cogos-harness", - "source": "./plugins/cogos-harness", - "description": "Portable Claude Code membrane for a CogOS node: session-lifecycle hooks, kernel-vitals proprioception, a compaction bypass path, and the cogos-kernel MCP server. Degrades to a no-op wherever the kernel or a cog workspace is absent.", - "version": "0.2.0", - "category": "development", - "keywords": [ - "cogos", - "kernel", - "mcp", - "hooks", - "proprioception", - "session-continuity" - ], - "homepage": "https://github.com/myrgic/plugins" - }, - { - "name": "cogos-onboard", - "source": "./plugins/cogos-onboard", - "description": "Install a user-tier CogOS node and seed it from the operator's OWN claude.ai history, then mint their agent (e.g. Wingnut) from that history. Generic method \u2014 nothing operator-specific ships.", - "version": "0.1.0", - "category": "development", - "keywords": [ - "cogos", - "onboarding", - "bootstrap", - "observatory", - "harvest", - "agent" - ], - "homepage": "https://github.com/myrgic/plugins" - } - ] -} \ No newline at end of file + { + "name": "cogos-voice", + "source": "./plugins/cogos-voice", + "description": "Voice modality integration via Mod\u00b3 \u2014 dual-channel protocol for conversational AI development", + "version": "0.1.0", + "category": "productivity", + "keywords": [ + "voice", + "tts", + "modality", + "mod3" + ], + "homepage": "https://github.com/myrgic/mod3" + }, + { + "name": "cogos-research", + "source": "./plugins/cogos-research", + "description": "Structured research skills \u2014 literature review, experiment design, and interdisciplinary synthesis", + "version": "0.1.0", + "category": "development", + "keywords": [ + "research", + "literature", + "experiments", + "synthesis" + ], + "homepage": "https://github.com/myrgic/research" + }, + { + "name": "cogos-dev-tools", + "source": "./plugins/cogos-dev-tools", + "description": "Development methodology and tooling skills \u2014 code quality, systems architecture, technical writing, git forensics, shell and storage management, and cross-model CLI tooling", + "version": "0.1.0", + "category": "development", + "keywords": [ + "code-quality", + "architecture", + "documentation", + "git", + "shell", + "storage", + "cli-tools" + ], + "homepage": "https://github.com/myrgic/plugins" + }, + { + "name": "cogos-architecture", + "source": "./plugins/cogos-architecture", + "description": "CogOS architecture corpus hygiene \u2014 cross-check proposed RFCs/ADRs against the existing substrate corpus", + "version": "0.1.0", + "category": "development", + "keywords": [ + "architecture", + "adr", + "rfc", + "corpus", + "review" + ], + "homepage": "https://github.com/myrgic/plugins" + }, + { + "name": "myrgic-org", + "source": "./plugins/myrgic-org", + "description": "Org-management skills for the myrgic GitHub org: PR triage, issue triage. Read-only by default.", + "version": "0.1.0", + "category": "development", + "keywords": [ + "github", + "org-management", + "triage", + "gh-cli" + ], + "homepage": "https://github.com/myrgic/plugins" + }, + { + "name": "cogos-harness", + "source": "./plugins/cogos-harness", + "description": "Portable Claude Code membrane for a CogOS node: session-lifecycle hooks, kernel-vitals proprioception, a compaction bypass path, and the cogos-kernel MCP server. Degrades to a no-op wherever the kernel or a cog workspace is absent.", + "version": "0.2.0", + "category": "development", + "keywords": [ + "cogos", + "kernel", + "mcp", + "hooks", + "proprioception", + "session-continuity" + ], + "homepage": "https://github.com/myrgic/plugins" + }, + { + "name": "cogos-onboard", + "source": "./plugins/cogos-onboard", + "description": "Install a user-tier CogOS node and seed it from the operator's OWN claude.ai history, then mint their agent (e.g. Wingnut) from that history. Generic method \u2014 nothing operator-specific ships.", + "version": "0.1.0", + "category": "development", + "keywords": [ + "cogos", + "onboarding", + "bootstrap", + "observatory", + "harvest", + "agent" + ], + "homepage": "https://github.com/myrgic/plugins" + }, + { + "name": "cogos-cloud-node", + "source": "./plugins/cogos-cloud-node", + "description": "Stand up a CogOS node in a Claude Code Cloud environment from your phone. Ships method only." + } + ] +} diff --git a/plugins/cogos-cloud-node/.claude-plugin/plugin.json b/plugins/cogos-cloud-node/.claude-plugin/plugin.json new file mode 100644 index 0000000..eefe744 --- /dev/null +++ b/plugins/cogos-cloud-node/.claude-plugin/plugin.json @@ -0,0 +1,10 @@ +{ + "name": "cogos-cloud-node", + "description": "Stand up a CogOS node in a Claude Code Cloud environment from your phone: fork the operator-template repo, attach it to a Cloud env, seed your own history from a claude.ai data export. Ships method only \u2014 no operator data.", + "version": "0.1.0", + "author": { "name": "myrgic" }, + "homepage": "https://github.com/myrgic/plugins", + "repository": "https://github.com/myrgic/plugins", + "license": "MIT", + "keywords": ["cogos", "cloud", "node", "onboarding", "bootstrap", "phone"] +} diff --git a/plugins/cogos-cloud-node/README.md b/plugins/cogos-cloud-node/README.md new file mode 100644 index 0000000..01ab2cf --- /dev/null +++ b/plugins/cogos-cloud-node/README.md @@ -0,0 +1,46 @@ +# cogos-cloud-node + +Set up a CogOS node in a Claude Code **Cloud environment** — usable from a phone. The plugin is a thin +guide; the **operator-template repo** owns bootstrap (a committed SessionStart hook scaffolds the node). +Ships method only, no operator data. + +## Install + +``` +claude plugin marketplace add myrgic/plugins +claude plugin install cogos-cloud-node@plugins +``` + +Then: "set up my cloud cog node". + +## Friction checklist (HONEST — every step tagged) + +The north star is "install and just use it." Here is the *real* step count, tagged by who/where. We do +not hide steps. + +| # | Step | phone-doable? | +|---|------|---------------| +| 1 | Install the plugin | ✅ phone | +| 2 | Fork the operator-template repo | ✅ phone (GitHub mobile) | +| 3 | Create a Cloud environment | ⚠️ **NEEDS-VERIFY** — Cloud env creation is a Claude settings-UI action; phone-doability unconfirmed. May be **needs-desktop once**. | +| 4 | Set Network access = Full | ⚠️ same UI; **needs-verify** | +| 5 | Add your own `GITHUB_PAT` to Network secrets | ⚠️ same UI; **needs-verify**. Must be YOUR token, never another operator's. | +| 6 | Attach your fork to the env | ⚠️ same UI; **needs-verify** | +| 7 | Open a session (node self-scaffolds) | ✅ phone | +| 8 | Request a claude.ai data export | ✅ phone (Settings → Privacy → Export) | +| 9 | Commit `conversations.json`, run the seeder | ✅ phone (if step 7's session is usable from phone) | +| 10 | Use the node | ✅ phone | + +**Honest bottom line:** steps 1-2 and 7-10 are phone-native. Steps **3-6 (the one-time Cloud-env + secrets +setup) are a settings-UI action whose phone-doability is UNCONFIRMED** — they may need a desktop once, or +an operator (e.g. Chaz) may do them once on the new operator's behalf. After that, the node is used from +the phone. The final phone end-to-end confirmation requires a real Cloud session (not verifiable in a +container). + +## Security notes + +- **Network access: Full is capability, not containment** — an env-var proxy can be ignored by a + process; it is not a trust boundary. (External prior art: zekker6/devsandbox proxy.md.) +- **Secrets go in Network secrets, never in the plugin or the repo.** The template and plugin ship no + credential values. Your `GITHUB_PAT` is yours. +- **The template repo ships no operator data** — bring your own history via a data export. diff --git a/plugins/cogos-cloud-node/skills/cogos-cloud-node/SKILL.md b/plugins/cogos-cloud-node/skills/cogos-cloud-node/SKILL.md new file mode 100644 index 0000000..aecfdba --- /dev/null +++ b/plugins/cogos-cloud-node/skills/cogos-cloud-node/SKILL.md @@ -0,0 +1,47 @@ +--- +name: cogos-cloud-node +description: "Use to set up a CogOS node in a Claude Code Cloud environment (phone-friendly). Triggers: 'set up my cloud cog node', 'cogos in the cloud', 'onboard me to CogOS on my phone'." +version: 0.1.0 +author: myrgic +license: MIT +--- + +# CogOS cloud node — guided setup + +Stand up a CogOS node that lives in a Claude Code **Cloud environment**, so you can use it from a phone +(a phone has no filesystem/shell; the Cloud session is where the node runs). This skill guides the +steps; the **operator-template repo** does the actual bootstrap (its committed SessionStart hook +scaffolds the node when the repo is attached to a Cloud env — no UI paste, no data shipped from anyone). + +## The flow + +### 1. Fork the operator-template repo (yours, clean) +Fork `myrgic/cogos-operator-template` to your own GitHub account. It carries only the mechanism — a +SessionStart hook + a data-export seeder — and **no one's memory or identity**. + +### 2. Create a Cloud environment and attach your fork +In Claude Code → New environment → **Cloud**. Attach your forked repo. Set: +- **Network access:** Full (this is *capability*, not containment — an env-var proxy is ignorable; it + lets the node reach git/pip, it does not confine it). +- **Network secrets:** **your own** `GITHUB_PAT` (+ a provider key if needed) — in the *Network secrets* + slot, not Environment variables. Never someone else's token. + +### 3. Open a session — the node self-scaffolds +When the Cloud session starts, the repo's SessionStart hook runs `cogos-node-ensure.py` and scaffolds +`~/.cogos/`. Confirm: `cat ~/.cogos/bootstrap-state.json`. + +### 4. Seed your own history (phone-doable) +Request a **data export** from claude.ai (Settings → Privacy → Export — works on a phone). Commit the +`conversations.json` to your fork, then: +```sh +python3 .cog/hooks/seed_from_export.py conversations.json ~/.cogos/state/conversations/ +``` +Your history stays yours. + +### 5. Use it +You now have a CogOS node in the cloud, reachable from your phone's Claude. + +## Honest note +Creating the Cloud environment and setting Network secrets are settings-UI actions. Whether they're +fully doable on a phone (vs. needing a desktop once) is **not yet confirmed** — see the friction +checklist in the README. The node itself, once set up, is used from the phone.