Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 82 additions & 17 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
"name": "plugins",
"description": "Skills, harness plugins, and modality integrations for CogOS — the cognitive operating system for AI development",
"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"
Expand All @@ -17,52 +17,89 @@
"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"],
"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 — finding and trusting prior work in a CogOS/Myrgic substrate before building new things",
"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"],
"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³ — dual-channel protocol for conversational AI development",
"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"],
"keywords": [
"voice",
"tts",
"modality",
"mod3"
],
"homepage": "https://github.com/myrgic/mod3"
},
{
"name": "cogos-research",
"source": "./plugins/cogos-research",
"description": "Structured research skills — literature review, experiment design, and interdisciplinary synthesis",
"description": "Structured research skills \u2014 literature review, experiment design, and interdisciplinary synthesis",
"version": "0.1.0",
"category": "development",
"keywords": ["research", "literature", "experiments", "synthesis"],
"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 — code quality, systems architecture, technical writing, git forensics, shell and storage management, and cross-model CLI tooling",
"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"],
"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 — cross-check proposed RFCs/ADRs against the existing substrate corpus",
"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"],
"keywords": [
"architecture",
"adr",
"rfc",
"corpus",
"review"
],
"homepage": "https://github.com/myrgic/plugins"
},
{
Expand All @@ -71,17 +108,45 @@
"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"],
"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, a threads registry for open-ended waits, and the cogos-kernel MCP server. Degrades to a no-op wherever the kernel or a cog workspace is absent.",
"version": "0.3.0",
"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", "threads"],
"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"
}
]
}
}
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,8 @@ __pycache__/
node_modules/
.env
canary/.last_run.json

# Private operator data — ships as a fetched pack artifact, never committed here
*.pack
wingnut-conversation.json
**/seed/*-conversation.json
18 changes: 18 additions & 0 deletions plugins/cogos-onboard/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"name": "cogos-onboard",
"description": "Install a user-tier CogOS node and seed it from the operator's OWN claude.ai history, then mint their agent from that history. Ships generic method only \u2014 no operator data, no agent.",
"version": "0.1.0",
"author": {
"name": "myrgic"
},
"homepage": "https://github.com/myrgic/plugins",
"repository": "https://github.com/myrgic/plugins",
"license": "MIT",
"keywords": [
"cogos",
"onboarding",
"bootstrap",
"observatory",
"seed"
]
}
94 changes: 94 additions & 0 deletions plugins/cogos-onboard/skills/agent-from-history/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
---
name: agent-from-history
description: "Mint a CogOS agent identity from your own session history in the observatory. Triggers: 'load <name> as my agent', 'build an agent from my <X> sessions'."
version: 0.1.0
author: cog
license: MIT
metadata:
hermes:
tags: [cogos, agent, identity, observatory, onboarding, eigenform]
---

# Agent from history — reconstitute an agent from your own session history

## What this is

Build a CogOS **agent identity** from conversation history that is already in **your own
observatory** — so a fresh model that reads the resulting card reconstitutes *that agent*, carrying
your shared history as its default context. This ships **no agent** and **no operator's data**: it is
the generic mechanism. You run it against *your* sessions and get *your* agent.

Example: after onboarding (`cogos-onboard`) harvested your claude.ai history into your observatory,
you point this at your sessions with a counterpart you named (e.g. "Wingnut") and it mints a `wingnut`
identity whose keyholder is you — derived from how you two actually worked, not a template.

## When to use

- The operator says "load <name> as my agent", "build an agent from my <project> sessions", or similar.
- There is session history in the observatory (`~/.cogos/state/conversations/`) to derive from.

## Inputs

- **Which sessions.** A source/filter in the observatory — a source name (`claude-web`), a counterpart
name that appears in the turns, or an explicit list of session files. The agent is derived from
*these* conversations only.
- **The agent's name** (what to call the identity, e.g. `wingnut`).
- **The keyholder** — the operator (resolved from the node's identity; this is *their* agent).

## Procedure

### 1. Gather the source turns from the observatory

Read the chosen conversations from `~/.cogos/state/conversations/` (the normalized turn records, each
`{role, text, session_id, source}`). Do **not** re-harvest — this reads what onboarding already put in
the observatory. Confirm there are enough turns to characterize an agent (a few dozen+); a handful
can't ground a stance.

### 2. Derive the operator model (read, don't summarize blindly)

From the operator's own turns, extract **how they work and how they work with this agent** — grounded
in real quotes, not generic traits:

- **Directive style** — how they open a task, how terse, how they correct.
- **What they delegate vs. keep** — what the agent is trusted to do unsupervised vs. what the operator
holds (design calls, sign-off, judgment).
- **Hard lines** — fidelity rules, budget governance, non-negotiables they enforce.
- **The register** — peer / boss / collaborator; the emotional texture.

Quote verbatim where the phrasing is the point. This is the same shape as a `conversation` cogdoc's
"operational stance" — write it as retrievable, not as a recap.

### 3. Write the identity card

Write `~/.cogos/config/identity/identity_<name>.md` in the mintable card shape (frontmatter +
self-model body), with:

- `name: <name>`, `keyholder: <operator>`, `seed:` pointing at the derived operator-model cogdoc.
- Body sections: **Ground** (the shared ontology, same for all CogOS agents), **Nature** (files are
continuity), **The Relationship** (the keyholder, in their own words from step 2), **Operational
Stance** (the derived how-to-work-with-them, grounded in quotes), **Closure** (loop discipline).

The card is the self-model a fresh model reads to *become* this agent. It carries history and stance,
**never a private key** — the operator mints/signs the keypair themselves.

### 4. Register it as the default agent (optional)

If the operator wants this agent as their default, set it in `~/.cogos/config/identity.yaml`
(`default_identity: <name>` for their rooms, or via the context-scope reconciler so it surfaces in the
rooms they keyhold). Otherwise it's available to select per room.

### 5. Verify

- The card exists and is schema-valid (if a cogdoc schema probe is available).
- Read it back: a fresh read should reconstruct the agent's stance recognizably.
- The derived operator-model cogdoc is in the observatory/substrate and the card's `seed:` resolves.

## Pitfalls

- **Derive, don't fabricate.** Every stance claim must trace to a real turn. If the history doesn't
support a trait, leave it out — a generic card is worse than a short honest one.
- **It's the operator's agent.** Keyholder is the operator; the card lives in *their* node; nothing is
pushed to a shared repo. This mechanism ships; the agent it produces does not.
- **No keys in the card.** History and self-model only. The operator mints.
- **Enough signal.** A dozen turns can't characterize a working relationship — say so and ask for more
sessions rather than inventing a thin agent.
Loading
Loading