@lythos/skill-deck 0.9.13 → 0.9.14

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.
Files changed (2) hide show
  1. package/README.md +62 -0
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -157,6 +157,68 @@ Different agents look for skills in different directories. `skill-deck.toml` con
157
157
  | `deck add` fails with 404 | Locator format wrong or repo doesn't exist | Format: `github.com/owner/repo/skill-name` (path to skill directory inside repo) |
158
158
  | `skill-deck.toml not found` | Running `link` outside project tree | Run from project root, or use `--deck ./path/to/skill-deck.toml` |
159
159
 
160
+ ## K8s-Style Reconciliation: Agent as Controller
161
+
162
+ Deck follows Kubernetes' reconciliation model. The agent (Claude, Cursor, etc.) is the **controller manager** — it reads state, builds a plan, shows it to the user, then executes:
163
+
164
+ ```
165
+ scan (observe state) → plan (compute diff) → confirm → execute → verify
166
+ ↑ │
167
+ └──────────────────── reconciliation loop ─────────────────────┘
168
+ ```
169
+
170
+ | K8s Concept | Deck Equivalent |
171
+ |-------------|-----------------|
172
+ | Desired state (YAML manifest) | `skill-deck.toml` |
173
+ | Actual state (running pods) | Working set (`~/.claude/skills/`) |
174
+ | Controller manager (reconcile loop) | Agent reads state → builds plan → user confirms |
175
+ | `kubectl apply` | `deck link` |
176
+ | Namespace (isolation) | Per-project deck file |
177
+ | PersistentVolume | Cold pool (`~/.agents/skill-repos/`) |
178
+
179
+ The loop doesn't run automatically (no daemon). The agent is the loop — it observes, plans, confirms, and executes on demand. This is K8s-style **declarative governance**: declare what you want, reconcile to match.
180
+
181
+ ## Multi-Agent POSSE Syndication
182
+
183
+ Not "switching between agents" — **syndicating everywhere simultaneously**. Like IndieWeb's POSSE (Publish on your Own Site, Syndicate Elsewhere):
184
+
185
+ ```
186
+ Cold Pool (~/.agents/skill-repos/) ← canonical "own site"
187
+ ↓ deck link --workdir
188
+ ├── .claude/skills/ ← syndicate to Claude Code
189
+ ├── .cursor/skills/ ← syndicate to Cursor
190
+ ├── .codex/skills/ ← syndicate to Codex
191
+ └── .windsurf/skills/ ← syndicate to Windsurf
192
+ ```
193
+
194
+ One cold pool, one deck declaration, synced to every agent you use. Adding a new platform is updating a key-value registry — no code changes needed. See [multi-agent-posse-syndication](https://github.com/lythos-labs/lythoskill/blob/main/cortex/wiki/01-patterns/2026-05-05-multi-agent-posse-syndication.md).
195
+
196
+ ## Migration: For Existing Skill Users
197
+
198
+ If you already have skills installed (in working set, globally, or mixed), deck respects your existing state:
199
+
200
+ ```
201
+ 1. SCAN Agent surveys: what's in ~/.claude/skills/? What's global? What's mixed?
202
+ curator scan helps — indexes cold pool or existing working set.
203
+
204
+ 2. PLAN Agent shows: "We found 12 skills. After migration:
205
+ - 2 → innate (deck infrastructure)
206
+ - 4 → tool section
207
+ - 3 → cold pool (already there, just link)
208
+ - 3 → backup only (unused, stale)
209
+ All 12 backed up to ~/.agents/lythos/backups/<date>.tar.gz"
210
+
211
+ 3. BACKUP Always. `link` creates tar backups for non-symlink entries before removal.
212
+ Use `--no-backup` only if you're certain.
213
+
214
+ 4. EXECUTE deck link — creates symlinks, removes undeclared, leaves real files untouched.
215
+
216
+ 5. VERIFY Agent checks: all declared skills resolve? Working set clean?
217
+ If unhappy: tar xf backup → rollback to pre-migration state.
218
+ ```
219
+
220
+ **Key principle**: existing skill users aren't beginners. They have working setups. Migration is a conversation — scan, show the plan, confirm before acting. Backup is non-negotiable.
221
+
160
222
  ## Architecture: Intent / Plan / Execute
161
223
 
162
224
  Deck commands separate pure logic from IO:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lythos/skill-deck",
3
- "version": "0.9.13",
3
+ "version": "0.9.14",
4
4
  "description": "Declarative skill deck governance — cold pool, working set, deny-by-default",
5
5
  "keywords": [
6
6
  "ai-agent",