{"id":22043,"plugin_id":"plugins_6aaff56b7f048191894b661584c8e86d","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:17:07.802Z","digest":"9103167e4ceaf03225fe6b6c559d10e0b837d9da027bcbbd6ad8ad7d4c7b30e4","against":null,"payload":{"description":"Initialize a project knowledge base shared by Codex and Claude Code, or onboard an existing KB to shared agent guidance, canonical-source routing and handoffs. Use when asked to set up the KB; not to scaffold game code, infrastructure or accounts.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":219},{"relative_path":"assets/vault/.kb-lint.json.tmpl","size_in_bytes":467},{"relative_path":"assets/vault/00_System/Backlog/Index.md.tmpl","size_in_bytes":377},{"relative_path":"assets/vault/00_System/Decisions/Active.md.tmpl","size_in_bytes":327},{"relative_path":"assets/vault/00_System/Decisions/Index.md.tmpl","size_in_bytes":462},{"relative_path":"assets/vault/00_System/Document Lifecycle.md.tmpl","size_in_bytes":1365},{"relative_path":"assets/vault/00_System/Domain Index.md.tmpl","size_in_bytes":576},{"relative_path":"assets/vault/00_System/Source of Truth.md.tmpl","size_in_bytes":1409},{"relative_path":"assets/vault/00_System/Work/Active/KB Setup.md.tmpl","size_in_bytes":1453},{"relative_path":"assets/vault/00_System/Work/Index.md.tmpl","size_in_bytes":1062},{"relative_path":"assets/vault/AGENTS.md.tmpl","size_in_bytes":3094},{"relative_path":"assets/vault/CLAUDE.md.tmpl","size_in_bytes":245},{"relative_path":"assets/vault/Home.md.tmpl","size_in_bytes":820},{"relative_path":"assets/vault/PROJECT_STATE.md.tmpl","size_in_bytes":899},{"relative_path":"assets/vault/Project Brief.md.tmpl","size_in_bytes":792},{"relative_path":"references/setup.md","size_in_bytes":5519},{"relative_path":"scripts/bootstrap_kb.py","size_in_bytes":6743}],"name":"kb-bootstrap","skill_md_contents":"---\nname: kb-bootstrap\ndescription: Initialize a project knowledge base shared by Codex and Claude Code, or onboard an existing KB to shared agent guidance, canonical-source routing and handoffs. Use when asked to set up the KB; not to scaffold game code, infrastructure or accounts.\n---\n\n# KB Bootstrap\n\nCreate a small, usable project KB with one set of operating rules and durable\nwork state. The shared plugin supplies methods; the receiving KB owns facts,\nlocal policy, decisions and progress. Apply the\n[receiving-project contract](../../references/project-context.md) and the\n[Knowledge Steward](../knowledge-steward/SKILL.md) for durable writes.\n\n## Establish the target\n\nResolve the KB location, project name, owner when known, existing content and\nthe first work objective. Reuse supplied answers. Ask only for missing choices\nthat change where or what to write. Keep an unknown product brief or unavailable\nsource explicitly unknown; neither blocks creating the authorized KB structure.\nUse the project's language policy; otherwise canonical notes use English and\nconversation uses the user's language.\n\nInspect the target before writing. A new empty KB can use the bundled starter.\nAn existing KB needs mapped ownership and a scoped adoption plan, not a second\ntaxonomy. A setup request authorizes its routine KB writes; do not repeatedly\nask for approval already given. Do not invent design decisions or approve a\nproduct direction as a side effect of setup.\n\n## Create or adopt\n\nRead [setup and handoff guidance](references/setup.md) for the output contract,\nexisting-KB route and Codex/Claude setup checks.\n\nFor an empty local directory, use the create-only\n[bootstrap helper](scripts/bootstrap_kb.py). Resolve its installed path; the\nfollowing locations are placeholders:\n\n```sh\npython3 /installed/kb-bootstrap/scripts/bootstrap_kb.py /target/KB --project \"Project name\" --owner \"Project owner\"\npython3 /installed/kb-bootstrap/scripts/bootstrap_kb.py /target/KB --project \"Project name\" --owner \"Project owner\" --apply\npython3 /installed/kb-bootstrap/scripts/bootstrap_kb.py /target/KB --project \"Project name\" --check\n```\n\nThe first command previews without writes. `--apply` creates missing files only;\nit preserves existing files on a recognized rerun and refuses a foreign nonempty\ndirectory. `--check` verifies starter structure, not semantic or host readiness.\nIt requires only Python 3.9+; lint has its own declared dependencies.\nPass a supplied first work objective with `--objective \"...\"` in both preview and\napply so it is persisted in the initial brief/checkpoint before later enrichment.\n\nRead the generated notes and adapt the brief, sources and first checkpoint from\nactual user information. Add only the first needed domain and its context when\nthere is durable content to own; do not manufacture empty game-system folders.\nThe helper deliberately does not infer facts from its project-name argument.\n\nKeep `AGENTS.md` as the shared operating guide. For a new KB, `CLAUDE.md` imports\nthat guide rather than maintaining another policy. Use host skill discovery for\nthe installed Sparkore workflows; never write a user's cache path into the KB\nor copy plugin skills into it. Preserve meaningful existing host instructions\nwhen adopting a KB and reconcile conflicts explicitly.\n\nWhen Python/local filesystem access is unavailable, create the same logical\nartifacts through the available file tools or return the exact unperformed work.\nDo not claim script execution, local sync or host discovery without observing it.\n\n## Verify and hand off\n\n- Read back changed files and verify source ownership and local links.\n- Run the starter structure check when using the helper, then the installed\n  [KB Maintenance](../kb-maintenance/SKILL.md) lint with the KB root/profile.\n  Inspect coverage; no decisions in a new KB is normal, not an audit of decisions.\n- Test the available host's startup route using only the KB artifacts: find the\n  current objective, next action, owner and relevant workflow without chat history.\n- Exercise an authorized durable update and update the work checkpoint; confirm\n  another agent can read the resulting state. Shared storage is not a file lock:\n  overlapping writes must be serialized through the work record's ownership.\n- Record bootstrap, lint, semantic-route and actual host checks separately in the\n  setup work note. Missing Claude Code execution stays untested; a link check is\n  not a Claude session. Finish with the usable KB location, next task and gaps.\n\nOnly configure KB files. Engine projects, Git remotes, cloud storage, sync clients,\ncredentials, app permissions and plugin installation are outside this workflow\nunless separately requested. Installing a plugin alone does not run bootstrap.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}