@kybernesis/create 0.1.4 → 0.2.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/dist/cli.js +7 -0
- package/dist/doctor.js +29 -0
- package/dist/init.js +8 -0
- package/dist/skills.d.ts +15 -0
- package/dist/skills.js +40 -0
- package/package.json +2 -1
- package/skills/certification/SKILL.md +59 -0
- package/skills/control-plane/SKILL.md +54 -0
- package/skills/eve-building/SKILL.md +94 -0
- package/skills/fde-engagement/SKILL.md +35 -0
- package/skills/fde-engagement/references/playbook.md +1665 -0
- package/skills/kybernesis-packages/SKILL.md +74 -0
- package/skills/source-of-truth/SKILL.md +60 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Use when installing, configuring, or debugging any @kybernesis package — arcana (memory), enterprise (governance), multiplayer (Slack), engineer (build+ship), evals (QA), create (kyb CLI) — or the Kybernesis registry. Includes every production-learned gotcha.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# The Kybernesis packages
|
|
6
|
+
|
|
7
|
+
Six packages, npm-public under `@kybernesis`, Apache-2.0, monorepo
|
|
8
|
+
`KybernesisAI/platform`. Registry: `https://registry.kybernesis.ai`
|
|
9
|
+
(`eve registry add @kybernesis=https://registry.kybernesis.ai/r/{name}.json`,
|
|
10
|
+
then `eve add @kybernesis/<item>`). Each covers one axis:
|
|
11
|
+
|
|
12
|
+
- **arcana** — memory. Extension mount `arcana({ apiKey, workspace,
|
|
13
|
+
resolveWorkspace? })`. Workspace-scoped `kb_` keys (403 outside their
|
|
14
|
+
workspace — one key per brain). `resolveWorkspace` only from VERIFIED
|
|
15
|
+
session context, never model output, and only key-reachable workspaces.
|
|
16
|
+
Subagents: local extension mount (`subagents/<id>/extensions/arcana.ts`,
|
|
17
|
+
eve ≥0.30) or plain connection + skill copies. Header
|
|
18
|
+
`X-Kyberagent-Agent: <workspace>` required by the MCP.
|
|
19
|
+
- **enterprise** — governance. Plain library (route auth can't ship in an
|
|
20
|
+
extension). `kybernesisAuth()` admits only control-plane IdentitySessions
|
|
21
|
+
WITH a grant for this agent (`authorization: Bearer` + `x-kybernesis-bundle`
|
|
22
|
+
headers; 401 no-creds, 403 agent_not_granted). Lazy JWKS — compiles without
|
|
23
|
+
KYBERNESIS_ISSUER. See the `control-plane` skill.
|
|
24
|
+
- **multiplayer** — Slack conversation mechanics. `multiplayerSlackChannel()`
|
|
25
|
+
from `/slack` subpath: thread = shared session with per-speaker verified
|
|
26
|
+
identity, no-re-mention continuation, dual surface (verified
|
|
27
|
+
`surface: "channel"|"dm"` attribute + helpers from package root), `/new` DM
|
|
28
|
+
reset. Slack-only today.
|
|
29
|
+
- **engineer** — build + ship. Extension: `screenshot` (renders in in-sandbox
|
|
30
|
+
Chromium, returns pixels the model SEES) + `deliver` (sandbox file → public
|
|
31
|
+
Blob URL; needs BLOB_READ_WRITE_TOKEN — one-liner:
|
|
32
|
+
`vercel blob create-store <name>-deliverables --access public --yes`) +
|
|
33
|
+
six skills (dev-loop, scaffold, visual-qa, git-discipline, ship,
|
|
34
|
+
architecture-notes). The registry item ALSO writes
|
|
35
|
+
`agent/sandbox/sandbox.ts` — the workshop: Playwright baked into the
|
|
36
|
+
template at DEPLOY time, backend PINNED to Vercel Sandbox (no Docker
|
|
37
|
+
anywhere, local runs use hosted sandboxes via `vercel link` + `env pull`),
|
|
38
|
+
domain allowlist = the client's security posture. Ship loop: preview deploys
|
|
39
|
+
via the Vercel MCP connection (inline file tree, no git needed, no token in
|
|
40
|
+
the VM); production promotion is ALWAYS human-approved.
|
|
41
|
+
- **evals** — QA. `kybernesisBaseline({ agentDisplayName, routing,
|
|
42
|
+
engineer? })` = smoke + 5 memory + routing per dept + optional vision-loop
|
|
43
|
+
eval. Judge model ≠ model under test. Hermetic runs force all workspaces to
|
|
44
|
+
`<name>-eval` via the npm script.
|
|
45
|
+
- **create** — the `kyb` CLI: `init [--engineer]`, `doctor`, `upgrade`
|
|
46
|
+
(carries eve to the Kybernesis-CERTIFIED pin, never blind latest),
|
|
47
|
+
`skills`. Ships THIS skill suite.
|
|
48
|
+
|
|
49
|
+
## Gotchas that each cost a real debugging session
|
|
50
|
+
|
|
51
|
+
- **Tool names are mount-dependent — ALWAYS suffix-match.** Extension mount →
|
|
52
|
+
`arcana__memory__arcana_remember`; plain connection → `arcana__arcana_remember`.
|
|
53
|
+
In approvals/hooks/evals: `toolName.endsWith("arcana_remember")`.
|
|
54
|
+
- **Vercel Connect connectors: use the UID** (`mcp.vercel.com/vercel`), never
|
|
55
|
+
the short name, in `connect()`. No grant editor exists — changing scope =
|
|
56
|
+
detach → remove → create (same UID) → attach, then re-auth from a FRESH
|
|
57
|
+
session (stale sessions error without re-prompting).
|
|
58
|
+
- **Dev servers in the sandbox start DETACHED** (nohup + background + log +
|
|
59
|
+
curl-poll) — a foreground server blocks the tool call and hangs the turn.
|
|
60
|
+
Verified-and-unchanged builds deploy WITHOUT re-running a server.
|
|
61
|
+
- **Deliver/file links: post URLs as plain text** — markdown bold glues
|
|
62
|
+
asterisks onto the URL in Slack and breaks it. Coach agents in prose, not
|
|
63
|
+
shell (WAFs eat shell-syntax Slack messages).
|
|
64
|
+
- **ESM packaging**: relative imports need `.js` extensions (tsc doesn't
|
|
65
|
+
rewrite); eve is a peer dep with an explicit range (`>=0.30.0 <0.31.0`),
|
|
66
|
+
pinned exactly in devDeps.
|
|
67
|
+
- **Eval fixtures are hardened on purpose** — in-test nonces (eve caches
|
|
68
|
+
compiled eval modules), per-run unique keys (workspaces accumulate),
|
|
69
|
+
company-general wording (dept-flavored prompts delegate and hide tool
|
|
70
|
+
calls), no security vocabulary ("canary" triggers refusals), long routing
|
|
71
|
+
timeouts. Do not "clean up" the odd-looking patterns.
|
|
72
|
+
- **npm**: only the `kybernesis` account creates new packages in the scope;
|
|
73
|
+
publishes need the human's browser auth; new versions take 1–3 min to
|
|
74
|
+
propagate to anonymous reads.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Use whenever a lesson is learned, a bug is fixed, a package/registry/playbook/doc changes, or something shipped — the checklist that keeps the Kybernesis knowledge system the single source of truth. Also use when unsure where a piece of knowledge belongs.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Source of truth — and how it stays that
|
|
6
|
+
|
|
7
|
+
The knowledge system only works if every change lands in the right place the
|
|
8
|
+
same day it happens. This skill is the routing table and the checklist.
|
|
9
|
+
|
|
10
|
+
## Where truth lives
|
|
11
|
+
|
|
12
|
+
| Kind of knowledge | Canonical home |
|
|
13
|
+
| --- | --- |
|
|
14
|
+
| How to run an engagement | `packages/create/skills/fde-engagement/references/playbook.md` (THIS package) — the Obsidian copy is a mirror, never edit it first |
|
|
15
|
+
| How to build eve agents / packages / control plane / certification | the sibling skills in `packages/create/skills/` |
|
|
16
|
+
| Package behavior + install steps | each package's README + registry item in `~/platform` |
|
|
17
|
+
| Framework truth | `node_modules/eve/docs/` at the pinned version — never restate at length, point at it |
|
|
18
|
+
| What exists, what's specced, what's parked | the system-overview doc (session-handoff master, Obsidian) |
|
|
19
|
+
| Session-to-session working context | the Claude project memory (`~/.claude/projects/.../memory/`) — pointers and lessons, not content that belongs above |
|
|
20
|
+
|
|
21
|
+
Secrets live in env managers only. Client-specific facts live in the client's
|
|
22
|
+
repo and brain, never in this suite.
|
|
23
|
+
|
|
24
|
+
## The propagation checklist — run it whenever any of these happens
|
|
25
|
+
|
|
26
|
+
**A live failure taught something / a gotcha was paid for:**
|
|
27
|
+
1. Encode it where the next run will hit it: a skill in this suite, a package
|
|
28
|
+
README, an eval fixture, or a `kyb doctor` check — prefer executable
|
|
29
|
+
guards (doctor/evals) over prose.
|
|
30
|
+
2. If it changes engagement procedure → edit `references/playbook.md` here,
|
|
31
|
+
then copy to the Obsidian mirror.
|
|
32
|
+
3. Bump `@kybernesis/create`, build, commit — the human publishes.
|
|
33
|
+
4. Add one line to the Claude project memory if future sessions need it
|
|
34
|
+
before they'd naturally read this suite.
|
|
35
|
+
|
|
36
|
+
**A package changed (version, API, install steps):**
|
|
37
|
+
1. README + registry item updated in the same commit as the change.
|
|
38
|
+
2. Consuming agent bumped, suite green (the release gate), deployed.
|
|
39
|
+
3. Version references in the playbook §3.4 pin list + system overview updated.
|
|
40
|
+
4. If install/setup steps changed → the relevant skill here too.
|
|
41
|
+
|
|
42
|
+
**Something new was built or shipped:**
|
|
43
|
+
1. System overview: move it into "shipped and verified" with the evidence.
|
|
44
|
+
2. Playbook: add the operational steps if an FDE will ever repeat them.
|
|
45
|
+
3. This suite: extend the matching skill (or add one) if Claude needs it.
|
|
46
|
+
|
|
47
|
+
**A framework (eve) version was certified:**
|
|
48
|
+
1. Advance the pin in `@kybernesis/create` (`EVE_VERSION`).
|
|
49
|
+
2. Check every skill/playbook claim that names framework behavior — versions
|
|
50
|
+
change what's true (example: "subagents cannot mount extensions" was true
|
|
51
|
+
on 0.29, false on 0.30, and stale in four places until a maintainer
|
|
52
|
+
review caught it).
|
|
53
|
+
|
|
54
|
+
## The standing rule
|
|
55
|
+
|
|
56
|
+
If you (Claude) finish a piece of work and cannot point at where its lesson
|
|
57
|
+
now lives, the work is not done. When unsure where something belongs, the
|
|
58
|
+
answer is almost always "the most executable place that the next person or
|
|
59
|
+
agent will actually hit" — doctor check > eval fixture > skill > playbook >
|
|
60
|
+
memory, in that order of preference.
|