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,118 @@
1
+ ---
2
+ name: dnanexus-integration
3
+ description: DNAnexus cloud genomics platform. Build apps/applets, manage data (upload/download), dxpy Python SDK, run workflows, FASTQ/BAM/VCF, for genomics pipeline development and execution.
4
+ ---
5
+
6
+ # DNAnexus Integration
7
+
8
+ ## Overview
9
+
10
+ DNAnexus is a cloud platform for biomedical data analysis and genomics. Build and deploy apps/applets, manage data objects, run workflows, and use the dxpy Python SDK for genomics pipeline development and execution.
11
+
12
+ ## When to Use This Skill
13
+
14
+ This skill should be used when:
15
+ - Creating, building, or modifying DNAnexus apps/applets
16
+ - Uploading, downloading, searching, or organizing files and records
17
+ - Running analyses, monitoring jobs, creating workflows
18
+ - Writing scripts using dxpy to interact with the platform
19
+ - Setting up dxapp.json, managing dependencies, using Docker
20
+ - Processing FASTQ, BAM, VCF, or other bioinformatics files
21
+ - Managing projects, permissions, or platform resources
22
+
23
+ ## Core Capabilities
24
+
25
+ The skill is organized into five main areas, each with detailed reference documentation:
26
+
27
+ ### 1. App Development
28
+
29
+ **Purpose**: Create executable programs (apps/applets) that run on the DNAnexus platform.
30
+
31
+ **Key Operations**:
32
+ - Generate app skeleton with `dx-app-wizard`
33
+ - Write Python or Bash apps with proper entry points
34
+ - Handle input/output data objects
35
+ - Deploy with `dx build` or `dx build --app`
36
+ - Test apps on the platform
37
+
38
+ **Common Use Cases**:
39
+ - Bioinformatics pipelines (alignment, variant calling)
40
+ - Data processing workflows
41
+ - Quality control and filtering
42
+
43
+ ### 2. Data Operations
44
+
45
+ **Purpose**: Manage files, records, and other data objects on the platform.
46
+
47
+ **Key Operations**:
48
+ - Upload/download files with `dxpy.upload_local_file()` and `dxpy.download_dxfile()`
49
+ - Create and manage records with metadata
50
+ - Search for data objects by name, properties, or type
51
+ - Clone data between projects
52
+ - Manage project folders and permissions
53
+
54
+ **Common Use Cases**:
55
+ - Uploading sequencing data (FASTQ files)
56
+ - Organizing analysis results
57
+ - Searching for specific samples or experiments
58
+
59
+ ### 3. Job Execution
60
+
61
+ **Purpose**: Run analyses, monitor execution, and orchestrate workflows.
62
+
63
+ **Key Operations**:
64
+ - Launch jobs with `applet.run()` or `app.run()`
65
+ - Monitor job status and logs
66
+ - Create subjobs for parallel processing
67
+ - Build and run multi-step workflows
68
+ - Chain jobs with output references
69
+
70
+ **Common Use Cases**:
71
+ - Running genomics analyses on sequencing data
72
+ - Parallel processing of multiple samples
73
+ - Multi-step analysis pipelines
74
+
75
+ ### 4. Python SDK (dxpy)
76
+
77
+ **Purpose**: Programmatic access to DNAnexus platform through Python.
78
+
79
+ **Key Operations**:
80
+ - Work with data object handlers (DXFile, DXRecord, DXApplet, etc.)
81
+ - Use high-level functions for common tasks
82
+ - Make direct API calls for advanced operations
83
+ - Create links and references between objects
84
+ - Search and discover platform resources
85
+
86
+ **Common Use Cases**:
87
+ - Automation scripts for data management
88
+ - Custom analysis pipelines
89
+ - Batch processing workflows
90
+
91
+ ### 5. Configuration and Dependencies
92
+
93
+ **Purpose**: Configure app metadata and manage dependencies.
94
+
95
+ **Key Operations**:
96
+ - Write dxapp.json with inputs, outputs, and run specs
97
+ - Install system packages (execDepends)
98
+ - Bundle custom tools and resources
99
+ - Use assets for shared dependencies
100
+ - Integrate Docker containers
101
+ - Configure instance types and timeouts
102
+
103
+ **Common Use Cases**:
104
+ - Defining app input/output specifications
105
+ - Installing bioinformatics tools (samtools, bwa, etc.)
106
+
107
+ ## Quick Start Examples
108
+
109
+ ### Upload and Analyze Data
110
+
111
+ import dxpy
112
+
113
+ # Upload input file
114
+ input_file = dxpy.upload_local_file("sample.fastq", project="project-xxxx")
115
+
116
+ # Run analysis
117
+
118
+
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: do
3
+ description: Execute a phased implementation plan using subagents. Use when asked to execute, run, or carry out a plan — especially one created by make-plan.
4
+ ---
5
+
6
+ # Do Plan
7
+
8
+ You are an ORCHESTRATOR. Deploy subagents to execute *all* work. Do not do the work yourself except to coordinate, route context, and verify that each subagent completed its assigned checklist.
9
+
10
+ ## Execution Protocol
11
+
12
+ ### Rules
13
+
14
+ - Each phase uses fresh subagents where noted (or when context is large/unclear)
15
+ - Assign one clear objective per subagent and require evidence (commands run, outputs, files changed)
16
+ - Do not advance to the next step until the assigned subagent reports completion and the orchestrator confirms it matches the plan
17
+
18
+ ### During Each Phase
19
+
20
+ Deploy an "Implementation" subagent to:
21
+ 1. Execute the implementation as specified
22
+ 2. COPY patterns from documentation, don't invent
23
+ 3. Cite documentation sources in code comments when using unfamiliar APIs
24
+ 4. If an API seems missing, STOP and verify — don't assume it exists
25
+
26
+ ### After Each Phase
27
+
28
+ Deploy subagents for each post-phase responsibility:
29
+ 1. **Run verification checklist** — Deploy a "Verification" subagent to prove the phase worked
30
+ 2. **Anti-pattern check** — Deploy an "Anti-pattern" subagent to grep for known bad patterns from the plan
31
+ 3. **Code quality review** — Deploy a "Code Quality" subagent to review changes
32
+ 4. **Commit only if verified** — Deploy a "Commit" subagent *only after* verification passes; otherwise, do not commit
33
+
34
+ ### Between Phases
35
+
36
+ Deploy a "Branch/Sync" subagent to:
37
+ - Push to working branch after each verified phase
38
+ - Prepare the next phase handoff so the next phase's subagents start fresh but have plan context
39
+
40
+ ## Failure Modes to Prevent
41
+
42
+ - Don't invent APIs that "should" exist — verify against docs
43
+ - Don't add undocumented parameters — copy exact signatures
44
+ - Don't skip verification — deploy a verification subagent and run the checklist
45
+ - Don't commit before verification passes (or without explicit orchestrator approval)
46
+
47
+
48
+
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: docker-sandbox
3
+ description: Containerized execution environments and lab automation. Use when running code in Docker containers, managing development environments, CI/CD pipelines, or automating lab instrument control. Trigger on imports of docker, or mentions of container, sandbox, isolated environment, lab automation, instrument control.
4
+ ---
5
+ # docker-sandbox
6
+
7
+ Use this skill for containerized code execution and lab automation.
8
+
9
+ ## Core patterns
10
+
11
+ - **Run**: `docker.from_env().containers.run('image', command, volumes={'/host': {'bind': '/container', 'mode': 'rw'}})`.
12
+ - **Build**: `docker.from_env().images.build(path='.', tag='my-image')`.
13
+ - **Exec**: `container.exec_run('python script.py')` for running inside a container.
14
+ - **Cleanup**: Always `container.remove()` and `image.remove()` after use.
15
+
16
+ ## Rules
17
+
18
+ - Always set `mem_limit` and `cpu_count` to prevent resource exhaustion.
19
+ - Mount volumes read-only when writes aren't needed: `mode='ro'`.
20
+ - Use `detach=True` for long-running processes; `detach=False` for scripts.
21
+ - Clean up containers: `docker.from_env().containers.prune()`.
22
+
23
+ ## Anti-patterns
24
+
25
+ - Don't run containers without resource limits — runaway processes kill the host.
26
+ - Don't mount sensitive directories (`/etc`, `~/.ssh`) into containers.
27
+ - Don't use `latest` tag in production — pin specific image versions.
28
+
29
+
@@ -0,0 +1,119 @@
1
+ ---
2
+ name: docx
3
+ description: "Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation."
4
+ ---
5
+
6
+ # DOCX creation, editing, and analysis
7
+
8
+ ## Overview
9
+
10
+ A .docx file is a ZIP archive containing XML files.
11
+
12
+ ## Quick Reference
13
+
14
+ | Task | Approach |
15
+ |------|----------|
16
+ | Read/analyze content | `pandoc` or unpack for raw XML |
17
+ | Create new document | Use `docx-js` - see Creating New Documents below |
18
+ | Edit existing document | Unpack → edit XML → repack - see Editing Existing Documents below |
19
+
20
+ ### Converting .doc to .docx
21
+
22
+ Legacy `.doc` files must be converted before editing:
23
+
24
+ ```bash
25
+ python scripts/office/soffice.py --headless --convert-to docx document.doc
26
+ ```
27
+
28
+ ### Reading Content
29
+
30
+ ```bash
31
+ # Text extraction with tracked changes
32
+ pandoc --track-changes=all document.docx -o output.md
33
+
34
+ # Raw XML access
35
+ python scripts/office/unpack.py document.docx unpacked/
36
+ ```
37
+
38
+ ### Converting to Images
39
+
40
+ ```bash
41
+ python scripts/office/soffice.py --headless --convert-to pdf document.docx
42
+ pdftoppm -jpeg -r 150 document.pdf page
43
+ ```
44
+
45
+ ### Accepting Tracked Changes
46
+
47
+ To produce a clean document with all tracked changes accepted (requires LibreOffice):
48
+
49
+ ```bash
50
+ python scripts/accept_changes.py input.docx output.docx
51
+ ```
52
+
53
+ ---
54
+
55
+ ## Creating New Documents
56
+
57
+ Generate .docx files with JavaScript, then validate. Install: `npm install -g docx`
58
+
59
+ ### Validation
60
+ After creating the file, validate it. If validation fails, unpack, fix the XML, and repack.
61
+ ```bash
62
+ python scripts/office/validate.py doc.docx
63
+ ```
64
+
65
+ ### Page Size
66
+
67
+ ```javascript
68
+ // CRITICAL: docx-js defaults to A4, not US Letter
69
+ // Always set page size explicitly for consistent results
70
+ sections: [{
71
+ properties: {
72
+ page: {
73
+ size: {
74
+ width: 12240, // 8.5 inches in DXA
75
+ height: 15840 // 11 inches in DXA
76
+ },
77
+ margin: { top: 1440, right: 1440, bottom: 1440, left: 1440 } // 1 inch margins
78
+ }
79
+ },
80
+
81
+ ### Styles (Override Built-in Headings)
82
+
83
+ Use Arial as the default font (universally supported). Keep titles black for readability.
84
+
85
+ ```javascript
86
+ const doc = new Document({
87
+ styles: {
88
+ default: { document: { run: { font: "Arial", size: 24 } } }, // 12pt default
89
+ paragraphStyles: [
90
+ // IMPORTANT: Use exact IDs to override built-in styles
91
+ { id: "Heading1", name: "Heading 1", basedOn: "Normal", next: "Normal", quickFormat: true,
92
+ run: { size: 32, bold: true, font: "Arial" },
93
+ paragraph: { spacing: { before: 240, after: 240 }, outlineLevel: 0 } }, // outlineLevel required for TOC
94
+ { id: "Heading2", name: "Heading 2", basedOn: "Normal", next: "Normal", quickFormat: true,
95
+ run: { size: 28, bold: true, font: "Arial" },
96
+
97
+ ### Lists (NEVER use unicode bullets)
98
+
99
+ ```javascript
100
+ // ❌ WRONG - never manually insert bullet characters
101
+ new Paragraph({ children: [new TextRun("• Item")] }) // BAD
102
+ new Paragraph({ children: [new TextRun("\u2022 Item")] }) // BAD
103
+
104
+ // ✅ CORRECT - use numbering config with LevelFormat.BULLET
105
+ const doc = new Document({
106
+ numbering: {
107
+ config: [
108
+ { reference: "bullets",
109
+ levels: [{ level: 0, format: LevelFormat.BULLET, text: "•", alignment: AlignmentType.LEFT,
110
+ style: { paragraph: { indent: { left: 720, hanging: 360 } } } }] },
111
+ { reference: "numbers",
112
+
113
+ ### Tables
114
+
115
+ **CRITICAL: Tables need dual widths** - set both `columnWidths` on the table AND `width` on each cell. Without both, tables render incorrectly on some platforms.
116
+
117
+ ```javascript
118
+
119
+
@@ -0,0 +1,116 @@
1
+ ---
2
+ name: esm
3
+ description: Comprehensive toolkit for protein language models including ESM3 (generative multimodal protein design across sequence, structure, and function) and ESM C (efficient protein embeddings and representations). Use this skill when working with protein sequences, structures, or function prediction; designing novel proteins; generating protein embeddings; performing inverse folding; or conducting protein engineering tasks. Supports both local model usage and cloud-based Forge API for scalable inference.
4
+ ---
5
+
6
+ # ESM: Evolutionary Scale Modeling
7
+
8
+ ## Overview
9
+
10
+ ESM provides state-of-the-art protein language models for understanding, generating, and designing proteins. This skill enables working with two model families: ESM3 for generative protein design across sequence, structure, and function, and ESM C for efficient protein representation learning and embeddings.
11
+
12
+ ## Core Capabilities
13
+
14
+ ### 1. Protein Sequence Generation with ESM3
15
+
16
+ Generate novel protein sequences with desired properties using multimodal generative modeling.
17
+
18
+ **When to use:**
19
+ - Designing proteins with specific functional properties
20
+ - Completing partial protein sequences
21
+ - Generating variants of existing proteins
22
+ - Creating proteins with desired structural characteristics
23
+
24
+ **Basic usage:**
25
+
26
+ ```python
27
+ from esm.models.esm3 import ESM3
28
+ from esm.sdk.api import ESM3InferenceClient, ESMProtein, GenerationConfig
29
+
30
+ # Load model locally
31
+ model: ESM3InferenceClient = ESM3.from_pretrained("esm3-sm-open-v1").to("cuda")
32
+
33
+ # Create protein prompt
34
+ protein = ESMProtein(sequence="MPRT___KEND") # '_' represents masked positions
35
+
36
+ # Generate completion
37
+ protein = model.generate(protein, GenerationConfig(track="sequence", num_steps=8))
38
+ print(protein.sequence)
39
+ ```
40
+
41
+ **For remote/cloud usage via Forge API:**
42
+
43
+ ```python
44
+ from esm.sdk.forge import ESM3ForgeInferenceClient
45
+ from esm.sdk.api import ESMProtein, GenerationConfig
46
+
47
+ # Connect to Forge
48
+ model = ESM3ForgeInferenceClient(model="esm3-medium-2024-08", url="https://forge.evolutionaryscale.ai", token="<token>")
49
+
50
+ # Generate
51
+ protein = model.generate(protein, GenerationConfig(track="sequence", num_steps=8))
52
+ ```
53
+
54
+ See `(see docs)` for detailed ESM3 model specifications, advanced generation configurations, and multimodal prompting examples.
55
+
56
+ ### 2. Structure Prediction and Inverse Folding
57
+
58
+ Use ESM3's structure track for structure prediction from sequence or inverse folding (sequence design from structure).
59
+
60
+ **Structure prediction:**
61
+
62
+ ```python
63
+ from esm.sdk.api import ESM3InferenceClient, ESMProtein, GenerationConfig
64
+
65
+ # Predict structure from sequence
66
+ protein = ESMProtein(sequence="MPRTKEINDAGLIVHSP...")
67
+ protein_with_structure = model.generate(
68
+ protein,
69
+ GenerationConfig(track="structure", num_steps=protein.sequence.count("_"))
70
+ )
71
+
72
+ # Access predicted structure
73
+ coordinates = protein_with_structure.coordinates # 3D coordinates
74
+ pdb_string = protein_with_structure.to_pdb()
75
+ ```
76
+
77
+ **Inverse folding (sequence from structure):**
78
+
79
+ ```python
80
+ # Design sequence for a target structure
81
+ protein_with_structure = ESMProtein.from_pdb("target_structure.pdb")
82
+ protein_with_structure.sequence = None # Remove sequence
83
+
84
+ # Generate sequence that folds to this structure
85
+ designed_protein = model.generate(
86
+ protein_with_structure,
87
+ GenerationConfig(track="sequence", num_steps=50, temperature=0.7)
88
+ )
89
+ ```
90
+
91
+ ### 3. Protein Embeddings with ESM C
92
+
93
+ Generate high-quality embeddings for downstream tasks like function prediction, classification, or similarity analysis.
94
+
95
+ **When to use:**
96
+ - Extracting protein representations for machine learning
97
+ - Computing sequence similarities
98
+ - Feature extraction for protein classification
99
+ - Transfer learning for protein-related tasks
100
+
101
+ **Basic usage:**
102
+
103
+ ```python
104
+ from esm.models.esmc import ESMC
105
+ from esm.sdk.api import ESMProtein
106
+
107
+ # Load ESM C model
108
+ model = ESMC.from_pretrained("esmc-300m").to("cuda")
109
+
110
+ # Get embeddings
111
+ protein = ESMProtein(sequence="MPRTKEINDAGLIVHSP...")
112
+ protein_tensor = model.encode(protein)
113
+
114
+ # Generate embeddings
115
+ embeddings = model.forward(protein_tensor)
116
+ ```
@@ -0,0 +1,103 @@
1
+ ---
2
+ name: etetoolkit
3
+ description: Phylogenetic tree toolkit (ETE). Tree manipulation (Newick/NHX), evolutionary event detection, orthology/paralogy, NCBI taxonomy, visualization (PDF/SVG), for phylogenomics.
4
+ ---
5
+
6
+ # ETE Toolkit Skill
7
+
8
+ ## Overview
9
+
10
+ ETE (Environment for Tree Exploration) is a toolkit for phylogenetic and hierarchical tree analysis. Manipulate trees, analyze evolutionary events, visualize results, and integrate with biological databases for phylogenomic research and clustering analysis.
11
+
12
+ ## Core Capabilities
13
+
14
+ ### 1. Tree Manipulation and Analysis
15
+
16
+ Load, manipulate, and analyze hierarchical tree structures with support for:
17
+
18
+ - **Tree I/O**: Read and write Newick, NHX, PhyloXML, and NeXML formats
19
+ - **Tree traversal**: Navigate trees using preorder, postorder, or levelorder strategies
20
+ - **Topology modification**: Prune, root, collapse nodes, resolve polytomies
21
+ - **Distance calculations**: Compute branch lengths and topological distances between nodes
22
+ - **Tree comparison**: Calculate Robinson-Foulds distances and identify topological differences
23
+
24
+ **Common patterns:**
25
+
26
+ ```python
27
+ from ete3 import Tree
28
+
29
+ # Load tree from file
30
+ tree = Tree("tree.nw", format=1)
31
+
32
+ # Basic statistics
33
+ print(f"Leaves: {len(tree)}")
34
+ print(f"Total nodes: {len(list(tree.traverse()))}")
35
+
36
+ # Prune to taxa of interest
37
+ taxa_to_keep = ["species1", "species2", "species3"]
38
+ tree.prune(taxa_to_keep, preserve_branch_length=True)
39
+
40
+ # Midpoint root
41
+ midpoint = tree.get_midpoint_outgroup()
42
+ tree.set_outgroup(midpoint)
43
+
44
+ # Save modified tree
45
+ tree.write(outfile="rooted_tree.nw")
46
+ ```
47
+
48
+ Use `scripts/tree_operations.py` for command-line tree manipulation:
49
+
50
+ ```bash
51
+ # Display tree statistics
52
+ python scripts/tree_operations.py stats tree.nw
53
+
54
+ # Reroot tree
55
+ python scripts/tree_operations.py reroot tree.nw rooted.nw --midpoint
56
+
57
+ # Prune to specific taxa
58
+ python scripts/tree_operations.py prune tree.nw pruned.nw --keep-taxa "sp1,sp2,sp3"
59
+
60
+ # Show ASCII visualization
61
+ python scripts/tree_operations.py ascii tree.nw
62
+ ```
63
+
64
+ ### 2. Phylogenetic Analysis
65
+
66
+ Analyze gene trees with evolutionary event detection:
67
+
68
+ - **Sequence alignment integration**: Link trees to multiple sequence alignments (FASTA, Phylip)
69
+ - **Species naming**: Automatic or custom species extraction from gene names
70
+ - **Evolutionary events**: Detect duplication and speciation events using Species Overlap or tree reconciliation
71
+ - **Orthology detection**: Identify orthologs and paralogs based on evolutionary events
72
+ - **Gene family analysis**: Split trees by duplications, collapse lineage-specific expansions
73
+
74
+ **Workflow for gene tree analysis:**
75
+
76
+ ```python
77
+ from ete3 import PhyloTree
78
+
79
+ # Load gene tree with alignment
80
+ tree = PhyloTree("gene_tree.nw", alignment="alignment.fasta")
81
+
82
+ # Set species naming function
83
+ def get_species(gene_name):
84
+ return gene_name.split("_")[0]
85
+
86
+ tree.set_species_naming_function(get_species)
87
+
88
+ # Detect evolutionary events
89
+ events = tree.get_descendant_evol_events()
90
+
91
+ # Analyze events
92
+ for node in tree.traverse():
93
+ if hasattr(node, "evoltype"):
94
+ if node.evoltype == "D":
95
+ print(f"Duplication at {node.name}")
96
+ elif node.evoltype == "S":
97
+ print(f"Speciation at {node.name}")
98
+
99
+ # Extract ortholog groups
100
+ ortho_groups = tree.get_speciation_trees()
101
+ for i, ortho_tree in enumerate(ortho_groups):
102
+ ortho_tree.write(outfile=f"ortholog_group_{i}.nw")
103
+ ```
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: event-log-tracing
3
+ description: Structured event logging system for worker lifecycle, live agents, and crash recovery. Use when debugging worker crashes, tracing agent lifecycle, or investigating stale runs.
4
+ ---
5
+
6
+
7
+ # event-log-tracing
8
+
9
+ Every pi-crew run writes a persistent event log at `.crew/state/runs/<runId>/events.jsonl`. Events are the primary evidence for understanding what happened — especially when workers crash, agents get stuck, or runs become orphaned.
10
+
11
+ ## Event Format
12
+
13
+ Every event is a JSON object on one line:
14
+
15
+ ```json
16
+ {
17
+ "time": "2026-05-14T10:27:52.000Z",
18
+ "type": "worker.spawned",
19
+ "runId": "team_20260514092752_218fe358085d7115",
20
+ "taskId": "01_explore",
21
+ "message": "Worker spawned: pid 12345",
22
+ "data": { "pid": 12345, "role": "explorer" },
23
+ "metadata": {
24
+ "seq": 42,
25
+ "provenance": "team_runner",
26
+ "fingerprint": "a1b2c3d4e5f6g7h8"
27
+ }
28
+ }
29
+ ```
30
+
31
+ **Required fields:** `time`, `type`, `runId`
32
+ **Optional fields:** `taskId`, `message`, `data`, `metadata`
33
+ **Metadata auto-populated:** `seq` (line number), `provenance` (who wrote it), `fingerprint` (for terminal events)
34
+
35
+ ---
36
+
37
+ ## Event Taxonomy
38
+
39
+ ### Worker Lifecycle Events (from child-pi.ts via onLifecycleEvent callback)
40
+
41
+ | Event | When | Data |
42
+ |---|---|---|
43
+ | `worker.spawned` | Child process starts with a PID | `{pid, cwd}` |
44
+ | `worker.spawn_error` | Spawn failed (no PID, binary not found, permission denied) | `{pid?, error}` |
45
+ | `worker.response_timeout` | No stdout for `responseTimeoutMs` (default 5 min) | `{pid, error}` |
46
+ | `worker.final_drain` | Child finished but lingered — SIGTERM sent | `{pid}` |
47
+ | `worker.hard_kill` | Child still alive after `hardKillMs` — SIGKILL sent | `{pid}` |
48
+ | `worker.exit` | Process exited (before close) | `{pid, exitCode}` |
49
+ | `worker.close` | stdio fully closed | `{pid, exitCode}` |
50
+
51
+ **Tracing worker crashes:**
52
+ - `worker.spawned` followed by `worker.exit` with non-zero code → worker crashed
53
+ - `worker.spawned` followed immediately by `worker.spawn_error` → spawn failed
54
+ - `worker.spawned` followed by `worker.response_timeout` → worker hung
55
+ - `worker.spawned` followed by `worker.final_drain` → worker lingered but completed
56
+ - `worker.spawned` followed by `worker.hard_kill` → worker had to be forcibly killed
57
+
58
+ **Tracing "worker blinks":**
59
+ - Widget shows agent appears and disappears within 1 frame
60
+ - Root cause: `worker.spawned` + very fast `worker.exit` (crash during spawn)
61
+ - Look for `worker.spawn_error` with error details (API key, model, binary)
62
+ - `executeWorkers=false` (scaffold mode) means no `worker.spawned` at all — agent completes instantly
63
+
64
+ ### Live Agent Events (from live-agent-manager.ts)
65
+
66
+ | Event | When | Data |
67
+ |---|---|---|
68
+ | `live_agent.registered` | `registerLiveAgent` called | `{agentId, role, agent, workspaceId, runId, taskId}` |
69
+ | `live_agent.terminated` | `terminateLiveAgent` called | `{agentId, status, role, workspaceId, runId, taskId}` |
70
+
71
+ These track the full lifecycle from spawn to cleanup.
72
+
73
+ ### Run Lifecycle Events (from task-runner.ts, team-runner.ts)
74
+
75
+ | Event | When | Data |
76
+ |---|---|---|
77
+ | `run.created` | Run manifest created | `{team, workflow}` |
78
+ | `run.running` | Workflow execution begins | — |
79
+ | `run.completed` | All tasks done, no errors | — |
80
+ | `run.failed` | Run failed (fatal error, cancelled) | `{reason?}` |
81
+ | `task.started` | Task worker spawned | `{role, agent, runtime, cwd}` |
82
+ | `task.progress` | Progress event (activity, turns, tokens) | `{eventType, activityState, toolCount, turns, tokens}` |
83
+ | `task.attention` | Attention needed (no yield, completion guard, etc.) | `{reason, activityState}` |
84
+ | `task.completed` | Task finished successfully | — |
85
+ | `task.failed` | Task failed | `{error?}` |