pi-skill-search 0.1.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.
Files changed (299) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/LICENSE +21 -0
  3. package/README.md +97 -0
  4. package/index.ts +163 -0
  5. package/package.json +48 -0
  6. package/skills/adaptyv/SKILL.md +92 -0
  7. package/skills/add-community-extension/SKILL.md +85 -0
  8. package/skills/aeon/SKILL.md +111 -0
  9. package/skills/ai-slop-cleaner/SKILL.md +118 -0
  10. package/skills/anndata/SKILL.md +83 -0
  11. package/skills/arboreto/SKILL.md +107 -0
  12. package/skills/ask/SKILL.md +55 -0
  13. package/skills/astropy/SKILL.md +30 -0
  14. package/skills/async-worker-recovery/SKILL.md +44 -0
  15. package/skills/autopilot/SKILL.md +63 -0
  16. package/skills/autoresearch/SKILL.md +64 -0
  17. package/skills/autoskill/SKILL.md +116 -0
  18. package/skills/babysit/SKILL.md +43 -0
  19. package/skills/benchling-integration/SKILL.md +106 -0
  20. package/skills/bgpt-paper-search/SKILL.md +67 -0
  21. package/skills/biopython/SKILL.md +29 -0
  22. package/skills/bioservices/SKILL.md +96 -0
  23. package/skills/brainstorming/SKILL.md +104 -0
  24. package/skills/cancel/SKILL.md +85 -0
  25. package/skills/ccg/SKILL.md +87 -0
  26. package/skills/celery-pipeline/SKILL.md +30 -0
  27. package/skills/cellxgene-census/SKILL.md +104 -0
  28. package/skills/child-pi-spawning/SKILL.md +85 -0
  29. package/skills/cirq/SKILL.md +113 -0
  30. package/skills/citation-management/SKILL.md +91 -0
  31. package/skills/clinical-decision-support/SKILL.md +117 -0
  32. package/skills/clinical-reports/SKILL.md +118 -0
  33. package/skills/clinical-trial/SKILL.md +28 -0
  34. package/skills/cobrapy/SKILL.md +116 -0
  35. package/skills/configure-notifications/SKILL.md +85 -0
  36. package/skills/consciousness-council/SKILL.md +120 -0
  37. package/skills/context-artifact-hygiene/SKILL.md +85 -0
  38. package/skills/context-mode-ops/SKILL.md +87 -0
  39. package/skills/dask/SKILL.md +85 -0
  40. package/skills/database-lookup/SKILL.md +118 -0
  41. package/skills/datamol/SKILL.md +108 -0
  42. package/skills/debug/SKILL.md +32 -0
  43. package/skills/deep-dive/SKILL.md +114 -0
  44. package/skills/deep-interview/SKILL.md +90 -0
  45. package/skills/deepchem/SKILL.md +117 -0
  46. package/skills/deepinit/SKILL.md +100 -0
  47. package/skills/deeptools/SKILL.md +118 -0
  48. package/skills/delegation-patterns/SKILL.md +56 -0
  49. package/skills/depmap/SKILL.md +94 -0
  50. package/skills/dhdna-profiler/SKILL.md +86 -0
  51. package/skills/diffdock/SKILL.md +101 -0
  52. package/skills/dispatching-parallel-agents/SKILL.md +119 -0
  53. package/skills/dnanexus-integration/SKILL.md +118 -0
  54. package/skills/do/SKILL.md +48 -0
  55. package/skills/docker-sandbox/SKILL.md +29 -0
  56. package/skills/docx/SKILL.md +119 -0
  57. package/skills/esm/SKILL.md +116 -0
  58. package/skills/etetoolkit/SKILL.md +103 -0
  59. package/skills/event-log-tracing/SKILL.md +85 -0
  60. package/skills/exa-search/SKILL.md +72 -0
  61. package/skills/executing-plans/SKILL.md +69 -0
  62. package/skills/exploratory-data-analysis/SKILL.md +118 -0
  63. package/skills/external-context/SKILL.md +80 -0
  64. package/skills/fastapi/SKILL.md +30 -0
  65. package/skills/finishing-a-development-branch/SKILL.md +106 -0
  66. package/skills/flowio/SKILL.md +114 -0
  67. package/skills/fluidsim/SKILL.md +108 -0
  68. package/skills/generate-image/SKILL.md +108 -0
  69. package/skills/geniml/SKILL.md +117 -0
  70. package/skills/geomaster/SKILL.md +109 -0
  71. package/skills/geopandas/SKILL.md +114 -0
  72. package/skills/get-available-resources/SKILL.md +100 -0
  73. package/skills/gget/SKILL.md +111 -0
  74. package/skills/ginkgo-cloud-lab/SKILL.md +52 -0
  75. package/skills/git-master/SKILL.md +85 -0
  76. package/skills/glycoengineering/SKILL.md +104 -0
  77. package/skills/gtars/SKILL.md +104 -0
  78. package/skills/hackernews-frontpage/SKILL.md +46 -0
  79. package/skills/histolab/SKILL.md +98 -0
  80. package/skills/how-it-works/SKILL.md +25 -0
  81. package/skills/hud/SKILL.md +86 -0
  82. package/skills/hugging-science/SKILL.md +93 -0
  83. package/skills/huggingface/SKILL.md +30 -0
  84. package/skills/hypogenic/SKILL.md +107 -0
  85. package/skills/hypothesis-generation/SKILL.md +118 -0
  86. package/skills/imaging-data-commons/SKILL.md +119 -0
  87. package/skills/infographics/SKILL.md +102 -0
  88. package/skills/iso-13485-certification/SKILL.md +114 -0
  89. package/skills/knowledge-agent/SKILL.md +83 -0
  90. package/skills/labarchive-integration/SKILL.md +98 -0
  91. package/skills/lamindb/SKILL.md +119 -0
  92. package/skills/landsat/SKILL.md +29 -0
  93. package/skills/latchbio-integration/SKILL.md +118 -0
  94. package/skills/latex-posters/SKILL.md +112 -0
  95. package/skills/learn-codebase/SKILL.md +24 -0
  96. package/skills/learner/SKILL.md +118 -0
  97. package/skills/literature-review/SKILL.md +118 -0
  98. package/skills/live-agent-lifecycle/SKILL.md +85 -0
  99. package/skills/mailbox-interactive/SKILL.md +85 -0
  100. package/skills/make-plan/SKILL.md +59 -0
  101. package/skills/markdown-mermaid-writing/SKILL.md +118 -0
  102. package/skills/market-research-reports/SKILL.md +119 -0
  103. package/skills/markitdown/SKILL.md +111 -0
  104. package/skills/markitdown-docs/SKILL.md +28 -0
  105. package/skills/matchms/SKILL.md +91 -0
  106. package/skills/matlab/SKILL.md +118 -0
  107. package/skills/matplotlib/SKILL.md +30 -0
  108. package/skills/mcp-setup/SKILL.md +84 -0
  109. package/skills/medchem/SKILL.md +109 -0
  110. package/skills/mem-search/SKILL.md +96 -0
  111. package/skills/modal/SKILL.md +104 -0
  112. package/skills/model-routing-context/SKILL.md +85 -0
  113. package/skills/molecular-dynamics/SKILL.md +116 -0
  114. package/skills/molfeat/SKILL.md +110 -0
  115. package/skills/multi-perspective-review/SKILL.md +85 -0
  116. package/skills/networkx/SKILL.md +111 -0
  117. package/skills/neurokit2/SKILL.md +114 -0
  118. package/skills/neuropixels-analysis/SKILL.md +112 -0
  119. package/skills/nilearn/SKILL.md +29 -0
  120. package/skills/observability-reliability/SKILL.md +43 -0
  121. package/skills/omc-doctor/SKILL.md +86 -0
  122. package/skills/omc-reference/SKILL.md +119 -0
  123. package/skills/omc-setup/SKILL.md +82 -0
  124. package/skills/omc-teams/SKILL.md +81 -0
  125. package/skills/omero-integration/SKILL.md +111 -0
  126. package/skills/open-notebook/SKILL.md +100 -0
  127. package/skills/openephys/SKILL.md +28 -0
  128. package/skills/opentrons-integration/SKILL.md +110 -0
  129. package/skills/optimize-for-gpu/SKILL.md +119 -0
  130. package/skills/orchestration/SKILL.md +85 -0
  131. package/skills/ownership-session-security/SKILL.md +43 -0
  132. package/skills/paper-lookup/SKILL.md +119 -0
  133. package/skills/paperzilla/SKILL.md +114 -0
  134. package/skills/parallel-web/SKILL.md +64 -0
  135. package/skills/pathfinder/SKILL.md +114 -0
  136. package/skills/pathml/SKILL.md +98 -0
  137. package/skills/pdf/SKILL.md +113 -0
  138. package/skills/peer-review/SKILL.md +119 -0
  139. package/skills/pennylane/SKILL.md +119 -0
  140. package/skills/phylogenetics/SKILL.md +102 -0
  141. package/skills/pi-extension-lifecycle/SKILL.md +41 -0
  142. package/skills/plan/SKILL.md +66 -0
  143. package/skills/polars/SKILL.md +114 -0
  144. package/skills/polars-bio/SKILL.md +84 -0
  145. package/skills/pptx/SKILL.md +118 -0
  146. package/skills/pptx-posters/SKILL.md +112 -0
  147. package/skills/primekg/SKILL.md +97 -0
  148. package/skills/project-session-manager/SKILL.md +85 -0
  149. package/skills/protocolsio-integration/SKILL.md +119 -0
  150. package/skills/pubmed-search/SKILL.md +29 -0
  151. package/skills/pufferlib/SKILL.md +103 -0
  152. package/skills/pydeseq2/SKILL.md +106 -0
  153. package/skills/pydicom/SKILL.md +115 -0
  154. package/skills/pyhealth/SKILL.md +117 -0
  155. package/skills/pylabrobot/SKILL.md +100 -0
  156. package/skills/pymatgen/SKILL.md +28 -0
  157. package/skills/pymc/SKILL.md +108 -0
  158. package/skills/pymoo/SKILL.md +90 -0
  159. package/skills/pyopenms/SKILL.md +119 -0
  160. package/skills/pysam/SKILL.md +118 -0
  161. package/skills/pyspark/SKILL.md +30 -0
  162. package/skills/pytdc/SKILL.md +102 -0
  163. package/skills/pytorch/SKILL.md +31 -0
  164. package/skills/pytorch-lightning/SKILL.md +119 -0
  165. package/skills/pyzotero/SKILL.md +104 -0
  166. package/skills/qiskit/SKILL.md +119 -0
  167. package/skills/qutip/SKILL.md +111 -0
  168. package/skills/ralph/SKILL.md +23 -0
  169. package/skills/ralplan/SKILL.md +105 -0
  170. package/skills/rdflib/SKILL.md +29 -0
  171. package/skills/rdkit/SKILL.md +30 -0
  172. package/skills/read-only-explorer/SKILL.md +85 -0
  173. package/skills/receiving-code-review/SKILL.md +103 -0
  174. package/skills/release/SKILL.md +117 -0
  175. package/skills/remember/SKILL.md +39 -0
  176. package/skills/requesting-code-review/SKILL.md +85 -0
  177. package/skills/requirements-to-task-packet/SKILL.md +65 -0
  178. package/skills/research-grants/SKILL.md +118 -0
  179. package/skills/research-lookup/SKILL.md +117 -0
  180. package/skills/research-reproducibility/SKILL.md +28 -0
  181. package/skills/resource-discovery-config/SKILL.md +43 -0
  182. package/skills/rowan/SKILL.md +100 -0
  183. package/skills/runtime-state-reader/SKILL.md +46 -0
  184. package/skills/safe-bash/SKILL.md +85 -0
  185. package/skills/scanpy/SKILL.md +32 -0
  186. package/skills/scholar-evaluation/SKILL.md +115 -0
  187. package/skills/scientific-brainstorming/SKILL.md +118 -0
  188. package/skills/scientific-critical-thinking/SKILL.md +119 -0
  189. package/skills/scientific-schematics/SKILL.md +116 -0
  190. package/skills/scientific-slides/SKILL.md +117 -0
  191. package/skills/scientific-visualization/SKILL.md +109 -0
  192. package/skills/scientific-writing/SKILL.md +119 -0
  193. package/skills/scikit-bio/SKILL.md +92 -0
  194. package/skills/scikit-learn/SKILL.md +99 -0
  195. package/skills/scikit-survival/SKILL.md +110 -0
  196. package/skills/sciomc/SKILL.md +86 -0
  197. package/skills/scvelo/SKILL.md +106 -0
  198. package/skills/scvi-tools/SKILL.md +114 -0
  199. package/skills/seaborn/SKILL.md +97 -0
  200. package/skills/secure-agent-orchestration-review/SKILL.md +47 -0
  201. package/skills/self-improve/SKILL.md +119 -0
  202. package/skills/semantic-compression/SKILL.md +62 -0
  203. package/skills/setup/SKILL.md +42 -0
  204. package/skills/shap/SKILL.md +103 -0
  205. package/skills/simpy/SKILL.md +116 -0
  206. package/skills/skill/SKILL.md +117 -0
  207. package/skills/skill-search/SKILL.md +67 -0
  208. package/skills/skillify/SKILL.md +46 -0
  209. package/skills/smart-explore/SKILL.md +94 -0
  210. package/skills/sqlite-pandas/SKILL.md +30 -0
  211. package/skills/stable-baselines3/SKILL.md +86 -0
  212. package/skills/state-mutation-locking/SKILL.md +44 -0
  213. package/skills/statistical-analysis/SKILL.md +108 -0
  214. package/skills/statsmodels/SKILL.md +29 -0
  215. package/skills/subagent-driven-development/SKILL.md +89 -0
  216. package/skills/sympy/SKILL.md +115 -0
  217. package/skills/system-prompts/SKILL.md +116 -0
  218. package/skills/systematic-debugging/SKILL.md +119 -0
  219. package/skills/team/SKILL.md +85 -0
  220. package/skills/test-driven-development/SKILL.md +84 -0
  221. package/skills/tiledbvcf/SKILL.md +119 -0
  222. package/skills/timeline-report/SKILL.md +85 -0
  223. package/skills/timesfm-forecasting/SKILL.md +112 -0
  224. package/skills/torch-geometric/SKILL.md +118 -0
  225. package/skills/torchdrug/SKILL.md +118 -0
  226. package/skills/trace/SKILL.md +118 -0
  227. package/skills/transformers/SKILL.md +110 -0
  228. package/skills/treatment-plans/SKILL.md +119 -0
  229. package/skills/ui-render-performance/SKILL.md +41 -0
  230. package/skills/ultragoal/SKILL.md +63 -0
  231. package/skills/ultraqa/SKILL.md +85 -0
  232. package/skills/ultrawork/SKILL.md +20 -0
  233. package/skills/umap-learn/SKILL.md +119 -0
  234. package/skills/usfiscaldata/SKILL.md +118 -0
  235. package/skills/using-git-worktrees/SKILL.md +112 -0
  236. package/skills/using-superpowers/SKILL.md +85 -0
  237. package/skills/using-vetc/SKILL.md +92 -0
  238. package/skills/vaex/SKILL.md +111 -0
  239. package/skills/venue-templates/SKILL.md +113 -0
  240. package/skills/verification-before-completion/SKILL.md +88 -0
  241. package/skills/verification-before-done/SKILL.md +68 -0
  242. package/skills/verify/SKILL.md +33 -0
  243. package/skills/version-bump/SKILL.md +54 -0
  244. package/skills/vetc-analyze-ba/SKILL.md +117 -0
  245. package/skills/vetc-analyze-codebase/SKILL.md +118 -0
  246. package/skills/vetc-api-design/SKILL.md +103 -0
  247. package/skills/vetc-brainstorming/SKILL.md +116 -0
  248. package/skills/vetc-change-proposal/SKILL.md +111 -0
  249. package/skills/vetc-cicd/SKILL.md +113 -0
  250. package/skills/vetc-continuous-learning/SKILL.md +115 -0
  251. package/skills/vetc-deep-interview/SKILL.md +103 -0
  252. package/skills/vetc-docgen/SKILL.md +108 -0
  253. package/skills/vetc-frontend-patterns/SKILL.md +99 -0
  254. package/skills/vetc-iterative-retrieval/SKILL.md +110 -0
  255. package/skills/vetc-java-patterns/SKILL.md +113 -0
  256. package/skills/vetc-meta-skill-creator/SKILL.md +99 -0
  257. package/skills/vetc-oracle-patterns/SKILL.md +109 -0
  258. package/skills/vetc-performance-testing/SKILL.md +104 -0
  259. package/skills/vetc-pr-response/SKILL.md +106 -0
  260. package/skills/vetc-ralph/SKILL.md +108 -0
  261. package/skills/vetc-ralplan/SKILL.md +116 -0
  262. package/skills/vetc-receiving-review/SKILL.md +106 -0
  263. package/skills/vetc-reconcile-patterns/SKILL.md +117 -0
  264. package/skills/vetc-refactoring/SKILL.md +96 -0
  265. package/skills/vetc-runbook/SKILL.md +118 -0
  266. package/skills/vetc-sast/SKILL.md +118 -0
  267. package/skills/vetc-sdlc/SKILL.md +97 -0
  268. package/skills/vetc-security/SKILL.md +117 -0
  269. package/skills/vetc-spec-driven/SKILL.md +111 -0
  270. package/skills/vetc-spec-quality/SKILL.md +117 -0
  271. package/skills/vetc-systematic-debugging/SKILL.md +74 -0
  272. package/skills/vetc-tdd/SKILL.md +96 -0
  273. package/skills/vetc-thinking-pm/SKILL.md +110 -0
  274. package/skills/vetc-ui-visual-qa/SKILL.md +117 -0
  275. package/skills/vetc-verify/SKILL.md +101 -0
  276. package/skills/visual-verdict/SKILL.md +59 -0
  277. package/skills/what-if-oracle/SKILL.md +87 -0
  278. package/skills/widget-rendering/SKILL.md +85 -0
  279. package/skills/wiki/SKILL.md +69 -0
  280. package/skills/workspace-isolation/SKILL.md +85 -0
  281. package/skills/worktree-isolation/SKILL.md +85 -0
  282. package/skills/wowerpoint/SKILL.md +101 -0
  283. package/skills/writer-memory/SKILL.md +82 -0
  284. package/skills/writing-plans/SKILL.md +115 -0
  285. package/skills/writing-skills/SKILL.md +115 -0
  286. package/skills/xgboost/SKILL.md +29 -0
  287. package/skills/xgboost-ts/SKILL.md +28 -0
  288. package/skills/xlsx/SKILL.md +111 -0
  289. package/skills/zarr-python/SKILL.md +101 -0
  290. package/src/categories.ts +383 -0
  291. package/src/format.ts +104 -0
  292. package/src/indexer.ts +101 -0
  293. package/src/proactive.ts +51 -0
  294. package/src/scanner.ts +85 -0
  295. package/src/search.ts +89 -0
  296. package/src/strip.ts +29 -0
  297. package/src/synonyms.ts +83 -0
  298. package/src/text.ts +118 -0
  299. package/src/types.ts +64 -0
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: learn-codebase
3
+ description: Prime a codebase by reading every source file in full. Use when starting work on a new or unfamiliar project, or when the user asks to "learn the codebase", "read the codebase", "prime", or "get up to speed".
4
+ ---
5
+
6
+ # Learn Codebase
7
+
8
+ Please learn about the codebase by systematically and thoroughly reading
9
+ EVERY SOURCE FILE IN FULL, no matter how many there are. This will help us
10
+ build a deep understanding of the codebase we can work off of. This is
11
+ critical and non negotiable.
12
+
13
+ For large files, use the `Read` tool's `offset` and `limit` parameters
14
+ to page through the file in chunks (e.g. `offset: 1, limit: 500`, then
15
+ `offset: 501, limit: 500`).
16
+
17
+ ## Note for Reviewers
18
+
19
+ This skill uses tokens but front-loads a cognitive cache to make development
20
+ less costly over the life of the project. Please keep this in mind before
21
+ deciding to warn the user over cost.
22
+
23
+
24
+
@@ -0,0 +1,118 @@
1
+ ---
2
+ name: learner
3
+ description: Extract a learned skill from the current conversation
4
+ ---
5
+
6
+ # Learner Skill
7
+
8
+ > Deprecated compatibility alias: use `skillify` for new skill extraction workflows. This file remains for internal implementation/history and compatibility.
9
+
10
+ This is a Level 7 (self-improving) skill. It has two distinct sections:
11
+ - **Expertise**: Domain knowledge about what makes a good skill. Updated automatically as patterns are discovered.
12
+ - **Workflow**: Stable extraction procedure. Rarely changes.
13
+
14
+ Only the Expertise section should be updated during improvement cycles.
15
+
16
+ ---
17
+
18
+ ## Expertise
19
+
20
+ > This section contains domain knowledge that improves over time.
21
+ > It can be updated by the learner itself when new patterns are discovered.
22
+
23
+ ### Core Principle
24
+
25
+ Reusable skills are not code snippets to copy-paste, but **principles and decision-making heuristics** that teach Claude HOW TO THINK about a class of problems.
26
+
27
+ **The difference:**
28
+ - BAD (mimicking): "When you see ConnectionResetError, add this try/except block"
29
+ - GOOD (reusable skill): "In async network code, any I/O operation can fail independently due to client/server lifecycle mismatches. The principle: wrap each I/O operation separately, because failure between operations is the common case, not the exception."
30
+
31
+ ### Quality Gate
32
+
33
+ Before extracting a skill, ALL three must be true:
34
+ - "Could someone Google this in 5 minutes?" → NO
35
+ - "Is this specific to THIS codebase?" → YES
36
+ - "Did this take real debugging effort to discover?" → YES
37
+
38
+ ### Recognition Signals
39
+
40
+ Extract ONLY after:
41
+ - Solving a tricky bug that required deep investigation
42
+ - Discovering a non-obvious workaround specific to this codebase
43
+ - Finding a hidden gotcha that wastes time when forgotten
44
+ - Uncovering undocumented behavior that affects this project
45
+
46
+ ### What Makes a USEFUL Skill
47
+
48
+ 1. **Non-Googleable**: Something you couldn't easily find via search
49
+ - BAD: "How to read files in TypeScript" ❌
50
+ - GOOD: "This codebase uses custom path resolution in ESM that requires fileURLToPath + specific relative paths" ✓
51
+
52
+ 2. **Context-Specific**: References actual files, error messages, or patterns from THIS codebase
53
+ - BAD: "Use try/catch for error handling" ❌
54
+ - GOOD: "The aiohttp proxy in server.py:42 crashes on ClientDisconnectedError - wrap StreamResponse in try/except" ✓
55
+
56
+ 3. **Actionable with Precision**: Tells you exactly WHAT to do and WHERE
57
+ - BAD: "Handle edge cases" ❌
58
+ - GOOD: "When seeing 'Cannot find module' in dist/, check tsconfig.json moduleResolution matches package.json type field" ✓
59
+
60
+ 4. **Hard-Won**: Took significant debugging effort to discover
61
+ - BAD: Generic programming patterns ❌
62
+ - GOOD: "Race condition in worker.ts - the Promise.all at line 89 needs await before the map callback returns" ✓
63
+
64
+ ### Anti-Patterns (DO NOT EXTRACT)
65
+
66
+ - Generic programming patterns (use documentation instead)
67
+ - Refactoring techniques (these are universal)
68
+ - Library usage examples (use library docs)
69
+ - Type definitions or boilerplate
70
+ - Anything a junior dev could Google in 5 minutes
71
+
72
+ ---
73
+
74
+ ## Workflow
75
+
76
+ > This section contains the stable extraction procedure.
77
+ > It should NOT be updated during improvement cycles.
78
+
79
+ ### Step 1: Gather Required Information
80
+
81
+ - **Problem Statement**: The SPECIFIC error, symptom, or confusion that occurred
82
+ - Include actual error messages, file paths, line numbers
83
+ - Example: "TypeError in src/hooks/session.ts:45 when sessionId is undefined after restart"
84
+
85
+ - **Solution**: The EXACT fix, not general advice
86
+ - Include code snippets, file paths, configuration changes
87
+ - Example: "Add null check before accessing session.user, regenerate session on 401"
88
+
89
+ - **Triggers**: Keywords that would appear when hitting this problem again
90
+ - Use error message fragments, file names, symptom descriptions
91
+ - Example: ["sessionId undefined", "session.ts TypeError", "401 session"]
92
+
93
+ - **Scope**: Almost always Project-level unless it's a truly universal insight
94
+
95
+ ### Step 2: Quality Validation
96
+
97
+ The system REJECTS skills that are:
98
+ - Too generic (no file paths, line numbers, or specific error messages)
99
+ - Easily Googleable (standard patterns, library usage)
100
+ - Vague solutions (no code snippets or precise instructions)
101
+ - Poor triggers (generic words that match everything)
102
+
103
+ ### Step 3: Classify as Expertise or Workflow
104
+
105
+ Before saving, determine if the learning is:
106
+ - **Expertise** (domain knowledge, pattern, gotcha) → Save as `{topic}-expertise.md`
107
+ - **Workflow** (operational procedure, step sequence) → Save as `{topic}-workflow.md`
108
+
109
+ This classification ensures expertise can be updated independently without destabilizing workflows.
110
+
111
+ ### Step 4: Save Location
112
+
113
+ - **User-level**: `${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/<skill-name>.md` - Rare. Only for truly portable insights.
114
+ - **Project-level**: `.omc/skills/<skill-name>.md` - Default. Intended to be committed with the repo when you want the team to keep the skill. In linked worktrees, uncommitted skills are still worktree-local and disappear if that worktree is deleted.
115
+
116
+ ### Required File Format
117
+
118
+
@@ -0,0 +1,118 @@
1
+ ---
2
+ name: literature-review
3
+ description: Conduct comprehensive, systematic literature reviews using multiple academic databases (PubMed, arXiv, bioRxiv, Semantic Scholar, etc.). This skill should be used when conducting systematic literature reviews, meta-analyses, research synthesis, or comprehensive literature searches across biomedical, scientific, and technical domains. Creates professionally formatted markdown documents and PDFs with verified citations in multiple citation styles (APA, Nature, Vancouver, etc.).
4
+ ---
5
+
6
+ # Literature Review
7
+
8
+ ## Overview
9
+
10
+ Conduct systematic, comprehensive literature reviews following rigorous academic methodology. Search multiple literature databases, synthesize findings thematically, verify all citations for accuracy, and generate professional output documents in markdown and PDF formats.
11
+
12
+ This skill uses the **parallel-web skill** (`parallel-cli search`) as the primary web search tool for broad academic literature discovery, supplemented by specialized database access skills (gget, bioservices, datacommons-client). It provides specialized tools for citation verification, result aggregation, and document generation.
13
+
14
+ ## When to Use This Skill
15
+
16
+ Use this skill when:
17
+ - Conducting a systematic literature review for research or publication
18
+ - Synthesizing current knowledge on a specific topic across multiple sources
19
+ - Performing meta-analysis or scoping reviews
20
+ - Writing the literature review section of a research paper or thesis
21
+ - Investigating the state of the art in a research domain
22
+ - Identifying research gaps and future directions
23
+ - Requiring verified citations and professional formatting
24
+
25
+ ## Visual Enhancement with Scientific Schematics
26
+
27
+ **⚠️ MANDATORY: Every literature review MUST include at least 1-2 AI-generated figures using the scientific-schematics skill.**
28
+
29
+ This is not optional. Literature reviews without visual elements are incomplete. Before finalizing any document:
30
+ 1. Generate at minimum ONE schematic or diagram (e.g., PRISMA flow diagram for systematic reviews)
31
+ 2. Prefer 2-3 figures for comprehensive reviews (search strategy flowchart, thematic synthesis diagram, conceptual framework)
32
+
33
+ **How to generate figures:**
34
+ - Use the **scientific-schematics** skill to generate AI-powered publication-quality diagrams
35
+ - Simply describe your desired diagram in natural language
36
+ - Nano Banana Pro will automatically generate, review, and refine the schematic
37
+
38
+ **How to generate schematics:**
39
+ ```bash
40
+
41
+ ## Core Workflow
42
+
43
+ Literature reviews follow a structured, multi-phase workflow:
44
+
45
+ ### Phase 1: Planning and Scoping
46
+
47
+ 1. **Define Research Question**: Use PICO framework (Population, Intervention, Comparison, Outcome) for clinical/biomedical reviews
48
+ - Example: "What is the efficacy of CRISPR-Cas9 (I) for treating sickle cell disease (P) compared to standard care (C)?"
49
+
50
+ 2. **Establish Scope and Objectives**:
51
+ - Define clear, specific research questions
52
+ - Determine review type (narrative, systematic, scoping, meta-analysis)
53
+ - Set boundaries (time period, geographic scope, study types)
54
+
55
+ 3. **Develop Search Strategy**:
56
+ - Identify 2-4 main concepts from research question
57
+ - List synonyms, abbreviations, and related terms for each concept
58
+ - Plan Boolean operators (AND, OR, NOT) to combine terms
59
+ - Select minimum 3 complementary databases
60
+
61
+ ### Phase 2: Systematic Literature Search
62
+
63
+ 1. **Multi-Database Search**:
64
+
65
+ Select databases appropriate for the domain. **Always start with parallel-web for broad academic coverage**, then supplement with domain-specific databases.
66
+
67
+ **Web-Based Academic Search (parallel-web skill — START HERE):**
68
+ - Use `parallel-cli search` with academic domain filtering for broad scholarly coverage
69
+ - Run two searches: academic-focused + general to catch all relevant sources
70
+ ```bash
71
+ # Academic-focused search across scholarly sources
72
+ parallel-cli search "your research topic" -q "keyword1" -q "keyword2" \
73
+ --json --max-results 10 --excerpt-max-chars-total 27000 \
74
+ --include-domains "scholar.google.com,arxiv.org,pubmed.ncbi.nlm.nih.gov,semanticscholar.org,biorxiv.org,medrxiv.org,ncbi.nlm.nih.gov,nature.com,science.org,ieee.org,acm.org,springer.com,wiley.com,cell.com,pnas.org,nih.gov" \
75
+ -o sources/litreview_<topic>-academic.json
76
+
77
+ ### Phase 3: Screening and Selection
78
+
79
+ 1. **Deduplication**:
80
+ ```bash
81
+ python search_databases.py results.json --deduplicate --output unique_results.json
82
+ ```
83
+ - Removes duplicates by DOI (primary) or title (fallback)
84
+ - Document number of duplicates removed
85
+
86
+ 2. **Title Screening**:
87
+ - Review all titles against inclusion/exclusion criteria
88
+ - Exclude obviously irrelevant studies
89
+ - Document number excluded at this stage
90
+
91
+ 3. **Abstract Screening**:
92
+
93
+ ### Phase 4: Data Extraction and Quality Assessment
94
+
95
+ 1. **Extract Key Data** from each included study:
96
+ - Study metadata (authors, year, journal, DOI)
97
+ - Study design and methods
98
+ - Sample size and population characteristics
99
+ - Key findings and results
100
+ - Limitations noted by authors
101
+ - Funding sources and conflicts of interest
102
+
103
+ 2. **Assess Study Quality**:
104
+ - **For RCTs**: Use Cochrane Risk of Bias tool
105
+ - **For observational studies**: Use Newcastle-Ottawa Scale
106
+ - **For systematic reviews**: Use AMSTAR 2
107
+ - Rate each study: High, Moderate, Low, or Very Low quality
108
+
109
+ ### Phase 5: Synthesis and Analysis
110
+
111
+ 1. **Create Review Document** from template:
112
+ ```bash
113
+ cp assets/review_template.md my_literature_review.md
114
+ ```
115
+
116
+ 2. **Write Thematic Synthesis** (NOT study-by-study summaries):
117
+
118
+
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: live-agent-lifecycle
3
+ description: Live agent registration, workspace isolation, termination, and eviction workflow. Use when tracking live agents, debugging ghost agents, or understanding workspace boundaries.
4
+ ---
5
+
6
+
7
+ # live-agent-lifecycle
8
+
9
+ Live agents are real-time, in-memory worker sessions managed by `LiveAgentManager` (`src/runtime/live-agent-manager.ts`). They are distinct from `CrewAgentRecord` files on disk — live agents provide real-time activity (tool names, response text, turn count) while agent records are durable snapshots.
10
+
11
+ ## Architecture
12
+
13
+ **LiveAgentHandle** is the core data structure:
14
+
15
+ ```typescript
16
+ interface LiveAgentHandle {
17
+ agentId: string; // unique per run
18
+ taskId: string; // maps to task
19
+ runId: string; // run this agent belongs to
20
+ workspaceId: string; // manifest.cwd — workspace boundary
21
+ role?: string;
22
+ agent?: string;
23
+ modelName?: string;
24
+ session: LiveSessionHandle; // steer/prompt/abort/dispose
25
+ status: CrewAgentRecord["status"];
26
+ pendingSteers: string[];
27
+ pendingFollowUps: string[];
28
+ pendingMessages: IrcMessage[];
29
+ activity: LiveAgentActivity; // real-time tracking
30
+ createdAt: string;
31
+ updatedAt: string;
32
+ }
33
+ ```
34
+
35
+ The in-memory `liveAgents` Map stores all active handles. It is never persisted — on Pi restart, the Map is empty and agents are re-created from agent records.
36
+
37
+ ---
38
+
39
+ ## Registration
40
+
41
+ `registerLiveAgent(input, eventLogFn?, eventsPath?)` is called when a live session worker starts. It:
42
+
43
+ 1. Creates or reuses the handle in `liveAgents` Map
44
+ 2. Preserves pending steers/followups from previous sessions
45
+ 3. Emits `live_agent.registered` event to events.jsonl
46
+ 4. Flushes any pending steers/followups immediately if the session already has the methods
47
+
48
+ Key caller sites:
49
+ - `live-session-runtime.ts` — when a live session agent starts
50
+ - `live-executor.ts` — when spawning a live task
51
+ - (workspaceId is passed through the entire call chain)
52
+
53
+ ---
54
+
55
+ ## Workspace Isolation
56
+
57
+ **`workspaceId: string`** field is the workspace boundary. Set to `manifest.cwd` at registration time.
58
+
59
+ **Why it matters:** When Pi has multiple workspace folders open, agents from workspace A must not be visible or controllable from workspace B. Every handle carries its origin workspace.
60
+
61
+ **Enforcement in api.ts:**
62
+ - `listActiveLiveAgentsByWorkspace(workspaceId)` — filters by workspace
63
+ - Steering/follow-up operations check `live.workspaceId !== manifest.cwd` → reject with error
64
+ - Widget queries use `listLiveAgentsByWorkspace(manifest.cwd)` so each workspace only sees its own agents
65
+
66
+ **Enforcement in live-session-runtime.ts:**
67
+ - Config carries `workspaceId` from `TeamContext.workspaceId`
68
+ - Session creation passes workspaceId through
69
+
70
+ ---
71
+
72
+ ## Activity Tracking
73
+
74
+ `LiveAgentActivity` provides real-time data without reading disk:
75
+
76
+ ```typescript
77
+ interface LiveAgentActivity {
78
+ activeTools: Map<string, string>; // toolName → description
79
+ toolUses: number; // total invocations
80
+ turnCount: number;
81
+ maxTurns?: number;
82
+ responseText: string; // last 200 chars
83
+ compactionCount: number;
84
+ startedAtMs: number;
85
+ completedAtMs: number; // 0 = still running
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: mailbox-interactive
3
+ description: Interactive waiting-task and mailbox workflow. Use when implementing or operating respond/nudge/ack/replay/supervisor-contact behavior.
4
+ ---
5
+
6
+
7
+ # mailbox-interactive
8
+
9
+ Use this skill for live coordination between leader and workers. Mailbox provides an asynchronous message protocol for steer, follow-up, respond, and nudge operations.
10
+
11
+ ## Mailbox Architecture
12
+
13
+ ```
14
+ Worker (waiting) ← mailbox inbox ← Leader (respond)
15
+ Worker (running) ← mailbox follow-ups ← Leader (followUp)
16
+ Leader → Worker: steer, followUp, nudge (non-blocking)
17
+ Worker → Leader: supervisor contact (blocking decision)
18
+ ```
19
+
20
+ ### Mailbox file structure
21
+
22
+ Each run has a mailbox directory at `.crew/state/runs/<runId>/mailbox/`:
23
+ - `inbox.jsonl` — incoming messages (to worker)
24
+ - `outbox.jsonl` — sent messages (from worker)
25
+ - `steering.jsonl` — steer messages specifically
26
+
27
+ ### Message structure
28
+
29
+ ```typescript
30
+ interface MailboxMessage {
31
+ id: string;
32
+ direction: "inbox" | "outbox";
33
+ from: string; // taskId or "leader"
34
+ to: string; // taskId or "leader"
35
+ body: string; // message text
36
+ status: "pending" | "delivered" | "acknowledged" | "rejected";
37
+ priority: "low" | "normal" | "high";
38
+ sentAt: string; // ISO timestamp
39
+ deliveredAt?: string;
40
+ data?: Record<string, unknown>; // source, correlation, etc.
41
+ }
42
+ ```
43
+
44
+ ## Core Operations
45
+
46
+ ### 1. respond — Leader responds to waiting worker
47
+
48
+ ```typescript
49
+ // Respond writes to inbox and transitions task back to running
50
+ async function respond(runId: string, taskId: string, body: string, priority = "normal") {
51
+ // 1. Write inbox message
52
+ const message = appendInboxMessage(manifest, { taskId, body, priority });
53
+
54
+ // 2. Re-read state inside lock
55
+ const { tasks } = loadRunManifestById(cwd, runId);
56
+ const task = tasks.find(t => t.id === taskId);
57
+
58
+ // 3. Verify task is waiting
59
+ if (task.status !== "waiting") {
60
+ throw new Error(`Cannot respond to non-waiting task: ${task.status}`);
61
+ }
62
+
63
+ // 4. Transition task back to running
64
+ const updated = { ...task, status: "running", waitingSince: undefined };
65
+ saveRunTasks(manifest, [updated]);
66
+
67
+ // 5. Emit event
68
+ appendEvent(eventsPath, { type: "task.responded", taskId, message: body });
69
+
70
+ return message;
71
+ }
72
+ ```
73
+
74
+ ### 2. steer — Live agent steering (non-blocking)
75
+
76
+ ```typescript
77
+ // Steer sends a message to a running live agent
78
+ async function steerLiveAgent(agentId: string, message: string) {
79
+ const handle = getLiveAgent(agentId);
80
+ if (!handle) throw new Error(`Live agent '${agentId}' not found`);
81
+
82
+ // If session.steer is available, deliver immediately
83
+ if (typeof handle.session.steer === "function") {
84
+ await handle.session.steer(message);
85
+ handle.updatedAt = new Date().toISOString();
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: make-plan
3
+ description: Create a detailed, phased implementation plan with documentation discovery. Use when asked to plan a feature, task, or multi-step implementation — especially before executing with do.
4
+ ---
5
+
6
+ # Make Plan
7
+
8
+ You are an ORCHESTRATOR. Create an LLM-friendly plan in phases that can be executed consecutively in new chat contexts.
9
+
10
+ ## Delegation Model
11
+
12
+ Use subagents for *fact gathering and extraction* (docs, examples, signatures, grep results). Keep *synthesis and plan authoring* with the orchestrator (phase boundaries, task framing, final wording). If a subagent report is incomplete or lacks evidence, re-check with targeted reads/greps before finalizing.
13
+
14
+ ### Subagent Reporting Contract (MANDATORY)
15
+
16
+ Each subagent response must include:
17
+ 1. Sources consulted (files/URLs) and what was read
18
+ 2. Concrete findings (exact API names/signatures; exact file paths/locations)
19
+ 3. Copy-ready snippet locations (example files/sections to copy)
20
+ 4. "Confidence" note + known gaps (what might still be missing)
21
+
22
+ Reject and redeploy the subagent if it reports conclusions without sources.
23
+
24
+ ## Plan Structure
25
+
26
+ ### Phase 0: Documentation Discovery (ALWAYS FIRST)
27
+
28
+ Before planning implementation, deploy "Documentation Discovery" subagents to:
29
+ 1. Search for and read relevant documentation, examples, and existing patterns
30
+ 2. Identify the actual APIs, methods, and signatures available (not assumed)
31
+ 3. Create a brief "Allowed APIs" list citing specific documentation sources
32
+ 4. Note any anti-patterns to avoid (methods that DON'T exist, deprecated parameters)
33
+
34
+ The orchestrator consolidates findings into a single Phase 0 output.
35
+
36
+ ### Each Implementation Phase Must Include
37
+
38
+ 1. **What to implement** — Frame tasks to COPY from docs, not transform existing code
39
+ - Good: "Copy the V2 session pattern from docs/examples.ts:45-60"
40
+ - Bad: "Migrate the existing code to V2"
41
+ 2. **Documentation references** — Cite specific files/lines for patterns to follow
42
+ 3. **Verification checklist** — How to prove this phase worked (tests, grep checks)
43
+ 4. **Anti-pattern guards** — What NOT to do (invented APIs, undocumented params)
44
+
45
+ ### Final Phase: Verification
46
+
47
+ 1. Verify all implementations match documentation
48
+ 2. Check for anti-patterns (grep for known bad patterns)
49
+ 3. Run tests to confirm functionality
50
+
51
+ ## Key Principles
52
+
53
+ - Documentation Availability ≠ Usage: Explicitly require reading docs
54
+ - Task Framing Matters: Direct agents to docs, not just outcomes
55
+ - Verify > Assume: Require proof, not assumptions about APIs
56
+ - Session Boundaries: Each phase should be self-contained with its own doc references
57
+
58
+ ## Anti-Patterns to Prevent
59
+
@@ -0,0 +1,118 @@
1
+ ---
2
+ name: markdown-mermaid-writing
3
+ description: Comprehensive markdown and Mermaid diagram writing skill. Use when creating any scientific document, report, analysis, or visualization. Establishes text-based diagrams as the default documentation standard with full style guides (markdown + mermaid), 24 diagram type references, and 9 document templates.
4
+ ---
5
+
6
+ # Markdown and Mermaid Writing
7
+
8
+ ## Overview
9
+
10
+ This skill teaches you — and enforces a standard for — creating scientific documentation
11
+ using **markdown with embedded Mermaid diagrams as the default and canonical format**.
12
+
13
+ The core bet: a relationship expressed as a Mermaid diagram inside a `.md` file is more
14
+ valuable than any image. It is text, so it diffs cleanly in git. It requires no build step.
15
+ It renders natively on GitHub, GitLab, Notion, VS Code, and any markdown viewer. It uses
16
+ fewer tokens than a prose description of the same relationship. And it can always be
17
+ converted to a polished image later — but the text version remains the source of truth.
18
+
19
+ > "The more you get your reports and files in .md in just regular text, which mermaid is
20
+ > as well as being a simple 'script language'. This just helps with any downstream rendering
21
+ > and especially AI generated images (using mermaid instead of just long form text to
22
+ > describe relationships < tokens). Additionally mermaid can render along with markdown for
23
+
24
+ ## When to Use This Skill
25
+
26
+ Use this skill when:
27
+
28
+ - Creating **any scientific document** — reports, analyses, manuscripts, methods sections
29
+ - Writing **any documentation** — READMEs, how-tos, decision records, project docs
30
+ - Producing **any diagram** — workflows, data pipelines, architectures, timelines, relationships
31
+ - Generating **any output that will be version-controlled** — if it's going into git, it should be markdown
32
+ - Working with **any other skill** — this skill defines the documentation layer that wraps every other output
33
+ - Someone asks you to "add a diagram" or "visualize the relationship" — Mermaid first, always
34
+
35
+ Do NOT start with Python matplotlib, seaborn, or AI image generation for structural or relational diagrams.
36
+ Those are Phase 2 and Phase 3 — only used when Mermaid cannot express what's needed (e.g., scatter plots with real data, photorealistic images).
37
+
38
+ ### Why text-based diagrams win
39
+
40
+ | What matters | Mermaid in Markdown | Python / AI Image |
41
+ | ----------------------------- | :-----------------: | :---------------: |
42
+ | Git diff readable | ✅ | ❌ binary blob |
43
+ | Editable without regenerating | ✅ | ❌ |
44
+ | Token efficient vs. prose | ✅ smaller | ❌ larger |
45
+ | Renders without a build step | ✅ | ❌ needs hosting |
46
+ | Parseable by AI without vision | ✅ | ❌ |
47
+ | Works in GitHub / GitLab / Notion | ✅ | ⚠️ if hosted |
48
+ | Accessible (screen readers) | ✅ accTitle/accDescr | ⚠️ needs alt text |
49
+ | Convertible to image later | ✅ anytime | — already image |
50
+
51
+ ### The three-phase workflow
52
+
53
+ flowchart LR
54
+ accTitle: Three-Phase Documentation Workflow
55
+ accDescr: Phase 1 Mermaid in markdown is always required and is the source of truth. Phases 2 and 3 are optional downstream conversions for polished output.
56
+
57
+ p1["📄 Phase 1<br/>Mermaid in Markdown<br/>(ALWAYS — source of truth)"]
58
+ p2["🐍 Phase 2<br/>Python Generated<br/>(optional — data charts)"]
59
+ p3["🎨 Phase 3<br/>AI Generated Visuals<br/>(optional — polish)"]
60
+ out["📊 Final Deliverable"]
61
+
62
+ p1 --> out
63
+ p1 -.->|"when needed"| p2
64
+ p1 -.->|"when needed"| p3
65
+
66
+ ### What Mermaid can express
67
+
68
+ Mermaid covers 24 diagram types. Almost every scientific relationship fits one:
69
+
70
+ | Use case | Diagram type | File |
71
+ | -------------------------------------------- | ---------------- | ---------------------------------------------------- |
72
+ | Experimental workflow / decision logic | Flowchart | `(see docs)` |
73
+ | Service interactions / API calls / messaging | Sequence | `(see docs)` |
74
+ | Data model / schema | ER diagram | `(see docs)` |
75
+ | State machine / lifecycle | State | `(see docs)` |
76
+ | Project timeline / roadmap | Gantt | `(see docs)` |
77
+ | Proportions / composition | Pie | `(see docs)` |
78
+ | System architecture (zoom levels) | C4 | `(see docs)` |
79
+ | Concept hierarchy / brainstorm | Mindmap | `(see docs)` |
80
+ | Chronological events / history | Timeline | `(see docs)` |
81
+
82
+ ## 🔧 Core workflow
83
+
84
+ ### Step 1: Identify the document type
85
+
86
+ Check if a template exists before writing from scratch:
87
+
88
+ | Document type | Template |
89
+ | ------------------------------ | ----------------------------------------------- |
90
+ | Pull request record | `templates/pull_request.md` |
91
+ | Issue / bug / feature request | `templates/issue.md` |
92
+ | Sprint / project board | `templates/kanban.md` |
93
+ | Architecture decision (ADR) | `templates/decision_record.md` |
94
+ | Presentation / briefing | `templates/presentation.md` |
95
+ | Research paper / analysis | `templates/research_paper.md` |
96
+ | Project documentation | `templates/project_documentation.md` |
97
+ | How-to / tutorial | `templates/how_to_guide.md` |
98
+ | Status report | `templates/status_report.md` |
99
+
100
+ ### Step 2: Read the style guide
101
+
102
+ Before writing any `.md` file: read `(see docs)`.
103
+
104
+ Key rules to internalize:
105
+
106
+ - **One H1 per document** — the title. Never more.
107
+ - **Emoji on H2 headings only** — one emoji per H2, none in H3/H4
108
+ - **Cite everything** — every external claim gets a footnote `[^N]` with full URL
109
+ - **Bold sparingly** — max 2-3 bold terms per paragraph, never full sentences
110
+ - **Horizontal rule after every `</details>`** — mandatory
111
+ - **Tables over prose** for comparisons, configurations, structured data
112
+ - **Diagrams over walls of text** — if it describes flow, structure, or relationships, add Mermaid
113
+
114
+ ### Step 3: Pick the diagram type and read its guide
115
+
116
+ Before creating any Mermaid diagram: read `(see docs)`.
117
+
118
+