@inkeep/open-knowledge 0.19.3-beta.0 → 0.20.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/skills/discovery/SKILL.md +4 -4
- package/dist/assets/skills/packs/codebase-wiki/SKILL.md +1 -0
- package/dist/assets/skills/packs/entity-vault/SKILL.md +1 -0
- package/dist/assets/skills/packs/knowledge-base/SKILL.md +1 -0
- package/dist/assets/skills/packs/okf/SKILL.md +1 -0
- package/dist/assets/skills/packs/plain-notes/SKILL.md +1 -0
- package/dist/assets/skills/packs/software-lifecycle/SKILL.md +1 -0
- package/dist/assets/skills/packs/worldbuilding/SKILL.md +1 -0
- package/dist/assets/skills/packs/writing-pipeline/SKILL.md +1 -0
- package/dist/assets/skills/project/SKILL.md +15 -9
- package/dist/assets/skills/project/references/setup.md +26 -0
- package/dist/assets/skills/write-skill/SKILL.md +165 -0
- package/dist/assets/skills/write-skill/references/description-optimization.md +34 -0
- package/dist/assets/skills/write-skill/references/pressure-testing.md +40 -0
- package/dist/{banner-DBiyrzNA.mjs → banner-BxCFCyu8.mjs} +2 -2
- package/dist/cli.mjs +56 -56
- package/dist/{colors-CBY1ibtz.mjs → colors-8SzMRIVy.mjs} +1 -1
- package/dist/colors-CmkIIbww.mjs +1 -0
- package/dist/constants-Ta2NnZpA.mjs +2 -0
- package/dist/{dist-DHfSULAS.mjs → dist-CZWb6kyF.mjs} +77 -68
- package/dist/dist-DsbAPFC5.mjs +1 -0
- package/dist/{gh-detect-D1zn4tRp.mjs → gh-detect-DsccWGZs.mjs} +2 -2
- package/dist/index.d.mts +7 -1
- package/dist/index.mjs +1 -1
- package/dist/init-DeupkkJE.mjs +305 -0
- package/dist/init-Dg6Zw1fN.mjs +1 -0
- package/dist/{loader-7PLUIf-a.mjs → loader-BqOvMwUA.mjs} +3 -3
- package/dist/loader-DrdZ_qLV.mjs +1 -0
- package/dist/preview-CzOvwx8Y.mjs +1 -0
- package/dist/{preview-C38WSDQA.mjs → preview-D1nIjzUr.mjs} +2 -2
- package/dist/public/assets/ActivityModeContent-BS_Y62XF.js +2 -0
- package/dist/public/assets/{ActivityPanelDiffView-InYkbArk.js → ActivityPanelDiffView-BXoGtJMu.js} +2 -2
- package/dist/public/assets/ConsentDialogBody-BD48TGm2.js +2 -0
- package/dist/public/assets/DocumentContext-BzU_wuZ1.js +34 -0
- package/dist/public/assets/{GraphPanel-Bell61wS.js → GraphPanel-EZGWljSP.js} +5 -5
- package/dist/public/assets/ManagedArtifactProperties-D2EjV-Hv.js +1 -0
- package/dist/public/assets/McpConsentDialogBody-XGOmuRSp.js +1 -0
- package/dist/public/assets/PropertyPanel-CctJB0ZN.js +2 -0
- package/dist/public/assets/SettingsDialogBody-DzkJTs5S.js +7 -0
- package/dist/public/assets/SkillEditorActions-CnqozQbp.js +1 -0
- package/dist/public/assets/SourceEditor-Mgjjq3HZ.js +2 -0
- package/dist/public/assets/{TerminalPanel-CwXShtl-.js → TerminalPanel-DiJi11zw.js} +2 -2
- package/dist/public/assets/{_baseFor-BB4KANPr.js → _baseFor-D_g0Vaw_.js} +1 -1
- package/dist/public/assets/agent-presence-CPRnxEOl.js +1 -0
- package/dist/public/assets/{arc-B0M4cKTB.js → arc-ByJ8e9TF.js} +1 -1
- package/dist/public/assets/architecture-YZFGNWBL-DFhgKmAY.js +1 -0
- package/dist/public/assets/{architectureDiagram-Q4EWVU46-CGfN8F1x.js → architectureDiagram-Q4EWVU46-BBif8L3G.js} +1 -1
- package/dist/public/assets/{blockDiagram-DXYQGD6D-CvqzFRrs.js → blockDiagram-DXYQGD6D-DhI4yaUm.js} +1 -1
- package/dist/public/assets/button-DGf25ccp.js +1 -0
- package/dist/public/assets/{c4Diagram-AHTNJAMY-CTuRG6XQ.js → c4Diagram-AHTNJAMY-Ciz_9wte.js} +1 -1
- package/dist/public/assets/calendar-ExjQo5qX.js +1 -0
- package/dist/public/assets/channel-DKqfgCiR.js +1 -0
- package/dist/public/assets/checkbox-DBdFRrZg.js +1 -0
- package/dist/public/assets/chevron-down-BaPMAfbX.js +1 -0
- package/dist/public/assets/chevron-right-jyIhGBkw.js +1 -0
- package/dist/public/assets/{chunk-2KRD3SAO-CgV4qQXG.js → chunk-2KRD3SAO-Da2ER3RB.js} +1 -1
- package/dist/public/assets/{chunk-336JU56O-BalL_f4q.js → chunk-336JU56O-TcDWBc_l.js} +2 -2
- package/dist/public/assets/chunk-426QAEUC-BHMnxPdS.js +1 -0
- package/dist/public/assets/{chunk-4BX2VUAB-DeXGuanp.js → chunk-4BX2VUAB-BYnFlu53.js} +1 -1
- package/dist/public/assets/{chunk-4TB4RGXK-RPiRkbnR.js → chunk-4TB4RGXK-G7dMkzg8.js} +1 -1
- package/dist/public/assets/chunk-55IACEB6-B13ixcd-.js +1 -0
- package/dist/public/assets/{chunk-5FUZZQ4R-Bp1iPpGN.js → chunk-5FUZZQ4R-CShfms8C.js} +1 -1
- package/dist/public/assets/{chunk-5PVQY5BW-D2kQfsEU.js → chunk-5PVQY5BW-DQpmr1mr.js} +1 -1
- package/dist/public/assets/{chunk-67CJDMHE-UJIn0xtY.js → chunk-67CJDMHE-C7ugZ81W.js} +1 -1
- package/dist/public/assets/{chunk-7N4EOEYR-B2XZtzGb.js → chunk-7N4EOEYR-W_TmxOiV.js} +1 -1
- package/dist/public/assets/{chunk-AA7GKIK3-Dyy4cSAD.js → chunk-AA7GKIK3-DznzT3CG.js} +1 -1
- package/dist/public/assets/{chunk-BSJP7CBP-gINBJmdn.js → chunk-BSJP7CBP-BH_VceX8.js} +1 -1
- package/dist/public/assets/{chunk-CIAEETIT-CZF2JSYL.js → chunk-CIAEETIT-Bk8uJMiZ.js} +1 -1
- package/dist/public/assets/{chunk-EDXVE4YY-9CmJcS4N.js → chunk-EDXVE4YY-jpxiY4fn.js} +1 -1
- package/dist/public/assets/{chunk-ENJZ2VHE-DGOBbqgN.js → chunk-ENJZ2VHE-CssVQlYq.js} +1 -1
- package/dist/public/assets/{chunk-FMBD7UC4-CCEKAqz_.js → chunk-FMBD7UC4-CqQR_ejX.js} +1 -1
- package/dist/public/assets/{chunk-FOC6F5B3-CPk9uh7H.js → chunk-FOC6F5B3-_exSVcr0.js} +1 -1
- package/dist/public/assets/{chunk-ICPOFSXX-Dy9JRPZu.js → chunk-ICPOFSXX-DarRce4R.js} +2 -2
- package/dist/public/assets/{chunk-K5T4RW27-CiRq5i4i.js → chunk-K5T4RW27-BZkpo5-i.js} +1 -1
- package/dist/public/assets/{chunk-KGLVRYIC-B5y130kq.js → chunk-KGLVRYIC-DJ6p90OK.js} +1 -1
- package/dist/public/assets/{chunk-LIHQZDEY-DFUiDBx8.js → chunk-LIHQZDEY-CY0x8HH5.js} +1 -1
- package/dist/public/assets/{chunk-ORNJ4GCN-Cr7hB34W.js → chunk-ORNJ4GCN-DyYdr6bI.js} +1 -1
- package/dist/public/assets/{chunk-OYMX7WX6-tBzsu7Qb.js → chunk-OYMX7WX6-CRgq_0ie.js} +1 -1
- package/dist/public/assets/chunk-QZHKN3VN-BSwrlrnw.js +1 -0
- package/dist/public/assets/{chunk-U2HBQHQK-DThlp4DR.js → chunk-U2HBQHQK-DS1rSLlZ.js} +1 -1
- package/dist/public/assets/{chunk-X2U36JSP-b_VUmOsG.js → chunk-X2U36JSP-Cl4q5XGv.js} +1 -1
- package/dist/public/assets/{chunk-XPW4576I-Dc6SL782.js → chunk-XPW4576I-jdZVABI6.js} +1 -1
- package/dist/public/assets/{chunk-YZCP3GAM-CcH_aTzQ.js → chunk-YZCP3GAM-CmSzwf9f.js} +1 -1
- package/dist/public/assets/{chunk-ZZ45TVLE-CwnCYU7J.js → chunk-ZZ45TVLE-CPn1i1Ng.js} +1 -1
- package/dist/public/assets/classDiagram-6PBFFD2Q-CkwZKYhs.js +1 -0
- package/dist/public/assets/classDiagram-v2-HSJHXN6E-PffvWksa.js +1 -0
- package/dist/public/assets/clone-Bp0cMwJO.js +1 -0
- package/dist/public/assets/collapsible-B9pRLq8V.js +1 -0
- package/dist/public/assets/compiler-runtime-CVnuRdak.js +1 -0
- package/dist/public/assets/config-context-DhhN0rlf.js +1 -0
- package/dist/public/assets/config-validation-events-8rtpnIAB.js +11 -0
- package/dist/public/assets/{cose-bilkent-S5V4N54A-Dizk7dwp.js → cose-bilkent-S5V4N54A-CfUDFxyJ.js} +1 -1
- package/dist/public/assets/cursor-CpjEfgnv.js +1 -0
- package/dist/public/assets/{dagre--CGfxwL9.js → dagre-BURGwdqw.js} +1 -1
- package/dist/public/assets/{dagre-KV5264BT-Bgd9TndA.js → dagre-KV5264BT-BJeou30S.js} +1 -1
- package/dist/public/assets/{diagram-5BDNPKRD-YjznpYlO.js → diagram-5BDNPKRD-C-eJcUD-.js} +1 -1
- package/dist/public/assets/{diagram-G4DWMVQ6-Dg1TlI6M.js → diagram-G4DWMVQ6-DVCBiaZD.js} +1 -1
- package/dist/public/assets/{diagram-MMDJMWI5-BJ7btGpD.js → diagram-MMDJMWI5-D_ti8xPY.js} +1 -1
- package/dist/public/assets/{diagram-TYMM5635-BlLor9aT.js → diagram-TYMM5635-BPQfwmD6.js} +1 -1
- package/dist/public/assets/dialog-Bt8vN5IM.js +45 -0
- package/dist/public/assets/{dist-Bui1BhSw.js → dist-BKvCaeVU.js} +1 -1
- package/dist/public/assets/dist-BLu8fLv5.js +1 -0
- package/dist/public/assets/{dist-C0jOOVYt.js → dist-BXTYSiRS.js} +1 -1
- package/dist/public/assets/{dist-Debx6b6u.js → dist-Bzfgenqd2.js} +1 -1
- package/dist/public/assets/{dist-D2H0qs9k.js → dist-C0uDGnS5.js} +166 -166
- package/dist/public/assets/dist-CPXhSDT0.js +1 -0
- package/dist/public/assets/dist-CQw2y-s3.js +1 -0
- package/dist/public/assets/{dist-Mxq-zflt.js → dist-C_ATH0cs.js} +1 -1
- package/dist/public/assets/{dist-CjXb6uie.js → dist-ChteXkW7.js} +1 -1
- package/dist/public/assets/dist-DEyMVsLW.js +1 -0
- package/dist/public/assets/{dist-j3LJSXW6.js → dist-Diq9mvyh.js} +1 -1
- package/dist/public/assets/{dist-pSQcUvmU.js → dist-DisLVkiU.js} +1 -1
- package/dist/public/assets/{dist-B-IVhlJQ.js → dist-Dkd2NyD9.js} +1 -1
- package/dist/public/assets/dist-Dpgw_p7D.js +1 -0
- package/dist/public/assets/{dist-D1rVZYi52.js → dist-HRxi3YvV2.js} +1 -1
- package/dist/public/assets/dist-KER3mSN7.js +1 -0
- package/dist/public/assets/{dist-B9B58-J_.js → dist-hRhcPaZU.js} +1 -1
- package/dist/public/assets/{dist-Bn0QvNGs.js → dist-wA9FGceo.js} +1 -1
- package/dist/public/assets/documents-events-BTsmrZJT.js +11 -0
- package/dist/public/assets/{erDiagram-SMLLAGMA-CbusJ6ai.js → erDiagram-SMLLAGMA-B73UGGVJ.js} +1 -1
- package/dist/public/assets/external-link-CJXR-UFu.js +1 -0
- package/dist/public/assets/{flatten-BHQFj2az.js → flatten-7Du8lCT3.js} +1 -1
- package/dist/public/assets/{flowDiagram-DWJPFMVM-n690iqHN.js → flowDiagram-DWJPFMVM-NSwiYc3z.js} +1 -1
- package/dist/public/assets/format-iztu8fVR.js +1 -0
- package/dist/public/assets/{ganttDiagram-T4ZO3ILL-CZUxDSBT.js → ganttDiagram-T4ZO3ILL-BVawqz9s.js} +1 -1
- package/dist/public/assets/gitGraph-7Q5UKJZL-BwaREznx.js +1 -0
- package/dist/public/assets/{gitGraphDiagram-UUTBAWPF-C6qYFsUb.js → gitGraphDiagram-UUTBAWPF-DICVoCXg.js} +1 -1
- package/dist/public/assets/{graphlib-CxIN2cpg.js → graphlib-CLVMhzY2.js} +1 -1
- package/dist/public/assets/index-i9A7tPDf.js +2004 -0
- package/dist/public/assets/index-xDiw2wLq.css +1 -0
- package/dist/public/assets/info-OMHHGYJF-C9-xUHB6.js +1 -0
- package/dist/public/assets/{infoDiagram-42DDH7IO-Csns7giJ.js → infoDiagram-42DDH7IO-plFBsDaB.js} +1 -1
- package/dist/public/assets/input-CFm7DcvJ.js +1 -0
- package/dist/public/assets/{isEmpty-Bq6bzoiF.js → isEmpty-DrXavX4s.js} +1 -1
- package/dist/public/assets/isSymbol-BedorAQF.js +1 -0
- package/dist/public/assets/{ishikawaDiagram-UXIWVN3A-2JnHk_DL.js → ishikawaDiagram-UXIWVN3A-tld8udUO.js} +1 -1
- package/dist/public/assets/{journeyDiagram-VCZTEJTY-W5sor6G2.js → journeyDiagram-VCZTEJTY-CCc-mFvL.js} +1 -1
- package/dist/public/assets/{kanban-definition-6JOO6SKY-BcHKSFEp.js → kanban-definition-6JOO6SKY-CpV0A_Xv.js} +1 -1
- package/dist/public/assets/keyboard-shortcuts-BzwnpNd_.js +1 -0
- package/dist/public/assets/label-Bg6tgeFh.js +1 -0
- package/dist/public/assets/{line-BPa9YIgj.js → line-yhTleQFD.js} +1 -1
- package/dist/public/assets/{linear-CErU82pU.js → linear-CDcuGAS7.js} +1 -1
- package/dist/public/assets/{mermaid-parser.core-CIRt0Dgq.js → mermaid-parser.core-BNNnaUL9.js} +2 -2
- package/dist/public/assets/{mermaid.core-srYvzXpO.js → mermaid.core-D8RYCLKc.js} +3 -3
- package/dist/public/assets/{mindmap-definition-QFDTVHPH-TBwtPWpG.js → mindmap-definition-QFDTVHPH-DOFhbtqD.js} +1 -1
- package/dist/public/assets/{now-F1RJRIcM.js → now-CEjbn_S3.js} +1 -1
- package/dist/public/assets/open-managed-artifact-tab-VuHt1k6e.js +5 -0
- package/dist/public/assets/{ordinal-C2dFitP3.js → ordinal-DkoIOw9o.js} +1 -1
- package/dist/public/assets/packet-4T2RLAQJ-D21IJghI.js +1 -0
- package/dist/public/assets/{panel-BQ1weDcE.js → panel-BbrtnF__.js} +1 -1
- package/dist/public/assets/pie-ZZUOXDRM-T1rRpUfj.js +1 -0
- package/dist/public/assets/{pieDiagram-DEJITSTG-iP5EAWOK.js → pieDiagram-DEJITSTG-D8tTJGMo.js} +1 -1
- package/dist/public/assets/project-paths-CK_36JyE.js +1 -0
- package/dist/public/assets/prop-types-D6SQBoDq.js +1 -0
- package/dist/public/assets/{propagation-api-qAYD7s-v.js → propagation-api-Dhdns5D6.js} +1 -1
- package/dist/public/assets/{quadrantDiagram-34T5L4WZ-CRzlf10O.js → quadrantDiagram-34T5L4WZ-C1LeLfVa.js} +1 -1
- package/dist/public/assets/radar-PYXPWWZC-CxormQ0T.js +1 -0
- package/dist/public/assets/radio-group-_aqBV1Ev.js +1 -0
- package/dist/public/assets/react-dom-C-oc-P2K.js +1 -0
- package/dist/public/assets/{reduce-Cr8PO88G.js → reduce-Di0vgjn-.js} +1 -1
- package/dist/public/assets/{requirementDiagram-MS252O5E-Bg9QnuLQ.js → requirementDiagram-MS252O5E-CUh6WkN3.js} +1 -1
- package/dist/public/assets/{sankeyDiagram-XADWPNL6-Cl4zPODp.js → sankeyDiagram-XADWPNL6-B1UIPYkv.js} +1 -1
- package/dist/public/assets/selection-context-Rr9JEzTX.js +4 -0
- package/dist/public/assets/{sequenceDiagram-FGHM5R23-B9LxUMHK.js → sequenceDiagram-FGHM5R23-D56bRJUC.js} +1 -1
- package/dist/public/assets/skill-actions-SUqrJBew.js +1 -0
- package/dist/public/assets/skills-api-F2HCxVlt.js +1 -0
- package/dist/public/assets/{src-DxsrUvGr.js → src-B6QNK1mg.js} +1 -1
- package/dist/public/assets/{stateDiagram-FHFEXIEX-C8mEBLKf.js → stateDiagram-FHFEXIEX-BH5j-3UL.js} +1 -1
- package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-DgrOp7gF.js +1 -0
- package/dist/public/assets/target-navigation-intent-BrunJmhI.js +1 -0
- package/dist/public/assets/{telemetry-impl-CGM_xhJD.js → telemetry-impl-Cbuwv6dZ.js} +2 -2
- package/dist/public/assets/textarea-C-Hijn80.js +1 -0
- package/dist/public/assets/{timeline-definition-GMOUNBTQ-BdBq3Z-G.js → timeline-definition-GMOUNBTQ-istjfP3_.js} +1 -1
- package/dist/public/assets/toggle-group-Bwdb9pNj.js +1 -0
- package/dist/public/assets/tooltip-D-omjYEX.js +1 -0
- package/dist/public/assets/treeView-SZITEDCU-IjT5T-2K.js +1 -0
- package/dist/public/assets/treemap-W4RFUUIX-DvWU8kJj.js +1 -0
- package/dist/public/assets/typing-burst-detector-BmNkqfX8.js +7 -0
- package/dist/public/assets/{vennDiagram-DHZGUBPP-CJt2-p2B.js → vennDiagram-DHZGUBPP-CWJXkeny.js} +1 -1
- package/dist/public/assets/wardley-RL74JXVD-BAS_vT5u.js +1 -0
- package/dist/public/assets/{wardleyDiagram-NUSXRM2D-CB_N5pVU.js → wardleyDiagram-NUSXRM2D-DeUVD0rm.js} +1 -1
- package/dist/public/assets/{xychartDiagram-5P7HB3ND-DtVg628z.js → xychartDiagram-5P7HB3ND-cAF4JT29.js} +1 -1
- package/dist/public/index.html +57 -38
- package/dist/{repair-launch-json-CC4TLrvW.mjs → repair-launch-json-zIhZWAzC.mjs} +2 -2
- package/dist/{repair-mcp-configs-Br9kOWON.mjs → repair-mcp-configs-Bfwl_HpO.mjs} +2 -2
- package/dist/repair-skills-C7a7M7AA.mjs +1 -0
- package/dist/repair-skills-JPqTnxCJ.mjs +3 -0
- package/dist/server-lock-8Lv6A-Xa-C_9VS9L6.mjs +1 -0
- package/dist/{server-lock-CN2YHwpP-BWnMEaYY.mjs → server-lock-CN2YHwpP-CemdeDui.mjs} +58 -58
- package/dist/{src-CNmP6MJW.mjs → src-TPlxmg1w.mjs} +2 -2
- package/dist/{start-BlecOrJ7.mjs → start-CGYA17Ml.mjs} +2 -2
- package/dist/start-DH4IdYkc.mjs +1 -0
- package/dist/write-project-skill-CKnzNtFY.mjs +12 -0
- package/package.json +2 -2
- package/dist/colors-BktTaA1t.mjs +0 -1
- package/dist/constants-BGAZ8LeG.mjs +0 -2
- package/dist/dist-B8w3S_Yp.mjs +0 -1
- package/dist/init-CwhPF_yf.mjs +0 -305
- package/dist/init-DdMnaMr2.mjs +0 -1
- package/dist/loader-BJhNlon4.mjs +0 -1
- package/dist/preview-BQ1wiWUp.mjs +0 -1
- package/dist/public/assets/ActivityModeContent-CwiMEv4D.js +0 -2
- package/dist/public/assets/ConsentDialogBody-CPn5k8Yj.js +0 -2
- package/dist/public/assets/DocumentContext-CN3X5Rjc.js +0 -34
- package/dist/public/assets/McpConsentDialogBody-_slAuRpY.js +0 -1
- package/dist/public/assets/SettingsDialogBody-CrC0ASkQ.js +0 -7
- package/dist/public/assets/SourceEditor-vrzXDDWH.js +0 -2
- package/dist/public/assets/agent-presence-DYKkeiBZ.js +0 -1
- package/dist/public/assets/architecture-YZFGNWBL--JFkSXM0.js +0 -1
- package/dist/public/assets/button-CmLxDlCv.js +0 -1
- package/dist/public/assets/channel-Z7DKCHS6.js +0 -1
- package/dist/public/assets/checkbox-BlEgF5ZV.js +0 -1
- package/dist/public/assets/chunk-426QAEUC-CYmyjEj-.js +0 -1
- package/dist/public/assets/chunk-55IACEB6-Cl00WKA6.js +0 -1
- package/dist/public/assets/chunk-QZHKN3VN-DGZr8ZKt.js +0 -1
- package/dist/public/assets/classDiagram-6PBFFD2Q-BlQyIadX.js +0 -1
- package/dist/public/assets/classDiagram-v2-HSJHXN6E-DeRDAZjJ.js +0 -1
- package/dist/public/assets/clone-B2gSWiE3.js +0 -1
- package/dist/public/assets/collapsible-BzkAcCLq.js +0 -1
- package/dist/public/assets/compiler-runtime-Cs91PcD2.js +0 -1
- package/dist/public/assets/config-validation-events-DeJ_x8Nl.js +0 -15
- package/dist/public/assets/dialog-uOgi9SAD.js +0 -45
- package/dist/public/assets/dist-CSynDsuh.js +0 -1
- package/dist/public/assets/dist-C_giuVsx.js +0 -1
- package/dist/public/assets/dist-DuNRfJxD.js +0 -1
- package/dist/public/assets/gitGraph-7Q5UKJZL-Jlfn0B2m.js +0 -1
- package/dist/public/assets/index-4vsxMtrn.js +0 -2004
- package/dist/public/assets/index-DlZTOWgT.css +0 -1
- package/dist/public/assets/info-OMHHGYJF-DoT1_N3P.js +0 -1
- package/dist/public/assets/isSymbol-W-l9JIco.js +0 -1
- package/dist/public/assets/keyboard-shortcuts-DdDIPI_l.js +0 -1
- package/dist/public/assets/packet-4T2RLAQJ-yZ2-ubu-.js +0 -1
- package/dist/public/assets/pie-ZZUOXDRM-D5R1mOV-.js +0 -1
- package/dist/public/assets/project-paths-lA0ULe1F.js +0 -1
- package/dist/public/assets/prop-types-CMddcK9H.js +0 -11
- package/dist/public/assets/radar-PYXPWWZC-3mLGFu-6.js +0 -1
- package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-60n5CD_7.js +0 -1
- package/dist/public/assets/target-navigation-intent-Dxk9beLq.js +0 -1
- package/dist/public/assets/textarea-DV1qaluU.js +0 -1
- package/dist/public/assets/toggle-group-DsgJIlng.js +0 -1
- package/dist/public/assets/tooltip-DjrmDp0P.js +0 -1
- package/dist/public/assets/treeView-SZITEDCU-BN51_uTI.js +0 -1
- package/dist/public/assets/treemap-W4RFUUIX-CGAmMsfO.js +0 -1
- package/dist/public/assets/typing-burst-detector-CdL7CgdD.js +0 -10
- package/dist/public/assets/wardley-RL74JXVD-CM7Zkd1g.js +0 -1
- package/dist/repair-skills-BHFws6D0.mjs +0 -3
- package/dist/repair-skills-MmUD95wm.mjs +0 -1
- package/dist/server-lock-8Lv6A-Xa-HmVDbKSU.mjs +0 -1
- package/dist/start-CSvRFWcV.mjs +0 -1
- package/dist/write-project-skill-CMDBlB35.mjs +0 -12
- /package/dist/public/assets/{__vite-browser-external-DCNpT6lV.js → __vite-browser-external-Ut7RmLQw.js} +0 -0
- /package/dist/public/assets/{array-BhtCvaOB.js → array-DWz6cUQe.js} +0 -0
- /package/dist/public/assets/{clike-DrSwTBuw.js → clike-C8wyRRyC.js} +0 -0
- /package/dist/public/assets/{colors-CzI3Rf3d.js → colors-Di0NygFo.js} +0 -0
- /package/dist/public/assets/{cytoscape.esm-BpF3q0tH.js → cytoscape.esm-B1cQeJcK.js} +0 -0
- /package/dist/public/assets/{defaultLocale-C061bpWn.js → defaultLocale-q7sRUXPc.js} +0 -0
- /package/dist/public/assets/{diff-D0_HBszs.js → diff-BVT8Qiu3.js} +0 -0
- /package/dist/public/assets/{dist-CfsYm4uS.js → dist-DkLHggFN.js} +0 -0
- /package/dist/public/assets/{go-DdpCnkcu.js → go-CkcupPV_.js} +0 -0
- /package/dist/public/assets/{init-Cvjgvi8K.js → init-CRMkf9sL.js} +0 -0
- /package/dist/public/assets/{isObjectLike-BWNDxuxw.js → isObjectLike-CXTdSPmv.js} +0 -0
- /package/dist/public/assets/{katex-DBuiuHex.js → katex-zjckjCBG.js} +0 -0
- /package/dist/public/assets/{lua-BrsGSRvH.js → lua-eVxIrt9t.js} +0 -0
- /package/dist/public/assets/{mcp-consent-store-BmlKYN7O.js → mcp-consent-store-DZJQdxaS.js} +0 -0
- /package/dist/public/assets/{min-C7ZjdWf5.js → min-CBRRdG4A.js} +0 -0
- /package/dist/public/assets/{path-BA4kcoAV.js → path-BFMmafCM.js} +0 -0
- /package/dist/public/assets/{pdf-CQwfdc8y.js → pdf-BodNBvC9.js} +0 -0
- /package/dist/public/assets/{pdf.worker-aWVFMfr5.js → pdf.worker-2BTzKTHB.js} +0 -0
- /package/dist/public/assets/{perl-BvKrvbRb.js → perl-CPdPC9j_.js} +0 -0
- /package/dist/public/assets/{properties-4lW4ME5D.js → properties-CDhOqkQC.js} +0 -0
- /package/dist/public/assets/{r-CfD_nMxU.js → r--HdjQNrK.js} +0 -0
- /package/dist/public/assets/{rough.esm-DlG7R-Qx.js → rough.esm-BBvhatCN.js} +0 -0
- /package/dist/public/assets/{ruby-CEHR0ONp.js → ruby-uRCn_fnf.js} +0 -0
- /package/dist/public/assets/{shell-CpYUNWOc.js → shell-DcLsuLkb.js} +0 -0
- /package/dist/public/assets/{sql-m6QogzU7.js → sql-DNxIZDy8.js} +0 -0
- /package/dist/public/assets/{src-DXWvEiD2.js → src-BqsPAyWV.js} +0 -0
- /package/dist/public/assets/{stex-CGHNatva.js → stex-h1E98Bzt.js} +0 -0
- /package/dist/public/assets/{swift-CmJiKyqD.js → swift-CK95DLTt.js} +0 -0
- /package/dist/public/assets/{terminal-theme-BhdZI3O9.js → terminal-theme-BxhEvVX2.js} +0 -0
- /package/dist/public/assets/{toml-CSZcBb2g.js → toml-D3zY1F-v.js} +0 -0
- /package/dist/public/assets/{trace-api-DPMyR1_m.js → trace-api-D2bW5RZv.js} +0 -0
- /package/dist/public/assets/{w3c-keyname-nBRha8PK.js → w3c-keyname-CO1Sq6Ug.js} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-discovery
|
|
3
|
-
description: "Read when the user asks what
|
|
3
|
+
description: "Read when the user asks what Open Knowledge is, wants to install it on a repository, wants to share an Open Knowledge project with collaborators, or asks how `ok init` / `ok cowork` / OK Desktop set up a project. Do NOT load to perform Open Knowledge 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. If the user appears to be editing markdown inside a `.ok/` project and this is the only OK skill loaded, advise them to re-run `ok init` to install the project-local skill."
|
|
4
4
|
compatibility: "Any agent host — no MCP server required. Pure discovery + install guidance."
|
|
5
5
|
metadata:
|
|
6
|
-
version: "0.
|
|
6
|
+
version: "0.20.0-beta.0"
|
|
7
7
|
author: "Inkeep"
|
|
8
8
|
repository: "https://github.com/inkeep/open-knowledge"
|
|
9
9
|
---
|
|
@@ -57,10 +57,10 @@ An OK project travels with its repository. To share one:
|
|
|
57
57
|
Collaboration is real-time once two writers have the project open against the
|
|
58
58
|
same content directory.
|
|
59
59
|
|
|
60
|
-
## `ok
|
|
60
|
+
## `ok cowork` — Claude Chat & Cowork
|
|
61
61
|
|
|
62
62
|
`ok init`'s editor wiring does not reach Claude Chat or Cowork — those read a
|
|
63
|
-
separate Skills list inside the Claude Desktop App. Run `ok
|
|
63
|
+
separate Skills list inside the Claude Desktop App. Run `ok cowork` to
|
|
64
64
|
build `openknowledge.skill` and open Claude Desktop so the user can upload it
|
|
65
65
|
(Customize → Skills → + → Create skill → Upload skill).
|
|
66
66
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-pack-codebase-wiki
|
|
3
|
+
version: "0.18.0"
|
|
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."
|
|
4
5
|
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server. Installed project-local by `ok seed --pack codebase-wiki`."
|
|
5
6
|
metadata:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-pack-entity-vault
|
|
3
|
+
version: "0.18.0"
|
|
3
4
|
description: "How to work in an Entity vault 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."
|
|
4
5
|
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server. Installed project-local by `ok seed --pack entity-vault`."
|
|
5
6
|
metadata:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-pack-knowledge-base
|
|
3
|
+
version: "0.18.0"
|
|
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."
|
|
4
5
|
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server. Installed project-local by `ok seed --pack knowledge-base`."
|
|
5
6
|
metadata:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-pack-okf
|
|
3
|
+
version: "0.18.0"
|
|
3
4
|
description: "How to work in an OKF starter project (the `okf` starter pack): a knowledge base that is conformant with Google's Open Knowledge Format (OKF) from commit one — `concepts/`, `references/`, `notes/`, a reserved `index.md` navigation hub, and a reserved `log.md` change history. Read when the project has these folders + reserved files. Carries the OKF conventions (non-empty `type` on every non-reserved doc; reserved files carry no frontmatter) as guidance, not enforcement. Complements the platform `open-knowledge` skill; does not replace it."
|
|
4
5
|
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server. Installed project-local by `ok seed --pack okf`."
|
|
5
6
|
# `type` keeps this skill doc OKF-conformant: it installs as project-local
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-pack-plain-notes
|
|
3
|
+
version: "0.18.0"
|
|
3
4
|
description: "How to work in a Plain Notes project (the `plain-notes` starter pack): a flat notes/ folder plus a daily/ journal. The 'I just want to write' layout. Read when the project has these folders. Carries the linking habit and daily-entry behavior so templates and folder descriptions stay minimal. Complements the platform `open-knowledge` skill; does not replace it."
|
|
4
5
|
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server. Installed project-local by `ok seed --pack plain-notes`."
|
|
5
6
|
metadata:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-pack-software-lifecycle
|
|
3
|
+
version: "0.18.0"
|
|
3
4
|
description: "How to work in a Software Lifecycle project (the `software-lifecycle` starter pack): proposals → decisions → specs → postmortems, plus guides. Read when the project has these folders. Carries the doc lifecycle, status flows, and per-folder agent behaviors so that guidance does not live inside template bodies or folder descriptions. Complements the platform `open-knowledge` skill; does not replace it."
|
|
4
5
|
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server. Installed project-local by `ok seed --pack software-lifecycle`."
|
|
5
6
|
metadata:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-pack-worldbuilding
|
|
3
|
+
version: "0.18.0"
|
|
3
4
|
description: "How to work in a Worldbuilding project (the `worldbuilding` starter pack): a fiction encyclopedia of characters, settings, themes, factions, and lore. Read when the project has these folders. Carries the auto-stub and consistency behaviors so that guidance does not live inside template bodies or folder descriptions. Complements the platform `open-knowledge` skill; does not replace it."
|
|
4
5
|
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server. Installed project-local by `ok seed --pack worldbuilding`."
|
|
5
6
|
metadata:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: open-knowledge-pack-writing-pipeline
|
|
3
|
+
version: "0.18.0"
|
|
3
4
|
description: "How to work in a Writing Pipeline project (the `writing-pipeline` starter pack): a three-stage drafting flow, ideas → drafts → published. Read when the project has these folders. Carries the stage flow and review behaviors so that guidance does not live inside template bodies or folder descriptions. Complements the platform `open-knowledge` skill; does not replace it."
|
|
4
5
|
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server. Installed project-local by `ok seed --pack writing-pipeline`."
|
|
5
6
|
metadata:
|
|
@@ -3,7 +3,7 @@ name: open-knowledge
|
|
|
3
3
|
description: "MUST invoke before reading or editing any `.md` / `.mdx` file, and before any `mcp__open-knowledge__*` tool call (`exec`, `search`, `write`, `edit`, and the rest). This skill is installed into the repository by `ok init`, so its presence alone means this is an OpenKnowledge project — its runtime contract governs every markdown file here, with no need to probe for a `.ok/` directory. Authoritative agent-runtime contract for working inside this OpenKnowledge project."
|
|
4
4
|
compatibility: "Claude Code, Claude Desktop, Claude Cowork, Claude.ai web. Requires OpenKnowledge MCP server + code execution."
|
|
5
5
|
metadata:
|
|
6
|
-
version: "0.
|
|
6
|
+
version: "0.20.0-beta.0"
|
|
7
7
|
author: "Inkeep"
|
|
8
8
|
repository: "https://github.com/inkeep/open-knowledge"
|
|
9
9
|
---
|
|
@@ -15,6 +15,8 @@ OpenKnowledge (OK) is a markdown-CRDT collaboration platform exposed via MCP. Th
|
|
|
15
15
|
|
|
16
16
|
> Skill version: tracks `@inkeep/open-knowledge-server` package version. Check `cat ~/.ok/skill-state.yml` to see what's installed locally. **Version floor:** `ok seed` (referenced below) requires `@inkeep/open-knowledge` >= 0.4.0. If `ok seed` errors with `unknown command`, upgrade: `npm install -g @inkeep/open-knowledge`.
|
|
17
17
|
|
|
18
|
+
> **Setup (not connected yet?).** If the `mcp__open-knowledge__*` tools aren't available in your client, this project isn't wired up on this machine — see [`references/setup.md`](references/setup.md) for the rung ladder (approve `.mcp.json` → `ok start` CLI → optional desktop app) and the canonical quickstart.
|
|
19
|
+
|
|
18
20
|
## TL;DR — the 90% case
|
|
19
21
|
|
|
20
22
|
1. **Reads:** `exec("cat …")` for a single doc, `exec("ls -A …")` for a directory (with folder defaults + template menu), `exec("grep …")` for literal, `search` for ranked retrieval. Native `Read` / `Grep` only on source code (`.ts` / `.py` / …), never on in-scope `.md` / `.mdx`.
|
|
@@ -22,20 +24,23 @@ OpenKnowledge (OK) is a markdown-CRDT collaboration platform exposed via MCP. Th
|
|
|
22
24
|
3. **Preview:** every OK read/write response carries a route-only `previewUrl` (`/#/<doc>`, no host:port). If you have a `preview_*` tool, call `preview_start("open-knowledge-ui")`; if you have an in-app browser, call `preview_url` once for the full browser URL and navigate to it; on the Claude Code CLI (no browser tool), run `ok open <doc>` to open it in the OK Desktop app. Surface to the user on a `start-ui` warning (no UI running). Don't `preview_screenshot` to confirm edits — the CRDT tool response is the confirmation.
|
|
23
25
|
4. **Workflow guides** — `workflow({ kind: 'ingest' | 'research' | 'consolidate' | 'discover' })` returns a procedural guide, not data. Use it when the work fits the layer; follow the numbered steps.
|
|
24
26
|
5. **Direct questions:** a plain business question ("which customers…", "can we use…", "what did we decide about…") routes to `search` / `exec` + a cited answer — no "research" or "report" keyword needed. Persist the answer as a page only when it is durable, spans multiple docs, and isn't already covered — *offer* first, never auto-create. See §Answering direct questions from the corpus.
|
|
27
|
+
6. **Authoring OR improving a skill** ("write/make a skill", "improve this skill", "turn this into a skill"): STOP and invoke the **`open-knowledge-write-skill`** skill — don't improvise from this skill, hand-edit `.ok/skills/…`, or narrate internal build steps / repo paths / project codenames to the user. It owns scope choice (project vs global), the SKILL.md contract, evaluation, and install. Use it for *improving* an existing skill too, not just new ones. **Never read, diff, or edit the installed projections under `.claude/skills/` · `.cursor/skills/` · `.codex/skills/` · `.opencode/skills/` · `.agents/skills/`** — those are generated by `install` and overwritten on the next sync; they are NOT a source of truth (a newer projection over an older checkout is expected, not "stale source"). The skill source lives behind the `skill` target / `write-skill`.
|
|
25
28
|
|
|
26
29
|
Everything below is depth. Read on demand.
|
|
27
30
|
|
|
28
|
-
## Tool index —
|
|
31
|
+
## Tool index — 19 tools
|
|
29
32
|
|
|
30
33
|
The full MCP surface, grouped by risk-level. Every tool's `kind` / `action` set is single-risk-level (never a read and a write behind one discriminator).
|
|
31
34
|
|
|
32
|
-
- **Reads** — `exec` (primary; shell-style `cat`/`ls`/`grep`/`find` with frontmatter + backlink + history enrichment), `search` (ranked, BM25 + recency), `history` (versions for a doc), `links` (`kind: 'backlinks'|'forward'|'dead'|'orphans'|'hubs'|'suggest'`, or an array of those for a one-call audit, e.g. `links({ kind: ["dead", "orphans", "hubs"] })`), `config` (resolved config), `palette` (markdown-native authoring forms + themed `html preview` embed starters + theme tokens; pass `components` for the canonical component JSX schemas), `preview_url` (browser-reachable preview URL on demand), `share_link` (GitHub-substrate share URL for a doc or folder; read-only against `.git/`, no commits/pushes — returns a clear error when the project has no GitHub remote, since agents do not publish projects).
|
|
33
|
-
- **Writes** — four native CRUD verbs, polymorphic over `document` / `folder` / `template` / `asset` (Pattern B: per-target fields nested inside the address key; pass EXACTLY ONE target):
|
|
34
|
-
- `write` — create/overwrite a `document` (supports `document.template` instantiation), create a `folder` (with open-shape frontmatter), create a `template`, or upload an `asset`.
|
|
35
|
-
- `edit` — modify a `document` (body find/replace OR frontmatter merge-patch), a `folder` (frontmatter merge-patch), or a `
|
|
36
|
-
- `delete` — remove a `document` (name or array), `folder`, `template`, or `asset`.
|
|
37
|
-
- `move` — move/rename a `document`, `folder`, or `asset`; rewrites referrers.
|
|
38
|
-
|
|
35
|
+
- **Reads** — `exec` (primary; shell-style `cat`/`ls`/`grep`/`find` with frontmatter + backlink + history enrichment), `search` (ranked, BM25 + recency), `history` (versions for a doc), `links` (`kind: 'backlinks'|'forward'|'dead'|'orphans'|'hubs'|'suggest'`, or an array of those for a one-call audit, e.g. `links({ kind: ["dead", "orphans", "hubs"] })`), `skills` (find + read skills: omit `name` to LIST every skill across Project + Global levels, pass `name` to READ one — addressed by `name`+`scope`, NEVER by path), `config` (resolved config), `palette` (markdown-native authoring forms + themed `html preview` embed starters + theme tokens; pass `components` for the canonical component JSX schemas), `preview_url` (browser-reachable preview URL on demand), `share_link` (GitHub-substrate share URL for a doc or folder; read-only against `.git/`, no commits/pushes — returns a clear error when the project has no GitHub remote, since agents do not publish projects).
|
|
36
|
+
- **Writes** — four native CRUD verbs, polymorphic over `document` / `folder` / `template` / `skill` / `asset` (Pattern B: per-target fields nested inside the address key; pass EXACTLY ONE target):
|
|
37
|
+
- `write` — create/overwrite a `document` (supports `document.template` instantiation), create a `folder` (with open-shape frontmatter), create a `template`, **author a `skill`** (`skill: { name, description, body, scope? }` → writes `.ok/skills/<name>/SKILL.md` — this is how you create a skill; NEVER a raw `document` path under `.ok/skills/`), or upload an `asset`. A newly authored skill is a **Draft** until you `install` it (see below).
|
|
38
|
+
- `edit` — modify a `document` (body find/replace OR frontmatter merge-patch), a `folder` (frontmatter merge-patch), a `template`, or a `skill`. (No asset — binary has no text body.)
|
|
39
|
+
- `delete` — remove a `document` (name or array), `folder`, `template`, `skill`, or `asset`.
|
|
40
|
+
- `move` — move/rename a `document`, `folder`, `skill`, or `asset`; rewrites referrers. A skill also takes `scope`/`toScope` to move between the Project and Global levels (history resets; the moved skill is a Draft — re-`install`).
|
|
41
|
+
- `install` — the explicit Draft → Installed step for a `skill`: projects an authored skill into your editors (`targets?` to choose Claude/Cursor/Codex/OpenCode; defaults to the editors this project is set up for). Run after `write({ skill })` so the skill is live, not just authored.
|
|
42
|
+
- **Authoring or improving a skill?** Invoke the **`open-knowledge-write-skill`** skill (see TL;DR #6) — it walks the SKILL.md frontmatter + structure contract, picks scope (project vs global), evaluates, and installs it. Don't improvise from this skill. Author skills through the `skill` target above, never as a raw `.ok/skills/...` document.
|
|
43
|
+
The OUTPUT mirrors the input: `write`/`edit`/`delete` nest their result under the same target key you passed (`{ document: {…} }` / `{ folder: {…} }` / `{ template: {…} }` / `{ skill: {…} }` / `{ asset: {…} }`, or `{ documents: [...] }` for a batch). The preview envelope (`previewUrl`, `warning`, `previousPreviewUrl`) stays at the top level — same for every tool.
|
|
39
44
|
Plus `checkpoint` (save a named version) and `restore_version` (roll a doc back to a prior version). A folder's own frontmatter is open-shape exactly like a doc's (self-only, does NOT cascade into child docs); templates are what new docs in a folder start with.
|
|
40
45
|
**Self-correcting on misuse:** the few constraints JSON Schema can't express — "pass exactly one target", "`find` needs a `replace`", body-XOR-frontmatter — are enforced by a *teaching error*: a wrong call returns `isError: true` with a one-line message naming the exact corrective shape. Read it and retry with that shape; don't guess.
|
|
41
46
|
- **GitHub-sync conflicts** — `conflicts` (`kind: 'list'` to enumerate, `kind: 'content'` for base/ours/theirs stages + lifecycle), `resolve_conflict` (write a chosen resolution + commit; destructive). Mutating writes against a doc in conflict return RFC 9457 `urn:ok:error:doc-in-conflict` (409); `exec("cat …")` returns `lifecycle: {status, reason} | null` so you can detect the state proactively. See *Conflict-aware writes*.
|
|
@@ -52,6 +57,7 @@ When this workspace has OpenKnowledge MCP configured, do **not** use your host's
|
|
|
52
57
|
- **Glob patterns that target markdown** (`**/*.md`, any dir known to be markdown-heavy like `specs/**`, `reports/**`, `docs/**`) — use `exec` with `find`, or `exec("ls -A <dir>")`.
|
|
53
58
|
- **Dispatching the Explore / general-purpose subagent for markdown-heavy exploration** — subagents use native `Read` / `Grep` / `Glob` internally and bypass OpenKnowledge entirely. Do markdown exploration yourself via `exec` / `search`. Subagents remain appropriate for **source-code** exploration.
|
|
54
59
|
- **Native `Read` / `Grep` on any in-scope markdown inside `.ok/`** — the `.ok/` directory is in-scope; if it carries `.md` / `.mdx`, treat those the same as any other knowledge-base file.
|
|
60
|
+
- **`ls` / `cat` / `find` on `.ok/skills/` to discover or read a skill** — `.ok/` is opaque internal state; skills are addressed by `name`+`scope`, not by path. Use the `skills` tool (omit `name` to list across Project + Global, pass `name` to read one). Never browse `.ok/skills/...` paths.
|
|
55
61
|
|
|
56
62
|
Why: native tools skip frontmatter, backlinks, shadow-repo activity, and project git history that OK's tools return for every matched knowledge-base file. `exec` is the primary read surface; it runs read-only bash (`cat`, `ls`, `grep`, `find`, `head`, `tail`, `wc`, `sort`, `uniq`, `cut`) and returns raw stdout plus enriched metadata per file. One command or a pipe (`|`) per call — it is NOT a shell, so `&&` / `;` / redirects are rejected; list several dirs with `ls -A a b c` or make separate calls.
|
|
57
63
|
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Setting up Open Knowledge
|
|
2
|
+
|
|
3
|
+
This repository is an Open Knowledge (OK) project: its `.md` / `.mdx` files are CRDT documents, and agents work with them through the Open Knowledge MCP server. If your agent's `mcp__open-knowledge__*` tools aren't available, the project just isn't connected on this machine yet. Connect it at whatever depth you need — each rung adds capability, and you can stop at the first one that covers your task.
|
|
4
|
+
|
|
5
|
+
**Canonical, always-current instructions:** <https://openknowledge.ai/docs/get-started/quickstart>. The rungs below are a quick orientation; the docs are authoritative (release channels and download links move, so this file deliberately points there rather than pinning them).
|
|
6
|
+
|
|
7
|
+
## Rung 1 — Agent tooling, no install
|
|
8
|
+
|
|
9
|
+
Approve the committed `.mcp.json` in your agent client (Claude Code, Cursor, Codex, …). It launches the OK MCP server on demand via `npx`, so there is nothing to install. This gives you the read tools (`exec`, `search`) over the docs plus the fs-direct write tools (`write` / `edit` for markdown and skills).
|
|
10
|
+
|
|
11
|
+
This rung does **not** start a collaboration server, so it does not give you live CRDT co-editing or the browser preview — those need rung 2.
|
|
12
|
+
|
|
13
|
+
## Rung 2 — Full editing + live preview, via the CLI
|
|
14
|
+
|
|
15
|
+
Install the OK CLI and start a local server:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install -g @inkeep/open-knowledge # or run it ad hoc with: npx @inkeep/open-knowledge
|
|
19
|
+
ok start
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
`ok start` runs the collaboration server and serves a browser preview at the URL it prints — no GUI required. Markdown writes now land in the live CRDT and the preview updates as you (or an agent) edit.
|
|
23
|
+
|
|
24
|
+
## Rung 3 — Desktop app, optional
|
|
25
|
+
|
|
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.
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: open-knowledge-write-skill
|
|
3
|
+
description: "Use when the user wants to create, author, write, or design a new Agent Skill (a SKILL.md) — for Open Knowledge 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
|
+
compatibility: "Open Knowledge 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
|
+
metadata:
|
|
6
|
+
version: "0.9.1"
|
|
7
|
+
author: "Inkeep"
|
|
8
|
+
repository: "https://github.com/inkeep/open-knowledge"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Writing an Open Knowledge skill
|
|
12
|
+
|
|
13
|
+
You are helping the user author an **Agent Skill** — a `SKILL.md` file (plus
|
|
14
|
+
optional `references/` and `scripts/`) that teaches an AI agent how to do a
|
|
15
|
+
recurring task. In Open Knowledge a skill is a first-class, versioned,
|
|
16
|
+
installable artifact: you author it with the `write` / `edit` skill verbs, then
|
|
17
|
+
`install` it into the user's editors.
|
|
18
|
+
|
|
19
|
+
Skills earn their keep by being **recognized at the right moment** and **followed
|
|
20
|
+
faithfully**. Most of the craft is in two places: a `description` that triggers
|
|
21
|
+
reliably, and a body short and concrete enough that the agent actually does what
|
|
22
|
+
it says. Work the stages below in order, but jump to where the user already is.
|
|
23
|
+
|
|
24
|
+
## Stage 1 — Capture intent and classify the skill
|
|
25
|
+
|
|
26
|
+
Ask only what you can't infer:
|
|
27
|
+
|
|
28
|
+
- **What recurring task** should this skill handle? Get one concrete example.
|
|
29
|
+
- **Skill type**, because it sets how much rigor to apply:
|
|
30
|
+
- **Reference / technique** (most skills) — "how to do X." Prose body, examples.
|
|
31
|
+
- **Discipline** — enforces a behavior the agent tends to skip under pressure
|
|
32
|
+
(e.g. "always write a failing test first"). These need the RED baseline +
|
|
33
|
+
pressure-testing in Stage 4–6; reference skills don't.
|
|
34
|
+
- **Degrees of freedom** (calibrate body precision to task fragility):
|
|
35
|
+
*high* (free prose — judgment tasks), *medium* (parameterized steps), *low*
|
|
36
|
+
(a fixed `scripts/` command — when any deviation breaks the result). Don't
|
|
37
|
+
over-specify a judgment task or under-specify a fragile one.
|
|
38
|
+
|
|
39
|
+
## Stage 2 — Resolve scope FIRST (never infer silently)
|
|
40
|
+
|
|
41
|
+
Scope determines where the skill lives and where `install` projects it. This is
|
|
42
|
+
the user's decision and has different blast radius — make it explicit.
|
|
43
|
+
|
|
44
|
+
| Scope | Lives in | `install` projects to |
|
|
45
|
+
| --- | --- | --- |
|
|
46
|
+
| **Global** | `~/.ok/skills/<name>/` (your user store) | your editors, in **every** project |
|
|
47
|
+
| **Project** | `<kb>/.ok/skills/<name>/` (this KB, shared via git) | this project's editors; teammates get it on `git pull` |
|
|
48
|
+
|
|
49
|
+
Default heuristic: inside an OK project and the task is specific to it → **project**;
|
|
50
|
+
"for all my work / globally" → **global**; otherwise ask one question. State the
|
|
51
|
+
choice and its consequence before writing.
|
|
52
|
+
|
|
53
|
+
## Stage 3 — Plan the contents
|
|
54
|
+
|
|
55
|
+
- **Body** = the durable, reusable instructions — under ~500 lines. If it's
|
|
56
|
+
growing past that, move depth into `references/<topic>.md` (loaded only when
|
|
57
|
+
needed) and point at it from the body. For a **project** skill the reference
|
|
58
|
+
auto-connects in the graph either way, so a backticked `` `references/<topic>.md` ``
|
|
59
|
+
path is fine; use a `[[references/<topic>]]` wiki-link only when you want the
|
|
60
|
+
mention to be a clickable inline link. For a **global** skill use a plain
|
|
61
|
+
backtick path — global references aren't graph docs, so a wiki-link there
|
|
62
|
+
dangles. Keep references **one level deep**.
|
|
63
|
+
- **Do NOT include**: a README/CHANGELOG/QUICK_REFERENCE, install instructions
|
|
64
|
+
for the skill itself, version histories, or anything host-specific. The skill
|
|
65
|
+
is the instructions, not documentation about the instructions.
|
|
66
|
+
- For a **discipline** skill, plan the failure mode you're correcting and how
|
|
67
|
+
you'll prove the skill fixes it (Stage 4).
|
|
68
|
+
|
|
69
|
+
## Stage 4 — RED baseline (discipline skills only)
|
|
70
|
+
|
|
71
|
+
Before writing the skill, run the scenario WITHOUT it and capture what the agent
|
|
72
|
+
does wrong — verbatim, including its rationalizations ("the test is trivial so I
|
|
73
|
+
skipped it"). Those rationalizations are the exact loopholes the skill body must
|
|
74
|
+
close. If you have a running server, use the agent simulator
|
|
75
|
+
(`cd packages/app && bun run src/server/agent-sim.ts`) as the executor; otherwise
|
|
76
|
+
reason through the baseline transcript with the user. Skip this stage for plain
|
|
77
|
+
reference skills.
|
|
78
|
+
|
|
79
|
+
## Stage 5 — Draft the skill
|
|
80
|
+
|
|
81
|
+
Author the source with the skill verb (fs-direct; a live preview updates if a
|
|
82
|
+
server is running):
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
write({ skill: { name: "<lowercase-hyphen-name>", description: "<triggers>", body: "<markdown>", scope: "project" } })
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Frontmatter contract (validated on write — get it right):
|
|
89
|
+
- `name` — lowercase letters, digits, hyphens; ≤64; **equals the directory**.
|
|
90
|
+
- `description` — **≤1024 chars, no XML tags, no `version` field**. See Stage 7.
|
|
91
|
+
- Nothing else. OK never injects its own frontmatter; bookkeeping lives in `.ok/`.
|
|
92
|
+
|
|
93
|
+
Write the body as direct instructions to the agent (imperative, second person),
|
|
94
|
+
concrete over abstract.
|
|
95
|
+
|
|
96
|
+
Add depth files — `references/*.md` (loaded on demand) and `scripts/*` (shown as
|
|
97
|
+
text, never executed by OK) — through the skill verbs, never native `Write`/`cat`:
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
# write one or more bundle files (independent of body — no need to resend SKILL.md)
|
|
101
|
+
write({ skill: { name: "<name>", files: [{ path: "references/tiers.md", content: "..." }] } })
|
|
102
|
+
|
|
103
|
+
# surgical edit inside one bundle file (mirrors edit({ document }))
|
|
104
|
+
edit({ skill: { name: "<name>", file: "references/tiers.md", find: "...", replace: "..." } })
|
|
105
|
+
|
|
106
|
+
# list the bundle, then read one file (no native cat)
|
|
107
|
+
skills({ name: "<name>" }) # → files: [{ path, kind }]
|
|
108
|
+
skills({ name: "<name>", file: "references/tiers.md" }) # → { path, kind, text }
|
|
109
|
+
|
|
110
|
+
# delete specific bundle files (omit `files` to delete the whole skill)
|
|
111
|
+
delete({ skill: { name: "<name>", files: ["references/tiers.md"] } })
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Paths are skill-relative and must live under `references/` or `scripts/` (one
|
|
115
|
+
level deep). A project `.md` reference becomes a live content doc that
|
|
116
|
+
auto-connects to its SKILL in the graph regardless of how the body mentions it —
|
|
117
|
+
a backticked `` `references/<name>.md` `` path joins the graph just like a
|
|
118
|
+
`[[references/<name>]]` wiki-link. Reach for a wiki-link (or
|
|
119
|
+
`[label](references/<name>.md)`) only when you want a clickable inline link.
|
|
120
|
+
Global skills are different: their references aren't graph docs, so use a plain
|
|
121
|
+
backtick path there — a wiki-link would dangle.
|
|
122
|
+
|
|
123
|
+
## Stage 6 — GREEN eval + refactor
|
|
124
|
+
|
|
125
|
+
Re-run the scenario WITH the skill. For a discipline skill, **pressure-test**:
|
|
126
|
+
combine 2–3 pressures (time, authority, sunk cost) and confirm the agent still
|
|
127
|
+
follows the rule — then patch any loophole and re-test (`references/pressure-testing.md`).
|
|
128
|
+
For a reference skill, confirm the agent now does the task correctly and the body
|
|
129
|
+
isn't longer than it needs to be. Cut anything the agent already knows.
|
|
130
|
+
|
|
131
|
+
## Stage 7 — Optimize the description (this is what makes the skill fire)
|
|
132
|
+
|
|
133
|
+
The `description` is the **only** thing the agent sees when deciding whether to
|
|
134
|
+
load the skill. Get it right (`references/description-optimization.md`):
|
|
135
|
+
- **Triggers, not a summary.** Say WHEN to use it, in the user's words and
|
|
136
|
+
phrasings — NOT a recap of the body. Summarizing the workflow in the
|
|
137
|
+
description makes the agent follow the description and skip the body.
|
|
138
|
+
- **Concrete and a little pushy** to fight under-triggering: name the situations,
|
|
139
|
+
verbs, and phrasings that should activate it.
|
|
140
|
+
- Sanity-check against near-miss queries: phrasings that SHOULD trigger it and
|
|
141
|
+
adjacent ones that should NOT.
|
|
142
|
+
|
|
143
|
+
## Stage 8 — Install (the deliberate Draft → Installed step)
|
|
144
|
+
|
|
145
|
+
Drafting doesn't change the agent's behavior until you project it:
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
install({ name: "<name>" })
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
This fans the validated skill into the project's configured editors
|
|
152
|
+
(`.claude/skills/`, `.cursor/skills/`, `.codex/skills/`, `.opencode/skills/`). For a project skill,
|
|
153
|
+
commit `.ok/skills/<name>/` and the projections so teammates get it on pull. Edit
|
|
154
|
+
later with `edit({ skill })` then `install` again; `delete({ skill })` removes it
|
|
155
|
+
and uninstalls. Roll back a **project** skill with `history({ skill })` →
|
|
156
|
+
`restore_version({ skill, version })` — global skills are unversioned in this
|
|
157
|
+
build, so they have no history to restore.
|
|
158
|
+
|
|
159
|
+
## Reminders
|
|
160
|
+
|
|
161
|
+
- Prefer ONE good skill over many overlapping ones; split only when triggers diverge.
|
|
162
|
+
- Avoid blanket ALWAYS/NEVER rules without a stated reason — they read as noise and
|
|
163
|
+
get ignored. Explain the why.
|
|
164
|
+
- A skill that ships executable `scripts/` is projected verbatim into another
|
|
165
|
+
agent's trust domain — only include scripts the user has reviewed.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Optimizing a skill's `description`
|
|
2
|
+
|
|
3
|
+
The `description` is the **entire** signal the agent uses to decide whether to
|
|
4
|
+
load a skill. The body doesn't exist until the description fires. Optimize it
|
|
5
|
+
last, deliberately.
|
|
6
|
+
|
|
7
|
+
## Rules
|
|
8
|
+
|
|
9
|
+
1. **Triggers, not a summary.** Describe WHEN to reach for the skill, in the
|
|
10
|
+
user's words. Do NOT recap what the body does — empirically, summarizing the
|
|
11
|
+
workflow in the description makes the model follow the description and skip
|
|
12
|
+
the body (the classic "did one review instead of the two the body required").
|
|
13
|
+
2. **Be concrete and slightly pushy.** Under-triggering (the skill never loads)
|
|
14
|
+
is the common failure. Name the situations, the verbs, and the actual
|
|
15
|
+
phrasings a user would type. List several; don't rely on one abstract clause.
|
|
16
|
+
3. **Stay inside the contract.** ≤1024 characters, no XML/angle-bracket tags, no
|
|
17
|
+
`version` field. A tag like `<thing>` breaks the loader.
|
|
18
|
+
4. **Disambiguate from neighbors.** If a sibling skill is close, add a line on
|
|
19
|
+
when to use THIS one vs the other.
|
|
20
|
+
|
|
21
|
+
## A lightweight near-miss check
|
|
22
|
+
|
|
23
|
+
1. Write ~10 phrasings that SHOULD trigger the skill and ~5 adjacent ones that
|
|
24
|
+
should NOT (they belong to a different skill or no skill).
|
|
25
|
+
2. Read the description cold and predict, for each phrasing, whether it would
|
|
26
|
+
fire. Every should-fire that you'd miss is a gap; every should-not that fires
|
|
27
|
+
is over-reach.
|
|
28
|
+
3. Edit the description to close the gaps without grabbing the should-nots.
|
|
29
|
+
Prefer adding concrete trigger phrasings over broadening vague ones.
|
|
30
|
+
|
|
31
|
+
## Shape
|
|
32
|
+
|
|
33
|
+
Lead with the dominant trigger ("Use when the user wants to…"), then enumerate
|
|
34
|
+
concrete situations and phrasings, then any disambiguation. Keep it scannable.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Pressure-testing a discipline skill
|
|
2
|
+
|
|
3
|
+
A **discipline** skill enforces a behavior the agent tends to abandon under
|
|
4
|
+
pressure ("write the failing test first", "get review before merging"). A skill
|
|
5
|
+
that holds in the easy case but folds under pressure hasn't done its job. Test
|
|
6
|
+
the hard case.
|
|
7
|
+
|
|
8
|
+
## The loop (RED → GREEN → harden)
|
|
9
|
+
|
|
10
|
+
1. **RED — baseline without the skill.** Run the scenario with no skill loaded.
|
|
11
|
+
Capture what the agent does AND its **rationalizations**, verbatim ("the
|
|
12
|
+
change is tiny, so skipping the test is fine"). Those exact rationalizations
|
|
13
|
+
are the loopholes the skill body must name and close.
|
|
14
|
+
2. **GREEN — minimal skill.** Write the smallest body that defeats those specific
|
|
15
|
+
rationalizations. Re-run; confirm the behavior changed.
|
|
16
|
+
3. **Harden under combined pressure.** Re-run with **2–3 pressures stacked** and
|
|
17
|
+
force a concrete choice:
|
|
18
|
+
- *Time*: "this is urgent, ship it now."
|
|
19
|
+
- *Authority*: "the lead said it's fine to skip."
|
|
20
|
+
- *Sunk cost*: "you already wrote 200 lines; redoing it wastes the work."
|
|
21
|
+
- Then: "What DO you do?" — make it choose, don't accept a hedge.
|
|
22
|
+
4. Any new rationalization that slips through → add it to the body's
|
|
23
|
+
rationalization table and re-test. Repeat until it holds.
|
|
24
|
+
|
|
25
|
+
## Rationalization table (put this in the skill body)
|
|
26
|
+
|
|
27
|
+
A short table the agent reads when tempted:
|
|
28
|
+
|
|
29
|
+
| The agent thinks… | Reality |
|
|
30
|
+
| --- | --- |
|
|
31
|
+
| "This case is too trivial to test." | Trivial code breaks too; the test is cheap. |
|
|
32
|
+
| "I'm confident it works." | Confidence isn't verification; write the test. |
|
|
33
|
+
|
|
34
|
+
## Running it
|
|
35
|
+
|
|
36
|
+
With a server: drive the scenarios through the agent simulator
|
|
37
|
+
(`cd packages/app && bun run src/server/agent-sim.ts`). Without one: walk the
|
|
38
|
+
pressured prompt with the user and read the response for the rule holding.
|
|
39
|
+
Read the full transcript, not just the final answer — discipline fails in the
|
|
40
|
+
reasoning, not always in the output.
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as e,i as t,n,t as r}from"./colors-
|
|
1
|
+
import{a as e,i as t,n,t as r}from"./colors-8SzMRIVy.mjs";const i={single:{topLeft:`┌`,top:`─`,topRight:`┐`,right:`│`,bottomRight:`┘`,bottom:`─`,bottomLeft:`└`,left:`│`},double:{topLeft:`╔`,top:`═`,topRight:`╗`,right:`║`,bottomRight:`╝`,bottom:`═`,bottomLeft:`╚`,left:`║`},round:{topLeft:`╭`,top:`─`,topRight:`╮`,right:`│`,bottomRight:`╯`,bottom:`─`,bottomLeft:`╰`,left:`│`},bold:{topLeft:`┏`,top:`━`,topRight:`┓`,right:`┃`,bottomRight:`┛`,bottom:`━`,bottomLeft:`┗`,left:`┃`},singleDouble:{topLeft:`╓`,top:`─`,topRight:`╖`,right:`║`,bottomRight:`╜`,bottom:`─`,bottomLeft:`╙`,left:`║`},doubleSingle:{topLeft:`╒`,top:`═`,topRight:`╕`,right:`│`,bottomRight:`╛`,bottom:`═`,bottomLeft:`╘`,left:`│`},classic:{topLeft:`+`,top:`-`,topRight:`+`,right:`|`,bottomRight:`+`,bottom:`-`,bottomLeft:`+`,left:`|`},arrow:{topLeft:`↘`,top:`↓`,topRight:`↙`,right:`←`,bottomRight:`↖`,bottom:`↑`,bottomLeft:`↗`,left:`→`}}.round;function a(a){let o=[],s=`${a.name} v${a.version}`;o.push({plain:s,colored:r(s)}),o.push({plain:``,colored:``});let c=a.apiUrl?`Editor: `:`Local: `;if(o.push({plain:`${c}${a.localUrl}`,colored:`${c}${e(t(a.localUrl),a.localUrl)}`}),a.apiUrl){let t=`API: `;o.push({plain:`${t}${a.apiUrl}`,colored:`${t}${n(e(a.apiUrl,a.apiUrl))}`})}if(a.networkUrl){let n=`Network: `;o.push({plain:`${n}${a.networkUrl}`,colored:`${n}${e(t(a.networkUrl),a.networkUrl)}`})}if(a.nextSteps&&a.nextSteps.length>0){o.push({plain:``,colored:``});for(let e of a.nextSteps)o.push({plain:e,colored:n(e)})}o.push({plain:``,colored:``});let l=`Press Ctrl+C to stop`;o.push({plain:l,colored:n(l)});let u=Math.max(...o.map(e=>e.plain.length)),d=u+4,f=` ${i.topLeft}${i.top.repeat(d)}${i.topRight}`,p=` ${i.bottomLeft}${i.bottom.repeat(d)}${i.bottomRight}`;return[``,f,...o.map(e=>{let t=u-e.plain.length;return` ${i.left}${` `.repeat(2)}${e.colored}${` `.repeat(t+2)}${i.right}`}),p,``].join(`
|
|
2
2
|
`)}export{a as renderBanner};
|
|
3
|
-
//# sourceMappingURL=banner-
|
|
3
|
+
//# sourceMappingURL=banner-BxCFCyu8.mjs.map
|