@inkeep/open-knowledge 0.46.0-beta.7 → 0.46.0-beta.8
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/THIRD_PARTY_NOTICES.md +10 -0
- package/dist/{acp-harness-probe-BladNRtA.mjs → acp-harness-probe-4DjqrOhu.mjs} +2 -2
- package/dist/assets/skills/discovery/SKILL.md +1 -2
- package/dist/assets/skills/packs/codebase-wiki/SKILL.md +6 -7
- package/dist/assets/skills/packs/codebase-wiki/references/generate-and-refresh.md +160 -0
- package/dist/assets/skills/packs/entity-vault/SKILL.md +2 -3
- package/dist/assets/skills/packs/knowledge-base/SKILL.md +26 -9
- package/dist/assets/skills/packs/knowledge-base/consolidate/SKILL.md +160 -0
- package/dist/assets/skills/packs/knowledge-base/research/SKILL.md +375 -0
- package/dist/assets/skills/packs/okf/SKILL.md +2 -3
- package/dist/assets/skills/packs/plain-notes/SKILL.md +4 -3
- package/dist/assets/skills/packs/software-lifecycle/SKILL.md +14 -3
- package/dist/assets/skills/packs/software-lifecycle/frame-a-proposal/SKILL.md +222 -0
- package/dist/assets/skills/packs/software-lifecycle/record-a-decision/SKILL.md +188 -0
- package/dist/assets/skills/packs/software-lifecycle/review-a-design/SKILL.md +137 -0
- package/dist/assets/skills/packs/software-lifecycle/write-a-postmortem/SKILL.md +202 -0
- package/dist/assets/skills/packs/software-lifecycle/write-a-spec/SKILL.md +298 -0
- package/dist/assets/skills/packs/worldbuilding/SKILL.md +2 -3
- package/dist/assets/skills/packs/writing-pipeline/SKILL.md +5 -3
- package/dist/assets/skills/project/SKILL.md +29 -30
- package/dist/assets/skills/project/references/anti-patterns.md +1 -1
- package/dist/assets/skills/project/references/corpus-qa.md +1 -1
- package/dist/assets/skills/project/references/folder-model.md +1 -1
- package/dist/assets/skills/project/references/ingest-and-sources.md +230 -13
- package/dist/assets/skills/project/references/onboard-existing-repo.md +319 -0
- package/dist/assets/skills/project/references/preview.md +1 -1
- package/dist/assets/skills/project/references/setup.md +6 -0
- package/dist/assets/skills/project/references/starter-packs.md +41 -0
- package/dist/assets/skills/write-skill/SKILL.md +69 -28
- package/dist/assets/skills/write-skill/references/pressure-testing.md +4 -3
- package/dist/cli.mjs +62 -62
- package/dist/constants-GWFx-UC8.mjs +2 -0
- package/dist/{git-handle-CK_JXuyw.mjs → git-handle-CUCj-M_k.mjs} +2 -2
- package/dist/git-handle-c0ljFZis.mjs +1 -0
- package/dist/index.mjs +1 -1
- package/dist/{init-CxYfITcc.mjs → init-DWCsIT2Y.mjs} +37 -37
- package/dist/init-ZV2BMIkj.mjs +1 -0
- package/dist/{launch-json-removal-CLKYnwd0.mjs → launch-json-removal-BCxhJz-M.mjs} +2 -2
- package/dist/{loader-Bpd9I1fg.mjs → loader-84N4YMxM.mjs} +2 -2
- package/dist/loader-gOaiaXCo.mjs +1 -0
- package/dist/md-manager-usiCjUg4.mjs +2 -0
- package/dist/{open-browser-BHXl6F9O.mjs → open-browser-D-fJ9iwf.mjs} +2 -2
- package/dist/parse-worker.mjs +1 -1
- package/dist/{preview-D9DiqfyY.mjs → preview-Ce0jIM-0.mjs} +2 -2
- package/dist/preview-TJlA1vTS.mjs +1 -0
- package/dist/public/assets/ActivityModeContent-DwfZoDZE.js +1 -0
- package/dist/public/assets/{AgentDiffPane-6bk9bV9U.js → AgentDiffPane-BwPzooAs.js} +2 -2
- package/dist/public/assets/{AgentThreadClientBinder-u3ZVSSHE.js → AgentThreadClientBinder-Lk-U9Zg5.js} +1 -1
- package/dist/public/assets/AppMenubar-7eBxIB37.js +1 -0
- package/dist/public/assets/{BugReportHistory-D_60pb7r.js → BugReportHistory-CaAYnGNR.js} +1 -1
- package/dist/public/assets/{BugReportHistoryDialog-BzJsPoev.js → BugReportHistoryDialog-DFfft492.js} +1 -1
- package/dist/public/assets/ChangedOutsideBadge-Colj6RSy.js +1 -0
- package/dist/public/assets/CodeMirrorPropInput-BPdsBH1q.js +3 -0
- package/dist/public/assets/{ConfigSharingInfoTooltip-BMJ7SIjf.js → ConfigSharingInfoTooltip-QTCODx7g.js} +1 -1
- package/dist/public/assets/{ConsentDialogBody-DWXqUhzJ.js → ConsentDialogBody-U4UzjnaQ.js} +1 -1
- package/dist/public/assets/CopyButton-O0Y9mXoH.js +1 -0
- package/dist/public/assets/DiffView-kKTjtgKq.js +3 -0
- package/dist/public/assets/DocumentContext-e2BbWZTU.js +38 -0
- package/dist/public/assets/EditorModeToggle-DLKntrL5.js +2 -0
- package/dist/public/assets/EnableSyncConfirmDialog-B7V1Wevc.js +1 -0
- package/dist/public/assets/FeedbackForm-YYOLAdPR.js +1 -0
- package/dist/public/assets/{GraphPanel-DZMLD8ni.js → GraphPanel-D3gnL5o6.js} +2 -2
- package/dist/public/assets/ImportSkillDialog-BNwWAA09.js +1 -0
- package/dist/public/assets/{LintConfigEditor-k9WOKYkq.js → LintConfigEditor-BUt6XicS.js} +1 -1
- package/dist/public/assets/ManagedArtifactProperties-3CrCQfFo.js +2 -0
- package/dist/public/assets/ManagedArtifactProperties-DK6O07ZX.js +1 -0
- package/dist/public/assets/McpConsentDialogBody-CTl5E-Pz.js +1 -0
- package/dist/public/assets/{MermaidDocEditor-CGsfhioE.js → MermaidDocEditor-rdCH3a-W.js} +1 -1
- package/dist/public/assets/{RegisteredAgentIcon-CyQDojW_.js → RegisteredAgentIcon-CHh3fima.js} +1 -1
- package/dist/public/assets/{ReportBugDialogBody-CdEV6nCR.js → ReportBugDialogBody-DfS6oBiL.js} +1 -1
- package/dist/public/assets/SchemaConfigEditor-DaRdC9By.js +1 -0
- package/dist/public/assets/SettingsDialogBody-JKJ7DbBe.js +7 -0
- package/dist/public/assets/{ShareBranchSwitchDialog-jGb4KF7T.js → ShareBranchSwitchDialog-BT-R1a5Z.js} +1 -1
- package/dist/public/assets/ShareReceiveDialog-D7WQ4KbX.js +1 -0
- package/dist/public/assets/ShareReceiveMissDialog-AS-ub3Fc.js +1 -0
- package/dist/public/assets/SkillEditBanner-DPe0it-V.js +1 -0
- package/dist/public/assets/SkillModeBanner-CsKHM-QY.js +1 -0
- package/dist/public/assets/SkillOriginInline-VUn5IDZk.js +1 -0
- package/dist/public/assets/SkillToolbarControls-CzJ4nZzA.js +1 -0
- package/dist/public/assets/SourceEditor-C-cUCtJw.js +1 -0
- package/dist/public/assets/{TerminalPanel-BHN2VN4r.js → TerminalPanel-yzvzgUXS.js} +3 -3
- package/dist/public/assets/TerminalSessionsHost-dj1xA_0P.js +2 -0
- package/dist/public/assets/{TerminalWindowApp-CI-7rld6.js → TerminalWindowApp-B6EhrqIb.js} +1 -1
- package/dist/public/assets/ThreadView-aANZPCSh.js +6 -0
- package/dist/public/assets/TimelineDiffPane-u9qtPOhN.js +2 -0
- package/dist/public/assets/{abnfDiagram-VRR7QNED-Cyah47m9.js → abnfDiagram-VRR7QNED-CYyOqigz.js} +1 -1
- package/dist/public/assets/agent-diff-store-DKxdS6mK.js +1 -0
- package/dist/public/assets/agent-visibility-Dz2lrJHw.js +1 -0
- package/dist/public/assets/{arc-B3aheyNj.js → arc-DpnwTjlg.js} +1 -1
- package/dist/public/assets/architecture-TIHT7OUA-Bl7-zFAE.js +1 -0
- package/dist/public/assets/{architectureDiagram-ZJ3FMSHR-lZYHIfAt.js → architectureDiagram-ZJ3FMSHR-BArScuNA.js} +1 -1
- package/dist/public/assets/arrow-up-right-BZsQghvQ.js +1 -0
- package/dist/public/assets/auth-state-cache-C9Qx3bjQ.js +11 -0
- package/dist/public/assets/badge-DB5BJfSU.js +1 -0
- package/dist/public/assets/{blockDiagram-677ZJIJ3-mULu-3uH.js → blockDiagram-677ZJIJ3-BKdJnykw.js} +1 -1
- package/dist/public/assets/{braces-DwnwFx_V.js → braces-CqiL3TOP.js} +1 -1
- package/dist/public/assets/button-oSXzJYWO.js +1 -0
- package/dist/public/assets/{c4Diagram-LMCZKHZV-DN4YpCzk.js → c4Diagram-LMCZKHZV-BGzHBzYq.js} +1 -1
- package/dist/public/assets/{calendar-DqGTQwGe.js → calendar-C2lP75MI.js} +1 -1
- package/dist/public/assets/{case-sensitive-nl0tWMnZ.js → case-sensitive-DcowXaLf.js} +1 -1
- package/dist/public/assets/channel-Bf_IZmsH.js +1 -0
- package/dist/public/assets/check-DA7_vRdO.js +1 -0
- package/dist/public/assets/checkbox-DYPwCq3O.js +1 -0
- package/dist/public/assets/{chevron-down-Bx9f3tW-.js → chevron-down-BJumc1E_.js} +1 -1
- package/dist/public/assets/chevron-left-D8z-buF6.js +1 -0
- package/dist/public/assets/chevron-right-CgsPV9lV.js +1 -0
- package/dist/public/assets/chunk-2Q5K7J3B-CBNXZghD.js +1 -0
- package/dist/public/assets/{chunk-32BRIVSS-DqkgLIEw.js → chunk-32BRIVSS-DWFi-mYl.js} +1 -1
- package/dist/public/assets/{chunk-52WLFC77-9s8UsQXp.js → chunk-52WLFC77-C3ewIu0v.js} +1 -1
- package/dist/public/assets/{chunk-5FCAYU7R-CkSFjjQr.js → chunk-5FCAYU7R-DH0H_TSt.js} +1 -1
- package/dist/public/assets/{chunk-5HE753X5-C1Ig4mMr.js → chunk-5HE753X5-COZLeOUQ.js} +1 -1
- package/dist/public/assets/{chunk-5JV3BV7I-CIggZV0d.js → chunk-5JV3BV7I-BtSn9e5l.js} +1 -1
- package/dist/public/assets/{chunk-5TONJI2A-BklATmUd.js → chunk-5TONJI2A-CyVAUHQY.js} +1 -1
- package/dist/public/assets/{chunk-5VM5RSS4-g5HeYq-z.js → chunk-5VM5RSS4-DkfDxTnu.js} +1 -1
- package/dist/public/assets/{chunk-7BUUIJ7U-Dw__VSpN.js → chunk-7BUUIJ7U-Bwj5weSU.js} +1 -1
- package/dist/public/assets/{chunk-BIQX33UG-CRLx_yn0.js → chunk-BIQX33UG-WShnA3hi.js} +1 -1
- package/dist/public/assets/{chunk-BO2N2NFS-BptiXfus.js → chunk-BO2N2NFS-0fL-jnUT.js} +4 -4
- package/dist/public/assets/{chunk-C7G6YPKG-CmP7ozUj.js → chunk-C7G6YPKG-JOVwaeql.js} +1 -1
- package/dist/public/assets/{chunk-CQNSW5MT-BZUHEMrz.js → chunk-CQNSW5MT-DmFd2LFl.js} +1 -1
- package/dist/public/assets/{chunk-CYSBUYHQ-BRTRwmYZ.js → chunk-CYSBUYHQ-BOCWcr_T.js} +1 -1
- package/dist/public/assets/{chunk-EMLP6XTP-DHUO1B6Q.js → chunk-EMLP6XTP-_039-Ubh.js} +1 -1
- package/dist/public/assets/{chunk-EX3LRPZG-aq_XJzX2.js → chunk-EX3LRPZG-CMgFCagr.js} +1 -1
- package/dist/public/assets/{chunk-FWX5IMBZ-rnR9hrS_.js → chunk-FWX5IMBZ-C4vKCoUv.js} +2 -2
- package/dist/public/assets/{chunk-HOUHSVGY-D0096-9K.js → chunk-HOUHSVGY-CZX004Ef.js} +1 -1
- package/dist/public/assets/{chunk-ICXQ74PX-BUnmDgqa.js → chunk-ICXQ74PX-B_iuJAXS.js} +1 -1
- package/dist/public/assets/{chunk-JG7HCLWE-BwRUs0j6.js → chunk-JG7HCLWE-CtDpq51e.js} +1 -1
- package/dist/public/assets/{chunk-JWPE2WC7-BOwE-mq8.js → chunk-JWPE2WC7-pDBBV-ex.js} +1 -1
- package/dist/public/assets/{chunk-MOJQB5TN-CYyw3U64.js → chunk-MOJQB5TN-BOLftHeO.js} +1 -1
- package/dist/public/assets/{chunk-MOZMSUNE-_aAOLW1j.js → chunk-MOZMSUNE-B90rFhRO.js} +1 -1
- package/dist/public/assets/{chunk-OGEWGWER-DLH_3q-Z.js → chunk-OGEWGWER-dIUHPavN.js} +1 -1
- package/dist/public/assets/{chunk-OSBZ3O6U-BOkYzK-N.js → chunk-OSBZ3O6U-C8f7zxUa.js} +1 -1
- package/dist/public/assets/{chunk-PUDLZKDR-Co9OjZVi.js → chunk-PUDLZKDR-QPYzmUFw.js} +1 -1
- package/dist/public/assets/{chunk-Q4XR5HBZ-CjNiHUWo.js → chunk-Q4XR5HBZ--1adMSrR.js} +1 -1
- package/dist/public/assets/{chunk-QBLGF6JB-Cf-f1lin.js → chunk-QBLGF6JB-q87mQ87z.js} +1 -1
- package/dist/public/assets/{chunk-R7FJI6CG-C_nyMdyL.js → chunk-R7FJI6CG-B5NnR0wG.js} +1 -1
- package/dist/public/assets/{chunk-RYQCIY6F-DXXN4Rzo.js → chunk-RYQCIY6F-BnIBPlEn.js} +1 -1
- package/dist/public/assets/{chunk-U6XO7XAA-Hw5M1kkd.js → chunk-U6XO7XAA-DuxWv8i1.js} +1 -1
- package/dist/public/assets/{chunk-V7JOEXUC-CLdet7qK.js → chunk-V7JOEXUC-zQePb8W4.js} +1 -1
- package/dist/public/assets/chunk-VAUOI2AC-K9aKY8La.js +1 -0
- package/dist/public/assets/{chunk-VR4S4FIN-CnZ3Jw81.js → chunk-VR4S4FIN-DOfDyz67.js} +1 -1
- package/dist/public/assets/{chunk-WYO6CB5R-C-c-Ja6D.js → chunk-WYO6CB5R-DAcO6KqN.js} +2 -2
- package/dist/public/assets/chunk-XXDRQBXY-CRN6FsNM.js +1 -0
- package/dist/public/assets/{chunk-YOTPTUD7-CBowI675.js → chunk-YOTPTUD7-DSjCnGGQ.js} +1 -1
- package/dist/public/assets/{chunk-ZGVPDNZ5-DfBSa8vW.js → chunk-ZGVPDNZ5-CnXHsnX3.js} +1 -1
- package/dist/public/assets/{chunk-ZIRB5QZD-Cas2Em51.js → chunk-ZIRB5QZD-rA251rHW.js} +1 -1
- package/dist/public/assets/classDiagram-OUVF2IWQ-B8NyhReL.js +1 -0
- package/dist/public/assets/classDiagram-v2-EOCWNBFH-To5zrK6k.js +1 -0
- package/dist/public/assets/client-version-DmJhhHKP.js +1 -0
- package/dist/public/assets/collapsible-BTn3nxAn.js +1 -0
- package/dist/public/assets/{comment-chips-BYH7v5tl.js → comment-chips-i9o0Cefh.js} +2 -2
- package/dist/public/assets/{config-provider-B9kQH9zn.js → config-provider-CYJIA2qw.js} +2 -2
- package/dist/public/assets/{cose-bilkent-JH36ORCC-CzZaHQ2l.js → cose-bilkent-JH36ORCC-BO3tFb1k.js} +1 -1
- package/dist/public/assets/createLucideIcon-BiRV80uZ.js +1 -0
- package/dist/public/assets/cynefin-VYW2F7L2-DjK3ZZKp.js +1 -0
- package/dist/public/assets/{cynefinDiagram-TSTJHNR4-7PYslCmH.js → cynefinDiagram-TSTJHNR4-kMgUnu_c.js} +1 -1
- package/dist/public/assets/{dagre-BeM31D08.js → dagre-DmGue-PX.js} +1 -1
- package/dist/public/assets/{dagre-VKFMJZFB-DsY-o9S9.js → dagre-VKFMJZFB-CgYSDfeg.js} +1 -1
- package/dist/public/assets/{diagram-FQU43EPY-Cc40Oq-m.js → diagram-FQU43EPY-XRWiX7Im.js} +1 -1
- package/dist/public/assets/{diagram-G47NLZAW-DdbiGkJk.js → diagram-G47NLZAW-BzqAYczi.js} +1 -1
- package/dist/public/assets/{diagram-NH7WQ7WH-BoEA_7qN.js → diagram-NH7WQ7WH-CAOpGCwL.js} +1 -1
- package/dist/public/assets/{diagram-OA4YK3LP-ChsGI8c4.js → diagram-OA4YK3LP-CsYFi60N.js} +1 -1
- package/dist/public/assets/{diagram-WEI45ONY-znZ94tAq.js → diagram-WEI45ONY-BPyyv8e3.js} +1 -1
- package/dist/public/assets/dialog-CkjkuWLF.js +5 -0
- package/dist/public/assets/dist-1J1E9P12.js +1 -0
- package/dist/public/assets/{dist-D7mv9smG.js → dist-6Q9yuoli.js} +1 -1
- package/dist/public/assets/dist-BCIZY0Wq.js +1 -0
- package/dist/public/assets/{dist-Dcu3hl7e.js → dist-BK-fqCFD.js} +1 -1
- package/dist/public/assets/{dist-DEamjSXE.js → dist-BM4ov2mK.js} +1 -1
- package/dist/public/assets/dist-BVNHmhkE.js +1 -0
- package/dist/public/assets/{dist-B25wDFyk.js → dist-Bdhn2jv42.js} +1 -1
- package/dist/public/assets/{dist-P9LB04An.js → dist-BkSGIgDv.js} +1 -1
- package/dist/public/assets/dist-C22Eiu6U.js +1 -0
- package/dist/public/assets/{dist-CxGvJvCN.js → dist-C2ZNHEgX.js} +1 -1
- package/dist/public/assets/dist-CEBfbNax.js +1 -0
- package/dist/public/assets/{dist-Dolq1sN0.js → dist-CKHaw45-.js} +1 -1
- package/dist/public/assets/{dist-DlSSwTCj.js → dist-CTPwMRld.js} +1 -1
- package/dist/public/assets/{dist-DmIoqGC0.js → dist-D2AiGKcA.js} +1 -1
- package/dist/public/assets/dist-D57Bktz_.js +1 -0
- package/dist/public/assets/{dist-CsRIthsw2.js → dist-DA8rIjtg.js} +1 -1
- package/dist/public/assets/dist-DcPsSRVd.js +1 -0
- package/dist/public/assets/{dist-BMMI5Kdg.js → dist-Dqtgp0QD2.js} +1 -1
- package/dist/public/assets/dist-Dyi4atb6.js +1 -0
- package/dist/public/assets/{dist-DdFyq-YY.js → dist-FPlC48Ke.js} +1 -1
- package/dist/public/assets/{dist-C7VIqwIG.js → dist-MQd-Irtl.js} +1 -1
- package/dist/public/assets/{dist-C4Kl8QaT.js → dist-_8wb0R99.js} +1 -1
- package/dist/public/assets/{dist-DJbbCXtB.js → dist-fOA99pqU2.js} +184 -182
- package/dist/public/assets/doc-paths-C6A87aH3.js +1 -0
- package/dist/public/assets/documents-events-Dr9N-4vu.js +1 -0
- package/dist/public/assets/download-D3RTVXwv.js +1 -0
- package/dist/public/assets/dropdown-menu-D2umi56L.js +1 -0
- package/dist/public/assets/{ebnfDiagram-CCIWWBDH-DX6whEUG.js → ebnfDiagram-CCIWWBDH-CUTAjine.js} +1 -1
- package/dist/public/assets/{erDiagram-Q63AITRT-CgloxApp.js → erDiagram-Q63AITRT-BSu96D8g.js} +1 -1
- package/dist/public/assets/es2015-Du0OjwY5.js +41 -0
- package/dist/public/assets/{esm-QF0-_nlB.js → esm-DbmiTy2g.js} +1 -1
- package/dist/public/assets/eventmodeling-45OFAUF4-C3gCuhXd.js +1 -0
- package/dist/public/assets/{eye-CASw1HTi.js → eye-yERBaQWj.js} +1 -1
- package/dist/public/assets/field-i4kPdg1V.js +1 -0
- package/dist/public/assets/file-tree-adapter-CvmXjY-P.js +1 -0
- package/dist/public/assets/file-tree-utils-DL3JhHtX.js +1 -0
- package/dist/public/assets/flowDiagram-23GEKE2U-V8thnmzy.js +1 -0
- package/dist/public/assets/folder-8ceGqZIO.js +1 -0
- package/dist/public/assets/folder-config-api-DdtJAaIR.js +1 -0
- package/dist/public/assets/{folder-open-wLd69QUc.js → folder-open-CvyyCBOn.js} +1 -1
- package/dist/public/assets/follow-file-BpD8YozT.js +1 -0
- package/dist/public/assets/form-lIFpKMVU.js +1 -0
- package/dist/public/assets/{ganttDiagram-NO4QXBWP-BZQXYXPf.js → ganttDiagram-NO4QXBWP-Crrr-q7s.js} +1 -1
- package/dist/public/assets/{git-branch-CMJAiYLz.js → git-branch-oPfvsh1I.js} +1 -1
- package/dist/public/assets/gitGraph-TEB2WS4Q-BERn_Vnm.js +1 -0
- package/dist/public/assets/{gitGraphDiagram-IHSO6WYX-DnT15zfc.js → gitGraphDiagram-IHSO6WYX-BdMHODo-.js} +1 -1
- package/dist/public/assets/{globals-LdH7xryz.js → globals-B5uVOYYT.js} +2 -2
- package/dist/public/assets/globals-C6R3KMxA.css +1 -0
- package/dist/public/assets/{graphlib-CIYGRnfF.js → graphlib-DIVfLvlR.js} +1 -1
- package/dist/public/assets/{hash-DNKDqZ18.js → hash-DP25l_li.js} +1 -1
- package/dist/public/assets/{highlighted-body-OFNGDK62-DN5QVB2g.js → highlighted-body-OFNGDK62-Cue0vPGT.js} +1 -1
- package/dist/public/assets/index-DoyHoCFU.js +2092 -0
- package/dist/public/assets/{info-yKMseklR.js → info-Bza7Xa6D.js} +1 -1
- package/dist/public/assets/info-DKCQHKI2-xuBgM0S3.js +1 -0
- package/dist/public/assets/{infoDiagram-FWYZ7A6U-CPJF9vn1.js → infoDiagram-FWYZ7A6U-_RNxdwPC.js} +1 -1
- package/dist/public/assets/input-C4n4n5Hc.js +1 -0
- package/dist/public/assets/input-group-C_H5NgPX.js +1 -0
- package/dist/public/assets/{ishikawaDiagram-FXEZZL3T-CPmyb7Oh.js → ishikawaDiagram-FXEZZL3T-BbXzN7UF.js} +1 -1
- package/dist/public/assets/{journeyDiagram-5HDEW3XC-DHsl5S9z.js → journeyDiagram-5HDEW3XC-BqwkEnJh.js} +1 -1
- package/dist/public/assets/{kanban-definition-HUTT4EX6-BS2xX-qh.js → kanban-definition-HUTT4EX6-CX-ROP0U.js} +1 -1
- package/dist/public/assets/{label-DyipnO5I.js → label-Ds0LTB-Z.js} +1 -1
- package/dist/public/assets/{line-PfwSO0Y4.js → line-D0lohJ6a.js} +1 -1
- package/dist/public/assets/{linear-DY7zcaob.js → linear-By98wvuz.js} +1 -1
- package/dist/public/assets/lint-config-client-Cc5n1dKz.js +1 -0
- package/dist/public/assets/loader-circle-Cn2Xr4cN.js +1 -0
- package/dist/public/assets/{map-B5g_BAkn.js → map-XagOZNs9.js} +1 -1
- package/dist/public/assets/markdownlint-rule-browser-C5r1T2gD.js +1 -0
- package/dist/public/assets/mermaid-GHXKKRXX-CFTslKYT.js +1 -0
- package/dist/public/assets/{mermaid-parser.core-DtiAO5KW.js → mermaid-parser.core-DtOR1aVt.js} +2 -2
- package/dist/public/assets/{mermaid.core-2-fa7F6R.js → mermaid.core-DFRkYHGF.js} +3 -3
- package/dist/public/assets/{mindmap-definition-LN4V7U3C-CTVrQgzc.js → mindmap-definition-LN4V7U3C-BPq8CY-V.js} +1 -1
- package/dist/public/assets/minus-CBRjUXY7.js +1 -0
- package/dist/public/assets/{miss-dialog-store-Bx4JLuKB.js → miss-dialog-store-DBqQ_Nyn.js} +1 -1
- package/dist/public/assets/navigation-targets-CgViVl5N.js +1 -0
- package/dist/public/assets/{now-bAD2ZsK-.js → now-BJ6wHiq6.js} +1 -1
- package/dist/public/assets/open-managed-artifact-tab-B9P9gMUF.js +1 -0
- package/dist/public/assets/{ordinal-Dj8tTCMd.js → ordinal-BhGTF2Fp.js} +1 -1
- package/dist/public/assets/packet-7NZHBO7P-DhQWKabl.js +1 -0
- package/dist/public/assets/panel-FwLLPu5s.js +1 -0
- package/dist/public/assets/{panel-right-open-CWgBRlZa.js → panel-right-open-ChixO1pm.js} +1 -1
- package/dist/public/assets/{paperclip-FiPqbd6f.js → paperclip-CFZOhV8C.js} +1 -1
- package/dist/public/assets/{pegDiagram-2B236MQR-DVy6JL4F.js → pegDiagram-2B236MQR-Bs6HaUdW.js} +1 -1
- package/dist/public/assets/pending-receive-nav-store-lElziPqC.js +1 -0
- package/dist/public/assets/pie-RZYD4A2V-DaewLp2Y.js +1 -0
- package/dist/public/assets/{pieDiagram-ENE6RG2P-Kxbx45IP.js → pieDiagram-ENE6RG2P-BBo6EMS4.js} +1 -1
- package/dist/public/assets/{project-paths-DdZAF_-I.js → project-paths-Cgrv2qcw.js} +1 -1
- package/dist/public/assets/prop-types-Bzfc0oqg.js +1 -0
- package/dist/public/assets/{propagation-api-OHat7V1z.js → propagation-api-DCmicIMI.js} +1 -1
- package/dist/public/assets/{quadrantDiagram-ABIIQ3AL-BbCFEjhq.js → quadrantDiagram-ABIIQ3AL-qmZeOoSr.js} +1 -1
- package/dist/public/assets/radar-I7S5WNFK-DljmjJ2C.js +1 -0
- package/dist/public/assets/radio-group-DFFiLDEM.js +1 -0
- package/dist/public/assets/railroad-3IZDKUUU-6CgLOfBJ.js +1 -0
- package/dist/public/assets/railroad-abnf-AHOZXSZD-DQ60e1aW.js +1 -0
- package/dist/public/assets/railroad-ebnf-EBAXGLYW-Da8xQ_1N.js +1 -0
- package/dist/public/assets/railroad-peg-LSFZ7HO6-CDOeiUF5.js +1 -0
- package/dist/public/assets/{railroadDiagram-RFXS5EU6-6SEpaCgo.js → railroadDiagram-RFXS5EU6-DE_EvwtV.js} +1 -1
- package/dist/public/assets/{receive-store-C8NL_Ow-.js → receive-store-Bz-bzj4g.js} +1 -1
- package/dist/public/assets/{refresh-cw-DClG_qgN.js → refresh-cw-D3t5sdqM.js} +1 -1
- package/dist/public/assets/{requirementDiagram-TGXJPOKE-brbJ6VUS.js → requirementDiagram-TGXJPOKE-BZ-rKt8B.js} +1 -1
- package/dist/public/assets/{sankeyDiagram-HTMAVEWB-DT0MK3ep.js → sankeyDiagram-HTMAVEWB-B9AZEJIc.js} +1 -1
- package/dist/public/assets/{schema-fields-view-intent-CDu72Aty.js → schema-fields-view-intent-SQVE5W3s.js} +1 -1
- package/dist/public/assets/select-DyVZCohx.js +1 -0
- package/dist/public/assets/{selection-context-BNYOSYyM.js → selection-context-DdcFoUdp.js} +1 -1
- package/dist/public/assets/{separator-DExEeoYE.js → separator-4_yBRx-q.js} +1 -1
- package/dist/public/assets/{sequenceDiagram-DBY2YBRQ-BPJt9blB.js → sequenceDiagram-DBY2YBRQ-DR0l3jeO.js} +1 -1
- package/dist/public/assets/{sizeCapture-X5ZJPWSS-1l7G4SwD.js → sizeCapture-X5ZJPWSS-CK3vwB3X.js} +1 -1
- package/dist/public/assets/skeleton-BlTc8h6X.js +1 -0
- package/dist/public/assets/skill-actions-DCU7_Sac.js +2 -0
- package/dist/public/assets/skill-scope-CYrWegR8.js +1 -0
- package/dist/public/assets/skills-api-CC0Fy08A.js +1 -0
- package/dist/public/assets/square-pen-wqme9vlv.js +1 -0
- package/dist/public/assets/{src-U1RHfo7d.js → src-BULLuFw_.js} +1 -1
- package/dist/public/assets/{src-CaBa9Z1L.js → src-DsJU4LsJ.js} +1 -1
- package/dist/public/assets/{stateDiagram-2N3HPSRC-QGlUFt6h.js → stateDiagram-2N3HPSRC-DEWfQHsO.js} +1 -1
- package/dist/public/assets/stateDiagram-v2-6OUMAXLB-aJyvpelO.js +1 -0
- package/dist/public/assets/{swimlanes-5IMT3BWC-BHsr6MBF.js → swimlanes-5IMT3BWC-B6x4Ld9j.js} +2 -2
- package/dist/public/assets/swimlanesDiagram-G3AALYLV-NoFAxBaw.js +8 -0
- package/dist/public/assets/switch-CsstPO-E.js +1 -0
- package/dist/public/assets/tabs-C8ykgpIi.js +1 -0
- package/dist/public/assets/tag-pill-input-7XN11_mj.js +1 -0
- package/dist/public/assets/target-navigation-intent-D2OBNu7k.js +1 -0
- package/dist/public/assets/{telemetry-impl-DV07MMfz.js → telemetry-impl-D4kQ8pzt.js} +2 -2
- package/dist/public/assets/telemetry-startup-B15S0fJ7.js +1 -0
- package/dist/public/assets/terminal-input-events-B8xUcID4.js +1 -0
- package/dist/public/assets/terminal-launch-events-nCAKTwef.js +1 -0
- package/dist/public/assets/{terminal-telemetry-CvNM4wYv.js → terminal-telemetry-vp1G0ekC.js} +1 -1
- package/dist/public/assets/textarea-DKb-eo87.js +1 -0
- package/dist/public/assets/{thread-client-CSOJeVWW.js → thread-client-KM4rZX_M.js} +1 -1
- package/dist/public/assets/{timeline-definition-FHXFAJF6-DitS4FqW.js → timeline-definition-FHXFAJF6-DB7l9JZO.js} +1 -1
- package/dist/public/assets/timeline-diff-store-C89mH-2r.js +1 -0
- package/dist/public/assets/{toggle-group-CjXmmTGy.js → toggle-group-DMfnQ5Pd.js} +1 -1
- package/dist/public/assets/tooltip-DkZ6fphS.js +1 -0
- package/dist/public/assets/{trash-2-DE3a7L75.js → trash-2-5vqPZUBk.js} +1 -1
- package/dist/public/assets/treeView-QDETBFTQ-Ds4YBLMo.js +1 -0
- package/dist/public/assets/treemap-6X3UGDF4-D2ccHx16.js +1 -0
- package/dist/public/assets/{triangle-alert-Bcc1P5yx.js → triangle-alert-BwCftF1V.js} +1 -1
- package/dist/public/assets/typing-burst-detector-DlPntV7a.js +8 -0
- package/dist/public/assets/undo-2-BRIW1mxN.js +1 -0
- package/dist/public/assets/uninstall-m1tFru3-.js +1 -0
- package/dist/public/assets/use-activity-panel--7zr9R-m.js +1 -0
- package/dist/public/assets/use-apply-config-color-theme-CFiJF3-G.js +2 -0
- package/dist/public/assets/use-collab-url-CVCbUQ9-.js +1 -0
- package/dist/public/assets/{use-live-xterm-theme-B2MdP4nP.js → use-live-xterm-theme-CAutS4BK.js} +1 -1
- package/dist/public/assets/use-open-skill-CxYgcPyr.js +1 -0
- package/dist/public/assets/use-settings-route-b4_ubAQl.js +1 -0
- package/dist/public/assets/use-skill-directory-DacYw073.js +1 -0
- package/dist/public/assets/use-skills-CQ-I1uBW.js +1 -0
- package/dist/public/assets/use-terminal-enabled-Czv-AS7W.js +1 -0
- package/dist/public/assets/use-timeline-entry-diff--zp5POjE.js +6 -0
- package/dist/public/assets/use-workspace-DoTTAGcg.js +1 -0
- package/dist/public/assets/{vennDiagram-L72KCM5P-D7jabRjK.js → vennDiagram-L72KCM5P-D6bPpaIm.js} +1 -1
- package/dist/public/assets/wardley-OPB4EBWU-JuWm1scq.js +1 -0
- package/dist/public/assets/{wardleyDiagram-EHGQE667-C3olh_ef.js → wardleyDiagram-EHGQE667-9U25ZM8P.js} +1 -1
- package/dist/public/assets/{wrench-4e3jxe5l.js → wrench-CqOvU1qQ.js} +1 -1
- package/dist/public/assets/x-C6kVbc_i.js +1 -0
- package/dist/public/assets/{xychartDiagram-FW5EYKEG-WqIWQJdh.js → xychartDiagram-FW5EYKEG-WSgFIUEO.js} +1 -1
- package/dist/public/index.html +148 -138
- package/dist/public/uninstall.html +26 -25
- package/dist/{repair-launch-json-B4Mixg6q.mjs → repair-launch-json-DKnGHC3s.mjs} +2 -2
- package/dist/{repair-mcp-configs-BY5NQYB4.mjs → repair-mcp-configs-BNqk430t.mjs} +2 -2
- package/dist/repair-skills-COiT9pxq.mjs +1 -0
- package/dist/repair-skills-HLaZ-M-Y.mjs +4 -0
- package/dist/server-lock-DTx_HmnT.mjs +1 -0
- package/dist/{server-lock-D7crxuP7.mjs → server-lock-N4bxkmqA.mjs} +2 -2
- package/dist/{src-BSwzQ3jI.mjs → src-B9fZz8CV.mjs} +6 -6
- package/dist/{src-DmtkLnli.mjs → src-BAuCUhtO.mjs} +121 -120
- package/dist/src-BldBF2Y_.mjs +1 -0
- package/dist/src-CBxmkYgG.mjs +2030 -0
- package/dist/{start-ohc8chlc.mjs → start-CGRdHb1G.mjs} +3 -3
- package/dist/start-uD8bt0wq.mjs +1 -0
- package/dist/{write-project-skill-BzhJIXSv.mjs → write-project-skill-DZsw6Rkw.mjs} +4 -4
- package/package.json +4 -4
- package/dist/assets/skills/project/references/workflow-guides.md +0 -30
- package/dist/constants-v-GqxIIS.mjs +0 -2
- package/dist/git-handle-DyS9-xsk.mjs +0 -1
- package/dist/init-C5SNm1km.mjs +0 -1
- package/dist/loader-VrQIuQYj.mjs +0 -1
- package/dist/md-manager-BWTSpVXC.mjs +0 -2
- package/dist/preview-3XOV9PP-.mjs +0 -1
- package/dist/public/assets/ActivityModeContent-BquAhT5x.js +0 -1
- package/dist/public/assets/AppMenubar-DHWqgWXl.js +0 -1
- package/dist/public/assets/CodeMirrorPropInput-DOcEkWLX.js +0 -3
- package/dist/public/assets/CopyButton-1Q6Wnnjb.js +0 -1
- package/dist/public/assets/DocumentContext-uE-Jpe8-.js +0 -38
- package/dist/public/assets/EditorModeToggle-DBmNyzRU.js +0 -2
- package/dist/public/assets/EnableSyncConfirmDialog-Dufpw3Xm.js +0 -1
- package/dist/public/assets/FeedbackForm-DuHvlb9Z.js +0 -1
- package/dist/public/assets/ManagedArtifactProperties-xXR4EKXf.js +0 -1
- package/dist/public/assets/McpConsentDialogBody-CHmK7aXE.js +0 -1
- package/dist/public/assets/PropertyPanel-C0kyK4Hh.js +0 -2
- package/dist/public/assets/SchemaConfigEditor-BFx4ZhVm.js +0 -1
- package/dist/public/assets/SettingsDialogBody-Chz13SZG.js +0 -7
- package/dist/public/assets/ShareReceiveDialog-C7_nVZOF.js +0 -1
- package/dist/public/assets/ShareReceiveMissDialog-Dv1nzqQa.js +0 -1
- package/dist/public/assets/SkillEditorActions-2WrfNbQp.js +0 -1
- package/dist/public/assets/SourceEditor-CmpVF187.js +0 -1
- package/dist/public/assets/TerminalSessionsHost-BcY906Hf.js +0 -2
- package/dist/public/assets/ThreadView-BGvk_C1z.js +0 -6
- package/dist/public/assets/TimelineDiffPane-C5gRZMQN.js +0 -2
- package/dist/public/assets/agent-diff-store-BvRAZqCN.js +0 -1
- package/dist/public/assets/agent-visibility-DJ6Bc0aU.js +0 -1
- package/dist/public/assets/architecture-TIHT7OUA-BfFQVb2N.js +0 -1
- package/dist/public/assets/arrow-up-right-obRIg3Sv.js +0 -1
- package/dist/public/assets/auth-state-cache-CEu3ZBI_.js +0 -11
- package/dist/public/assets/badge-DXHoKHez.js +0 -1
- package/dist/public/assets/button-Gol9BgNB.js +0 -1
- package/dist/public/assets/channel-D04u7HkE.js +0 -1
- package/dist/public/assets/check-GqWaoTdV.js +0 -1
- package/dist/public/assets/checkbox-BkZH9Oy1.js +0 -1
- package/dist/public/assets/chevron-left-BQ6OM94c.js +0 -1
- package/dist/public/assets/chevron-right-C8oTR6gu.js +0 -1
- package/dist/public/assets/chunk-2Q5K7J3B-Cczs20mb.js +0 -1
- package/dist/public/assets/chunk-VAUOI2AC-D9H5NlkH.js +0 -1
- package/dist/public/assets/chunk-XXDRQBXY-BjAUTr8E.js +0 -1
- package/dist/public/assets/classDiagram-OUVF2IWQ-BCgYs9Pk.js +0 -1
- package/dist/public/assets/classDiagram-v2-EOCWNBFH-BpVLL4-U.js +0 -1
- package/dist/public/assets/client-version-MIkctMik.js +0 -1
- package/dist/public/assets/collapsible-B1mS1n9y.js +0 -1
- package/dist/public/assets/config-context-D3FvmHZm.js +0 -1
- package/dist/public/assets/copy-9EDFYcyR.js +0 -1
- package/dist/public/assets/createLucideIcon-DAkhoPjT.js +0 -1
- package/dist/public/assets/cynefin-VYW2F7L2-BVFEANjh.js +0 -1
- package/dist/public/assets/dialog-6-bc7qPg.js +0 -5
- package/dist/public/assets/dist-BJa2CfR3.js +0 -1
- package/dist/public/assets/dist-BNcdLYQI.js +0 -1
- package/dist/public/assets/dist-BjDuLI_j.js +0 -1
- package/dist/public/assets/dist-D6h-uzOv.js +0 -1
- package/dist/public/assets/dist-DAU1MdSo.js +0 -1
- package/dist/public/assets/dist-DPWWCZ4h.js +0 -1
- package/dist/public/assets/dist-nHZgBxFS.js +0 -1
- package/dist/public/assets/doc-hash-BbU2eA08.js +0 -1
- package/dist/public/assets/documents-events-C-mYs64z.js +0 -1
- package/dist/public/assets/dropdown-menu-xw8WTdb-.js +0 -1
- package/dist/public/assets/es2015-BNlmLq62.js +0 -41
- package/dist/public/assets/eventmodeling-45OFAUF4-usNuB_rF.js +0 -1
- package/dist/public/assets/field-BNyAQHKf.js +0 -1
- package/dist/public/assets/file-tree-adapter-c4ru9pmD.js +0 -1
- package/dist/public/assets/file-tree-utils-Lc0SvgnU.js +0 -1
- package/dist/public/assets/flowDiagram-23GEKE2U-CDs0Vlps.js +0 -1
- package/dist/public/assets/follow-file-BVJ6G9Hs.js +0 -1
- package/dist/public/assets/form-gDsa08Xi.js +0 -1
- package/dist/public/assets/gitGraph-TEB2WS4Q-DXc_YvuI.js +0 -1
- package/dist/public/assets/globals-C_YoXwVm.css +0 -1
- package/dist/public/assets/index-DPVeWJbL.js +0 -2014
- package/dist/public/assets/info-DKCQHKI2-C0DL9Ht0.js +0 -1
- package/dist/public/assets/input-D4OPkja2.js +0 -1
- package/dist/public/assets/lint-config-client-DJg7YDu3.js +0 -1
- package/dist/public/assets/loader-circle-Cg5SU7AZ.js +0 -1
- package/dist/public/assets/markdownlint-rule-browser-6yvn3dt6.js +0 -1
- package/dist/public/assets/mermaid-GHXKKRXX-C9klxgAS.js +0 -1
- package/dist/public/assets/minus-CI_HyT1V.js +0 -1
- package/dist/public/assets/navigation-targets-DwSgIIy0.js +0 -1
- package/dist/public/assets/open-managed-artifact-tab-Dpz9X1m_.js +0 -1
- package/dist/public/assets/packet-7NZHBO7P-BpFruX6n.js +0 -1
- package/dist/public/assets/panel-BbxjQP3-.js +0 -1
- package/dist/public/assets/pending-receive-nav-store-t5K6mYGs.js +0 -1
- package/dist/public/assets/pie-RZYD4A2V-lVpCCOkJ.js +0 -1
- package/dist/public/assets/prop-types-65NJPmd-.js +0 -1
- package/dist/public/assets/radar-I7S5WNFK-Bd-i9axl.js +0 -1
- package/dist/public/assets/radio-group-CGEdWasQ.js +0 -1
- package/dist/public/assets/railroad-3IZDKUUU-D6ewe_eA.js +0 -1
- package/dist/public/assets/railroad-abnf-AHOZXSZD-DKqyYXL-.js +0 -1
- package/dist/public/assets/railroad-ebnf-EBAXGLYW-CtMezBX2.js +0 -1
- package/dist/public/assets/railroad-peg-LSFZ7HO6-DJ-63J6n.js +0 -1
- package/dist/public/assets/skeleton-Mo1oLtEu.js +0 -1
- package/dist/public/assets/skill-actions-ByBHG3Gh.js +0 -1
- package/dist/public/assets/skills-api-DWPhWBud.js +0 -1
- package/dist/public/assets/sliders-horizontal-BNv-Koqw.js +0 -1
- package/dist/public/assets/square-pen-C1vIlMAW.js +0 -1
- package/dist/public/assets/stateDiagram-v2-6OUMAXLB-D_6D-nLI.js +0 -1
- package/dist/public/assets/swimlanesDiagram-G3AALYLV-cqXTLbrM.js +0 -8
- package/dist/public/assets/switch-DYic2V-1.js +0 -1
- package/dist/public/assets/tag-pill-input-BHj4spSb.js +0 -1
- package/dist/public/assets/target-navigation-intent-B5jnqgZ_.js +0 -1
- package/dist/public/assets/telemetry-startup-Cy1VVosp.js +0 -1
- package/dist/public/assets/terminal-input-events-C5UuEsAB.js +0 -1
- package/dist/public/assets/terminal-launch-events-CtZeptxC.js +0 -1
- package/dist/public/assets/textarea-bScbzsdX.js +0 -1
- package/dist/public/assets/timeline-diff-store-BwCud4Ug.js +0 -1
- package/dist/public/assets/tooltip-B4J7VHmA.js +0 -1
- package/dist/public/assets/treeView-QDETBFTQ-CuznZlQn.js +0 -1
- package/dist/public/assets/treemap-6X3UGDF4-DCd6umeO.js +0 -1
- package/dist/public/assets/typing-burst-detector-CZREoy8B.js +0 -8
- package/dist/public/assets/uninstall-Bw4vn3K8.js +0 -1
- package/dist/public/assets/use-activity-panel-DWxDopZd.js +0 -1
- package/dist/public/assets/use-apply-config-color-theme-DSCn9I0W.js +0 -2
- package/dist/public/assets/use-collab-url-CE02D4PJ.js +0 -1
- package/dist/public/assets/use-settings-route-BX1P2p9-.js +0 -1
- package/dist/public/assets/use-terminal-enabled-BlXFMDFQ.js +0 -1
- package/dist/public/assets/use-timeline-entry-diff-BI1BVnmy.js +0 -6
- package/dist/public/assets/use-workspace-DcPrrukl.js +0 -1
- package/dist/public/assets/wardley-OPB4EBWU-DH0Qf9r4.js +0 -1
- package/dist/public/assets/workspace-paths-CU85-ZRd.js +0 -1
- package/dist/public/assets/x-Du5jsNHa.js +0 -1
- package/dist/repair-skills-BHY_AeM4.mjs +0 -4
- package/dist/repair-skills-CUT1NbJx.mjs +0 -1
- package/dist/server-lock-CG809RrD.mjs +0 -1
- package/dist/src-D4iCDwsy.mjs +0 -1
- package/dist/src-T1lGYBC1.mjs +0 -3275
- package/dist/start-btkfqkGp.mjs +0 -1
- /package/dist/public/assets/{ActivityPanelDiffView-DYFlG61N.js → ActivityPanelDiffView-ZX0cv7Dl.js} +0 -0
- /package/dist/public/assets/{__vite-browser-external-z7jTWlYs.js → __vite-browser-external-DwydhYHF.js} +0 -0
- /package/dist/public/assets/{agent-presence-BdWbAeV-.js → agent-presence-BcWu61SE.js} +0 -0
- /package/dist/public/assets/{array-CC6md2n_.js → array-DpLqdF3L.js} +0 -0
- /package/dist/public/assets/{chunk-KEIR6QF5-BppCe61B.js → chunk-KEIR6QF5-Bf0oDx3Z.js} +0 -0
- /package/dist/public/assets/{chunk-Y2CYZVJY-CP7lNZai.js → chunk-Y2CYZVJY-PbmsUfAu.js} +0 -0
- /package/dist/public/assets/{clike-BAopx-wt.js → clike-BrXLgO2o.js} +0 -0
- /package/dist/public/assets/{clipboard-adapter-ZCy01ehf.js → clipboard-adapter-B3lKEXcw.js} +0 -0
- /package/dist/public/assets/{colors-QyrgP4ww.js → colors-B-WRw0bG.js} +0 -0
- /package/dist/public/assets/{copilot-BiqH8PgI.js → copilot-BkvifxDd.js} +0 -0
- /package/dist/public/assets/{cursor-BDHSyD-9.js → cursor-D-FuCbK1.js} +0 -0
- /package/dist/public/assets/{cytoscape.esm-Ci36Fm6r.js → cytoscape.esm-BkIkmBTc.js} +0 -0
- /package/dist/public/assets/{defaultLocale-ByXO85kN.js → defaultLocale-DoD61tXl.js} +0 -0
- /package/dist/public/assets/{desktop-bridge-types-DHaZbwZ0.js → desktop-bridge-types-5ScET3Cg.js} +0 -0
- /package/dist/public/assets/{diff-KHO8LkSI.js → diff-DTEjW6Ec.js} +0 -0
- /package/dist/public/assets/{dist-B8I5m7M1.js → dist-BVbCw0G-.js} +0 -0
- /package/dist/public/assets/{dist-Cljnhi3D.js → dist-CA7QPULb.js} +0 -0
- /package/dist/public/assets/{dist-DFt8VaPU.js → dist-CF921uP8.js} +0 -0
- /package/dist/public/assets/{dist-Bpk5HQQh.js → dist-D4eaXg-1.js} +0 -0
- /package/dist/public/assets/{dist-BCZq3DKc.js → dist-DuwTJb1j.js} +0 -0
- /package/dist/public/assets/{documents-fetch-Db-Ikele.js → documents-fetch-AfOPbdF_.js} +0 -0
- /package/dist/public/assets/{external-link-Ct0_ujyY.js → external-link-LAxhzgCI.js} +0 -0
- /package/dist/public/assets/{file-tree-rename-validation-DDA1ck2Y.js → file-tree-rename-validation-CkkVvtpx.js} +0 -0
- /package/dist/public/assets/{floating-ui.dom-DxCSXcm6.js → floating-ui.dom-DQ0F0qgY.js} +0 -0
- /package/dist/public/assets/{format-4tjAvLkN.js → format-Bj7zR862.js} +0 -0
- /package/dist/public/assets/{go-7c8IMl4m.js → go-D3-a1upg.js} +0 -0
- /package/dist/public/assets/{init-CL1Yxhhi.js → init-D0AX7DDe.js} +0 -0
- /package/dist/public/assets/{isObject-5PVyZ800.js → isObject-Bs1dF4ay.js} +0 -0
- /package/dist/public/assets/{katex-BlgnTlTx.js → katex-DGLcd7nU.js} +0 -0
- /package/dist/public/assets/{lib-Iu39CNZE.js → lib-RJCjKODX.js} +0 -0
- /package/dist/public/assets/{libesm-WVpTb_tB.js → libesm-D5Z2fjiR.js} +0 -0
- /package/dist/public/assets/{lint-plugin-meta-BoxMoaxR.js → lint-plugin-meta-DEfDN-Lf.js} +0 -0
- /package/dist/public/assets/{lru-string-cache-7Y9kMeow.js → lru-string-cache-CHVwK1CS.js} +0 -0
- /package/dist/public/assets/{lua-DnREcbBQ.js → lua-B71IklsF.js} +0 -0
- /package/dist/public/assets/{markdownit-YwcN3EvW.js → markdownit-BIJhOARi.js} +0 -0
- /package/dist/public/assets/{mcp-consent-store-CDAQY6Np.js → mcp-consent-store-B7QM8uoo.js} +0 -0
- /package/dist/public/assets/{min-DVq-2erP.js → min-nSRrTGDE.js} +0 -0
- /package/dist/public/assets/{overlay-layers-Dhz8IqAf.js → overlay-layers-cTOQ-1PW.js} +0 -0
- /package/dist/public/assets/{panzoom.es-D0o6IaL6.js → panzoom.es-D_Inq3Bn.js} +0 -0
- /package/dist/public/assets/{parse-api-error-BtEL2kxi.js → parse-api-error-CqQte8A1.js} +0 -0
- /package/dist/public/assets/{path-BGTOauh6.js → path-rUjnF-It.js} +0 -0
- /package/dist/public/assets/{pdf-DLVdEoR9.js → pdf-B6i840eQ.js} +0 -0
- /package/dist/public/assets/{pdf.worker-Cuhr1SjJ.js → pdf.worker-BVtQmJKT.js} +0 -0
- /package/dist/public/assets/{perl-D6YK7dbe.js → perl-B5Ul8OcV.js} +0 -0
- /package/dist/public/assets/{properties-BPzWpIa7.js → properties-CWbs0haa.js} +0 -0
- /package/dist/public/assets/{r-tzVlUzeq.js → r-DcrAlDW2.js} +0 -0
- /package/dist/public/assets/{rough.esm-kQd3CdGR.js → rough.esm-BfebUORF.js} +0 -0
- /package/dist/public/assets/{ruby-_eAC-08N.js → ruby-i1xYQ9jV.js} +0 -0
- /package/dist/public/assets/{share-metadata-rows-Ds3RIKZ4.js → share-metadata-rows-aPZCgxxk.js} +0 -0
- /package/dist/public/assets/{shell-CRkrz4LQ.js → shell-cUw_P8eQ.js} +0 -0
- /package/dist/public/assets/{sortable.esm-_jt9EfAF.js → sortable.esm-ByX1chKY.js} +0 -0
- /package/dist/public/assets/{sql-BtxU5QDI.js → sql-xiwUJ94E.js} +0 -0
- /package/dist/public/assets/{src-BJaEWo8x.js → src-DkpCd49O.js} +0 -0
- /package/dist/public/assets/{startup-marks-CyxDWRgR.js → startup-marks-BHZdrXwz.js} +0 -0
- /package/dist/public/assets/{stex-EWGki41Z.js → stex-rJmw0eOd.js} +0 -0
- /package/dist/public/assets/{swift-BmtuXdIg.js → swift-Cl1DeyT6.js} +0 -0
- /package/dist/public/assets/{thread-draft-staging-CKJIG41d.js → thread-draft-staging-t1CtDp8W.js} +0 -0
- /package/dist/public/assets/{toml-yD0H4nkp.js → toml-B2JpJCpy.js} +0 -0
- /package/dist/public/assets/{trace-api-DHyWZzIa.js → trace-api-C3cW9MnH.js} +0 -0
- /package/dist/public/assets/{use-installed-clis-8r2iSkgN.js → use-installed-clis-BR1AXhaE.js} +0 -0
- /package/dist/public/assets/{useLintConfigViewMode-CyzSEZ5z.js → useLintConfigViewMode-eMibVVkV.js} +0 -0
- /package/dist/public/assets/{w3c-keyname-DtWCia6R.js → w3c-keyname-DKgbz_c6.js} +0 -0
- /package/dist/public/assets/{worktree-store-B-NxI13K.js → worktree-store-Cn9IFis3.js} +0 -0
|
@@ -4566,6 +4566,11 @@ Homepage: https://github.com/pillarjs/path-to-regexp
|
|
|
4566
4566
|
|
|
4567
4567
|
Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com)
|
|
4568
4568
|
|
|
4569
|
+
### `pend@1.2.0`
|
|
4570
|
+
Homepage: https://github.com/andrewrk/node-pend
|
|
4571
|
+
|
|
4572
|
+
Copyright (c) 2014 Andrew Kelley
|
|
4573
|
+
|
|
4569
4574
|
### `picomatch@4.0.5`
|
|
4570
4575
|
Homepage: https://github.com/micromatch/picomatch
|
|
4571
4576
|
|
|
@@ -5559,6 +5564,11 @@ Homepage: https://github.com/yjs/y-protocols#readme
|
|
|
5559
5564
|
|
|
5560
5565
|
Copyright (c) 2019 Kevin Jahns <kevin.jahns@protonmail.com>.
|
|
5561
5566
|
|
|
5567
|
+
### `yauzl@3.4.0`
|
|
5568
|
+
Homepage: https://github.com/thejoshwolfe/yauzl
|
|
5569
|
+
|
|
5570
|
+
Copyright (c) 2014 Josh Wolfe
|
|
5571
|
+
|
|
5562
5572
|
### `yazl@3.3.1`
|
|
5563
5573
|
Homepage: https://github.com/thejoshwolfe/yazl
|
|
5564
5574
|
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{K as e}from"./sleep-IcuyYCzq.mjs";import{_ as t,b as n,d as r}from"./write-project-skill-
|
|
1
|
+
import{K as e}from"./sleep-IcuyYCzq.mjs";import{_ as t,b as n,d as r}from"./write-project-skill-DZsw6Rkw.mjs";import{d as i}from"./init-DWCsIT2Y.mjs";import{execFileSync as a}from"node:child_process";import{dirname as o,join as s}from"node:path";import{existsSync as c,mkdirSync as l,readFileSync as u,writeFileSync as d}from"node:fs";import{homedir as f}from"node:os";var p=e();const m=`open-knowledge`;function h(e){try{e()}catch{}}var g=class{backend=`keyring`;constructor(e){this.onKeychainRead=e}async get(e){let{Entry:t}=await import(`@napi-rs/keyring`),n;try{n=new t(m,e).getPassword()}catch(t){return h(()=>this.onKeychainRead?.({kind:`read-error`,host:e,error:t instanceof Error?t.name:`unknown`})),null}if(n==null)return h(()=>this.onKeychainRead?.({kind:`absent`,host:e})),null;try{return JSON.parse(n)}catch{return h(()=>this.onKeychainRead?.({kind:`corrupt-entry`,host:e,error:`corrupt-entry`})),null}}async set(e,t,n,r){let{Entry:i}=await import(`@napi-rs/keyring`),a=new i(m,e),o={login:t,token:n,...r};a.setPassword(JSON.stringify(o))}async clear(e){let{Entry:t}=await import(`@napi-rs/keyring`);try{new t(m,e).deletePassword()}catch{}}},_=class{backend=`file`;authFile;constructor(e){this.authFile=e??s(f(),`.ok`,`auth.yml`)}read(){if(!c(this.authFile))return{};try{return(0,p.parse)(u(this.authFile,`utf-8`))??{}}catch(e){let t=e instanceof Error?e.message:`unknown error`;return process.stderr.write(`[auth] Failed to parse ${this.authFile}: ${t}. Starting with empty credentials.\n`),{}}}write(e){let t=o(this.authFile);c(t)||l(t,{recursive:!0,mode:448}),d(this.authFile,(0,p.stringify)(e),{mode:384})}async get(e){return this.read()[e]??null}async set(e,t,n,r){let i=this.read();i[e]={login:t,token:n,...r},this.write(i)}async clear(e){let t=this.read();delete t[e],this.write(t)}},v=class{backend=`keyring`;constructor(e,t){this.keychain=e,this.file=t}async get(e){let t=await this.keychain.get(e);if(t!=null)return t;let n=await this.file.get(e);if(n==null)return null;try{await this.keychain.set(e,n.login,n.token,{gitProtocol:n.gitProtocol,name:n.name,email:n.email}),await this.file.clear(e),process.stderr.write(`[auth] migrated ${e} credential from ~/.ok/auth.yml to the OS keychain\n`)}catch{}return n}set(e,t,n,r){return this.keychain.set(e,t,n,r)}async clear(e){await this.keychain.clear(e),await this.file.get(e)!=null&&await this.file.clear(e)}};async function y(e,t){try{let{Entry:n}=await import(`@napi-rs/keyring`);return new n(m,`__probe__`),process.stderr.write(`[auth] token storage: OS keychain
|
|
2
2
|
`),h(()=>t?.onBackendSelected?.({backend:`keyring`})),new v(new g(t?.onKeychainRead),new _(e))}catch(n){let r=n instanceof Error?`${n.name}: ${n.message}`:String(n);return process.stderr.write(`[auth] token storage: file (~/.ok/auth.yml) — OS keychain unavailable: ${r}\n`),h(()=>t?.onBackendSelected?.({backend:`file`,reason:r})),new _(e)}}function b(e){let t=null;return function(){if(t)return t;let n=2e3;return t=(async()=>{let t=null,r=new Promise(r=>{t=setTimeout(()=>{process.stderr.write(`[auth] token storage: keyring init exceeded ${n}ms; falling back to file (~/.ok/auth.yml)\n`),r(new _(e))},n)});try{return await Promise.race([y(e),r])}catch{return new _(e)}finally{t!==null&&clearTimeout(t)}})(),t}}function x(e){let t=b(e);return{async get(e){let n=await(await t()).get(e);return n===null?null:{token:n.token}}}}function S(e){let t=b(e);return{backend:`file`,async get(e){return(await t()).get(e)},async set(e,n,r,i){return(await t()).set(e,n,r,i)},async clear(e){return(await t()).clear(e)}}}async function C(e,t){let n=[],r=new _(t);await r.get(e)!=null&&(await r.clear(e),n.push(`file`));let i;try{let{Entry:t}=await import(`@napi-rs/keyring`);new t(m,`__probe__`);let r,a=await new g(e=>{e.kind===`read-error`&&(r=e.error??`read-error`)}).get(e);if(r!==void 0)i=r;else if(a!=null)try{new t(m,e).deletePassword(),n.push(`keychain`)}catch(e){i=e instanceof Error?e.name:`delete-error`}}catch{}return{touched:n,keychainError:i}}const w=[`/opt/homebrew/bin/gh`,`/usr/local/bin/gh`,`/opt/local/bin/gh`,`/snap/bin/gh`,`/usr/bin/gh`],T={encoding:`utf-8`,stdio:[`ignore`,`pipe`,`pipe`],timeout:5e3,windowsHide:!0};function E(e,t={}){let n=t._exec??a,r=t._fileExists??c,i=[`auth`,`token`,...e?[`--hostname`,e]:[]],o=[`gh`,...w.filter(r)];for(let e of o)try{let t=n(e,i,T).toString().trim();if(t.length>0)return{available:!0,token:t}}catch{}return{available:!1}}function D(e,a,o){let s=r[e],c=e===`opencode`?n:t,l=[],u=s.projectConfigPath?.(a);u!==void 0&&l.push({scope:`project`,configPath:u});try{l.push({scope:`user`,configPath:s.configPath(a,o)})}catch{}for(let t of l){let n=i(s,a,o,t.configPath);if(n!==null&&c(n))return{editorId:e,scope:t.scope,configPath:t.configPath}}return null}export{x as a,y as i,E as n,S as o,C as r,D as t};
|
|
3
|
-
//# sourceMappingURL=acp-harness-probe-
|
|
3
|
+
//# sourceMappingURL=acp-harness-probe-4DjqrOhu.mjs.map
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-discovery
|
|
3
|
-
description: "Read when the user asks what OpenKnowledge is, wants to install it on a repository, wants to share an OpenKnowledge project with collaborators, or asks how `ok init` / `ok cowork` / OK Desktop set up a project. Do NOT load to perform OpenKnowledge reads/writes — the runtime guidance for editing markdown inside an initialized OK project ships as a separate project-local skill at `.claude/skills/open-knowledge/` whenever `ok init` runs.
|
|
3
|
+
description: "Read when the user asks what OpenKnowledge is, wants to install it on a repository, wants to open or preview a single markdown file that is not part of an OpenKnowledge project, wants to share an OpenKnowledge project with collaborators, or asks how `ok init` / `ok cowork` / OK Desktop set up a project. Do NOT load to perform OpenKnowledge reads/writes — the runtime guidance for editing markdown inside an initialized OK project ships as a separate project-local skill at `.claude/skills/open-knowledge/` whenever `ok init` runs."
|
|
4
4
|
compatibility: "Any agent host — no MCP server required. Pure discovery + install guidance."
|
|
5
5
|
metadata:
|
|
6
|
-
version: "0.46.0-beta.7"
|
|
7
6
|
author: "Inkeep"
|
|
8
7
|
repository: "https://github.com/inkeep/open-knowledge"
|
|
9
8
|
---
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-pack-codebase-wiki
|
|
3
|
-
|
|
4
|
-
description: "How to work in a Codebase Wiki project (the `codebase-wiki` starter pack): an agent-authored, source-grounded wiki of the surrounding codebase. Read when the project has a `wiki/` knowledge base with `architecture/`, `modules/`, `flows/`, `concepts/`, and `guides/` sections plus `wiki/OVERVIEW.md`. Carries the per-folder rules and freshness + log discipline, summarizes the audience/depth knobs and source-reference convention, and points to the `workflow({ kind: 'wiki' })` guide for the full generate/refresh procedure. Complements the platform `open-knowledge` skill; does not replace it."
|
|
3
|
+
description: "How to work in a Codebase Wiki project (the `codebase-wiki` starter pack): an agent-authored, source-grounded wiki of the surrounding codebase. Read when the project has a `wiki/` knowledge base with `architecture/`, `modules/`, `flows/`, `concepts/`, and `guides/` sections plus `wiki/OVERVIEW.md`, or when asked to generate or refresh a wiki of this codebase. Carries the per-folder rules and freshness + log discipline, summarizes the audience/depth knobs and source-reference convention, and bundles the full generate/refresh procedure in `references/`. Complements the platform `open-knowledge` skill; does not replace it."
|
|
5
4
|
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server. Installed project-local by `ok seed --pack codebase-wiki`."
|
|
6
5
|
metadata:
|
|
7
6
|
pack: "codebase-wiki"
|
|
@@ -12,7 +11,7 @@ metadata:
|
|
|
12
11
|
|
|
13
12
|
This project holds an **agent-authored wiki of a codebase** — DeepWiki, but living in the repo. A coding agent reads the source and writes a navigable, diagram-rich, source-grounded wiki as markdown under `wiki/`. It is version-controlled and diffable, private by default, human+agent co-editable, renders in OK's live preview, and doubles as durable grounding context for future agent sessions. There is no separate Q&A surface — Q&A is "the OK-grounded agent + `search`".
|
|
14
13
|
|
|
15
|
-
> This is pack guidance. The platform `open-knowledge` skill
|
|
14
|
+
> This skill is pack guidance. The platform `open-knowledge` skill (read/write/preview/linking/grounding rules) still governs every markdown operation — this layers the wiki workflow on top.
|
|
16
15
|
|
|
17
16
|
## The shape
|
|
18
17
|
|
|
@@ -30,7 +29,7 @@ wiki/
|
|
|
30
29
|
|
|
31
30
|
## Generating + refreshing
|
|
32
31
|
|
|
33
|
-
Don't free-hand it —
|
|
32
|
+
Don't free-hand it — read **[references/generate-and-refresh.md](references/generate-and-refresh.md)** and follow the phased, STOP-gated procedure. It auto-detects mode: a stubbed `OVERVIEW.md` (empty `source_commit`) → **generate** (survey → overview → architecture → modules → flows → concepts → link-graph audit); a stamped `source_commit` → **refresh** (diff `source_commit..HEAD`, update only affected pages, re-stamp).
|
|
34
33
|
|
|
35
34
|
**Two toolsets.** Read source code with NATIVE tools (`Read`/`Grep`/`Glob`/`Bash`) — OK MCP does not index non-markdown source. Author and audit the wiki with OK MCP verbs (`write`/`edit` for pages, `links`/`search` for the graph). Never hand-write wiki markdown with native `Write`/`Edit`.
|
|
36
35
|
|
|
@@ -41,14 +40,14 @@ Two natural-language knobs, read from the user's request (e.g. "build the wiki,
|
|
|
41
40
|
- **`audience`** — `internal` (default) or `public`. `public` means polished prose, no secrets / internal infra / ticket numbers, and GitHub-URL source references.
|
|
42
41
|
- **`depth`** — `tour` | `standard` (default) | `exhaustive`. Scales coverage from OVERVIEW + architecture + top flows up through per-package module pages, concepts, and task guides.
|
|
43
42
|
|
|
44
|
-
|
|
43
|
+
[references/generate-and-refresh.md](references/generate-and-refresh.md) is the authoritative source for exactly how each knob shapes the output — read it before generating.
|
|
45
44
|
|
|
46
45
|
## Source-reference convention
|
|
47
46
|
|
|
48
47
|
- **Intra-wiki navigation** → OK doc links — they build the backlink / hub / orphan graph, so link liberally; density is how the wiki stays navigable.
|
|
49
48
|
- **Code references** → relative links + symbol code-spans (`internal`) or GitHub blob URLs (`public`). Source-file links stay out of the navigation graph (`links` tracks only `.md`/`.mdx` edges, so they never show as graph dead-links or orphans) — but a wrong-depth path still surfaces in the write/edit `brokenLinks` response (`no-such-file`, or `unresolvable` if it overshoots the content root), so count the `../` hops from the page's folder. Never invent paths — reference only files you actually read.
|
|
50
49
|
|
|
51
|
-
The full rules — the GitHub-URL / relative fallback, the `#Lxx` caveat, and the exact code-span shape — live in
|
|
50
|
+
The full rules — the GitHub-URL / relative fallback, the `#Lxx` caveat, and the exact code-span shape — live in [references/generate-and-refresh.md](references/generate-and-refresh.md).
|
|
52
51
|
|
|
53
52
|
## Per-folder rules
|
|
54
53
|
|
|
@@ -81,4 +80,4 @@ The full rules — the GitHub-URL / relative fallback, the `#Lxx` caveat, and th
|
|
|
81
80
|
|
|
82
81
|
## Templates
|
|
83
82
|
|
|
84
|
-
Each folder ships a starter template (`architecture-page`, `module-page`, `flow-page`, `concept-page`, `guide-page`). Create with `write({ document: { path, template: "<name>" } })`. Templates carry only structure (headings + frontmatter scaffold); what each section is for is described above and in
|
|
83
|
+
Each folder ships a starter template (`architecture-page`, `module-page`, `flow-page`, `concept-page`, `guide-page`). Create with `write({ document: { path, template: "<name>" } })`. Templates carry only structure (headings + frontmatter scaffold); what each section is for is described above and in [references/generate-and-refresh.md](references/generate-and-refresh.md), not repeated inside document bodies.
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# Codebase Wiki — Generate + Refresh
|
|
2
|
+
|
|
3
|
+
The user wants a **wiki of this codebase**, living in their own repo. Read the source code and author a navigable, diagram-rich, source-grounded wiki as markdown INTO the OK knowledge base, under `wiki/`. It is version-controlled, private by default, co-editable, renders in OK's live preview, and becomes grounding context for future agent sessions.
|
|
4
|
+
|
|
5
|
+
The content directory is the resolved `content.dir` — read it with `config({ key: 'content.dir' })` if you don't already know it. The wiki lives at `<content-dir>/wiki/`.
|
|
6
|
+
|
|
7
|
+
**Two toolsets, two jobs.** Read source code with your NATIVE tools (`Read`/`Grep`/`Glob`/`Bash` — OK MCP does not index non-markdown source). Author and audit the wiki with OK MCP verbs (`write`/`edit` for pages, `links`/`search` for the graph, `exec` for markdown listings). Never hand-write the wiki markdown with native `Write`/`Edit` — that bypasses attribution, backlinks, and the live preview.
|
|
8
|
+
|
|
9
|
+
**Server requirement.** Phases that author or audit the wiki (`write`/`edit`/`links`/`search`) need the OK Hocuspocus server. Source reading (native tools) and git do not. If a `write` returns "Hocuspocus server is not running", tell the user to run `ok start` and retry — do NOT fall back to native file writes for the wiki markdown.
|
|
10
|
+
|
|
11
|
+
**Prerequisite.** This procedure assumes the `codebase-wiki` pack is seeded (`ok seed --pack codebase-wiki` → `wiki/` with `architecture/ modules/ flows/ concepts/ guides/`, each carrying folder frontmatter + a page template, plus `wiki/OVERVIEW.md` + `wiki/log.md`). If `exec("ls -A <content-dir>/wiki")` shows the layout is missing, tell the user to seed first, then start over.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## The two knobs
|
|
16
|
+
|
|
17
|
+
Read these from the user's natural-language request (e.g. "build the wiki, public and exhaustive"). They are NOT engine config — they tune what you produce. Record the chosen profile in `wiki/OVERVIEW.md` frontmatter (`profile: <audience>/<depth>`) so refreshes stay consistent.
|
|
18
|
+
|
|
19
|
+
| Knob | Values | Effect |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| `audience` | `internal` (default) or `public` | `internal`: dense; may cite internal infra; reference source via **relative links + symbol code-spans**. `public`: polished prose; **omit secrets, internal infra, ticket/PR numbers**; reference source via **GitHub blob URLs** (only if a remote exists — else fall back to relative). |
|
|
22
|
+
| `depth` | `tour`, `standard` (default), or `exhaustive` | `tour`: OVERVIEW + architecture + top flows only (fold modules into architecture). `standard`: + one page per package/module + concepts. `exhaustive`: + sub-module pages, `guides/`, per-flow failure modes, denser diagrams. |
|
|
23
|
+
|
|
24
|
+
Default when the user says nothing: `internal` / `standard`.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Source-reference convention (how wiki pages point at code)
|
|
29
|
+
|
|
30
|
+
- **Intra-wiki navigation** → OK doc links (`[Auth flow](../flows/auth.md)`). These build the full backlink / hub / orphan graph. Link liberally — density is how the wiki stays navigable.
|
|
31
|
+
- **Code references, `internal`** → a relative markdown link to the source file plus an inline code-span for the symbol — e.g. the `bootServer()` symbol in `[boot.ts](../../packages/server/src/boot.ts)`. Relative source links click-open in the asset preview and stay out of the navigation graph (the `links` graph tracks only `.md`/`.mdx` edges, so source links never show as graph dead-links or orphans) — but the write/edit `brokenLinks` response DOES validate them: a wrong-depth path resolving to a missing file is reported `no-such-file`, and one that overshoots the content root is `unresolvable`. So count the `../` hops from the page's own folder, not the wiki root. A cosmetic `#Lxx` is fine but not navigable.
|
|
32
|
+
- **Code references, `public`** → GitHub blob URLs (`https://github.com/<org>/<repo>/blob/<branch>/path/to/file.ts`) so a reader without the repo can follow them. Detect the remote with `git remote get-url origin`; if there is none, fall back to relative links.
|
|
33
|
+
|
|
34
|
+
Never invent paths — every source reference must point at a file you actually read.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Mode detection — generate vs. refresh
|
|
39
|
+
|
|
40
|
+
`exec("cat <content-dir>/wiki/OVERVIEW.md")` and read its frontmatter:
|
|
41
|
+
|
|
42
|
+
- **`source_commit` is empty / OVERVIEW is the seeded stub** → **GENERATE** (Phases 0-7 below).
|
|
43
|
+
- **`source_commit` is stamped with a commit** → **REFRESH** (jump to the *Refresh mode* section). Reuse the recorded `profile` unless the user explicitly changes a knob.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## GENERATE — phased, STOP-gated
|
|
48
|
+
|
|
49
|
+
Work the phases in order. Do not skip or batch ahead of a STOP gate. Each page is authored with OK `write`/`edit`; create from the seeded templates (`write({ document: { path, template: "<name>" } })`) so pages start with the right skeleton, then fill the sections.
|
|
50
|
+
|
|
51
|
+
### Phase 0 — Resolve profile + scope (STOP gate 0)
|
|
52
|
+
|
|
53
|
+
1. Resolve `audience` + `depth` from the request (default `internal/standard`).
|
|
54
|
+
2. Propose the **coverage set** (which packages/dirs the wiki will document) and **exclusions** (vendored deps, build output, generated code, fixtures — `node_modules/`, `dist/`, `build/`, `vendor/`, `third_party/`, `coverage/`, lockfiles).
|
|
55
|
+
3. Present profile + coverage + exclusions to the user. **Wait for confirmation.**
|
|
56
|
+
|
|
57
|
+
### Phase 1 — Survey (no writes) (STOP gate 1)
|
|
58
|
+
|
|
59
|
+
Read, don't write. Use native tools:
|
|
60
|
+
|
|
61
|
+
1. **Detect the stack** — languages, build system, package manager, workspace/monorepo layout, entry points. (`Glob` for manifests: `package.json`, `Cargo.toml`, `go.mod`, `pyproject.toml`, `*.csproj`; read them.)
|
|
62
|
+
2. **Bootstrap from existing docs** — READ `README`, `AGENTS.md`/`CLAUDE.md`, `ARCHITECTURE.md`, `CONTRIBUTING`, per-package READMEs. **Summarize and link to them; do NOT duplicate.** They are your highest-signal starting point.
|
|
63
|
+
3. **Map the modules** — list packages/top-level source dirs; note each one's rough purpose and entry points.
|
|
64
|
+
4. Produce an **inventory + a proposed page list scaled to `depth`**:
|
|
65
|
+
- `tour` → OVERVIEW + 1-3 architecture pages + top 1-3 flows.
|
|
66
|
+
- `standard` → + one module page per package + a concepts glossary.
|
|
67
|
+
- `exhaustive` → + sub-module pages, `guides/`, per-flow failure modes.
|
|
68
|
+
5. Present the page list. **Wait for confirmation.**
|
|
69
|
+
|
|
70
|
+
### Phase 2 — Overview hub
|
|
71
|
+
|
|
72
|
+
Author `wiki/OVERVIEW.md` (edit the seeded stub in place):
|
|
73
|
+
|
|
74
|
+
1. **What this is** — 1-2 paragraphs: what the project does, who it's for.
|
|
75
|
+
2. **Architecture at a glance** — a big-picture `mermaid` diagram. Example:
|
|
76
|
+
```mermaid
|
|
77
|
+
flowchart TD
|
|
78
|
+
CLI[ok CLI] --> Server[Hocuspocus server]
|
|
79
|
+
App[React editor] --> Server
|
|
80
|
+
Server --> Disk[(markdown + .ok/)]
|
|
81
|
+
```
|
|
82
|
+
(Mermaid label text has sharp edges — if a write returns a `mermaid-parse-error` warning, fix that fence and re-edit. `palette({ components: ["Mermaid"] })` lists the gotchas.)
|
|
83
|
+
3. **Navigation** — a map that links **every section and every page you will create**, as OK doc links. OVERVIEW is the hub; everything must be reachable from it.
|
|
84
|
+
4. **Stamp frontmatter**: set `profile: <audience>/<depth>` and `source_commit: <git rev-parse HEAD>`. `source_commit` is the freshness anchor refresh mode diffs against — get it right.
|
|
85
|
+
|
|
86
|
+
### Phase 3 — Architecture pages
|
|
87
|
+
|
|
88
|
+
One page per architectural area (boundaries, layers, subsystems, cross-cutting concerns). Each: a system-context or component `mermaid` diagram, the key components (with source references per the convention), and the design decisions behind them. Cross-link the modules and flows each area touches. (At `depth: tour`, modules fold into these pages.)
|
|
89
|
+
|
|
90
|
+
### Phase 4 — Module pages
|
|
91
|
+
|
|
92
|
+
One page per package/module (skip at `tour`; scale sub-module depth by knob). Use the `module-page` template: purpose, responsibilities, public API / entry points, **key files** (linked per the convention), dependencies, and the flows it participates in. Cross-link concepts and flows.
|
|
93
|
+
|
|
94
|
+
### Phase 5 — Flows
|
|
95
|
+
|
|
96
|
+
Key end-to-end sequences (request lifecycle, build/deploy, a core interaction) as `mermaid` sequence or flow diagrams + narrative. At `exhaustive`, add a **Failure modes** section per flow. Link every module and concept the flow crosses.
|
|
97
|
+
|
|
98
|
+
### Phase 6 — Concepts / glossary
|
|
99
|
+
|
|
100
|
+
Atomic pages for domain terms and core abstractions (one term each): definition, why it matters, where it lives in the code. Keep them small and densely cross-linked so each concept becomes a hub for everywhere it appears. Link concepts from the architecture/module/flow pages that use them.
|
|
101
|
+
|
|
102
|
+
### Phase 7 — Link-graph activation + audit
|
|
103
|
+
|
|
104
|
+
1. Confirm **OVERVIEW links every page** (it is the nav hub). Add any missing nav links. This is OVERVIEW's check — it's a *source* (high out-degree), verified by forward links here, not by the `hubs` view below.
|
|
105
|
+
2. Run `links({ kind: ["orphans", "hubs", "dead"] })`:
|
|
106
|
+
- **orphans** — pages nothing links to. Adopt each by linking it from OVERVIEW or a relevant section page (or, rarely, justify it as intentionally standalone).
|
|
107
|
+
- **hubs** — ranks by *inbound* links. Confirm your **concept/module pages** show up here — that's the signal cross-linking actually happened. Don't expect `OVERVIEW`: a freshly authored nav page has almost no inbound links, so it won't appear (and that's correct — its coverage was checked in step 1).
|
|
108
|
+
- **dead** — fix or remove every dead link. (Source-file links don't appear in this graph — only `.md`/`.mdx` edges are tracked — but they ARE validated by `brokenLinks` on each write/edit, per the code-reference rule above.)
|
|
109
|
+
3. Append a `wiki/log.md` entry (see *Log discipline*).
|
|
110
|
+
4. Tell the user the wiki is ready and surface the OVERVIEW preview URL.
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## REFRESH mode (after code changes)
|
|
115
|
+
|
|
116
|
+
Incremental by default — don't re-read the whole repo.
|
|
117
|
+
|
|
118
|
+
1. Read `source_commit` + `profile` from `wiki/OVERVIEW.md` frontmatter. Reuse the profile unless the user changed a knob.
|
|
119
|
+
2. `git diff --stat <source_commit>..HEAD`. Inspect the changed paths.
|
|
120
|
+
3. **Map changed code → affected pages.** For each changed package/area, update its module/architecture/flow pages (read the changed source first). Update OVERVIEW only if the structure changed (new package, removed subsystem, new top-level flow).
|
|
121
|
+
4. **Full-regen fallback.** If the diff is large or structural (many packages, a restructure), or git is unavailable / `source_commit` is missing, fall back to a full GENERATE pass rather than a partial patch.
|
|
122
|
+
5. **Re-stamp** `source_commit` to the new `git rev-parse HEAD` and re-run the Phase 7 link-graph audit on the touched pages.
|
|
123
|
+
6. Append a `wiki/log.md` refresh entry.
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Log discipline
|
|
128
|
+
|
|
129
|
+
`wiki/log.md` is an append-only audit trail. Append one dated entry per generation or refresh run (one per run, not per page). Reference touched pages as markdown links so they register in the backlink graph. Entry shape:
|
|
130
|
+
|
|
131
|
+
```markdown
|
|
132
|
+
## YYYY-MM-DD: <generate | refresh>
|
|
133
|
+
|
|
134
|
+
- Profile: <audience>/<depth>
|
|
135
|
+
- source_commit: <short-sha> (was <prev-sha> on refresh)
|
|
136
|
+
- Coverage: <which sections/packages were written or updated>
|
|
137
|
+
- Pages: [Overview](./OVERVIEW.md), [Server](./modules/server.md), ...
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## STOP rules / anti-patterns (load-bearing)
|
|
143
|
+
|
|
144
|
+
- **Author wiki markdown only through OK `write`/`edit`** — never native `Write`/`Edit` (loses attribution, backlinks, live preview). Read source with native tools; write the wiki with OK.
|
|
145
|
+
- **Summarize existing docs, don't duplicate them** — link to `README`/`ARCHITECTURE.md`; the wiki adds navigation and synthesis, not a copy.
|
|
146
|
+
- **Every source reference points at a file you actually read** — no invented paths or symbols.
|
|
147
|
+
- **Respect the profile** — at `audience: public`, never write secrets, internal infra, or ticket/PR numbers; reference code via GitHub URLs (or relative if no remote).
|
|
148
|
+
- **OVERVIEW is the hub** — every page must be reachable from it. Don't leave orphans (Phase 7 catches them).
|
|
149
|
+
- **Don't scaffold folders by hand** — the `codebase-wiki` pack already created `wiki/` with templates; if it's missing, seed first.
|
|
150
|
+
- **Scale to `depth`** — don't write `guides/` or per-flow failure modes at `tour`; don't fold modules into architecture at `exhaustive`.
|
|
151
|
+
- **Refresh is incremental** — diff `source_commit..HEAD` and touch only affected pages; full-regen only on large/structural diffs or when git is unavailable.
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Exit conditions
|
|
156
|
+
|
|
157
|
+
- **Pack not seeded** — `wiki/` layout missing → tell the user to run `ok seed --pack codebase-wiki`, then start over. Exit.
|
|
158
|
+
- **Server down** — a `write`/`links` call reports the server is not running → tell the user to run `ok start` and retry. Exit cleanly; resuming keeps already-written pages.
|
|
159
|
+
- **User aborts at a STOP gate** → exit cleanly, leaving any already-written pages in place.
|
|
160
|
+
- **Empty / unreadable repo** (no source detected in Phase 1) → tell the user there's nothing to document yet. Exit.
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-pack-entity-vault
|
|
3
|
-
|
|
4
|
-
description: "How to work in a Personal CRM project (the `entity-vault` starter pack, GBrain-compatible): a typed-entity vault of people, companies, meetings, and concepts, each a dossier with a rewritable summary plus an append-only timeline. Read when the project has these folders. Carries the dossier convention and entity-extraction behaviors so that guidance does not live inside template bodies or folder descriptions. Complements the platform `open-knowledge` skill; does not replace it."
|
|
3
|
+
description: "How to work in a Personal CRM project (the `entity-vault` starter pack, GBrain-compatible): a typed-entity vault of people, companies, meetings, and concepts, each a dossier with a rewritable summary plus an append-only timeline. Read when the project has these folders, OR when asked to capture notes about a person or company, log a meeting, prep for an upcoming meeting, or answer who someone is and what was last said. Carries the dossier convention and entity-extraction behaviors so that guidance does not live inside template bodies or folder descriptions. Complements the platform `open-knowledge` skill; does not replace it."
|
|
5
4
|
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server. Installed project-local by `ok seed --pack entity-vault`."
|
|
6
5
|
metadata:
|
|
7
6
|
pack: "entity-vault"
|
|
@@ -12,7 +11,7 @@ metadata:
|
|
|
12
11
|
|
|
13
12
|
A Personal CRM built as a typed-entity vault, inspired by Garry Tan's gbrain. Each entity is a dossier; the agent keeps dossiers current by extracting entities from meeting notes and original thinking. This skill holds those behaviors so templates and folder descriptions stay clean. The Markdown shape is **GBrain-compatible**: if the external `gbrain` CLI is installed, it can import/sync the same vault.
|
|
14
13
|
|
|
15
|
-
>
|
|
14
|
+
> This skill is pack guidance. The platform `open-knowledge` skill (read/write/preview/linking/grounding rules) still governs every markdown operation — this layers the dossier conventions on top.
|
|
16
15
|
|
|
17
16
|
## The dossier convention (the load-bearing rule)
|
|
18
17
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-pack-knowledge-base
|
|
3
|
-
|
|
4
|
-
description: "How to work in a Knowledge Base project (the `knowledge-base` starter pack). Read when the project has the three-layer source-grounded layout — `external-sources/` → `research/` → `articles/` — wired to the `workflow` MCP tool's ingest / research / consolidate kinds. Carries the pack's workflow, per-folder rules, status flows, and log discipline so this guidance does NOT live inside template bodies or log.md. Complements the platform `open-knowledge` skill; does not replace it."
|
|
3
|
+
description: "How to work in a Knowledge Base project (the `knowledge-base` starter pack). Read when the project has the three-layer source-grounded layout — `external-sources/` → `research/` → `articles/` — or when asked how this project is organized. Carries the layer model, per-folder rules, status flows, and log discipline so this guidance does NOT live inside template bodies or log.md. The three procedures live elsewhere: ingest in the platform `open-knowledge` skill, research and consolidate as their own sibling skills in this pack. Complements the platform `open-knowledge` skill; does not replace it."
|
|
5
4
|
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server. Installed project-local by `ok seed --pack knowledge-base`."
|
|
6
5
|
metadata:
|
|
7
6
|
pack: "knowledge-base"
|
|
@@ -12,7 +11,7 @@ metadata:
|
|
|
12
11
|
|
|
13
12
|
This project uses the **source-grounded knowledge-base** layout. The whole point is a closed evidence loop: nothing canonical exists without a traceable chain back to a preserved source. This skill holds the workflow so the templates and `log.md` can stay clean — when you create a doc from a template you get structure, and the *how* lives here.
|
|
14
13
|
|
|
15
|
-
> This skill is pack guidance. The platform `open-knowledge` skill (read/write/preview/grounding rules) still governs every markdown operation — this layers the KB workflow on top.
|
|
14
|
+
> This skill is pack guidance. The platform `open-knowledge` skill (read/write/preview/linking/grounding rules) still governs every markdown operation — this layers the KB workflow on top.
|
|
16
15
|
|
|
17
16
|
## Link at creation
|
|
18
17
|
|
|
@@ -28,22 +27,40 @@ research/ provisional analysis (produced by `research`)
|
|
|
28
27
|
articles/ canonical, decided knowledge (produced by `consolidate`)
|
|
29
28
|
```
|
|
30
29
|
|
|
31
|
-
The loop is **ingest → research → consolidate
|
|
30
|
+
The loop is **ingest → research → consolidate**, mapped to [Karpathy's three-layer knowledge-base pattern](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f). Every downstream claim traces upstream to a preserved source. Cite local paths in `external-sources/`, never bare web URLs — the KB must survive link rot.
|
|
31
|
+
|
|
32
|
+
Karpathy's insight: "The tedious part of maintaining a knowledge base is not the reading or the thinking — it's the bookkeeping." Humans abandon wikis because maintenance costs exceed perceived value. These procedures exist so an agent can do the bookkeeping (fetching, summarizing, cross-linking, superseding) without fatigue. Skipping the cross-linking, supersedes chains, or raw-source preservation is what turns a useful wiki back into an abandoned one.
|
|
33
|
+
|
|
34
|
+
## The three procedures
|
|
35
|
+
|
|
36
|
+
Each layer has a full, STOP-gated procedure, and each ships as its own skill so it loads only when the work calls for it. Execute the procedure yourself with the OK verbs — these are your **default move over a bare `write`** when the work fits a layer.
|
|
37
|
+
|
|
38
|
+
| Procedure | Where it lives | When |
|
|
39
|
+
| --- | --- | --- |
|
|
40
|
+
| ingest | Platform `open-knowledge` skill (`references/ingest-and-sources.md`) — its Grounding rule depends on it everywhere, so it ships with every project, not just this pack. | Preserve a shared URL / PDF / file verbatim, OR you fetched a URL to ground a KB claim (binary sources preserved, not scraped). |
|
|
41
|
+
| research | Sibling skill `open-knowledge-pack-knowledge-base-research` | Investigate / compare / synthesize multiple sources → `status: provisional` article + `sources:`. |
|
|
42
|
+
| consolidate | Sibling skill `open-knowledge-pack-knowledge-base-consolidate` | A decision was actually made → commit canonical source-of-truth with a `supersedes:` chain. |
|
|
43
|
+
|
|
44
|
+
Typical day-2 flow: user shares a URL → **ingest** (preserve) → user asks "now research this" → **research** (provisional article, ingesting more sources as needed) → decision lands → **consolidate** (canonical article, supersedes the research).
|
|
45
|
+
|
|
46
|
+
**Don't chain silently.** After ingest, ask whether to proceed to research. After research, let the user decide whether the findings are ready to consolidate. Each procedure completes on its own terms — the user drives the transitions.
|
|
47
|
+
|
|
48
|
+
**Autonomy gates vs session-level autonomy.** A procedure's STOP gates (research's scoping gate, consolidate's decision-confirmation gate) are NOT overridden by session-level "work without stopping for clarifying questions" hints. Those hints cover trivial back-and-forth ("which file did you mean?"); the gates exist for one-way-door decisions. When in doubt, the gate is authoritative.
|
|
32
49
|
|
|
33
50
|
## Per-folder rules
|
|
34
51
|
|
|
35
|
-
**`external-sources/`** — Raw sources saved verbatim, not just cited: the actual fetched text of URLs, extracted text of PDFs, copies of referenced files. Each file's frontmatter carries the original URL, access date, and any author/publisher metadata. Produced by
|
|
52
|
+
**`external-sources/`** — Raw sources saved verbatim, not just cited: the actual fetched text of URLs, extracted text of PDFs, copies of referenced files. Each file's frontmatter carries the original URL, access date, and any author/publisher metadata. Produced by the ingest procedure (applies whether the user shared the URL or you fetched it yourself to ground a claim). Immutable after capture — update only to refresh a stale fetch. **No analysis here**; that belongs in `research/`.
|
|
36
53
|
|
|
37
|
-
**`research/`** — Provisional analysis synthesizing external sources. Produced by `research
|
|
54
|
+
**`research/`** — Provisional analysis synthesizing external sources. Produced by the `research` skill. Every factual claim cites a specific doc in `external-sources/` (or an inline URL if ingest was skipped); no unsourced assertions. Keep the `sources:` frontmatter list aligned with the docs actually linked in the body. Promote to `articles/` via the `consolidate` skill once the team decides the findings are stable.
|
|
38
55
|
|
|
39
|
-
**`articles/`** — Canonical knowledge, committed after a team decision. Produced by `consolidate
|
|
56
|
+
**`articles/`** — Canonical knowledge, committed after a team decision. Produced by the `consolidate` skill. Carries a `supersedes:` chain tying back to the `research/` docs it replaces (which in turn cite `external-sources/`) so the full evidence chain is traceable without leaving the repo. Source-of-truth for the domain; update only when a new decision supersedes it.
|
|
40
57
|
|
|
41
58
|
## Status flow
|
|
42
59
|
|
|
43
60
|
| Layer | `status` | Set when |
|
|
44
61
|
|---|---|---|
|
|
45
62
|
| `research/` | `provisional` | created |
|
|
46
|
-
| `articles/` | `canonical` | promoted by
|
|
63
|
+
| `articles/` | `canonical` | promoted by consolidate after a decision |
|
|
47
64
|
|
|
48
65
|
When a new article supersedes an older one, add the older article's path to the new one's `supersedes:` list.
|
|
49
66
|
|
|
@@ -51,7 +68,7 @@ When a new article supersedes an older one, add the older article's path to the
|
|
|
51
68
|
|
|
52
69
|
There is a `log.md` at the project root. **Append one dated entry after any turn that creates, edits, or restructures content** — one entry per turn, not per file. Silent edits break the audit trail.
|
|
53
70
|
|
|
54
|
-
Log: `ingest` runs (new sources), `research` / `consolidate` runs (provisional or canonical articles), direct `write` / `edit` / `move` / `delete` outside the three
|
|
71
|
+
Log: `ingest` runs (new sources), `research` / `consolidate` runs (provisional or canonical articles), direct `write` / `edit` / `move` / `delete` outside the three procedures, project-onboarding runs, folder restructures, and `.ok/config.yml` changes.
|
|
55
72
|
|
|
56
73
|
**Reference docs as markdown links, not bare paths** — `[path/to/doc](./path/to/doc.md)`, so the entry shows up in `links({ kind: "backlinks" })` for those docs. A bare path string does not register in the graph.
|
|
57
74
|
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: open-knowledge-pack-knowledge-base-consolidate
|
|
3
|
+
description: "Promote existing research into a canonical article under `articles/` in a Knowledge Base project (the `knowledge-base` starter pack). Read when a decision has actually been made and the team wants the source-of-truth written down, or when asked to consolidate, canonicalize, promote research, or supersede an older article. Carries the decision-confirmation gate, the `supersedes:` chain that keeps the evidence trail intact, and the canonical voice. Does not conduct new research — that is the sibling `research` skill."
|
|
4
|
+
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server. Installed project-local by `ok seed --pack knowledge-base`."
|
|
5
|
+
metadata:
|
|
6
|
+
pack: "knowledge-base"
|
|
7
|
+
author: "Inkeep"
|
|
8
|
+
repository: "https://github.com/inkeep/open-knowledge"
|
|
9
|
+
---
|
|
10
|
+
# Consolidate — promote research into a canonical article
|
|
11
|
+
|
|
12
|
+
> This skill is pack guidance. The platform `open-knowledge` skill (read/write/preview/linking/grounding rules) still governs every markdown operation — this layers the procedure on top.
|
|
13
|
+
|
|
14
|
+
Promote existing research on a topic into a canonical article under `articles/`. **Canonical, not provisional** — the output is the source of truth for future agents, not a snapshot of uncertainty.
|
|
15
|
+
|
|
16
|
+
The content directory is the resolved `content.dir` — read it with `config({ key: 'content.dir' })` if you don't already know it. Paths below are relative to it.
|
|
17
|
+
|
|
18
|
+
## STOP gate: has a decision actually been made?
|
|
19
|
+
|
|
20
|
+
Consolidation is **promotion, not creation**. If the team hasn't decided, the resulting "canonical" article lies about the team's state of understanding — future agents read it, act on it, and the false certainty compounds.
|
|
21
|
+
|
|
22
|
+
Before any write, confirm out loud with the user:
|
|
23
|
+
|
|
24
|
+
- **What is the actual decision?** (e.g., "We chose Yjs for CRDT" — not "Yjs is one option")
|
|
25
|
+
- **What alternatives were considered and rejected?** (these go in "Alternatives considered," not as equals)
|
|
26
|
+
- **What's the rationale the team used?** (not your reconstruction from sources)
|
|
27
|
+
|
|
28
|
+
If the decision is still open, **do not consolidate**. Tell the user: "The research is still provisional. When the team decides, come back and consolidate with the outcome." Then stop.
|
|
29
|
+
|
|
30
|
+
## When to use this procedure
|
|
31
|
+
|
|
32
|
+
- A team has made a decision after research and wants the outcome committed as canonical knowledge
|
|
33
|
+
- You want to compact several provisional research notes into one authoritative article
|
|
34
|
+
- A developer asks to "consolidate" or "finalize" the knowledge on a topic
|
|
35
|
+
|
|
36
|
+
Do NOT consolidate when:
|
|
37
|
+
- The team has not actually decided (the output would be misleading — keep it as research)
|
|
38
|
+
- You have not read the underlying sources (the output would lack evidence)
|
|
39
|
+
|
|
40
|
+
## Principle: canonical, not provisional
|
|
41
|
+
|
|
42
|
+
A consolidated article is the **source of truth**. Agents reading it should not need to dig further for context — it should stand on its own. That means:
|
|
43
|
+
|
|
44
|
+
- Clear, direct statements (no "tentative", no "initial findings")
|
|
45
|
+
- Decisions stated as decisions, not options
|
|
46
|
+
- Rationale explained so future readers understand the why
|
|
47
|
+
- Trade-offs acknowledged but framed against the chosen path, not as a menu
|
|
48
|
+
- Evidence linked but not the whole story — this article is the destination, not a trail
|
|
49
|
+
|
|
50
|
+
## Steps
|
|
51
|
+
|
|
52
|
+
### 1. Load the research + sources
|
|
53
|
+
|
|
54
|
+
Locate research articles on this topic:
|
|
55
|
+
|
|
56
|
+
- Use `exec("grep -rn <topic-keyword> <content-dir>")` to find prior research, or `exec("ls -A research")` if the project groups research in a known location
|
|
57
|
+
- Read each research article fully via `exec("cat <path>")` (rich enrichment gives frontmatter + shadow-repo activity + project git history + backlinks)
|
|
58
|
+
- Follow its `sources:` frontmatter list — read every referenced source file
|
|
59
|
+
- Also read any existing canonical article on the topic — if one already exists, you may be **updating** it rather than creating a new one
|
|
60
|
+
|
|
61
|
+
If there is no research to consolidate, stop. Consolidation is promotion, not creation. Do the `research` skill first.
|
|
62
|
+
|
|
63
|
+
### 2. Re-confirm the decision
|
|
64
|
+
|
|
65
|
+
You already confirmed the decision at the STOP gate at the top. This step is a brief re-check after loading the research in Step 1 — occasionally the research surfaces something that makes the "decision" look less decided than the user initially claimed (an un-rebutted open question, an alternative they forgot about). If the loaded research reveals that, pause and re-confirm with the user before writing.
|
|
66
|
+
|
|
67
|
+
### 3. Write the canonical article
|
|
68
|
+
|
|
69
|
+
**Persist as you go (MUST).** For a large consolidation drawing on several research docs, create the article skeleton — frontmatter + the headings below — first, then `edit` each section in as you finish it; don't hold the whole synthesis in context for one final write. A rate limit or crash mid-synthesis then costs you one section, not the entire article. (The platform skill's Writing section carries this rule for all long-running work: the knowledge base is your checkpoint.)
|
|
70
|
+
|
|
71
|
+
Save inside the content directory. Path convention depends on the project:
|
|
72
|
+
|
|
73
|
+
- If the project uses the three-layer lifecycle (`external-sources/` → `research/` → `articles/`), save under `articles/`, grouped by topic subfolder when the area is broad (e.g., `articles/editor/crdt-architecture.md`)
|
|
74
|
+
- If the project has an existing canonical-docs layout (`docs/`, `guides/`, etc.), save there in a location that matches the project's conventions
|
|
75
|
+
- Ask the user when the canonical location is ambiguous
|
|
76
|
+
|
|
77
|
+
Frontmatter:
|
|
78
|
+
|
|
79
|
+
```yaml
|
|
80
|
+
---
|
|
81
|
+
title: Descriptive title
|
|
82
|
+
description: One-line summary of what this article covers
|
|
83
|
+
status: canonical
|
|
84
|
+
date: YYYY-MM-DD
|
|
85
|
+
tags:
|
|
86
|
+
- topic-tag
|
|
87
|
+
supersedes:
|
|
88
|
+
- <path-to-research-article>.md
|
|
89
|
+
---
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Structure:
|
|
93
|
+
|
|
94
|
+
```markdown
|
|
95
|
+
## Summary
|
|
96
|
+
|
|
97
|
+
[One paragraph: what the decision is and why. A reader who reads only this paragraph should know the outcome.]
|
|
98
|
+
|
|
99
|
+
## Context
|
|
100
|
+
|
|
101
|
+
[What problem does this solve? What constraints shaped the decision?]
|
|
102
|
+
|
|
103
|
+
## Decision
|
|
104
|
+
|
|
105
|
+
[The chosen approach, stated directly. Not "we recommend" — "we chose".]
|
|
106
|
+
|
|
107
|
+
## Rationale
|
|
108
|
+
|
|
109
|
+
[Why this path over alternatives. Grounded in the constraints from Context.]
|
|
110
|
+
|
|
111
|
+
## Trade-offs
|
|
112
|
+
|
|
113
|
+
[What we gave up by choosing this path. Frame against the chosen decision, not as a menu.]
|
|
114
|
+
|
|
115
|
+
## Alternatives considered
|
|
116
|
+
|
|
117
|
+
[Briefly: what else was on the table, why it was rejected. Link to the research article for deeper analysis.]
|
|
118
|
+
|
|
119
|
+
## Implementation notes
|
|
120
|
+
|
|
121
|
+
[How this gets realized in the codebase — key files, patterns, gotchas.]
|
|
122
|
+
|
|
123
|
+
## Further reading
|
|
124
|
+
|
|
125
|
+
[Links to research articles and external sources for readers who want the trail.]
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### 4. Link aggressively
|
|
129
|
+
|
|
130
|
+
Canonical articles are destinations — they should be **linked heavily from everywhere they're relevant** and link **out to every related page** themselves. Underlinked canonical articles lose most of their value.
|
|
131
|
+
|
|
132
|
+
- **Inside this article:** every noun-phrase that names another document (other canonical articles, related research, external-source pages, sibling topics) should be a standard markdown link, not plain prose.
|
|
133
|
+
- **Every link must resolve.** Only link to docs that exist. If you mention a concept that *should* have its own page but doesn't yet, do NOT emit a broken link — either create that page in this pass, or record it as a tracked task (your host's task tool; if the host has none, tell the user) and leave the mention as plain prose. A broken link is debt, not a to-do marker.
|
|
134
|
+
- **Update neighbors.** After writing, find 2-3 closely-related existing pages (via `exec("grep -rn <topic> <content-dir>")`) and add a link to the new article from each — usually under a "See also" section or inline where the new article is relevant. This makes the article discoverable via backlinks, not just by remembering the path.
|
|
135
|
+
- **Link to the sources and superseded research** from "Further reading" — readers who want the trail can follow.
|
|
136
|
+
|
|
137
|
+
### 5. Supersede the research
|
|
138
|
+
|
|
139
|
+
Add a `supersedes:` list in the new article's frontmatter pointing at the research article(s) it consolidates. This creates an audit trail.
|
|
140
|
+
|
|
141
|
+
Do NOT delete the research articles — they remain as historical context for how the decision was reached. Edit their frontmatter to add:
|
|
142
|
+
|
|
143
|
+
```yaml
|
|
144
|
+
superseded_by: <path-to-new-canonical-article>.md
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### 6. Verify
|
|
148
|
+
|
|
149
|
+
- File exists at the chosen path under the content directory
|
|
150
|
+
- Has `status: canonical` frontmatter
|
|
151
|
+
- Lists the research articles it supersedes
|
|
152
|
+
- Research articles updated with `superseded_by` pointer
|
|
153
|
+
- `exec("ls -A <target-dir>")` shows the new file
|
|
154
|
+
|
|
155
|
+
## Non-goals
|
|
156
|
+
|
|
157
|
+
- **Don't consolidate research that hasn't reached a decision** — the article would misrepresent the team's actual state of understanding
|
|
158
|
+
- **Don't delete research articles** — they are the trail; keep them with a `superseded_by` marker
|
|
159
|
+
- **Don't rewrite research prose verbatim** — canonical articles have a different voice (direct, decided) than research (exploratory, provisional)
|
|
160
|
+
- **Don't skip the supersedes / superseded_by links** — the audit trail matters for future readers
|