@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
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
# Onboard an existing repo — convention extraction + link-graph activation
|
|
2
|
+
|
|
3
|
+
Use this when (a) the user asks to set up an existing repo that already has content, OR (b) an `exec` directory listing shows content with no folder frontmatter / templates configured. Goal: **extract conventions from existing siblings + activate the link graph, leaving the repo more structured and more navigable than you found it.**
|
|
4
|
+
|
|
5
|
+
This is the brownfield counterpart to `ok seed` (greenfield). Read the content directory from `config({ key: 'content.dir' })`; paths below are relative to it.
|
|
6
|
+
|
|
7
|
+
Use OK primitives only — no new files outside `<folder>/.ok/`, no body rewrites without per-pair user confirmation.
|
|
8
|
+
|
|
9
|
+
**Seven phases, in order. STOP gates require user confirmation before proceeding. Do not skip or batch ahead.**
|
|
10
|
+
|
|
11
|
+
**Server requirement.** Phases 1-4 run fs-direct — `exec` (scan + read) and the `write`/`edit` verbs (folder frontmatter + templates) need no running server. Phase 5 (link-graph activation) composes `links` and `search`, which **require the OK Hocuspocus server** — Phase 5 step 0 checks for it and exits cleanly with a `run ok start` instruction if it is down.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Phase 1 — Scan + classify (no user interaction, no server needed)
|
|
16
|
+
|
|
17
|
+
1. `exec("ls -A <content-dir>")` — list every top-level entry.
|
|
18
|
+
2. For each top-level **directory**: `exec("ls -A <dir>")` — the enriched listing surfaces the `.md` count, per-child frontmatter samples, recursive count, and the folder's own descriptive `title`/`description`/`tags` + `templates_available`.
|
|
19
|
+
3. Classify each directory:
|
|
20
|
+
- **Substantial KB folder** — more than 3 `.md` files directly, OR named in a known-genre list: `specs/`, `reports/`, `docs/`, `articles/`, `research/`, `stories/`, `projects/`, `external-sources/`, `tech-probes/`, `rfcs/`, `proposals/`, `design-docs/`, `adrs/`.
|
|
21
|
+
- **Trivial folder** — 1-3 `.md` files; treat as one-offs.
|
|
22
|
+
- **Likely noise** — known build/vendored patterns: `node_modules/`, `dist/`, `build/`, `vendor/`, `third_party/`, `.changeset/`, `coverage/`.
|
|
23
|
+
4. Detect total `.md` count across the content root.
|
|
24
|
+
5. Detect a seeded layout: do any of `external-sources/`, `research/`, `articles/` exist? (Informational only.)
|
|
25
|
+
6. **Confirm-then-extend detection.** For each substantial folder, check the `exec("ls -A <folder>")` listing:
|
|
26
|
+
- If the folder already has a `title`/`description`/`tags` → descriptive folder frontmatter already exists; switch THAT folder to "extend mode" (propose additions, not replacement).
|
|
27
|
+
- If `templates_available` is non-empty → a template already exists for that folder; skip template extraction for it.
|
|
28
|
+
- If MOST substantial folders are already configured → set up to exit early at Phase 7 with "already configured."
|
|
29
|
+
|
|
30
|
+
**Early-exit conditions:**
|
|
31
|
+
- If total `.md` count is **fewer than 5** → STOP. Tell the user "this looks empty — try `ok seed` for a greenfield starter pack, OR write your first doc and come back later." Exit.
|
|
32
|
+
- If all-greenfield-already (per step 6) → STOP. Exit with "already configured."
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Phase 2 — Confirm scope (STOP gate 1)
|
|
37
|
+
|
|
38
|
+
Present a structured summary to the user. Example:
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
Orientation — what I found:
|
|
42
|
+
|
|
43
|
+
Substantial folders (candidate KB content):
|
|
44
|
+
- specs/ 52 .md (suggests spec collection)
|
|
45
|
+
- reports/ 134 .md (suggests research collection)
|
|
46
|
+
- stories/ 19 .md
|
|
47
|
+
- projects/ 8 .md
|
|
48
|
+
|
|
49
|
+
Trivial folders (one-offs):
|
|
50
|
+
- tech-probes/ 4 .md
|
|
51
|
+
- 14 root-level docs (README, AGENTS, CLAUDE, CI, CONTRIBUTING)
|
|
52
|
+
|
|
53
|
+
Likely noise (recommend .okignore):
|
|
54
|
+
- node_modules/ ~200 .md (vendored deps)
|
|
55
|
+
- dist/ ~30 .md (build outputs)
|
|
56
|
+
- Per-package CHANGELOG.md (generated)
|
|
57
|
+
|
|
58
|
+
Seeded layout: no external-sources/ / research/ / articles/ present.
|
|
59
|
+
|
|
60
|
+
Mark each substantial folder as:
|
|
61
|
+
[KB] knowledge-base content — extract conventions, add folder frontmatter + template
|
|
62
|
+
[skip] already-structured or out of scope — leave existing settings
|
|
63
|
+
[noise] add to .okignore
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Wait for user response. Do not proceed until each substantial folder is classified.**
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Phase 3 — `.okignore` curation (STOP gate 2)
|
|
71
|
+
|
|
72
|
+
Based on user `[noise]` marks + agent-detected patterns, propose `.okignore` entries:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
Proposed .okignore additions:
|
|
76
|
+
node_modules/**/*.md # vendored dep READMEs
|
|
77
|
+
dist/**/*.md # build outputs
|
|
78
|
+
**/CHANGELOG.md # per-package generated changelogs
|
|
79
|
+
THIRD_PARTY_NOTICES.md # auto-generated notices
|
|
80
|
+
<any user-marked folders>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Ask the user: "Apply these `.okignore` additions? (yes / edit list / skip)"
|
|
84
|
+
|
|
85
|
+
On confirm: read the existing `.okignore`, append new entries, write via native `Write` (`.okignore` is a plain config file, not in-scope markdown — escape-hatch ok).
|
|
86
|
+
|
|
87
|
+
**Don't redundantly propose what `.gitignore` already covers.** `.gitignore` and `.okignore` evaluate together; if the repo's `.gitignore` already excludes `node_modules/`, you don't need to add it again.
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Phase 4 — Per-folder convention extraction (STOP gates 3 + 4)
|
|
92
|
+
|
|
93
|
+
For **each** folder the user marked `[KB]`:
|
|
94
|
+
|
|
95
|
+
1. **Pick representative siblings.** From `exec("ls -A <folder>")`:
|
|
96
|
+
- Most-recently-edited doc
|
|
97
|
+
- Median-sized doc (roughly: pick the middle entry)
|
|
98
|
+
- Up to 3 siblings. If the folder has fewer than 2 siblings, skip template extraction; only propose folder frontmatter.
|
|
99
|
+
|
|
100
|
+
2. **Read the siblings.** `exec("cat <doc>")` on each. Extract:
|
|
101
|
+
- **Heading set** — list every top-level heading (a line starting with `# ` or `## `) in document order.
|
|
102
|
+
- **Frontmatter shape** — which keys appear in at least 2 of the 3 siblings. Note ALL recurring keys, but route them by purpose: keys that describe the FOLDER (`title` / `description` / `tags`, though any key is allowed) go in the folder frontmatter; recurring per-doc keys (`status:`, `owner(s):`, `baseline-commit:`) are starting values for NEW docs and belong in the folder's TEMPLATE. Folder frontmatter is open-shape (like a doc's) but self-only — it does NOT flow into child docs, so per-doc starting values still belong in the template.
|
|
103
|
+
- **Filename pattern** — dated (`YYYY-MM-DD-*`)? Slugged? Sequential?
|
|
104
|
+
- **Link patterns in body** — does the body have a "Related" / "See also" / "References" section? Note the convention.
|
|
105
|
+
|
|
106
|
+
3. **STOP gate 3 — heading-set match check.** If top-level headings DON'T match in text + order across at least 2 siblings, do NOT extract a template — only propose folder frontmatter. Tell the user: "siblings in `<folder>` don't share a consistent body skeleton; skipping template, proposing folder frontmatter only." The operational metric for "match" is **heading-text equality** (exact strings, in order). Anything beyond that is model judgment and shouldn't pretend to be deterministic.
|
|
107
|
+
|
|
108
|
+
4. **Idempotency check.** Per Phase 1 step 6:
|
|
109
|
+
- If this folder already has its own frontmatter → switch to "extend mode." Show existing keys to the user; propose ADDITIONS only.
|
|
110
|
+
- If `templates_available` includes a template → skip template extraction. Tell the user: "existing template `<name>` found; preserving."
|
|
111
|
+
|
|
112
|
+
5. **Propose folder frontmatter + template.** One `write`/`edit` call per target:
|
|
113
|
+
|
|
114
|
+
```ts
|
|
115
|
+
// Folder frontmatter → writes <folder>/.ok/frontmatter.yml.
|
|
116
|
+
// Open-shape (any key, like a doc's); here the conventional
|
|
117
|
+
// title/description/tags describing the FOLDER. Self-only — does NOT
|
|
118
|
+
// cascade into child docs. Use `write({ folder })` for a new folder,
|
|
119
|
+
// `edit({ folder })` to add keys to an existing one (merge-patch).
|
|
120
|
+
edit({
|
|
121
|
+
folder: {
|
|
122
|
+
path: '<folder>',
|
|
123
|
+
frontmatter: {
|
|
124
|
+
title: '<inferred>', // e.g., "Specifications"
|
|
125
|
+
description: '<inferred>', // 1-2 sentences describing the folder's purpose
|
|
126
|
+
tags: ['<inferred>'], // e.g., ['spec']
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
})
|
|
130
|
+
|
|
131
|
+
// Template → writes <folder>/.ok/templates/<name>.md. This is where
|
|
132
|
+
// recurring per-doc starting values live (status, owner, ...) — bake them
|
|
133
|
+
// into the template body's frontmatter region so new docs start with them.
|
|
134
|
+
write({
|
|
135
|
+
template: {
|
|
136
|
+
path: '<folder>/<inferred-name>', // e.g., 'specs/SPEC', 'reports/REPORT'
|
|
137
|
+
frontmatter: { title: '<placeholder>', description: '<placeholder>' },
|
|
138
|
+
content: '<heading skeleton from siblings; include a frontmatter region with recurring per-doc keys (status, owner, ...) as starting values>',
|
|
139
|
+
},
|
|
140
|
+
})
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
6. **STOP gate 4 — surface the proposal.** Show: heading set + frontmatter shape + filename pattern + link patterns. Ask: "Apply this proposal? (yes / edit / skip this folder)"
|
|
144
|
+
|
|
145
|
+
7. **Apply confirmed proposals** via the `edit({ folder })` + `write({ template })` calls above. Re-run `exec("ls -A <folder>")` to confirm `templates_available` + the folder's descriptive `title`/`description`/`tags` are populated.
|
|
146
|
+
|
|
147
|
+
Repeat for every `[KB]` folder.
|
|
148
|
+
|
|
149
|
+
**Scope note:** do NOT attempt nested-pattern detection (e.g. applying the same folder frontmatter across `specs/*/evidence/` for every spec's evidence subfolder). Each folder is addressed by its own path — one `edit({ folder })` call per folder. Users who want nested folder frontmatter set it up manually afterward.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Phase 5 — Link-graph activation
|
|
154
|
+
|
|
155
|
+
The largest phase. Uses the `links` tool (every link-graph view) plus `search` and `edit` to apply confirmed link insertions.
|
|
156
|
+
|
|
157
|
+
0. **Server check (required for this phase).** `links` and `search` need the OK Hocuspocus server. Probe via `links({ kind: "hubs" })`. If the response starts with `"Error: Hocuspocus server is not running"`, STOP — tell the user "the link-graph phase needs the OK server. Start it with `ok start` from a terminal, then resume here (Phases 1-4 are already applied)." Exit cleanly.
|
|
158
|
+
|
|
159
|
+
Six sub-passes, each with its own STOP gate.
|
|
160
|
+
|
|
161
|
+
### 5a. Orphan triage (STOP gate 5a)
|
|
162
|
+
|
|
163
|
+
1. Run `links({ kind: "orphans" })`.
|
|
164
|
+
2. For each orphan, run `links({ kind: "suggest", docName: <orphan> })`:
|
|
165
|
+
- If `mentions[]` is non-empty → there are docs that mention this orphan without linking. Adoption candidates.
|
|
166
|
+
- If `mentions[]` is empty → the orphan is **genuinely standalone** (no other doc references it at all). Surface as: "this looks intentionally standalone (e.g., a README). Skip / adopt anyway by linking from a hub / add to `.okignore`?"
|
|
167
|
+
3. Confirm per orphan. For each "link" choice, `edit({ document: { path, find, replace } })` on the source doc — find the existing mention text `links({ kind: "suggest" })` surfaced and replace it wrapped in link syntax.
|
|
168
|
+
|
|
169
|
+
**Note on re-surfacing:** "intentional standalone" markers are not persisted. Each re-run surfaces the same intentional orphans (root `README.md`, `CONTRIBUTING.md`, etc.) and the user re-dismisses them. Acceptable minor friction.
|
|
170
|
+
|
|
171
|
+
### 5b. Hub identification (STOP gate 5b)
|
|
172
|
+
|
|
173
|
+
1. Run `links({ kind: "hubs" })` — surfaces the most-linked-to docs (highest *inbound* links), i.e. pages already acting as hubs.
|
|
174
|
+
2. For each substantial `[KB]` folder (those that got templates in Phase 4):
|
|
175
|
+
- Check whether a hub already exists (`<folder>/README.md`, `<folder>/INDEX.md`, `<folder>/CATALOGUE.md`).
|
|
176
|
+
- If yes: don't create a new one (anti-pattern: don't create INDEX.md hubs).
|
|
177
|
+
- If no: ensure the template extracted in Phase 4 includes a `## Related` / `## See also` section. If the template doesn't already have one, propose adding it.
|
|
178
|
+
3. Surface existing hubs to the user so they know what the link graph already provides.
|
|
179
|
+
|
|
180
|
+
### 5c. Dead-link sweep (STOP gate 5c)
|
|
181
|
+
|
|
182
|
+
1. Run `links({ kind: "dead" })` (no `sourceDocNames` → audits the whole corpus).
|
|
183
|
+
2. For each dead link, propose: a fix candidate (via `search` for the correct target), or deletion (remove the link, or the prose around it). Leaving it as an "intentional redlink" is not an option — every dead link is fixed or removed.
|
|
184
|
+
3. Confirm per dead-link. Apply confirmed fixes via `edit`.
|
|
185
|
+
|
|
186
|
+
### 5d. Untextualized-reference detection (STOP gate 5d)
|
|
187
|
+
|
|
188
|
+
`links({ kind: "suggest" })` implements server-side detection of prose mentions of a target doc that aren't wrapped in link syntax. Lean on it directly.
|
|
189
|
+
|
|
190
|
+
1. For each substantial `[KB]` doc, run `links({ kind: "suggest", docName: <target> })`.
|
|
191
|
+
2. Each call returns `mentions[]` with `{ source, excerpt, offset }` — places to insert links pointing TO this target from OTHER docs.
|
|
192
|
+
3. Surface batched **by source doc** (not per-link, to keep cognitive load reasonable):
|
|
193
|
+
|
|
194
|
+
```
|
|
195
|
+
In specs/2026-04-23-foo/SPEC.md, found 3 untextualized references:
|
|
196
|
+
line 12: "the existing `ok init` scaffolds..." → matches code, NOT a doc — skip
|
|
197
|
+
line 145: "...replaces the instructional init-content tool" → matches a spec — accept as link
|
|
198
|
+
line 203: "...per AGENTS.md ecosystem convention" → matches root AGENTS.md — accept as link
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
4. Confirm per source doc (batched). Apply confirmed link insertions via `edit({ document: { path, find, replace } })` — find the mention text the `suggest` view surfaced and replace it wrapped in link syntax.
|
|
202
|
+
|
|
203
|
+
**Truncation handling:** if the `suggest` view returns `truncated: true`, the scan hit its time budget. Iterate with smaller scope or accept partial coverage and tell the user.
|
|
204
|
+
|
|
205
|
+
### 5e. Vague-referential detection (STOP gate 5e)
|
|
206
|
+
|
|
207
|
+
Harder case: prose discusses a concept covered by another doc without naming it. Example: a spec talks about "how we track who wrote what" and there's an `agent-identity-attribution/REPORT.md` covering exactly that — but the spec never says "agent identity attribution." `links({ kind: "suggest" })` (title/alias match) misses this; semantic detection requires model judgment.
|
|
208
|
+
|
|
209
|
+
1. For each substantial doc, identify its main concepts. Use frontmatter `subjects:` / `topics:` if present; else extract from heading text + the first 2-3 paragraphs.
|
|
210
|
+
2. For each concept, run `search({ query: <concept> })`. Take the top 1-2 non-self results.
|
|
211
|
+
3. For each candidate sibling:
|
|
212
|
+
- Verify it is NOT already linked from this doc (`links({ kind: "forward", docName: <doc> })`).
|
|
213
|
+
- Verify the content is actually relevant (re-read the summary).
|
|
214
|
+
4. Surface to the user with brief justification per pair. Confirm. Apply via `edit` (insert the link in a "Related" or "References" section).
|
|
215
|
+
|
|
216
|
+
**Caveat:** vague-referential is judgment-heavy. False positives are expected; the user is the final arbiter. If the user rejects more than half the proposals in a batch, recalibrate (tighten concept-extraction, raise the relevance bar).
|
|
217
|
+
|
|
218
|
+
### 5f. Link-style detection + standardization (STOP gate 5f)
|
|
219
|
+
|
|
220
|
+
1. Sample 10 random non-noise docs (or all if the total is under 10). Count occurrences:
|
|
221
|
+
- Wiki-link syntax: `[[Page Title]]` (legacy)
|
|
222
|
+
- Relative-markdown: `[text](./path.md)` or `[text](path.md)` (the current OK recommendation)
|
|
223
|
+
2. Report the ratio to the user. If mixed, propose a one-time standardization: convert all `[[Page]]` to relative-markdown links. Ambiguous `[[Page]]` (multiple matching files) → surface for confirmation.
|
|
224
|
+
3. Apply via `edit` on each affected doc, resolving page titles to file paths via `exec("ls -A")` / `search`.
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Phase 6 — Apply + validate
|
|
229
|
+
|
|
230
|
+
After all confirmed proposals are applied:
|
|
231
|
+
|
|
232
|
+
1. Re-run `exec("ls -A <folder>")` on every `[KB]` folder. Verify:
|
|
233
|
+
- the folder's descriptive `title`/`description`/`tags` are populated (folder frontmatter landed)
|
|
234
|
+
- `templates_available` includes the new template (template landed)
|
|
235
|
+
2. Re-run the orphan + dead-link audit in one call — `links({ kind: ["orphans", "dead"] })`. Confirm the orphan count dropped vs. the Phase 5a baseline and that fixed dead links no longer report.
|
|
236
|
+
|
|
237
|
+
If any validation step fails, surface it to the user — do NOT silently pass.
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## Phase 7 — Final summary + exit
|
|
242
|
+
|
|
243
|
+
Share a structured summary with the user. Distinguish initial-setup mode from extension mode (per Phase 1 step 6):
|
|
244
|
+
|
|
245
|
+
**Initial-setup mode:**
|
|
246
|
+
|
|
247
|
+
```
|
|
248
|
+
Onboarding complete:
|
|
249
|
+
|
|
250
|
+
Folder frontmatter added (<folder>/.ok/frontmatter.yml):
|
|
251
|
+
specs/ title: Specifications, tags: [spec]
|
|
252
|
+
reports/ title: Research Reports, tags: [report]
|
|
253
|
+
stories/ title: User Stories, tags: [story]
|
|
254
|
+
projects/ title: Projects, tags: [project]
|
|
255
|
+
|
|
256
|
+
Templates added (<folder>/.ok/templates/<name>.md):
|
|
257
|
+
specs/.ok/templates/SPEC.md (heading skeleton from 3 siblings, link-aware)
|
|
258
|
+
reports/.ok/templates/REPORT.md (heading skeleton from 3 siblings, link-aware)
|
|
259
|
+
|
|
260
|
+
.okignore additions: 4 entries (node_modules, dist, CHANGELOG.md, THIRD_PARTY_NOTICES.md)
|
|
261
|
+
|
|
262
|
+
Link-graph activation:
|
|
263
|
+
Orphan triage: 7 orphans triaged (4 adopted, 3 left as intentional standalones)
|
|
264
|
+
Hub identification: 3 existing hubs surfaced; 2 templates updated with `## Related` sections
|
|
265
|
+
Dead-link sweep: 5 dead links — 4 fixed, 1 removed
|
|
266
|
+
Untextualized refs: 12 prose mentions linked (across 8 source docs)
|
|
267
|
+
Vague-referential: 5 semantic cross-references added (across 4 source docs)
|
|
268
|
+
Link-style: standardized 42 wiki-links to relative-markdown
|
|
269
|
+
|
|
270
|
+
Notes:
|
|
271
|
+
- 3 intentional standalones (README, CONTRIBUTING, LICENSE) re-surface on each run.
|
|
272
|
+
No "standalone" marker is persisted; you'll re-dismiss them next time.
|
|
273
|
+
|
|
274
|
+
Next steps:
|
|
275
|
+
- Review the extracted templates in <folder>/.ok/templates/ — they're starter shapes, not finished.
|
|
276
|
+
- The next agent in this repo will see templates_available + the folder's own frontmatter for every KB folder.
|
|
277
|
+
- Re-run after significant content additions (new folder categories, major restructures).
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
**Extension mode** (when prior configuration was detected):
|
|
281
|
+
|
|
282
|
+
```
|
|
283
|
+
Onboarding extension complete (existing configuration preserved):
|
|
284
|
+
|
|
285
|
+
New folder frontmatter:
|
|
286
|
+
tech-probes/ (was missing — title: Tech Probes, tags: [probe])
|
|
287
|
+
|
|
288
|
+
Updated templates:
|
|
289
|
+
specs/.ok/templates/SPEC.md (heading skeleton refreshed from current siblings)
|
|
290
|
+
|
|
291
|
+
Link-graph activation:
|
|
292
|
+
Orphan triage: 3 new orphans found (all triaged)
|
|
293
|
+
Untextualized refs: 8 new references linked
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## STOP rules / anti-patterns (load-bearing across phases)
|
|
299
|
+
|
|
300
|
+
- **Don't restructure existing folders** — no renaming, moving, consolidating, splitting. The folder shape as-found is the contract.
|
|
301
|
+
- **Don't impose a starter-pack layout** — only propose `external-sources/` / `research/` / `articles/` if the user explicitly opts in. Most brownfield repos won't.
|
|
302
|
+
- **Don't create INDEX.md / README.md hub files** — folder frontmatter + `exec("ls -A")` give the same view live.
|
|
303
|
+
- **Don't extract templates from a single sibling** — you need at least 2 with a matching heading set (heading-text equality, in order).
|
|
304
|
+
- **Don't bulk-rewrite doc bodies** — every link insertion (5a, 5c, 5d, 5e, 5f) goes through user confirmation via STOP gates.
|
|
305
|
+
- **Don't auto-apply** — every phase has a confirmation gate. You propose; the user disposes.
|
|
306
|
+
- **Don't run if the project has fewer than 5 `.md` files** — exit early; redirect to `ok seed`.
|
|
307
|
+
- **Don't run if the project is already fully configured** — exit early with "already configured."
|
|
308
|
+
- **Don't redundantly propose what `.gitignore` covers** in `.okignore`.
|
|
309
|
+
- **Don't attempt nested-pattern detection** — each substantial top-level folder gets its own folder frontmatter; nested sub-patterns (`specs/*/evidence/`) are left for users to set up manually.
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## Exit conditions (early termination)
|
|
314
|
+
|
|
315
|
+
- **Empty project** (Phase 1): fewer than 5 `.md` files total → exit with "try `ok seed` instead."
|
|
316
|
+
- **All-greenfield-already** (Phase 1 step 6): folder frontmatter exists AND templates exist for every substantial folder → exit with "this project is already configured."
|
|
317
|
+
- **Server down** (Phase 5 step 0): Phases 1-4 already applied fs-direct; surface "the link-graph phase needs `ok start` running" and exit cleanly — resuming picks up at Phase 5.
|
|
318
|
+
- **User aborts at any STOP gate** → exit cleanly, leaving any already-applied proposals in place (apply is per-phase, not all-or-nothing).
|
|
319
|
+
- **Validation failure** (Phase 6) → don't pretend to succeed; surface the failed step to the user.
|
|
@@ -57,7 +57,7 @@ Warnings fire at most once per session in the fresh-start case.
|
|
|
57
57
|
|
|
58
58
|
**Re-point at the end of a multi-doc workflow; don't claim a doc is on screen unless you put it there.** The one-shot attach (signal 3) opens the preview *once* — later writes do NOT move the pane; it stays on the doc you last navigated to. When a turn touches several docs, finish by navigating the preview to the doc the user should land on, using your host's move mechanism (`preview_url` → navigate your in-app browser; honor `autoOpen`). Until you have navigated there *this* turn, don't tell the user a doc is "open" / "on screen" — at most, say the preview may still be on the doc you opened earlier.
|
|
59
59
|
|
|
60
|
-
**`previewUrl: null` only means "no UI reachable" on the two attach-warning tools: `write` / `edit`.**
|
|
60
|
+
**`previewUrl: null` only means "no UI reachable" on the two attach-warning tools: `write` / `edit`.** `delete` / `move` emit `previousPreviewUrl` (different field, for closing stale tabs) and don't fire attach warnings. `preview_url` auto-starts the backend on demand (same `OK_MCP_AUTOSTART` gate as writes; a cold first call can take seconds) and reports `running: false` + `url: null` only when no UI could be reached — its hint names the right command.
|
|
61
61
|
|
|
62
62
|
If you see `"Hocuspocus server is not running"`, run `ok start` and retry.
|
|
63
63
|
|
|
@@ -24,3 +24,9 @@ ok start
|
|
|
24
24
|
## Rung 3 — Desktop app, optional
|
|
25
25
|
|
|
26
26
|
For a native editor with the file tree, property panel, and built-in preview, install the OK Desktop app. The quickstart link above has the current download — it tracks the latest release, so grab it there rather than from a pinned URL.
|
|
27
|
+
|
|
28
|
+
## Tool visibility — before you conclude the MCP is missing
|
|
29
|
+
|
|
30
|
+
**MCP tool visibility — not seeing `exec` is NOT the escape hatch.** MCP wiring varies by client (Claude Code, Cursor, Codex, Windsurf, VS Code). Server labels are user-defined; tools may not appear as top-level symbols named `exec`. If OpenKnowledge is registered as an MCP server here, route markdown reads through its `exec` / `search` via your client's documented MCP invocation (including any generic "call MCP tool" flow). Registration is the test, not top-level-symbol visibility.
|
|
31
|
+
|
|
32
|
+
**Your initial tool list is NOT exhaustive — run tool discovery before concluding the MCP is missing.** Some clients (notably Codex) defer MCP tools behind a lazy `tool_search` / tool-discovery step, so `mcp__open-knowledge__*` is absent from the upfront tool set and only appears after you search for it. Absence from the visible list means "I have not discovered it yet," NOT "it is not registered." If you don't see the tools, your first move is to run your client's tool-discovery / `tool_search` for `open-knowledge` (or `exec` / `search` / `write`) — do not infer unavailability from the initial list.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Knowledge layers + starter packs — depth
|
|
2
|
+
|
|
3
|
+
(Core carries the layer table. This file carries the operating detail.)
|
|
4
|
+
|
|
5
|
+
## The layer model
|
|
6
|
+
|
|
7
|
+
Three of the layers correspond to [Karpathy's three-layer knowledge-base pattern](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f): **ingest** (raw sources, immutable) → **research** (wiki, provisional) → **consolidate** (wiki, canonical). Onboarding an existing repo operates one level up, at the project-metadata layer, and is the brownfield counterpart to the greenfield `ok seed` CLI.
|
|
8
|
+
|
|
9
|
+
Typical day-2 flow: user shares a URL → ingest (preserve) → user asks "now research this" → research (provisional article; ingests more sources as needed) → decision lands → consolidate (canonical article, supersedes the research).
|
|
10
|
+
|
|
11
|
+
**None of these are MCP tools.** They are procedures that ship as skill guidance, in one of two shapes: a **reference file** inside a skill's bundle, which you open by path once that skill is loaded; or a **skill of its own**, which loads on description match when its pack is seeded.
|
|
12
|
+
|
|
13
|
+
- ingest → reference file `ingest-and-sources.md`, here in this bundle. Ships with every `ok init` because Core's Grounding rule depends on it, pack or no pack.
|
|
14
|
+
- onboard a repo that already has content → reference file `onboard-existing-repo.md`, here in this bundle.
|
|
15
|
+
- research / consolidate → their own skills, `open-knowledge-pack-knowledge-base-research` and `open-knowledge-pack-knowledge-base-consolidate`, installed alongside their pack by `ok seed --pack knowledge-base`. **Not available otherwise** — if the pack isn't seeded, say so rather than improvising a lookalike pipeline.
|
|
16
|
+
- generate / refresh a codebase wiki → reference file `generate-and-refresh.md`, inside the `open-knowledge-pack-codebase-wiki` skill's bundle and readable once that skill loads. Installed by `ok seed --pack codebase-wiki`.
|
|
17
|
+
|
|
18
|
+
Read the relevant procedure and execute its numbered steps with the OK verbs; don't skip its STOP gates.
|
|
19
|
+
|
|
20
|
+
**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. The session-level hint covers trivial back-and-forth ("which file did you mean?"); the gates exist for one-way-door decisions where the procedure deliberately wants confirmation before continuing. When in doubt, treat the gate as authoritative and the session-level autonomy hint as a default for the in-between turns.
|
|
21
|
+
|
|
22
|
+
**Do not chain silently.** After ingest, ask the user 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.
|
|
23
|
+
|
|
24
|
+
**Project scaffolding — two paths.** **Empty repo:** run `ok seed` once from a terminal (scaffolds the layout + seeds `log.md` + folder defaults). **Existing content:** work through `onboard-existing-repo.md`. Neither is required; the layer procedures work against any folder structure. Only mention each when explicitly relevant.
|
|
25
|
+
|
|
26
|
+
## Starter packs — reference for inspiration
|
|
27
|
+
|
|
28
|
+
The `ok` CLI (a Bash surface beside the MCP tools; other verbs `ok start` / `ok open` are documented in the core) ships proven layouts you can study to build a *similar* structure of your own — adapt the idea, don't clone the pack:
|
|
29
|
+
|
|
30
|
+
- `knowledge-base` — source-grounded research articles
|
|
31
|
+
- `software-lifecycle` — proposals, decisions, specs
|
|
32
|
+
- `codebase-wiki` — agent-authored wiki of your codebase
|
|
33
|
+
- `plain-notes` — notes + daily journal
|
|
34
|
+
- `worldbuilding` — fiction story wiki
|
|
35
|
+
- `writing-pipeline` — drafts → published
|
|
36
|
+
- `entity-vault` — people / companies / meetings (personal CRM)
|
|
37
|
+
- `okf` — Open Knowledge Format–conformant base
|
|
38
|
+
|
|
39
|
+
A pack that ships skills installs them project-local when seeded. Those skills are where the pack's procedures live; a pack may ship one skill or several.
|
|
40
|
+
|
|
41
|
+
To reference one **without installing it**: `ok seed --list-packs` (the menu) → `ok seed --pack <name> --dry-run` (its folders + the *why* of each folder + templates; writes nothing). Then either adapt the ideas into your own folders (`write({ folder })` + a template) or adopt the pack as-is by re-running without `--dry-run`. Reach for this when a user wants structure and an archetype fits — propose a tailored variant, not a verbatim copy.
|
|
@@ -3,7 +3,6 @@ name: open-knowledge-write-skill
|
|
|
3
3
|
description: "Use when the user wants to create, author, write, or design a new Agent Skill (a SKILL.md) — for OpenKnowledge or for their editors — including requests like 'help me write a skill', 'make a skill that…', 'turn this workflow into a skill', or improving an existing skill's triggering and discipline. Also use when capturing reusable agent guidance that should live as an installable skill rather than a one-off prompt. Covers choosing scope (project vs global), the SKILL.md frontmatter contract, progressive-disclosure structure, evaluating the skill, and installing it into the user's editors."
|
|
4
4
|
compatibility: "OpenKnowledge project recommended (uses the `write` / `edit` / `install` MCP verbs). Authoring + validation are pure file ops; live preview + eval want a running server (`ok start`)."
|
|
5
5
|
metadata:
|
|
6
|
-
version: "0.45.0"
|
|
7
6
|
author: "Inkeep"
|
|
8
7
|
repository: "https://github.com/inkeep/open-knowledge"
|
|
9
8
|
---
|
|
@@ -23,14 +22,35 @@ it says. Work the stages below in order, but jump to where the user already is.
|
|
|
23
22
|
|
|
24
23
|
## Stage 1 — Capture intent and classify the skill
|
|
25
24
|
|
|
26
|
-
**Gate — does this already exist? Check BEFORE you build.**
|
|
27
|
-
skills (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
25
|
+
**Gate — does this already exist? Check BEFORE you build.** First list managed
|
|
26
|
+
skills with `skills({})`, then read any likely match with `skills({ name })`;
|
|
27
|
+
these are the Project/Global skills OpenKnowledge already manages. Also search
|
|
28
|
+
the public marketplace with `skills({ query: "<2-4 trigger words>" })` before
|
|
29
|
+
drafting when the task sounds reusable beyond this project. Each marketplace row
|
|
30
|
+
returns `name`, `source`, and `description`; inspect the strongest descriptions,
|
|
31
|
+
then import a chosen candidate with `import({ source, skill: name, add: [...] })` and adapt
|
|
32
|
+
it only if reuse is the right call. Use the Vercel `find-skills` skill,
|
|
33
|
+
`npx skills find <query>`, or manual skills.sh search only when the OK MCP
|
|
34
|
+
`skills({ query })` path is unavailable. If the user already has a skills.sh page
|
|
35
|
+
open, pass the full skill-page URL as `source`, e.g.
|
|
36
|
+
`import({ source: "https://www.skills.sh/<publisher>/skills/<skill>", add: [...] })`. Do not
|
|
37
|
+
run `npx skills add` as the
|
|
38
|
+
default install path in this flow: import through OpenKnowledge
|
|
39
|
+
(`import({ source, skill, add })`) so the skill lands as a real folder with
|
|
40
|
+
provenance, versioning, and managed fan-out; `add` says where it goes, and
|
|
41
|
+
`install` afterwards changes where it lives. Use 2-4 concrete trigger phrases from the user's request plus
|
|
42
|
+
the domain or tool name, then open/read the strongest candidates' descriptions
|
|
43
|
+
before judging. If an existing or public skill covers most of it, STOP and
|
|
44
|
+
**recommend reuse** — a near-duplicate with overlapping triggers mis-fires and
|
|
45
|
+
dilutes both. If a public skill is close but not exact, decide WITH the user
|
|
46
|
+
whether to import/adapt it into OpenKnowledge, install it outside OK with the
|
|
47
|
+
Skills CLI, or write a narrower companion whose `description` explicitly hands
|
|
48
|
+
off to it. Build a new skill only when it is genuinely distinct. Surface the
|
|
49
|
+
overlap and the installed-skill plus marketplace search outcome before drafting
|
|
50
|
+
or writing anything. This is a disclosure gate: tell the user what you checked,
|
|
51
|
+
what matched, and why reuse/import/adapt/new-skill is the right next step. Never
|
|
52
|
+
discover overlap after the skill is written. If `skills({ query })` / skills.sh
|
|
53
|
+
is unreachable, say so plainly and continue with the installed-skill check.
|
|
34
54
|
|
|
35
55
|
Ask only what you can't infer:
|
|
36
56
|
|
|
@@ -47,13 +67,13 @@ Ask only what you can't infer:
|
|
|
47
67
|
|
|
48
68
|
## Stage 2 — Resolve scope FIRST (never infer silently)
|
|
49
69
|
|
|
50
|
-
Scope determines where the skill lives and where `install`
|
|
70
|
+
Scope determines where the skill lives and where `install` fans it. This is
|
|
51
71
|
the user's decision and has different blast radius — make it explicit.
|
|
52
72
|
|
|
53
|
-
| Scope | Lives in | `install`
|
|
73
|
+
| Scope | Lives in | `install` fans it to |
|
|
54
74
|
| --- | --- | --- |
|
|
55
|
-
| **Global** | `~/.
|
|
56
|
-
| **Project** |
|
|
75
|
+
| **Global** | a real folder under your home's skill roots (e.g. `~/.claude/skills/<name>/`) | your editors, in **every** project |
|
|
76
|
+
| **Project** | a real folder in this repo's skill roots (e.g. `.claude/skills/<name>/` or the `.agents/skills/` hub — shared via git) | this project's editors; teammates get it on `git pull` |
|
|
57
77
|
|
|
58
78
|
Default heuristic: inside an OK project and the task is specific to it → **project**;
|
|
59
79
|
"for all my work / globally" → **global**; otherwise ask one question. State the
|
|
@@ -80,10 +100,10 @@ choice and its consequence before writing.
|
|
|
80
100
|
Before writing the skill, run the scenario WITHOUT it and capture what the agent
|
|
81
101
|
does wrong — verbatim, including its rationalizations ("the test is trivial so I
|
|
82
102
|
skipped it"). Those rationalizations are the exact loopholes the skill body must
|
|
83
|
-
close.
|
|
84
|
-
|
|
85
|
-
reason through the baseline
|
|
86
|
-
reference skills.
|
|
103
|
+
close. Run the scenario in a fresh agent session with the skill absent — a new
|
|
104
|
+
chat, a sub-agent, or a second terminal — and keep the transcript; if you have no
|
|
105
|
+
way to run it clean, reason through the baseline with the user instead. Skip this
|
|
106
|
+
stage for plain reference skills.
|
|
87
107
|
|
|
88
108
|
## Stage 5 — Draft the skill
|
|
89
109
|
|
|
@@ -149,26 +169,47 @@ load the skill. Get it right (`references/description-optimization.md`):
|
|
|
149
169
|
- Sanity-check against near-miss queries: phrasings that SHOULD trigger it and
|
|
150
170
|
adjacent ones that should NOT.
|
|
151
171
|
|
|
152
|
-
## Stage 8 — Install (
|
|
172
|
+
## Stage 8 — Install (choose where it's available)
|
|
153
173
|
|
|
154
|
-
|
|
174
|
+
The skill is already live for whichever agent reads the folder it was created
|
|
175
|
+
in — its own folder IS the skill (there is no draft state). `install` manages
|
|
176
|
+
WHERE ELSE it is available, additively:
|
|
155
177
|
|
|
156
178
|
```
|
|
157
|
-
install({ name: "<name>" })
|
|
179
|
+
install({ name: "<name>", add: ["codex", "opencode"] }) // add locations
|
|
180
|
+
install({ name: "<name>", remove: ["codex"] }) // remove locations
|
|
181
|
+
install({ name: "<name>", add: ["codex"], mode: "link" }) // ...as a symlink
|
|
182
|
+
install({ name: "<name>", convert: ["codex"], mode: "copy" }) // change one location's form
|
|
183
|
+
install({ name: "<name>", source: ".team/skills" }) // move the real folder (run alone)
|
|
158
184
|
```
|
|
159
185
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
`
|
|
166
|
-
|
|
186
|
+
Location ids are editor host ids (`claude` … `pi`), `agents` (the
|
|
187
|
+
vendor-neutral hub), or a custom root path like `.team/skills`.
|
|
188
|
+
|
|
189
|
+
**Which form a location takes.** `mode` applies only to the locations the call
|
|
190
|
+
names — those in `add`, or those in `convert` — and to nothing else. Omit it on
|
|
191
|
+
`add` and the new location takes the form the skill already uses. There is no
|
|
192
|
+
skill-wide mode: installing never rewrites a location you did not name.
|
|
193
|
+
Changing an existing location is `convert`, which leaves membership alone; pass
|
|
194
|
+
every location to make them uniform.
|
|
195
|
+
|
|
196
|
+
**What each form means.** A symlink points at the source, so it cannot drift. A
|
|
197
|
+
copy is its own folder and refreshes automatically from the source — until
|
|
198
|
+
someone hand-edits it, at which point it forks and is never overwritten again.
|
|
199
|
+
|
|
200
|
+
**Lifecycle.** Edit with `edit({ skill })`; it routes to the source and versions
|
|
201
|
+
in place. There is no "uninstall everywhere" — removing every other location
|
|
202
|
+
still leaves the source folder loading for its agent, and a skill stops existing
|
|
203
|
+
only via `delete({ skill })`, which removes the source and every location. Roll
|
|
204
|
+
a **project** skill back with `history({ skill })` → `restore_version({ skill,
|
|
205
|
+
version })`; global skills are unversioned in this build. For a project skill,
|
|
206
|
+
commit the skill folders — they are ordinary files in git, so teammates get them
|
|
207
|
+
on pull.
|
|
167
208
|
|
|
168
209
|
## Reminders
|
|
169
210
|
|
|
170
211
|
- Prefer ONE good skill over many overlapping ones; split only when triggers diverge. (The Stage 1 gate is where you ENFORCE this — don't leave overlap to discover later.)
|
|
171
|
-
- Scope is the only placement decision — don't fold harness/format/toolchain assumptions into it, and don't bake one into the scope question's wording. You are authoring an OpenKnowledge skill:
|
|
212
|
+
- Scope is the only placement decision — don't fold harness/format/toolchain assumptions into it, and don't bake one into the scope question's wording. You are authoring an OpenKnowledge skill: create it with `write({ skill })` — it lands as a real folder at the project's default skill home with attribution and versioning — and fan it out with `install`; don't hand-scatter copies across editor dirs, because `install` owns fan-out and refreshes unedited copies from the source (a hand-edited copy forks and stops refreshing). If you load this flow, author through it.
|
|
172
213
|
- Ground claims about how skills behave (versioning, install targets, scope semantics) in this guide or the tool descriptions — don't assert system facts from assumption.
|
|
173
214
|
- Avoid blanket ALWAYS/NEVER rules without a stated reason — they read as noise and
|
|
174
215
|
get ignored. Explain the why.
|
|
@@ -33,8 +33,9 @@ A short table the agent reads when tempted:
|
|
|
33
33
|
|
|
34
34
|
## Running it
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
pressured prompt with the user and read the response for the rule
|
|
36
|
+
Drive each scenario through a fresh agent session (a new chat, a sub-agent, or a
|
|
37
|
+
second terminal) so nothing from this conversation leaks in. If you cannot run
|
|
38
|
+
one, walk the pressured prompt with the user and read the response for the rule
|
|
39
|
+
holding.
|
|
39
40
|
Read the full transcript, not just the final answer — discipline fails in the
|
|
40
41
|
reasoning, not always in the output.
|