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.
- package/CHANGELOG.md +20 -0
- package/LICENSE +21 -0
- package/README.md +97 -0
- package/index.ts +163 -0
- package/package.json +48 -0
- package/skills/adaptyv/SKILL.md +92 -0
- package/skills/add-community-extension/SKILL.md +85 -0
- package/skills/aeon/SKILL.md +111 -0
- package/skills/ai-slop-cleaner/SKILL.md +118 -0
- package/skills/anndata/SKILL.md +83 -0
- package/skills/arboreto/SKILL.md +107 -0
- package/skills/ask/SKILL.md +55 -0
- package/skills/astropy/SKILL.md +30 -0
- package/skills/async-worker-recovery/SKILL.md +44 -0
- package/skills/autopilot/SKILL.md +63 -0
- package/skills/autoresearch/SKILL.md +64 -0
- package/skills/autoskill/SKILL.md +116 -0
- package/skills/babysit/SKILL.md +43 -0
- package/skills/benchling-integration/SKILL.md +106 -0
- package/skills/bgpt-paper-search/SKILL.md +67 -0
- package/skills/biopython/SKILL.md +29 -0
- package/skills/bioservices/SKILL.md +96 -0
- package/skills/brainstorming/SKILL.md +104 -0
- package/skills/cancel/SKILL.md +85 -0
- package/skills/ccg/SKILL.md +87 -0
- package/skills/celery-pipeline/SKILL.md +30 -0
- package/skills/cellxgene-census/SKILL.md +104 -0
- package/skills/child-pi-spawning/SKILL.md +85 -0
- package/skills/cirq/SKILL.md +113 -0
- package/skills/citation-management/SKILL.md +91 -0
- package/skills/clinical-decision-support/SKILL.md +117 -0
- package/skills/clinical-reports/SKILL.md +118 -0
- package/skills/clinical-trial/SKILL.md +28 -0
- package/skills/cobrapy/SKILL.md +116 -0
- package/skills/configure-notifications/SKILL.md +85 -0
- package/skills/consciousness-council/SKILL.md +120 -0
- package/skills/context-artifact-hygiene/SKILL.md +85 -0
- package/skills/context-mode-ops/SKILL.md +87 -0
- package/skills/dask/SKILL.md +85 -0
- package/skills/database-lookup/SKILL.md +118 -0
- package/skills/datamol/SKILL.md +108 -0
- package/skills/debug/SKILL.md +32 -0
- package/skills/deep-dive/SKILL.md +114 -0
- package/skills/deep-interview/SKILL.md +90 -0
- package/skills/deepchem/SKILL.md +117 -0
- package/skills/deepinit/SKILL.md +100 -0
- package/skills/deeptools/SKILL.md +118 -0
- package/skills/delegation-patterns/SKILL.md +56 -0
- package/skills/depmap/SKILL.md +94 -0
- package/skills/dhdna-profiler/SKILL.md +86 -0
- package/skills/diffdock/SKILL.md +101 -0
- package/skills/dispatching-parallel-agents/SKILL.md +119 -0
- package/skills/dnanexus-integration/SKILL.md +118 -0
- package/skills/do/SKILL.md +48 -0
- package/skills/docker-sandbox/SKILL.md +29 -0
- package/skills/docx/SKILL.md +119 -0
- package/skills/esm/SKILL.md +116 -0
- package/skills/etetoolkit/SKILL.md +103 -0
- package/skills/event-log-tracing/SKILL.md +85 -0
- package/skills/exa-search/SKILL.md +72 -0
- package/skills/executing-plans/SKILL.md +69 -0
- package/skills/exploratory-data-analysis/SKILL.md +118 -0
- package/skills/external-context/SKILL.md +80 -0
- package/skills/fastapi/SKILL.md +30 -0
- package/skills/finishing-a-development-branch/SKILL.md +106 -0
- package/skills/flowio/SKILL.md +114 -0
- package/skills/fluidsim/SKILL.md +108 -0
- package/skills/generate-image/SKILL.md +108 -0
- package/skills/geniml/SKILL.md +117 -0
- package/skills/geomaster/SKILL.md +109 -0
- package/skills/geopandas/SKILL.md +114 -0
- package/skills/get-available-resources/SKILL.md +100 -0
- package/skills/gget/SKILL.md +111 -0
- package/skills/ginkgo-cloud-lab/SKILL.md +52 -0
- package/skills/git-master/SKILL.md +85 -0
- package/skills/glycoengineering/SKILL.md +104 -0
- package/skills/gtars/SKILL.md +104 -0
- package/skills/hackernews-frontpage/SKILL.md +46 -0
- package/skills/histolab/SKILL.md +98 -0
- package/skills/how-it-works/SKILL.md +25 -0
- package/skills/hud/SKILL.md +86 -0
- package/skills/hugging-science/SKILL.md +93 -0
- package/skills/huggingface/SKILL.md +30 -0
- package/skills/hypogenic/SKILL.md +107 -0
- package/skills/hypothesis-generation/SKILL.md +118 -0
- package/skills/imaging-data-commons/SKILL.md +119 -0
- package/skills/infographics/SKILL.md +102 -0
- package/skills/iso-13485-certification/SKILL.md +114 -0
- package/skills/knowledge-agent/SKILL.md +83 -0
- package/skills/labarchive-integration/SKILL.md +98 -0
- package/skills/lamindb/SKILL.md +119 -0
- package/skills/landsat/SKILL.md +29 -0
- package/skills/latchbio-integration/SKILL.md +118 -0
- package/skills/latex-posters/SKILL.md +112 -0
- package/skills/learn-codebase/SKILL.md +24 -0
- package/skills/learner/SKILL.md +118 -0
- package/skills/literature-review/SKILL.md +118 -0
- package/skills/live-agent-lifecycle/SKILL.md +85 -0
- package/skills/mailbox-interactive/SKILL.md +85 -0
- package/skills/make-plan/SKILL.md +59 -0
- package/skills/markdown-mermaid-writing/SKILL.md +118 -0
- package/skills/market-research-reports/SKILL.md +119 -0
- package/skills/markitdown/SKILL.md +111 -0
- package/skills/markitdown-docs/SKILL.md +28 -0
- package/skills/matchms/SKILL.md +91 -0
- package/skills/matlab/SKILL.md +118 -0
- package/skills/matplotlib/SKILL.md +30 -0
- package/skills/mcp-setup/SKILL.md +84 -0
- package/skills/medchem/SKILL.md +109 -0
- package/skills/mem-search/SKILL.md +96 -0
- package/skills/modal/SKILL.md +104 -0
- package/skills/model-routing-context/SKILL.md +85 -0
- package/skills/molecular-dynamics/SKILL.md +116 -0
- package/skills/molfeat/SKILL.md +110 -0
- package/skills/multi-perspective-review/SKILL.md +85 -0
- package/skills/networkx/SKILL.md +111 -0
- package/skills/neurokit2/SKILL.md +114 -0
- package/skills/neuropixels-analysis/SKILL.md +112 -0
- package/skills/nilearn/SKILL.md +29 -0
- package/skills/observability-reliability/SKILL.md +43 -0
- package/skills/omc-doctor/SKILL.md +86 -0
- package/skills/omc-reference/SKILL.md +119 -0
- package/skills/omc-setup/SKILL.md +82 -0
- package/skills/omc-teams/SKILL.md +81 -0
- package/skills/omero-integration/SKILL.md +111 -0
- package/skills/open-notebook/SKILL.md +100 -0
- package/skills/openephys/SKILL.md +28 -0
- package/skills/opentrons-integration/SKILL.md +110 -0
- package/skills/optimize-for-gpu/SKILL.md +119 -0
- package/skills/orchestration/SKILL.md +85 -0
- package/skills/ownership-session-security/SKILL.md +43 -0
- package/skills/paper-lookup/SKILL.md +119 -0
- package/skills/paperzilla/SKILL.md +114 -0
- package/skills/parallel-web/SKILL.md +64 -0
- package/skills/pathfinder/SKILL.md +114 -0
- package/skills/pathml/SKILL.md +98 -0
- package/skills/pdf/SKILL.md +113 -0
- package/skills/peer-review/SKILL.md +119 -0
- package/skills/pennylane/SKILL.md +119 -0
- package/skills/phylogenetics/SKILL.md +102 -0
- package/skills/pi-extension-lifecycle/SKILL.md +41 -0
- package/skills/plan/SKILL.md +66 -0
- package/skills/polars/SKILL.md +114 -0
- package/skills/polars-bio/SKILL.md +84 -0
- package/skills/pptx/SKILL.md +118 -0
- package/skills/pptx-posters/SKILL.md +112 -0
- package/skills/primekg/SKILL.md +97 -0
- package/skills/project-session-manager/SKILL.md +85 -0
- package/skills/protocolsio-integration/SKILL.md +119 -0
- package/skills/pubmed-search/SKILL.md +29 -0
- package/skills/pufferlib/SKILL.md +103 -0
- package/skills/pydeseq2/SKILL.md +106 -0
- package/skills/pydicom/SKILL.md +115 -0
- package/skills/pyhealth/SKILL.md +117 -0
- package/skills/pylabrobot/SKILL.md +100 -0
- package/skills/pymatgen/SKILL.md +28 -0
- package/skills/pymc/SKILL.md +108 -0
- package/skills/pymoo/SKILL.md +90 -0
- package/skills/pyopenms/SKILL.md +119 -0
- package/skills/pysam/SKILL.md +118 -0
- package/skills/pyspark/SKILL.md +30 -0
- package/skills/pytdc/SKILL.md +102 -0
- package/skills/pytorch/SKILL.md +31 -0
- package/skills/pytorch-lightning/SKILL.md +119 -0
- package/skills/pyzotero/SKILL.md +104 -0
- package/skills/qiskit/SKILL.md +119 -0
- package/skills/qutip/SKILL.md +111 -0
- package/skills/ralph/SKILL.md +23 -0
- package/skills/ralplan/SKILL.md +105 -0
- package/skills/rdflib/SKILL.md +29 -0
- package/skills/rdkit/SKILL.md +30 -0
- package/skills/read-only-explorer/SKILL.md +85 -0
- package/skills/receiving-code-review/SKILL.md +103 -0
- package/skills/release/SKILL.md +117 -0
- package/skills/remember/SKILL.md +39 -0
- package/skills/requesting-code-review/SKILL.md +85 -0
- package/skills/requirements-to-task-packet/SKILL.md +65 -0
- package/skills/research-grants/SKILL.md +118 -0
- package/skills/research-lookup/SKILL.md +117 -0
- package/skills/research-reproducibility/SKILL.md +28 -0
- package/skills/resource-discovery-config/SKILL.md +43 -0
- package/skills/rowan/SKILL.md +100 -0
- package/skills/runtime-state-reader/SKILL.md +46 -0
- package/skills/safe-bash/SKILL.md +85 -0
- package/skills/scanpy/SKILL.md +32 -0
- package/skills/scholar-evaluation/SKILL.md +115 -0
- package/skills/scientific-brainstorming/SKILL.md +118 -0
- package/skills/scientific-critical-thinking/SKILL.md +119 -0
- package/skills/scientific-schematics/SKILL.md +116 -0
- package/skills/scientific-slides/SKILL.md +117 -0
- package/skills/scientific-visualization/SKILL.md +109 -0
- package/skills/scientific-writing/SKILL.md +119 -0
- package/skills/scikit-bio/SKILL.md +92 -0
- package/skills/scikit-learn/SKILL.md +99 -0
- package/skills/scikit-survival/SKILL.md +110 -0
- package/skills/sciomc/SKILL.md +86 -0
- package/skills/scvelo/SKILL.md +106 -0
- package/skills/scvi-tools/SKILL.md +114 -0
- package/skills/seaborn/SKILL.md +97 -0
- package/skills/secure-agent-orchestration-review/SKILL.md +47 -0
- package/skills/self-improve/SKILL.md +119 -0
- package/skills/semantic-compression/SKILL.md +62 -0
- package/skills/setup/SKILL.md +42 -0
- package/skills/shap/SKILL.md +103 -0
- package/skills/simpy/SKILL.md +116 -0
- package/skills/skill/SKILL.md +117 -0
- package/skills/skill-search/SKILL.md +67 -0
- package/skills/skillify/SKILL.md +46 -0
- package/skills/smart-explore/SKILL.md +94 -0
- package/skills/sqlite-pandas/SKILL.md +30 -0
- package/skills/stable-baselines3/SKILL.md +86 -0
- package/skills/state-mutation-locking/SKILL.md +44 -0
- package/skills/statistical-analysis/SKILL.md +108 -0
- package/skills/statsmodels/SKILL.md +29 -0
- package/skills/subagent-driven-development/SKILL.md +89 -0
- package/skills/sympy/SKILL.md +115 -0
- package/skills/system-prompts/SKILL.md +116 -0
- package/skills/systematic-debugging/SKILL.md +119 -0
- package/skills/team/SKILL.md +85 -0
- package/skills/test-driven-development/SKILL.md +84 -0
- package/skills/tiledbvcf/SKILL.md +119 -0
- package/skills/timeline-report/SKILL.md +85 -0
- package/skills/timesfm-forecasting/SKILL.md +112 -0
- package/skills/torch-geometric/SKILL.md +118 -0
- package/skills/torchdrug/SKILL.md +118 -0
- package/skills/trace/SKILL.md +118 -0
- package/skills/transformers/SKILL.md +110 -0
- package/skills/treatment-plans/SKILL.md +119 -0
- package/skills/ui-render-performance/SKILL.md +41 -0
- package/skills/ultragoal/SKILL.md +63 -0
- package/skills/ultraqa/SKILL.md +85 -0
- package/skills/ultrawork/SKILL.md +20 -0
- package/skills/umap-learn/SKILL.md +119 -0
- package/skills/usfiscaldata/SKILL.md +118 -0
- package/skills/using-git-worktrees/SKILL.md +112 -0
- package/skills/using-superpowers/SKILL.md +85 -0
- package/skills/using-vetc/SKILL.md +92 -0
- package/skills/vaex/SKILL.md +111 -0
- package/skills/venue-templates/SKILL.md +113 -0
- package/skills/verification-before-completion/SKILL.md +88 -0
- package/skills/verification-before-done/SKILL.md +68 -0
- package/skills/verify/SKILL.md +33 -0
- package/skills/version-bump/SKILL.md +54 -0
- package/skills/vetc-analyze-ba/SKILL.md +117 -0
- package/skills/vetc-analyze-codebase/SKILL.md +118 -0
- package/skills/vetc-api-design/SKILL.md +103 -0
- package/skills/vetc-brainstorming/SKILL.md +116 -0
- package/skills/vetc-change-proposal/SKILL.md +111 -0
- package/skills/vetc-cicd/SKILL.md +113 -0
- package/skills/vetc-continuous-learning/SKILL.md +115 -0
- package/skills/vetc-deep-interview/SKILL.md +103 -0
- package/skills/vetc-docgen/SKILL.md +108 -0
- package/skills/vetc-frontend-patterns/SKILL.md +99 -0
- package/skills/vetc-iterative-retrieval/SKILL.md +110 -0
- package/skills/vetc-java-patterns/SKILL.md +113 -0
- package/skills/vetc-meta-skill-creator/SKILL.md +99 -0
- package/skills/vetc-oracle-patterns/SKILL.md +109 -0
- package/skills/vetc-performance-testing/SKILL.md +104 -0
- package/skills/vetc-pr-response/SKILL.md +106 -0
- package/skills/vetc-ralph/SKILL.md +108 -0
- package/skills/vetc-ralplan/SKILL.md +116 -0
- package/skills/vetc-receiving-review/SKILL.md +106 -0
- package/skills/vetc-reconcile-patterns/SKILL.md +117 -0
- package/skills/vetc-refactoring/SKILL.md +96 -0
- package/skills/vetc-runbook/SKILL.md +118 -0
- package/skills/vetc-sast/SKILL.md +118 -0
- package/skills/vetc-sdlc/SKILL.md +97 -0
- package/skills/vetc-security/SKILL.md +117 -0
- package/skills/vetc-spec-driven/SKILL.md +111 -0
- package/skills/vetc-spec-quality/SKILL.md +117 -0
- package/skills/vetc-systematic-debugging/SKILL.md +74 -0
- package/skills/vetc-tdd/SKILL.md +96 -0
- package/skills/vetc-thinking-pm/SKILL.md +110 -0
- package/skills/vetc-ui-visual-qa/SKILL.md +117 -0
- package/skills/vetc-verify/SKILL.md +101 -0
- package/skills/visual-verdict/SKILL.md +59 -0
- package/skills/what-if-oracle/SKILL.md +87 -0
- package/skills/widget-rendering/SKILL.md +85 -0
- package/skills/wiki/SKILL.md +69 -0
- package/skills/workspace-isolation/SKILL.md +85 -0
- package/skills/worktree-isolation/SKILL.md +85 -0
- package/skills/wowerpoint/SKILL.md +101 -0
- package/skills/writer-memory/SKILL.md +82 -0
- package/skills/writing-plans/SKILL.md +115 -0
- package/skills/writing-skills/SKILL.md +115 -0
- package/skills/xgboost/SKILL.md +29 -0
- package/skills/xgboost-ts/SKILL.md +28 -0
- package/skills/xlsx/SKILL.md +111 -0
- package/skills/zarr-python/SKILL.md +101 -0
- package/src/categories.ts +383 -0
- package/src/format.ts +104 -0
- package/src/indexer.ts +101 -0
- package/src/proactive.ts +51 -0
- package/src/scanner.ts +85 -0
- package/src/search.ts +89 -0
- package/src/strip.ts +29 -0
- package/src/synonyms.ts +83 -0
- package/src/text.ts +118 -0
- package/src/types.ts +64 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ultragoal
|
|
3
|
+
description: Durable multi-goal workflow that persists plan/ledger artifacts under .omc/ultragoal and prints Claude /goal handoff text for the active session
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
- The task is a single small change — use direct delegation or `ralph` instead
|
|
7
|
+
- The user wants the assistant to literally invoke `/goal` itself from the shell — that is not possible; `omc ultragoal` only writes artifacts and prints handoff text
|
|
8
|
+
- The user wants a planning-only artifact with no execution loop — use `plan` instead
|
|
9
|
+
|
|
10
|
+
Claude Code `/goal` is a session-scoped Stop hook: it blocks the session from stopping until a condition holds, and auto-clears on success. That is a great single-session execution primitive, but it loses state across sessions and does not by itself enforce a final review gate. `omc ultragoal` adds a durable plan, ledger, and gating layer so a long multi-step initiative can survive session restarts, fresh worktrees, and review iterations while still leveraging Claude `/goal` to keep the active agent focused.
|
|
11
|
+
|
|
12
|
+
1. Create a plan from a brief:
|
|
13
|
+
```
|
|
14
|
+
omc ultragoal create-goals --brief-file plan.md
|
|
15
|
+
```
|
|
16
|
+
Or with explicit stories:
|
|
17
|
+
```
|
|
18
|
+
omc ultragoal create-goals --brief "ship the migration" \
|
|
19
|
+
--goal "Schema::Add new columns" \
|
|
20
|
+
--goal "Backfill::Backfill rows in batches" \
|
|
21
|
+
--goal "Cutover::Drop old columns and switch reads"
|
|
22
|
+
```
|
|
23
|
+
The default mode is `aggregate` (one Claude `/goal` covers the run).
|
|
24
|
+
Pass `--claude-goal-mode per-story` if you want each story to have its own `/goal`.
|
|
25
|
+
|
|
26
|
+
2. Start (or resume) the next story:
|
|
27
|
+
```
|
|
28
|
+
omc ultragoal complete-goals
|
|
29
|
+
```
|
|
30
|
+
This prints a model-facing handoff. The active Claude agent must read it and:
|
|
31
|
+
- Confirm/Set the active `/goal` condition in this session.
|
|
32
|
+
- Work the story.
|
|
33
|
+
- When the story is complete (and for the final story, after the full quality gate), share back a snapshot of the active `/goal` state and call `checkpoint`.
|
|
34
|
+
|
|
35
|
+
3. Checkpoint a story:
|
|
36
|
+
```
|
|
37
|
+
omc ultragoal checkpoint --goal-id G001-... --status complete \
|
|
38
|
+
--evidence "tests/files/PR evidence" \
|
|
39
|
+
--claude-goal-json '{"goal":{"objective":"...","status":"active"}}'
|
|
40
|
+
```
|
|
41
|
+
For the final story, also pass `--quality-gate-json` containing
|
|
42
|
+
`aiSlopCleaner`, `verification`, and `codeReview` evidence (all clean).
|
|
43
|
+
|
|
44
|
+
4. If the final review is not clean, do NOT mark complete. Record blockers:
|
|
45
|
+
```
|
|
46
|
+
omc ultragoal record-review-blockers --goal-id G00X-... \
|
|
47
|
+
--title "Resolve final code-review blockers" \
|
|
48
|
+
--objective "Fix the listed review findings and rerun final gates" \
|
|
49
|
+
--evidence "<the review findings>" \
|
|
50
|
+
--claude-goal-json '{"goal":{"objective":"...","status":"active"}}'
|
|
51
|
+
```
|
|
52
|
+
This appends a new blocker story and keeps the Claude `/goal` active.
|
|
53
|
+
|
|
54
|
+
5. Inspect state at any time:
|
|
55
|
+
```
|
|
56
|
+
omc ultragoal status
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
- The shell cannot invoke or mutate Claude Code `/goal` state. `omc ultragoal` only persists durable artifacts and prints instructions that the active Claude agent reads and acts on in-session.
|
|
60
|
+
- Snapshots passed via `--claude-goal-json` are model-supplied proof of the active `/goal` state; OMC validates them for textual consistency with the plan's expected objective and ledger event, but it cannot independently observe Claude `/goal` state.
|
|
61
|
+
- If the Claude `/goal` slash command is renamed or restructured, only the handoff wording needs to change; the reconciliation logic is name-agnostic.
|
|
62
|
+
|
|
63
|
+
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ultraqa
|
|
3
|
+
description: QA cycling workflow - test, verify, fix, repeat until goal met
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# UltraQA Skill
|
|
7
|
+
|
|
8
|
+
[ULTRAQA ACTIVATED - AUTONOMOUS QA CYCLING]
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
You are now in **ULTRAQA** mode - an autonomous QA cycling workflow that runs until your quality goal is met.
|
|
13
|
+
|
|
14
|
+
**Cycle**: qa-tester → architect verification → fix → repeat
|
|
15
|
+
|
|
16
|
+
## Goal Parsing
|
|
17
|
+
|
|
18
|
+
Parse the goal from arguments. Supported formats:
|
|
19
|
+
|
|
20
|
+
| Invocation | Goal Type | What to Check |
|
|
21
|
+
|------------|-----------|---------------|
|
|
22
|
+
| `ultraqa --tests` | tests | All test suites pass |
|
|
23
|
+
| `ultraqa --build` | build | Build succeeds with exit 0 |
|
|
24
|
+
| `ultraqa --lint` | lint | No lint errors |
|
|
25
|
+
| `ultraqa --typecheck` | typecheck | No TypeScript errors |
|
|
26
|
+
| `ultraqa --custom "pattern"` | custom | Custom success pattern in output |
|
|
27
|
+
|
|
28
|
+
If no structured goal provided, interpret the argument as a custom goal.
|
|
29
|
+
|
|
30
|
+
## Cycle Workflow
|
|
31
|
+
|
|
32
|
+
### Cycle N (Max 5)
|
|
33
|
+
|
|
34
|
+
1. **RUN QA**: Execute verification based on goal type
|
|
35
|
+
- `--tests`: Run the project's test command
|
|
36
|
+
- `--build`: Run the project's build command
|
|
37
|
+
- `--lint`: Run the project's lint command
|
|
38
|
+
- `--typecheck`: Run the project's type check command
|
|
39
|
+
- `--custom`: Run appropriate command and check for pattern
|
|
40
|
+
- `--interactive`: Use qa-tester for interactive CLI/service testing:
|
|
41
|
+
```
|
|
42
|
+
Task(subagent_type="oh-my-claudecode:qa-tester", model="sonnet", prompt="TEST:
|
|
43
|
+
Goal: [describe what to verify]
|
|
44
|
+
Service: [how to start]
|
|
45
|
+
Test cases: [specific scenarios to verify]")
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
2. **CHECK RESULT**: Did the goal pass?
|
|
49
|
+
- **YES** → Exit with success message
|
|
50
|
+
- **NO** → Continue to step 3
|
|
51
|
+
|
|
52
|
+
3. **ARCHITECT DIAGNOSIS**: Spawn architect to analyze failure
|
|
53
|
+
```
|
|
54
|
+
Task(subagent_type="oh-my-claudecode:architect", model="opus", prompt="DIAGNOSE FAILURE:
|
|
55
|
+
Goal: [goal type]
|
|
56
|
+
Output: [test/build output]
|
|
57
|
+
Provide root cause and specific fix recommendations.")
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
4. **FIX ISSUES**: Apply architect's recommendations
|
|
61
|
+
```
|
|
62
|
+
Task(subagent_type="oh-my-claudecode:executor", model="sonnet", prompt="FIX:
|
|
63
|
+
Issue: [architect diagnosis]
|
|
64
|
+
Files: [affected files]
|
|
65
|
+
Apply the fix precisely as recommended.")
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
5. **REPEAT**: Go back to step 1
|
|
69
|
+
|
|
70
|
+
## Exit Conditions
|
|
71
|
+
|
|
72
|
+
| Condition | Action |
|
|
73
|
+
|-----------|--------|
|
|
74
|
+
| **Goal Met** | Exit with success: "ULTRAQA COMPLETE: Goal met after N cycles" |
|
|
75
|
+
| **Cycle 5 Reached** | Exit with diagnosis: "ULTRAQA STOPPED: Max cycles. Diagnosis: ..." |
|
|
76
|
+
| **Same Failure 3x** | Exit early: "ULTRAQA STOPPED: Same failure detected 3 times. Root cause: ..." |
|
|
77
|
+
| **Environment Error** | Exit: "ULTRAQA ERROR: [tmux/port/dependency issue]" |
|
|
78
|
+
|
|
79
|
+
## Observability
|
|
80
|
+
|
|
81
|
+
Output progress each cycle:
|
|
82
|
+
```
|
|
83
|
+
[ULTRAQA Cycle 1/5] Running tests...
|
|
84
|
+
[ULTRAQA Cycle 1/5] FAILED - 3 tests failing
|
|
85
|
+
```
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ultrawork
|
|
3
|
+
description: Parallel execution engine for high-throughput task completion
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Relationship to Other Modes
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
ralph (persistence wrapper)
|
|
10
|
+
\-- includes: ultrawork (this skill)
|
|
11
|
+
\-- provides: parallel execution only
|
|
12
|
+
|
|
13
|
+
autopilot (autonomous execution)
|
|
14
|
+
\-- includes: ralph
|
|
15
|
+
\-- includes: ultrawork (this skill)
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Ultrawork is the parallelism layer. Ralph adds persistence and verification. Autopilot adds the full lifecycle pipeline.
|
|
19
|
+
|
|
20
|
+
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: umap-learn
|
|
3
|
+
description: UMAP dimensionality reduction. Fast nonlinear manifold learning for 2D/3D visualization, clustering preprocessing (HDBSCAN), supervised/parametric UMAP, for high-dimensional data.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# UMAP-Learn
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
UMAP (Uniform Manifold Approximation and Projection) is a dimensionality reduction technique for visualization and general non-linear dimensionality reduction. Apply this skill for fast, scalable embeddings that preserve local and global structure, supervised learning, and clustering preprocessing.
|
|
11
|
+
|
|
12
|
+
## Quick Start
|
|
13
|
+
|
|
14
|
+
### Basic Usage
|
|
15
|
+
|
|
16
|
+
UMAP follows scikit-learn conventions and can be used as a drop-in replacement for t-SNE or PCA.
|
|
17
|
+
|
|
18
|
+
```python
|
|
19
|
+
import umap
|
|
20
|
+
from sklearn.preprocessing import StandardScaler
|
|
21
|
+
|
|
22
|
+
# Prepare data (standardization is essential)
|
|
23
|
+
scaled_data = StandardScaler().fit_transform(data)
|
|
24
|
+
|
|
25
|
+
# Method 1: Single step (fit and transform)
|
|
26
|
+
embedding = umap.UMAP().fit_transform(scaled_data)
|
|
27
|
+
|
|
28
|
+
# Method 2: Separate steps (for reusing trained model)
|
|
29
|
+
reducer = umap.UMAP(random_state=42)
|
|
30
|
+
reducer.fit(scaled_data)
|
|
31
|
+
embedding = reducer.embedding_ # Access the trained embedding
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**Critical preprocessing requirement:** Always standardize features to comparable scales before applying UMAP to ensure equal weighting across dimensions.
|
|
35
|
+
|
|
36
|
+
### Typical Workflow
|
|
37
|
+
|
|
38
|
+
```python
|
|
39
|
+
import umap
|
|
40
|
+
import matplotlib.pyplot as plt
|
|
41
|
+
from sklearn.preprocessing import StandardScaler
|
|
42
|
+
|
|
43
|
+
# 1. Preprocess data
|
|
44
|
+
scaler = StandardScaler()
|
|
45
|
+
scaled_data = scaler.fit_transform(raw_data)
|
|
46
|
+
|
|
47
|
+
# 2. Create and fit UMAP
|
|
48
|
+
reducer = umap.UMAP(
|
|
49
|
+
n_neighbors=15,
|
|
50
|
+
min_dist=0.1,
|
|
51
|
+
n_components=2,
|
|
52
|
+
metric='euclidean',
|
|
53
|
+
random_state=42
|
|
54
|
+
)
|
|
55
|
+
embedding = reducer.fit_transform(scaled_data)
|
|
56
|
+
|
|
57
|
+
# 3. Visualize
|
|
58
|
+
plt.scatter(embedding[:, 0], embedding[:, 1], c=labels, cmap='Spectral', s=5)
|
|
59
|
+
plt.colorbar()
|
|
60
|
+
plt.title('UMAP Embedding')
|
|
61
|
+
plt.show()
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Parameter Tuning Guide
|
|
65
|
+
|
|
66
|
+
UMAP has four primary parameters that control the embedding behavior. Understanding these is crucial for effective usage.
|
|
67
|
+
|
|
68
|
+
### n_neighbors (default: 15)
|
|
69
|
+
|
|
70
|
+
**Purpose:** Balances local versus global structure in the embedding.
|
|
71
|
+
|
|
72
|
+
**How it works:** Controls the size of the local neighborhood UMAP examines when learning manifold structure.
|
|
73
|
+
|
|
74
|
+
**Effects by value:**
|
|
75
|
+
- **Low values (2-5):** Emphasizes fine local detail but may fragment data into disconnected components
|
|
76
|
+
- **Medium values (15-20):** Balanced view of both local structure and global relationships (recommended starting point)
|
|
77
|
+
- **High values (50-200):** Prioritizes broad topological structure at the expense of fine-grained details
|
|
78
|
+
|
|
79
|
+
**Recommendation:** Start with 15 and adjust based on results. Increase for more global structure, decrease for more local detail.
|
|
80
|
+
|
|
81
|
+
### min_dist (default: 0.1)
|
|
82
|
+
|
|
83
|
+
**Purpose:** Controls how tightly points cluster in the low-dimensional space.
|
|
84
|
+
|
|
85
|
+
**How it works:** Sets the minimum distance apart that points are allowed to be in the output representation.
|
|
86
|
+
|
|
87
|
+
**Effects by value:**
|
|
88
|
+
- **Low values (0.0-0.1):** Creates clumped embeddings useful for clustering; reveals fine topological details
|
|
89
|
+
- **High values (0.5-0.99):** Prevents tight packing; emphasizes broad topological preservation over local structure
|
|
90
|
+
|
|
91
|
+
**Recommendation:** Use 0.0 for clustering applications, 0.1-0.3 for visualization, 0.5+ for loose structure.
|
|
92
|
+
|
|
93
|
+
### n_components (default: 2)
|
|
94
|
+
|
|
95
|
+
**Purpose:** Determines the dimensionality of the embedded output space.
|
|
96
|
+
|
|
97
|
+
**Key feature:** Unlike t-SNE, UMAP scales well in the embedding dimension, enabling use beyond visualization.
|
|
98
|
+
|
|
99
|
+
**Common uses:**
|
|
100
|
+
- **2-3 dimensions:** Visualization
|
|
101
|
+
- **5-10 dimensions:** Clustering preprocessing (better preserves density than 2D)
|
|
102
|
+
- **10-50 dimensions:** Feature engineering for downstream ML models
|
|
103
|
+
|
|
104
|
+
**Recommendation:** Use 2 for visualization, 5-10 for clustering, higher for ML pipelines.
|
|
105
|
+
|
|
106
|
+
### metric (default: 'euclidean')
|
|
107
|
+
|
|
108
|
+
**Purpose:** Specifies how distance is calculated between input data points.
|
|
109
|
+
|
|
110
|
+
**Supported metrics:**
|
|
111
|
+
- **Minkowski variants:** euclidean, manhattan, chebyshev
|
|
112
|
+
- **Spatial metrics:** canberra, braycurtis, haversine
|
|
113
|
+
- **Correlation metrics:** cosine, correlation (good for text/document embeddings)
|
|
114
|
+
- **Binary data metrics:** hamming, jaccard, dice, russellrao, kulsinski, rogerstanimoto, sokalmichener, sokalsneath, yule
|
|
115
|
+
- **Custom metrics:** User-defined distance functions via Numba
|
|
116
|
+
|
|
117
|
+
**Recommendation:** Use euclidean for numeric data, cosine for text/document vectors, hamming for binary data.
|
|
118
|
+
|
|
119
|
+
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: usfiscaldata
|
|
3
|
+
description: Query the U.S. Treasury Fiscal Data API for federal financial data including national debt, government spending, revenue, interest rates, exchange rates, and savings bonds. Access 54 datasets and 182 data tables with no API key required. Use when working with U.S. federal fiscal data, national debt tracking (Debt to the Penny), Daily Treasury Statements, Monthly Treasury Statements, Treasury securities auctions, interest rates on Treasury securities, foreign exchange rates, savings bonds, or any U.S. government financial statistics.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# U.S. Treasury Fiscal Data API
|
|
7
|
+
|
|
8
|
+
Free, open REST API from the U.S. Department of the Treasury for federal financial data. No API key or registration required.
|
|
9
|
+
|
|
10
|
+
**Base URL:** `https://api.fiscaldata.treasury.gov/services/api/fiscal_service`
|
|
11
|
+
|
|
12
|
+
## Quick Start
|
|
13
|
+
|
|
14
|
+
```python
|
|
15
|
+
import requests
|
|
16
|
+
import pandas as pd
|
|
17
|
+
|
|
18
|
+
BASE_URL = "https://api.fiscaldata.treasury.gov/services/api/fiscal_service"
|
|
19
|
+
|
|
20
|
+
# Get the current national debt (Debt to the Penny)
|
|
21
|
+
resp = requests.get(f"{BASE_URL}/v2/accounting/od/debt_to_penny", params={
|
|
22
|
+
"sort": "-record_date",
|
|
23
|
+
"page[size]": 1
|
|
24
|
+
})
|
|
25
|
+
data = resp.json()["data"][0]
|
|
26
|
+
print(f"Total public debt as of {data['record_date']}: ${float(data['tot_pub_debt_out_amt']):,.0f}")
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
```python
|
|
30
|
+
# Get Treasury exchange rates for recent quarters
|
|
31
|
+
resp = requests.get(f"{BASE_URL}/v1/accounting/od/rates_of_exchange", params={
|
|
32
|
+
"fields": "country_currency_desc,exchange_rate,record_date",
|
|
33
|
+
"filter": "record_date:gte:2024-01-01",
|
|
34
|
+
"sort": "-record_date",
|
|
35
|
+
"page[size]": 100
|
|
36
|
+
})
|
|
37
|
+
df = pd.DataFrame(resp.json()["data"])
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Authentication
|
|
41
|
+
|
|
42
|
+
None required. The API is fully open and free.
|
|
43
|
+
|
|
44
|
+
## Core Parameters
|
|
45
|
+
|
|
46
|
+
| Parameter | Example | Description |
|
|
47
|
+
|-----------|---------|-------------|
|
|
48
|
+
| `fields=` | `fields=record_date,tot_pub_debt_out_amt` | Select specific columns |
|
|
49
|
+
| `filter=` | `filter=record_date:gte:2024-01-01` | Filter records |
|
|
50
|
+
| `sort=` | `sort=-record_date` | Sort (prefix `-` for descending) |
|
|
51
|
+
| `format=` | `format=json` | Output format: `json`, `csv`, `xml` |
|
|
52
|
+
| `page[size]=` | `page[size]=100` | Records per page (default 100) |
|
|
53
|
+
| `page[number]=` | `page[number]=2` | Page index (starts at 1) |
|
|
54
|
+
|
|
55
|
+
**Filter operators:** `lt`, `lte`, `gt`, `gte`, `eq`, `in`
|
|
56
|
+
|
|
57
|
+
```python
|
|
58
|
+
# Multiple filters separated by comma
|
|
59
|
+
"filter=country_currency_desc:in:(Canada-Dollar,Mexico-Peso),record_date:gte:2024-01-01"
|
|
60
|
+
|
|
61
|
+
## Key Datasets & Endpoints
|
|
62
|
+
|
|
63
|
+
### Debt
|
|
64
|
+
|
|
65
|
+
| Dataset | Endpoint | Frequency |
|
|
66
|
+
|---------|----------|-----------|
|
|
67
|
+
| Debt to the Penny | `/v2/accounting/od/debt_to_penny` | Daily |
|
|
68
|
+
| Historical Debt Outstanding | `/v2/accounting/od/historical_debt_outstanding` | Annual |
|
|
69
|
+
| Schedules of Federal Debt | `/v1/accounting/od/schedules_fed_debt` | Monthly |
|
|
70
|
+
|
|
71
|
+
### Daily & Monthly Statements
|
|
72
|
+
|
|
73
|
+
| Dataset | Endpoint | Frequency |
|
|
74
|
+
|---------|----------|-----------|
|
|
75
|
+
| DTS Operating Cash Balance | `/v1/accounting/dts/operating_cash_balance` | Daily |
|
|
76
|
+
| DTS Deposits & Withdrawals | `/v1/accounting/dts/deposits_withdrawals_operating_cash` | Daily |
|
|
77
|
+
| Monthly Treasury Statement (MTS) | `/v1/accounting/mts/mts_table_1` (16 tables) | Monthly |
|
|
78
|
+
|
|
79
|
+
### Interest Rates & Exchange
|
|
80
|
+
|
|
81
|
+
| Dataset | Endpoint | Frequency |
|
|
82
|
+
|---------|----------|-----------|
|
|
83
|
+
| Average Interest Rates on Treasury Securities | `/v2/accounting/od/avg_interest_rates` | Monthly |
|
|
84
|
+
| Treasury Reporting Rates of Exchange | `/v1/accounting/od/rates_of_exchange` | Quarterly |
|
|
85
|
+
| Interest Expense on Public Debt | `/v2/accounting/od/interest_expense` | Monthly |
|
|
86
|
+
|
|
87
|
+
### Securities & Auctions
|
|
88
|
+
|
|
89
|
+
| Dataset | Endpoint | Frequency |
|
|
90
|
+
|---------|----------|-----------|
|
|
91
|
+
| Treasury Securities Auctions Data | `/v1/accounting/od/auctions_query` | As Needed |
|
|
92
|
+
| Treasury Securities Upcoming Auctions | `/v1/accounting/od/upcoming_auctions` | As Needed |
|
|
93
|
+
| Average Interest Rates | `/v2/accounting/od/avg_interest_rates` | Monthly |
|
|
94
|
+
|
|
95
|
+
### Savings Bonds
|
|
96
|
+
|
|
97
|
+
| Dataset | Endpoint | Frequency |
|
|
98
|
+
|---------|----------|-----------|
|
|
99
|
+
| I Bonds Interest Rates | `/v2/accounting/od/i_bond_interest_rates` | Semi-Annual |
|
|
100
|
+
| U.S. Treasury Savings Bonds: Issues, Redemptions & Maturities | `/v1/accounting/od/sb_issues_redemptions` | Monthly |
|
|
101
|
+
|
|
102
|
+
## Response Structure
|
|
103
|
+
|
|
104
|
+
```json
|
|
105
|
+
{
|
|
106
|
+
"data": [...],
|
|
107
|
+
"meta": {
|
|
108
|
+
"count": 100,
|
|
109
|
+
"total-count": 3790,
|
|
110
|
+
"total-pages": 38,
|
|
111
|
+
"labels": {"field_name": "Human Readable Label"},
|
|
112
|
+
"dataTypes": {"field_name": "STRING|NUMBER|DATE|CURRENCY"},
|
|
113
|
+
"dataFormats": {"field_name": "String|10.2|YYYY-MM-DD"}
|
|
114
|
+
},
|
|
115
|
+
"links": {"self": "...", "first": "...", "prev": null, "next": "...", "last": "..."}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-git-worktrees
|
|
3
|
+
description: Use when starting feature work that needs isolation from current workspace or before executing implementation plans - ensures an isolated workspace exists via native tools or git worktree fallback
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Using Git Worktrees
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Ensure work happens in an isolated workspace. Prefer your platform's native worktree tools. Fall back to manual git worktrees only when no native tool is available.
|
|
11
|
+
|
|
12
|
+
**Core principle:** Detect existing isolation first. Then use native tools. Then fall back to git. Never fight the harness.
|
|
13
|
+
|
|
14
|
+
**Announce at start:** "I'm using the using-git-worktrees skill to set up an isolated workspace."
|
|
15
|
+
|
|
16
|
+
## Step 0: Detect Existing Isolation
|
|
17
|
+
|
|
18
|
+
**Before creating anything, check if you are already in an isolated workspace.**
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
|
|
22
|
+
GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
|
|
23
|
+
BRANCH=$(git branch --show-current)
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**Submodule guard:** `GIT_DIR != GIT_COMMON` is also true inside git submodules. Before concluding "already in a worktree," verify you are not in a submodule:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# If this returns a path, you're in a submodule, not a worktree — treat as normal repo
|
|
30
|
+
git rev-parse --show-superproject-working-tree 2>/dev/null
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**If `GIT_DIR != GIT_COMMON` (and not a submodule):** You are already in a linked worktree. Skip to Step 3 (Project Setup). Do NOT create another worktree.
|
|
34
|
+
|
|
35
|
+
Report with branch state:
|
|
36
|
+
- On a branch: "Already in isolated workspace at `<path>` on branch ``."
|
|
37
|
+
- Detached HEAD: "Already in isolated workspace at `<path>` (detached HEAD, externally managed). Branch creation needed at finish time."
|
|
38
|
+
|
|
39
|
+
**If `GIT_DIR == GIT_COMMON` (or in a submodule):** You are in a normal repo checkout.
|
|
40
|
+
|
|
41
|
+
Has the user already indicated their worktree preference in your instructions? If not, ask for consent before creating a worktree:
|
|
42
|
+
|
|
43
|
+
> "Would you like me to set up an isolated worktree? It protects your current branch from changes."
|
|
44
|
+
|
|
45
|
+
Honor any existing declared preference without asking. If the user declines consent, work in place and skip to Step 3.
|
|
46
|
+
|
|
47
|
+
## Step 1: Create Isolated Workspace
|
|
48
|
+
|
|
49
|
+
**You have two mechanisms. Try them in this order.**
|
|
50
|
+
|
|
51
|
+
### 1a. Native Worktree Tools (preferred)
|
|
52
|
+
|
|
53
|
+
The user has asked for an isolated workspace (Step 0 consent). Do you already have a way to create a worktree? It might be a tool with a name like `EnterWorktree`, `WorktreeCreate`, a `/worktree` command, or a `--worktree` flag. If you do, use it and skip to Step 3.
|
|
54
|
+
|
|
55
|
+
Native tools handle directory placement, branch creation, and cleanup automatically. Using `git worktree add` when you have a native tool creates phantom state your harness can't see or manage.
|
|
56
|
+
|
|
57
|
+
Only proceed to Step 1b if you have no native worktree tool available.
|
|
58
|
+
|
|
59
|
+
### 1b. Git Worktree Fallback
|
|
60
|
+
|
|
61
|
+
**Only use this if Step 1a does not apply** — you have no native worktree tool available. Create a worktree manually using git.
|
|
62
|
+
|
|
63
|
+
#### Directory Selection
|
|
64
|
+
|
|
65
|
+
Follow this priority order. Explicit user preference always beats observed filesystem state.
|
|
66
|
+
|
|
67
|
+
1. **Check your instructions for a declared worktree directory preference.** If the user has already specified one, use it without asking.
|
|
68
|
+
|
|
69
|
+
2. **Check for an existing project-local worktree directory:**
|
|
70
|
+
```bash
|
|
71
|
+
ls -d .worktrees 2>/dev/null # Preferred (hidden)
|
|
72
|
+
ls -d worktrees 2>/dev/null # Alternative
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
# Determine path based on chosen location
|
|
76
|
+
# For project-local: path="$LOCATION/$BRANCH_NAME"
|
|
77
|
+
# For global: path="~/.config/superpowers/worktrees/$project/$BRANCH_NAME"
|
|
78
|
+
|
|
79
|
+
git worktree add "$path" -b "$BRANCH_NAME"
|
|
80
|
+
cd "$path"
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**Sandbox fallback:** If `git worktree add` fails with a permission error (sandbox denial), tell the user the sandbox blocked worktree creation and you're working in the current directory instead. Then run setup and baseline tests in place.
|
|
84
|
+
|
|
85
|
+
## Step 3: Project Setup
|
|
86
|
+
|
|
87
|
+
Auto-detect and run appropriate setup:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# Node.js
|
|
91
|
+
if [ -f package.json ]; then npm install; fi
|
|
92
|
+
|
|
93
|
+
# Rust
|
|
94
|
+
if [ -f Cargo.toml ]; then cargo build; fi
|
|
95
|
+
|
|
96
|
+
# Python
|
|
97
|
+
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
|
|
98
|
+
if [ -f pyproject.toml ]; then poetry install; fi
|
|
99
|
+
|
|
100
|
+
# Go
|
|
101
|
+
if [ -f go.mod ]; then go mod download; fi
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Step 4: Verify Clean Baseline
|
|
105
|
+
|
|
106
|
+
Run tests to ensure workspace starts clean:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# Use project-appropriate command
|
|
110
|
+
npm test / cargo test / pytest / go test ./...
|
|
111
|
+
|
|
112
|
+
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-superpowers
|
|
3
|
+
description: Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Instruction Priority
|
|
7
|
+
|
|
8
|
+
Superpowers skills override default system prompt behavior, but **user instructions always take precedence**:
|
|
9
|
+
|
|
10
|
+
1. **User's explicit instructions** (CLAUDE.md, GEMINI.md, AGENTS.md, direct requests) — highest priority
|
|
11
|
+
2. **Superpowers skills** — override default system behavior where they conflict
|
|
12
|
+
3. **Default system prompt** — lowest priority
|
|
13
|
+
|
|
14
|
+
If CLAUDE.md, GEMINI.md, or AGENTS.md says "don't use TDD" and a skill says "always use TDD," follow the user's instructions. The user is in control.
|
|
15
|
+
|
|
16
|
+
## How to Access Skills
|
|
17
|
+
|
|
18
|
+
**In Claude Code:** Use the `Skill` tool. When you invoke a skill, its content is loaded and presented to you—follow it directly. Never use the Read tool on skill files.
|
|
19
|
+
|
|
20
|
+
**In Copilot CLI:** Use the `skill` tool. Skills are auto-discovered from installed plugins. The `skill` tool works the same as Claude Code's `Skill` tool.
|
|
21
|
+
|
|
22
|
+
**In Gemini CLI:** Skills activate via the `activate_skill` tool. Gemini loads skill metadata at session start and activates the full content on demand.
|
|
23
|
+
|
|
24
|
+
**In other environments:** Check your platform's documentation for how skills are loaded.
|
|
25
|
+
|
|
26
|
+
## Platform Adaptation
|
|
27
|
+
|
|
28
|
+
Skills use Claude Code tool names. Non-CC platforms: see `(see docs)` (Copilot CLI), `(see docs)` (Codex) for tool equivalents. Gemini CLI users get the tool mapping loaded automatically via GEMINI.md.
|
|
29
|
+
|
|
30
|
+
# Using Skills
|
|
31
|
+
|
|
32
|
+
## The Rule
|
|
33
|
+
|
|
34
|
+
**Invoke relevant or requested skills BEFORE any response or action.** Even a 1% chance a skill might apply means that you should invoke the skill to check. If an invoked skill turns out to be wrong for the situation, you don't need to use it.
|
|
35
|
+
|
|
36
|
+
```dot
|
|
37
|
+
digraph skill_flow {
|
|
38
|
+
"User message received" [shape=doublecircle];
|
|
39
|
+
"About to EnterPlanMode?" [shape=doublecircle];
|
|
40
|
+
"Already brainstormed?" [shape=diamond];
|
|
41
|
+
"Invoke brainstorming skill" [shape=box];
|
|
42
|
+
"Might any skill apply?" [shape=diamond];
|
|
43
|
+
"Invoke Skill tool" [shape=box];
|
|
44
|
+
"Announce: 'Using [skill] to [purpose]'" [shape=box];
|
|
45
|
+
"Has checklist?" [shape=diamond];
|
|
46
|
+
"Create TodoWrite todo per item" [shape=box];
|
|
47
|
+
|
|
48
|
+
## Red Flags
|
|
49
|
+
|
|
50
|
+
These thoughts mean STOP—you're rationalizing:
|
|
51
|
+
|
|
52
|
+
| Thought | Reality |
|
|
53
|
+
|---------|---------|
|
|
54
|
+
| "This is just a simple question" | Questions are tasks. Check for skills. |
|
|
55
|
+
| "I need more context first" | Skill check comes BEFORE clarifying questions. |
|
|
56
|
+
| "Let me explore the codebase first" | Skills tell you HOW to explore. Check first. |
|
|
57
|
+
| "I can check git/files quickly" | Files lack conversation context. Check for skills. |
|
|
58
|
+
| "Let me gather information first" | Skills tell you HOW to gather information. |
|
|
59
|
+
| "This doesn't need a formal skill" | If a skill exists, use it. |
|
|
60
|
+
| "I remember this skill" | Skills evolve. Read current version. |
|
|
61
|
+
| "This doesn't count as a task" | Action = task. Check for skills. |
|
|
62
|
+
| "The skill is overkill" | Simple things become complex. Use it. |
|
|
63
|
+
|
|
64
|
+
## Skill Priority
|
|
65
|
+
|
|
66
|
+
When multiple skills could apply, use this order:
|
|
67
|
+
|
|
68
|
+
1. **Process skills first** (brainstorming, debugging) - these determine HOW to approach the task
|
|
69
|
+
2. **Implementation skills second** (frontend-design, mcp-builder) - these guide execution
|
|
70
|
+
|
|
71
|
+
"Let's build X" → brainstorming first, then implementation skills.
|
|
72
|
+
"Fix this bug" → debugging first, then domain-specific skills.
|
|
73
|
+
|
|
74
|
+
## Skill Types
|
|
75
|
+
|
|
76
|
+
**Rigid** (TDD, debugging): Follow exactly. Don't adapt away discipline.
|
|
77
|
+
|
|
78
|
+
**Flexible** (patterns): Adapt principles to context.
|
|
79
|
+
|
|
80
|
+
The skill itself tells you which.
|
|
81
|
+
|
|
82
|
+
## User Instructions
|
|
83
|
+
|
|
84
|
+
Instructions say WHAT, not HOW. "Add X" or "Fix Y" doesn't mean skip workflows.
|
|
85
|
+
```
|