@tekmidian/pai 0.64.0 → 0.65.1

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.
Files changed (212) hide show
  1. package/README.md +60 -1051
  2. package/dist/{aibroker-client-BpfuGPe5.mjs → aibroker-client-B8c42Lh8.mjs} +1 -1
  3. package/dist/{aibroker-client-DRld7g6z.mjs → aibroker-client-C5Fw7DNz.mjs} +10 -4
  4. package/dist/{aibroker-client-DRld7g6z.mjs.map → aibroker-client-C5Fw7DNz.mjs.map} +1 -1
  5. package/dist/{async-CY_cd_8j.mjs → async-CNn36gm4.mjs} +2 -2
  6. package/dist/{async-CY_cd_8j.mjs.map → async-CNn36gm4.mjs.map} +1 -1
  7. package/dist/{auto-route-CPlam4iv.mjs → auto-route-sLMU-NnM.mjs} +2 -2
  8. package/dist/{auto-route-CPlam4iv.mjs.map → auto-route-sLMU-NnM.mjs.map} +1 -1
  9. package/dist/{chain-o-g8AgE3.mjs → chain-CLb6hbFS.mjs} +4 -4
  10. package/dist/{chain-o-g8AgE3.mjs.map → chain-CLb6hbFS.mjs.map} +1 -1
  11. package/dist/cli/index.mjs +19 -19
  12. package/dist/cli/program.d.mts.map +1 -1
  13. package/dist/cli/program.mjs +19 -19
  14. package/dist/{clusters-DsMf20PP.mjs → clusters-PgIUYT_v.mjs} +1 -1
  15. package/dist/{clusters-DsMf20PP.mjs.map → clusters-PgIUYT_v.mjs.map} +1 -1
  16. package/dist/{config-2wkz744W.mjs → config-BbLFD7Uf.mjs} +3 -3
  17. package/dist/config-BbLFD7Uf.mjs.map +1 -0
  18. package/dist/{config-CUTg6VDq.mjs → config-YinjgXEJ.mjs} +1 -1
  19. package/dist/{context-handover-cache-BOpjLsKe.mjs → context-handover-cache-mGxq2-8f.mjs} +11 -29
  20. package/dist/context-handover-cache-mGxq2-8f.mjs.map +1 -0
  21. package/dist/daemon/index.mjs +16 -16
  22. package/dist/daemon-BjaPR39W.mjs +19 -0
  23. package/dist/{daemon-BYieXduQ.mjs → daemon-DqCB3fO-.mjs} +30 -30
  24. package/dist/{daemon-BYieXduQ.mjs.map → daemon-DqCB3fO-.mjs.map} +1 -1
  25. package/dist/daemon-mcp/index.mjs +18 -18
  26. package/dist/daemon-mcp/index.mjs.map +1 -1
  27. package/dist/detector-C3Q7mxQU.mjs +3 -0
  28. package/dist/{detector-BAlmrLQ0.mjs → detector-CIHEXKsV.mjs} +1 -1
  29. package/dist/{detector-BAlmrLQ0.mjs.map → detector-CIHEXKsV.mjs.map} +1 -1
  30. package/dist/{embeddings-DK9XfQic.mjs → embeddings-BbNVXa_0.mjs} +1 -1
  31. package/dist/{embeddings-DK9XfQic.mjs.map → embeddings-BbNVXa_0.mjs.map} +1 -1
  32. package/dist/{embeddings-Xg8XLf2K.mjs → embeddings-CDfM63uC.mjs} +1 -1
  33. package/dist/{factory-BMK0tC1b.mjs → factory-CaswxuJ0.mjs} +1 -1
  34. package/dist/{factory-C4We3xR_.mjs → factory-y36qGegI.mjs} +13 -13
  35. package/dist/{factory-C4We3xR_.mjs.map → factory-y36qGegI.mjs.map} +1 -1
  36. package/dist/{fallback-ECiqCuh6.mjs → fallback-CupzGkuJ.mjs} +1205 -1204
  37. package/dist/fallback-CupzGkuJ.mjs.map +1 -0
  38. package/dist/{federation-db-CUgy0WYs.mjs → federation-db-BTyoufBh.mjs} +2 -2
  39. package/dist/{federation-db-CUgy0WYs.mjs.map → federation-db-BTyoufBh.mjs.map} +1 -1
  40. package/dist/federation-db-HfIFc7FG.mjs +3 -0
  41. package/dist/hooks/block-sleep-poll.mjs +36 -11
  42. package/dist/hooks/block-sleep-poll.mjs.map +2 -2
  43. package/dist/hooks/capture-all-events.mjs +3 -17
  44. package/dist/hooks/capture-all-events.mjs.map +3 -3
  45. package/dist/hooks/capture-session-summary.mjs +3 -17
  46. package/dist/hooks/capture-session-summary.mjs.map +3 -3
  47. package/dist/hooks/capture-tool-output.mjs +3 -17
  48. package/dist/hooks/capture-tool-output.mjs.map +3 -3
  49. package/dist/hooks/cleanup-session-files.mjs +3 -17
  50. package/dist/hooks/cleanup-session-files.mjs.map +2 -2
  51. package/dist/hooks/context-compression-hook.mjs +3 -17
  52. package/dist/hooks/context-compression-hook.mjs.map +3 -3
  53. package/dist/hooks/initialize-session.mjs +3 -17
  54. package/dist/hooks/initialize-session.mjs.map +2 -2
  55. package/dist/hooks/inject-observations.mjs +3 -17
  56. package/dist/hooks/inject-observations.mjs.map +2 -2
  57. package/dist/hooks/load-core-context.mjs +4 -22
  58. package/dist/hooks/load-core-context.mjs.map +2 -2
  59. package/dist/hooks/load-project-context.mjs +3 -17
  60. package/dist/hooks/load-project-context.mjs.map +3 -3
  61. package/dist/hooks/mcp-deferred-gate.mjs +3 -17
  62. package/dist/hooks/mcp-deferred-gate.mjs.map +2 -2
  63. package/dist/hooks/observe.mjs +3 -17
  64. package/dist/hooks/observe.mjs.map +2 -2
  65. package/dist/hooks/post-compact-inject.mjs.map +1 -1
  66. package/dist/hooks/route-agents-to-worker.mjs.map +1 -1
  67. package/dist/hooks/security-validator.mjs +5 -19
  68. package/dist/hooks/security-validator.mjs.map +3 -3
  69. package/dist/hooks/stop-hook.mjs +3 -17
  70. package/dist/hooks/stop-hook.mjs.map +3 -3
  71. package/dist/hooks/sync-todo-to-md.mjs +3 -17
  72. package/dist/hooks/sync-todo-to-md.mjs.map +2 -2
  73. package/dist/hooks/whisper-rules.mjs.map +1 -1
  74. package/dist/hooks/worker-guard.mjs.map +2 -2
  75. package/dist/hooks/worker-proxy.mjs.map +1 -1
  76. package/dist/hooks/worker-status-line.mjs +4 -4
  77. package/dist/hooks/worker-status-line.mjs.map +2 -2
  78. package/dist/hooks/worker-supervision.mjs.map +1 -1
  79. package/dist/{indexer-backend-CJ0RGgMz.mjs → indexer-backend-Cnc7Tf5C.mjs} +2 -2
  80. package/dist/{ipc-client-EhWY8XL0.mjs → ipc-client-D16Xw6Uo.mjs} +2 -2
  81. package/dist/{ipc-client-EhWY8XL0.mjs.map → ipc-client-D16Xw6Uo.mjs.map} +1 -1
  82. package/dist/{kg-entity-1uqCnk4u.mjs → kg-entity-COTUj1ZC.mjs} +1 -1
  83. package/dist/{kg-entity-1uqCnk4u.mjs.map → kg-entity-COTUj1ZC.mjs.map} +1 -1
  84. package/dist/{latent-ideas-CSuKfiq3.mjs → latent-ideas-ByvMjVcb.mjs} +3 -3
  85. package/dist/{latent-ideas-CSuKfiq3.mjs.map → latent-ideas-ByvMjVcb.mjs.map} +1 -1
  86. package/dist/{link-boost-BtjzfE3c.mjs → link-boost-UiE-uooT.mjs} +1 -1
  87. package/dist/{link-boost-BtjzfE3c.mjs.map → link-boost-UiE-uooT.mjs.map} +1 -1
  88. package/dist/{main-resolver-DyOrwNYw.mjs → main-resolver-BeYWNzrt.mjs} +11 -11
  89. package/dist/{main-resolver-DyOrwNYw.mjs.map → main-resolver-BeYWNzrt.mjs.map} +1 -1
  90. package/dist/main-resolver-kHW6FewU.mjs +7 -0
  91. package/dist/merge-2gqRPFu2.mjs +3 -0
  92. package/dist/{merge-D58n_-LZ.mjs → merge-DgU9OgZy.mjs} +1 -1
  93. package/dist/{merge-D58n_-LZ.mjs.map → merge-DgU9OgZy.mjs.map} +1 -1
  94. package/dist/module-paths-DdRzbkUI.mjs +44 -0
  95. package/dist/module-paths-DdRzbkUI.mjs.map +1 -0
  96. package/dist/{neighborhood-DNuRelRB.mjs → neighborhood-CvRHlqdR.mjs} +2 -2
  97. package/dist/{neighborhood-DNuRelRB.mjs.map → neighborhood-CvRHlqdR.mjs.map} +1 -1
  98. package/dist/{note-context-D9JZ4-7o.mjs → note-context-BrbfUIoP.mjs} +1 -1
  99. package/dist/{note-context-D9JZ4-7o.mjs.map → note-context-BrbfUIoP.mjs.map} +1 -1
  100. package/dist/{pai-home-UncxWxlX.mjs → pai-home-Cm9rcJgX.mjs} +1 -1
  101. package/dist/{pai-home-UncxWxlX.mjs.map → pai-home-Cm9rcJgX.mjs.map} +1 -1
  102. package/dist/{planner-DgC3oSvb.mjs → planner-DAq4Yx-H.mjs} +7 -7
  103. package/dist/{planner-DgC3oSvb.mjs.map → planner-DAq4Yx-H.mjs.map} +1 -1
  104. package/dist/{postgres-CcsRKir-.mjs → postgres-DYtZg7J7.mjs} +5 -13
  105. package/dist/{postgres-CcsRKir-.mjs.map → postgres-DYtZg7J7.mjs.map} +1 -1
  106. package/dist/{program-JhF2GgJY.mjs → program-CWf9mT7Z.mjs} +262 -260
  107. package/dist/program-CWf9mT7Z.mjs.map +1 -0
  108. package/dist/{query-feedback-BPa0dISE.mjs → query-feedback-BIaZTTFO.mjs} +2 -2
  109. package/dist/{query-feedback-BPa0dISE.mjs.map → query-feedback-BIaZTTFO.mjs.map} +1 -1
  110. package/dist/query-feedback-B_iigYj-.mjs +3 -0
  111. package/dist/{registry-db-DCzdI4sC.mjs → registry-db-C7voqML9.mjs} +2 -2
  112. package/dist/{registry-db-DCzdI4sC.mjs.map → registry-db-C7voqML9.mjs.map} +1 -1
  113. package/dist/registry-db-JHPhA8vF.mjs +3 -0
  114. package/dist/{registry-postgres-BUnkHKYs.mjs → registry-postgres-DSrkxqfF.mjs} +2 -2
  115. package/dist/{registry-postgres-BUnkHKYs.mjs.map → registry-postgres-DSrkxqfF.mjs.map} +1 -1
  116. package/dist/{registry-sqlite-CKYNwkUv.mjs → registry-sqlite-B2436JgX.mjs} +2 -2
  117. package/dist/{registry-sqlite-CKYNwkUv.mjs.map → registry-sqlite-B2436JgX.mjs.map} +1 -1
  118. package/dist/router-S6C5BxzZ.mjs +3 -0
  119. package/dist/{router-CGZATlvm.mjs → router-aqLMvNMg.mjs} +1 -1
  120. package/dist/{router-CGZATlvm.mjs.map → router-aqLMvNMg.mjs.map} +1 -1
  121. package/dist/{run-env-Br4Bc7Vz.mjs → run-env-BHWnXqle.mjs} +3 -3
  122. package/dist/{run-env-Br4Bc7Vz.mjs.map → run-env-BHWnXqle.mjs.map} +1 -1
  123. package/dist/{run-W2rV_9j0.mjs → run-uAkNItb6.mjs} +140 -44
  124. package/dist/run-uAkNItb6.mjs.map +1 -0
  125. package/dist/{runtime-paths-QGQJAekd.mjs → runtime-paths-CHTg3ywb.mjs} +1 -1
  126. package/dist/{runtime-paths-QGQJAekd.mjs.map → runtime-paths-CHTg3ywb.mjs.map} +1 -1
  127. package/dist/{server-B71rem4q.mjs → server-DlL1QI2k.mjs} +4 -5
  128. package/dist/server-DlL1QI2k.mjs.map +1 -0
  129. package/dist/{session-keepalive-Dgil9hjw.mjs → session-keepalive-BWEjcRrh.mjs} +7 -7
  130. package/dist/{session-keepalive-Dgil9hjw.mjs.map → session-keepalive-BWEjcRrh.mjs.map} +1 -1
  131. package/dist/skills/Art/SKILL.md +1 -1
  132. package/dist/skills/Observability/SKILL.md +4 -4
  133. package/dist/skills/Research/SKILL.md +1 -1
  134. package/dist/skills/Tasks/SKILL.md +1 -1
  135. package/dist/{sources-LcGptLA-.mjs → sources-DX4ElmrE.mjs} +1 -1
  136. package/dist/{sources-LcGptLA-.mjs.map → sources-DX4ElmrE.mjs.map} +1 -1
  137. package/dist/{sqlite-CAJcw2zL.mjs → sqlite-BrEu3avy.mjs} +3 -3
  138. package/dist/{sqlite-CAJcw2zL.mjs.map → sqlite-BrEu3avy.mjs.map} +1 -1
  139. package/dist/{state-S9wlKarB.mjs → state-DW8zdweW.mjs} +1 -1
  140. package/dist/{state-CHltNjXI.mjs → state-HyjqTihC.mjs} +1 -1
  141. package/dist/{state-CHltNjXI.mjs.map → state-HyjqTihC.mjs.map} +1 -1
  142. package/dist/{themes-D1FQFthd.mjs → themes-BgqahYVM.mjs} +2 -2
  143. package/dist/{themes-D1FQFthd.mjs.map → themes-BgqahYVM.mjs.map} +1 -1
  144. package/dist/{tools-BW7OXf-N.mjs → tools-BbqQIHPe.mjs} +4 -4
  145. package/dist/{tools-BFC-113F.mjs → tools-gMGDIpJ9.mjs} +18 -18
  146. package/dist/{tools-BFC-113F.mjs.map → tools-gMGDIpJ9.mjs.map} +1 -1
  147. package/dist/{trace-IDKK1VFs.mjs → trace-CmAB7iJZ.mjs} +1 -1
  148. package/dist/{trace-IDKK1VFs.mjs.map → trace-CmAB7iJZ.mjs.map} +1 -1
  149. package/dist/{vault-indexer-y6YC2-mh.mjs → vault-indexer-Ddq51X20.mjs} +1 -1
  150. package/dist/{vault-indexer-y6YC2-mh.mjs.map → vault-indexer-Ddq51X20.mjs.map} +1 -1
  151. package/dist/{wakeup-CNZQZzsY.mjs → wakeup-CZw88uXf.mjs} +3 -3
  152. package/dist/{wakeup-CNZQZzsY.mjs.map → wakeup-CZw88uXf.mjs.map} +1 -1
  153. package/dist/{work-queue-worker-Dy5FT2ak.mjs → work-queue-worker-DCzfH0d1.mjs} +4 -4
  154. package/dist/{work-queue-worker-Dy5FT2ak.mjs.map → work-queue-worker-DCzfH0d1.mjs.map} +1 -1
  155. package/dist/work-queue-worker-Taba_vcA.mjs +11 -0
  156. package/dist/{zettelkasten-Dx-63BEk.mjs → zettelkasten-Dwj67e4p.mjs} +4 -4
  157. package/dist/{zettelkasten-Dx-63BEk.mjs.map → zettelkasten-Dwj67e4p.mjs.map} +1 -1
  158. package/docker/docker-compose.yml +39 -0
  159. package/docs/auto-compact.md +31 -0
  160. package/docs/budget-advisor.md +48 -0
  161. package/docs/command-reference.md +25 -0
  162. package/docs/commands/README.md +3 -3
  163. package/docs/commands/config.md +3 -3
  164. package/docs/commands/setup.md +9 -2
  165. package/docs/commands/worker.md +2 -2
  166. package/docs/companion-projects.md +9 -0
  167. package/docs/context-preservation.md +43 -0
  168. package/docs/how-it-works.md +25 -0
  169. package/docs/install-linux.md +32 -0
  170. package/docs/install.md +56 -0
  171. package/docs/memory.md +96 -0
  172. package/docs/observations.md +58 -0
  173. package/docs/release-history.md +42 -0
  174. package/docs/rules-and-privacy.md +37 -0
  175. package/docs/search.md +169 -0
  176. package/docs/session-management.md +153 -0
  177. package/docs/session-notes.md +64 -0
  178. package/docs/skills.md +45 -0
  179. package/docs/task-bus.md +1 -2
  180. package/docs/use-cases.md +194 -0
  181. package/docs/what-you-can-ask.md +78 -0
  182. package/docs/worker-providers.md +58 -0
  183. package/docs/zettelkasten.md +37 -0
  184. package/package.json +3 -2
  185. package/plugins/productivity/skills/Tasks/SKILL.md +1 -1
  186. package/scripts/build-hooks.mjs +6 -6
  187. package/src/hooks/ts/lib/pai-paths-case.test.ts +12 -0
  188. package/src/hooks/ts/lib/pai-paths-import.test.ts +25 -0
  189. package/src/hooks/ts/lib/pai-paths.ts +5 -28
  190. package/src/hooks/ts/lib/sleep-poll-gate.test.ts +17 -1
  191. package/src/hooks/ts/lib/sleep-poll-gate.ts +21 -9
  192. package/src/hooks/ts/pre-tool-use/security-validator.test.ts +23 -0
  193. package/src/hooks/ts/pre-tool-use/security-validator.ts +1 -1
  194. package/src/hooks/ts/session-start/load-core-context.ts +2 -6
  195. package/src/hooks/ts/session-start/load-project-context.ts +1 -1
  196. package/src/hooks/ts/session-start/session-start-worker-guard.test.ts +24 -1
  197. package/dist/config-2wkz744W.mjs.map +0 -1
  198. package/dist/context-handover-cache-BOpjLsKe.mjs.map +0 -1
  199. package/dist/daemon-q3xjHwa4.mjs +0 -19
  200. package/dist/detector-C-YmZsOi.mjs +0 -3
  201. package/dist/fallback-ECiqCuh6.mjs.map +0 -1
  202. package/dist/federation-db-BZ8PyxFe.mjs +0 -3
  203. package/dist/main-resolver-vN09bkXv.mjs +0 -7
  204. package/dist/merge-CXGz5wXz.mjs +0 -3
  205. package/dist/program-JhF2GgJY.mjs.map +0 -1
  206. package/dist/query-feedback-BPHFFSu1.mjs +0 -3
  207. package/dist/registry-db-Hphlj3H4.mjs +0 -3
  208. package/dist/router-CoA8Uy1m.mjs +0 -3
  209. package/dist/run-W2rV_9j0.mjs.map +0 -1
  210. package/dist/server-B71rem4q.mjs.map +0 -1
  211. package/dist/work-queue-worker-CkShUa0z.mjs +0 -11
  212. /package/dist/{indexer-backend-DotpxHJd.mjs → indexer-backend-isSLg6yE.mjs} +0 -0
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
- import "../factory-C4We3xR_.mjs";
3
- import { p as MainConfigError, s as loadConfig } from "../config-2wkz744W.mjs";
4
- import { E as readWorkersSection, i as CAPABILITY_NAME_RE, u as MODEL_CAPABILITIES, y as getProviderOrNative } from "../run-env-Br4Bc7Vz.mjs";
5
- import { A as ledgerSummary, B as loadStatuses, G as setWorkerLabel, N as alive, c as readInbox, l as sayToWorker, n as runWorker, r as testProvider, s as handoffFromInside, z as loadStatus } from "../run-W2rV_9j0.mjs";
6
- import { t as PaiClient } from "../ipc-client-EhWY8XL0.mjs";
7
- import { A as getConfigValueOp, C as psOutput, D as resolveSpecPath, E as readSpecPrompt, M as setConfigValueOp, N as unsetConfigValueOp, O as MainConfigOpsError, _ as setWorkersEnabled, a as addProvider, b as updateProvider, c as describeModels, d as removeProvider, f as resolveProviderName, g as setProviderModel, h as setProviderEnabled, i as fallbackStatusText, j as listConfigOp, l as describeProviders, m as setClass, n as fallbackOn, o as classTargetText, p as setCapabilityPreference, r as fallbackStatus, s as describeCapabilities, t as fallbackOff, u as modelPrefsText, v as unsetCapabilityPreference, w as replayOutput, x as useProvider, y as unsetClass } from "../fallback-ECiqCuh6.mjs";
8
- import { h as ledgerPath, v as workersLogDir } from "../server-B71rem4q.mjs";
9
- import { t as runChain } from "../chain-o-g8AgE3.mjs";
2
+ import "../factory-y36qGegI.mjs";
3
+ import { p as MainConfigError, s as loadConfig } from "../config-BbLFD7Uf.mjs";
4
+ import { E as readWorkersSection, i as CAPABILITY_NAME_RE, u as MODEL_CAPABILITIES, y as getProviderOrNative } from "../run-env-BHWnXqle.mjs";
5
+ import { A as ledgerSummary, B as loadStatuses, G as setWorkerLabel, N as alive, c as readInbox, l as sayToWorker, n as runWorker, r as testProvider, s as handoffFromInside, z as loadStatus } from "../run-uAkNItb6.mjs";
6
+ import { t as PaiClient } from "../ipc-client-D16Xw6Uo.mjs";
7
+ import { A as getConfigValueOp, C as setWorkersEnabled, D as useProvider, E as updateProvider, M as setConfigValueOp, N as unsetConfigValueOp, O as MainConfigOpsError, S as setProviderModel, T as unsetClass, _ as removeProvider, b as setClass, d as addProvider, f as classTargetText, g as modelPrefsText, h as describeProviders, i as fallbackStatusText, j as listConfigOp, l as readSpecPrompt, m as describeModels, n as fallbackOn, o as psOutput, p as describeCapabilities, r as fallbackStatus, s as replayOutput, t as fallbackOff, u as resolveSpecPath, v as resolveProviderName, w as unsetCapabilityPreference, x as setProviderEnabled, y as setCapabilityPreference } from "../fallback-CupzGkuJ.mjs";
8
+ import { h as ledgerPath, v as workersLogDir } from "../server-DlL1QI2k.mjs";
9
+ import { t as runChain } from "../chain-CLb6hbFS.mjs";
10
10
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
11
11
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
12
12
 
@@ -3704,10 +3704,10 @@ USE WHEN user says 'start observability', 'stop dashboard', 'restart observabili
3704
3704
  ### Commands
3705
3705
 
3706
3706
  \`\`\`bash
3707
- ~/.claude/Skills/observability/manage.sh start # Start server + dashboard
3708
- ~/.claude/Skills/observability/manage.sh stop # Stop everything
3709
- ~/.claude/Skills/observability/manage.sh restart # Restart both
3710
- ~/.claude/Skills/observability/manage.sh status # Check status
3707
+ ~/.claude/skills/observability/manage.sh start # Start server + dashboard
3708
+ ~/.claude/skills/observability/manage.sh stop # Stop everything
3709
+ ~/.claude/skills/observability/manage.sh restart # Restart both
3710
+ ~/.claude/skills/observability/manage.sh status # Check status
3711
3711
  \`\`\`
3712
3712
 
3713
3713
  ### Access
@@ -3739,7 +3739,7 @@ USE WHEN user says 'do research', 'extract wisdom', 'analyze content', 'find inf
3739
3739
 
3740
3740
  ### Workflow Routing
3741
3741
 
3742
- - Parallel research → read \`\${PAI_DIR}/Skills/research/workflows/conduct.md\`
3742
+ - Parallel research → read \`\${PAI_DIR}/skills/research/workflows/conduct.md\`
3743
3743
  - Claude research (free) → \`workflows/claude-research.md\`
3744
3744
  - Blocked content / CAPTCHA → escalate: WebFetch → BrightData → Apify
3745
3745
  - YouTube URL → \`fabric -y <URL>\` then pattern
@@ -3780,7 +3780,7 @@ Tron-meets-Excalidraw — dark slate backgrounds, neon orange + cyan accents, ha
3780
3780
 
3781
3781
  ### Image Generation
3782
3782
 
3783
- \`bun run \${PAI_DIR}/Skills/art/tools/generate-ulart-image.ts --model nano-banana-pro --prompt "[PROMPT]" --size 2K\``
3783
+ \`bun run \${PAI_DIR}/skills/art/tools/generate-ulart-image.ts --model nano-banana-pro --prompt "[PROMPT]" --size 2K\``
3784
3784
  };
3785
3785
 
3786
3786
  //#endregion
@@ -4492,7 +4492,7 @@ Otherwise the open items live only in a session note nobody re-reads, which is t
4492
4492
 
4493
4493
  - \`pai task done <id>\` closes a task. Dispatched tasks instruct the receiving session to do this, so work is not dispatched twice.
4494
4494
  - One-way by design: PAI and its sessions write; a routine reads. Nothing reads the tracker back into PAI state.
4495
- - Architecture and verified API constraints: \`Notes/docs/task-bus.md\`.
4495
+ - Architecture and verified API constraints: \`docs/task-bus.md\`.
4496
4496
  `
4497
4497
  };
4498
4498
 
@@ -4707,7 +4707,7 @@ User
4707
4707
  | Primitive | Location | Purpose |
4708
4708
  |-----------|----------|---------|
4709
4709
  | Memory | \${PAI_DIR}/projects/*/Notes/ | Session notes, todos |
4710
- | Skills | ~/.claude/Skills/ | Workflow instructions |
4710
+ | Skills | ~/.claude/skills/ | Workflow instructions |
4711
4711
  | History | \${PAI_HOME}/History/ | Automated capture |
4712
4712
  | Config | ~/.claude/pai/ | Agent preferences (config.yaml, workers.yaml, etc.) |
4713
4713
 
@@ -4720,7 +4720,7 @@ User
4720
4720
 
4721
4721
  \`\`\`
4722
4722
  ~/.claude/
4723
- ├── Skills/
4723
+ ├── skills/
4724
4724
  │ ├── CORE/ # PAI core skill (auto-loaded at session start)
4725
4725
  │ └── user/ # Personal custom skills (gitignored)
4726
4726
  ├── Hooks/ # Event-driven automation scripts
@@ -5320,7 +5320,7 @@ USE WHEN user says 'journal'...
5320
5320
 
5321
5321
  \`\`\`
5322
5322
  // WRONG — hardcoded personal paths
5323
- "Read ~/.claude/Skills/Share/SKILL.md for social media instructions"
5323
+ "Read ~/.claude/skills/Share/SKILL.md for social media instructions"
5324
5324
  \`\`\`
5325
5325
 
5326
5326
  **Problem:** Paths are personal, not portable. The file may not exist. Reading a file wastes a tool call.