natureco-cli 5.18.3 → 5.20.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 +32 -0
- package/package.json +1 -1
- package/skills/a-b-testing/SKILL.md +34 -0
- package/skills/accessibility-audit/SKILL.md +34 -0
- package/skills/agent-memory/SKILL.md +34 -0
- package/skills/agent-orchestration/SKILL.md +34 -0
- package/skills/airunway-aks-setup/SKILL.md +73 -0
- package/skills/algorithmic-art/SKILL.md +405 -0
- package/skills/analytics-setup/SKILL.md +34 -0
- package/skills/api-design/SKILL.md +34 -0
- package/skills/api-versioning/SKILL.md +34 -0
- package/skills/appinsights-instrumentation/SKILL.md +76 -0
- package/skills/audio-transcription/SKILL.md +34 -0
- package/skills/authentication-patterns/SKILL.md +34 -0
- package/skills/authorization-rbac/SKILL.md +34 -0
- package/skills/azure-ai/SKILL.md +71 -0
- package/skills/azure-aigateway/SKILL.md +129 -0
- package/skills/azure-cloud-migrate/SKILL.md +52 -0
- package/skills/azure-compliance/SKILL.md +108 -0
- package/skills/azure-compute/SKILL.md +46 -0
- package/skills/azure-cost/SKILL.md +45 -0
- package/skills/azure-deploy/SKILL.md +97 -0
- package/skills/azure-diagnostics/SKILL.md +151 -0
- package/skills/azure-enterprise-infra-planner/SKILL.md +54 -0
- package/skills/azure-hosted-copilot-sdk/SKILL.md +89 -0
- package/skills/azure-kubernetes/SKILL.md +153 -0
- package/skills/azure-kusto/SKILL.md +231 -0
- package/skills/azure-messaging/SKILL.md +57 -0
- package/skills/azure-prepare/SKILL.md +165 -0
- package/skills/azure-quotas/SKILL.md +276 -0
- package/skills/azure-rbac/SKILL.md +17 -0
- package/skills/azure-reliability/SKILL.md +387 -0
- package/skills/azure-resource-lookup/SKILL.md +108 -0
- package/skills/azure-resource-visualizer/SKILL.md +183 -0
- package/skills/azure-storage/SKILL.md +100 -0
- package/skills/azure-upgrade/SKILL.md +91 -0
- package/skills/azure-validate/SKILL.md +72 -0
- package/skills/backup-strategy/SKILL.md +34 -0
- package/skills/bash-scripting/SKILL.md +34 -0
- package/skills/batch-api-calls/SKILL.md +34 -0
- package/skills/batch-processing/SKILL.md +34 -0
- package/skills/brainstorming/SKILL.md +159 -0
- package/skills/brand-guidelines/SKILL.md +73 -0
- package/skills/brandkit/SKILL.md +798 -0
- package/skills/brutalist-skill/SKILL.md +92 -0
- package/skills/bulk-file-operations/SKILL.md +34 -0
- package/skills/cache-responses/SKILL.md +34 -0
- package/skills/caching-strategy/SKILL.md +34 -0
- package/skills/calendar-optimization/SKILL.md +34 -0
- package/skills/canvas-design/SKILL.md +130 -0
- package/skills/cavecrew/SKILL.md +82 -0
- package/skills/caveman-commit/SKILL.md +65 -0
- package/skills/caveman-help/SKILL.md +63 -0
- package/skills/caveman-review/SKILL.md +55 -0
- package/skills/caveman-stats/SKILL.md +10 -0
- package/skills/changelog-generation/SKILL.md +34 -0
- package/skills/chat-bot-design/SKILL.md +34 -0
- package/skills/chunking-strategy/SKILL.md +34 -0
- package/skills/ci-cd-pipeline/SKILL.md +34 -0
- package/skills/classification-pipeline/SKILL.md +34 -0
- package/skills/claude-api/SKILL.md +356 -0
- package/skills/clipboard-master/SKILL.md +34 -0
- package/skills/code-explanation/SKILL.md +34 -0
- package/skills/code-generation/SKILL.md +34 -0
- package/skills/code-migration/SKILL.md +34 -0
- package/skills/code-review-checklist/SKILL.md +34 -0
- package/skills/composition-patterns/SKILL.md +89 -0
- package/skills/contact-management/SKILL.md +34 -0
- package/skills/content-generation/SKILL.md +34 -0
- package/skills/context-pruning/SKILL.md +34 -0
- package/skills/context-window-management/SKILL.md +34 -0
- package/skills/continuous-improvement/SKILL.md +34 -0
- package/skills/cron-scheduling/SKILL.md +34 -0
- package/skills/cross-platform-compat/SKILL.md +34 -0
- package/skills/csv-processing/SKILL.md +34 -0
- package/skills/daily-journal/SKILL.md +34 -0
- package/skills/data-analysis/SKILL.md +34 -0
- package/skills/data-backup/SKILL.md +34 -0
- package/skills/data-cleaning/SKILL.md +34 -0
- package/skills/data-extraction/SKILL.md +34 -0
- package/skills/data-validation/SKILL.md +34 -0
- package/skills/database-migrations/SKILL.md +34 -0
- package/skills/database-schema-design/SKILL.md +34 -0
- package/skills/decision-mapping/SKILL.md +84 -0
- package/skills/decision-matrix/SKILL.md +34 -0
- package/skills/dependency-management/SKILL.md +34 -0
- package/skills/deploy-to-vercel/SKILL.md +296 -0
- package/skills/design-an-interface/SKILL.md +94 -0
- package/skills/design-doc-mermaid/SKILL.md +498 -0
- package/skills/dev-environment-setup/SKILL.md +34 -0
- package/skills/develop-userscripts/SKILL.md +84 -0
- package/skills/distraction-blocker/SKILL.md +34 -0
- package/skills/doc-coauthoring/SKILL.md +375 -0
- package/skills/docker-optimization/SKILL.md +34 -0
- package/skills/document-template/SKILL.md +34 -0
- package/skills/documentation/SKILL.md +109 -0
- package/skills/documentation-gen/SKILL.md +34 -0
- package/skills/docx/SKILL.md +590 -0
- package/skills/edit-article/SKILL.md +15 -0
- package/skills/efficient-formatting/SKILL.md +34 -0
- package/skills/email-management/SKILL.md +34 -0
- package/skills/email-service/SKILL.md +34 -0
- package/skills/embedding-generation/SKILL.md +34 -0
- package/skills/entity-extraction/SKILL.md +34 -0
- package/skills/entra-agent-id/SKILL.md +356 -0
- package/skills/entra-app-registration/SKILL.md +191 -0
- package/skills/environment-config/SKILL.md +34 -0
- package/skills/error-handling/SKILL.md +34 -0
- package/skills/estimation-techniques/SKILL.md +34 -0
- package/skills/event-driven-architecture/SKILL.md +34 -0
- package/skills/excel-automation/SKILL.md +34 -0
- package/skills/execution-monitoring/SKILL.md +34 -0
- package/skills/expense-tracking/SKILL.md +34 -0
- package/skills/faceless-explainer/SKILL.md +202 -0
- package/skills/fastify/SKILL.md +75 -0
- package/skills/feature-engineering/SKILL.md +34 -0
- package/skills/feature-flags/SKILL.md +34 -0
- package/skills/file-conversion/SKILL.md +34 -0
- package/skills/file-upload-handling/SKILL.md +34 -0
- package/skills/fine-tuning-prep/SKILL.md +34 -0
- package/skills/focus-mode/SKILL.md +34 -0
- package/skills/form-validation/SKILL.md +34 -0
- package/skills/function-calling/SKILL.md +34 -0
- package/skills/general-video/SKILL.md +143 -0
- package/skills/git-guardrails-claude-code/SKILL.md +95 -0
- package/skills/git-workflow/SKILL.md +34 -0
- package/skills/github-actions-docs/SKILL.md +98 -0
- package/skills/goal-setting/SKILL.md +34 -0
- package/skills/gpt-tasteskill/SKILL.md +74 -0
- package/skills/graphql-design/SKILL.md +34 -0
- package/skills/grill-me/SKILL.md +7 -0
- package/skills/grilling/SKILL.md +10 -0
- package/skills/habit-tracker/SKILL.md +34 -0
- package/skills/hallucination-detection/SKILL.md +34 -0
- package/skills/handoff/SKILL.md +16 -0
- package/skills/hyperframes/SKILL.md +152 -0
- package/skills/hyperframes-animation/SKILL.md +82 -0
- package/skills/hyperframes-cli/SKILL.md +109 -0
- package/skills/hyperframes-core/SKILL.md +78 -0
- package/skills/hyperframes-creative/SKILL.md +68 -0
- package/skills/hyperframes-media/SKILL.md +97 -0
- package/skills/image-processing/SKILL.md +34 -0
- package/skills/image-to-code-skill/SKILL.md +1228 -0
- package/skills/imagegen-frontend-mobile/SKILL.md +1465 -0
- package/skills/imagegen-frontend-web/SKILL.md +987 -0
- package/skills/implement/SKILL.md +15 -0
- package/skills/init/SKILL.md +91 -0
- package/skills/internal-comms/SKILL.md +32 -0
- package/skills/json-transformation/SKILL.md +34 -0
- package/skills/keyboard-shortcuts/SKILL.md +34 -0
- package/skills/knowledge-base/SKILL.md +34 -0
- package/skills/knowledge-graph/SKILL.md +34 -0
- package/skills/kubernetes-deployment/SKILL.md +34 -0
- package/skills/language-translation/SKILL.md +34 -0
- package/skills/lark-approval/SKILL.md +56 -0
- package/skills/lark-base/SKILL.md +157 -0
- package/skills/lark-doc/SKILL.md +81 -0
- package/skills/lark-shared/SKILL.md +168 -0
- package/skills/lark-workflow-meeting-summary/SKILL.md +122 -0
- package/skills/linting-neostandard-eslint9/SKILL.md +64 -0
- package/skills/llm-chaining/SKILL.md +34 -0
- package/skills/localization-i18n/SKILL.md +34 -0
- package/skills/logging-best-practices/SKILL.md +34 -0
- package/skills/loop-me/SKILL.md +32 -0
- package/skills/machine-learning-pipeline/SKILL.md +34 -0
- package/skills/meeting-notes/SKILL.md +34 -0
- package/skills/meeting-scheduler/SKILL.md +34 -0
- package/skills/message-queues/SKILL.md +34 -0
- package/skills/message-summarization/SKILL.md +34 -0
- package/skills/microservices-architecture/SKILL.md +34 -0
- package/skills/microsoft-foundry/SKILL.md +262 -0
- package/skills/migrate-to-shoehorn/SKILL.md +118 -0
- package/skills/milestone-tracking/SKILL.md +34 -0
- package/skills/minimalist-skill/SKILL.md +85 -0
- package/skills/model-deployment/SKILL.md +34 -0
- package/skills/model-evaluation/SKILL.md +34 -0
- package/skills/monitoring-setup/SKILL.md +34 -0
- package/skills/monorepo-setup/SKILL.md +34 -0
- package/skills/motion-graphics/SKILL.md +170 -0
- package/skills/multi-agent-systems/SKILL.md +34 -0
- package/skills/music-to-video/SKILL.md +197 -0
- package/skills/network-troubleshooting/SKILL.md +34 -0
- package/skills/node/SKILL.md +94 -0
- package/skills/nodejs-core/SKILL.md +156 -0
- package/skills/note-organization/SKILL.md +34 -0
- package/skills/oauth/SKILL.md +186 -0
- package/skills/obsidian-vault/SKILL.md +59 -0
- package/skills/octocat/SKILL.md +93 -0
- package/skills/openclaw-secure-linux-cloud/SKILL.md +157 -0
- package/skills/opensource-guide-coach/SKILL.md +218 -0
- package/skills/output-skill/SKILL.md +49 -0
- package/skills/package-publishing/SKILL.md +34 -0
- package/skills/password-generator/SKILL.md +34 -0
- package/skills/pdf/SKILL.md +314 -0
- package/skills/pdf-processing/SKILL.md +34 -0
- package/skills/performance-optimization/SKILL.md +34 -0
- package/skills/pomodoro-timer/SKILL.md +34 -0
- package/skills/powershell-automation/SKILL.md +34 -0
- package/skills/pptx/SKILL.md +232 -0
- package/skills/pr-to-video/SKILL.md +235 -0
- package/skills/priority-filtering/SKILL.md +34 -0
- package/skills/product-launch-video/SKILL.md +205 -0
- package/skills/project-tracking/SKILL.md +34 -0
- package/skills/prompt-compression/SKILL.md +34 -0
- package/skills/prompt-engineering/SKILL.md +34 -0
- package/skills/push-notifications/SKILL.md +34 -0
- package/skills/python-appservice-deploy/SKILL.md +36 -0
- package/skills/qa/SKILL.md +130 -0
- package/skills/rag-implementation/SKILL.md +34 -0
- package/skills/rate-limiting/SKILL.md +34 -0
- package/skills/react-best-practices/SKILL.md +149 -0
- package/skills/react-native-skills/SKILL.md +121 -0
- package/skills/react-view-transitions/SKILL.md +320 -0
- package/skills/readme-i18n/SKILL.md +176 -0
- package/skills/real-time-communication/SKILL.md +34 -0
- package/skills/redesign-skill/SKILL.md +178 -0
- package/skills/refactoring-strategy/SKILL.md +34 -0
- package/skills/regex-mastery/SKILL.md +34 -0
- package/skills/remotion/SKILL.md +364 -0
- package/skills/report-generation/SKILL.md +34 -0
- package/skills/request-refactor-plan/SKILL.md +68 -0
- package/skills/research-compiler/SKILL.md +34 -0
- package/skills/resolving-merge-conflicts/SKILL.md +14 -0
- package/skills/responsive-design/SKILL.md +34 -0
- package/skills/rest-api-patterns/SKILL.md +34 -0
- package/skills/retrospectives/SKILL.md +34 -0
- package/skills/risk-assessment/SKILL.md +34 -0
- package/skills/roadmap-creation/SKILL.md +34 -0
- package/skills/running-claude-code-via-litellm-copilot/SKILL.md +263 -0
- package/skills/scaffold-exercises/SKILL.md +106 -0
- package/skills/search-implementation/SKILL.md +34 -0
- package/skills/secrets-management/SKILL.md +34 -0
- package/skills/secure-linux-web-hosting/SKILL.md +162 -0
- package/skills/security-audit/SKILL.md +34 -0
- package/skills/selective-memory/SKILL.md +34 -0
- package/skills/semantic-search/SKILL.md +34 -0
- package/skills/semantic-versioning/SKILL.md +34 -0
- package/skills/sentiment-analysis/SKILL.md +34 -0
- package/skills/seo-optimization/SKILL.md +34 -0
- package/skills/setup-pre-commit/SKILL.md +91 -0
- package/skills/shadcn/SKILL.md +267 -0
- package/skills/simple/SKILL.md +52 -0
- package/skills/skill-creator/SKILL.md +485 -0
- package/skills/skill-optimizer/SKILL.md +47 -0
- package/skills/skills-cli/SKILL.md +281 -0
- package/skills/slack-gif-creator/SKILL.md +254 -0
- package/skills/snipgrapher/SKILL.md +58 -0
- package/skills/snippet-manager/SKILL.md +34 -0
- package/skills/soft-skill/SKILL.md +98 -0
- package/skills/sprint-planning/SKILL.md +34 -0
- package/skills/sql-query-optimization/SKILL.md +34 -0
- package/skills/stakeholder-communication/SKILL.md +34 -0
- package/skills/state-management/SKILL.md +34 -0
- package/skills/statistical-analysis/SKILL.md +34 -0
- package/skills/stitch-skill/SKILL.md +184 -0
- package/skills/streaming-responses/SKILL.md +34 -0
- package/skills/structured-output/SKILL.md +34 -0
- package/skills/summarization-techniques/SKILL.md +34 -0
- package/skills/supabase/SKILL.md +135 -0
- package/skills/supabase-postgres-best-practices/SKILL.md +64 -0
- package/skills/system-diagnostics/SKILL.md +34 -0
- package/skills/systematic-debugging/SKILL.md +296 -0
- package/skills/talking-head-recut/SKILL.md +1191 -0
- package/skills/task-decomposition/SKILL.md +34 -0
- package/skills/task-prioritization/SKILL.md +34 -0
- package/skills/taste-skill/SKILL.md +1206 -0
- package/skills/taste-skill-v1/SKILL.md +226 -0
- package/skills/tdd/SKILL.md +108 -0
- package/skills/teach/SKILL.md +140 -0
- package/skills/template-library/SKILL.md +34 -0
- package/skills/test-driven-development/SKILL.md +371 -0
- package/skills/test-generation/SKILL.md +34 -0
- package/skills/testing-strategy/SKILL.md +34 -0
- package/skills/text-expansion/SKILL.md +34 -0
- package/skills/theme-factory/SKILL.md +59 -0
- package/skills/time-blocking/SKILL.md +34 -0
- package/skills/to-prd/SKILL.md +75 -0
- package/skills/token-budgeting/SKILL.md +34 -0
- package/skills/token-optimization/SKILL.md +34 -0
- package/skills/tool-calling-patterns/SKILL.md +34 -0
- package/skills/typescript-magician/SKILL.md +117 -0
- package/skills/tzst/SKILL.md +68 -0
- package/skills/ubiquitous-language/SKILL.md +93 -0
- package/skills/use-my-browser/SKILL.md +110 -0
- package/skills/using-superpowers/SKILL.md +121 -0
- package/skills/vector-database-setup/SKILL.md +34 -0
- package/skills/vercel-cli-with-tokens/SKILL.md +353 -0
- package/skills/vercel-optimize/SKILL.md +322 -0
- package/skills/video-editing/SKILL.md +34 -0
- package/skills/viral-instagram-reels/SKILL.md +180 -0
- package/skills/viral-short-form/SKILL.md +147 -0
- package/skills/viral-short-form-ideas/SKILL.md +184 -0
- package/skills/viral-tiktok-content/SKILL.md +180 -0
- package/skills/visualization-creation/SKILL.md +34 -0
- package/skills/web-artifacts-builder/SKILL.md +74 -0
- package/skills/web-design-guidelines/SKILL.md +39 -0
- package/skills/web-scraping/SKILL.md +34 -0
- package/skills/webapp-testing/SKILL.md +96 -0
- package/skills/webhook-handling/SKILL.md +34 -0
- package/skills/website-to-video/SKILL.md +145 -0
- package/skills/weekly-review/SKILL.md +34 -0
- package/skills/workflow-automation/SKILL.md +34 -0
- package/skills/writing-beats/SKILL.md +67 -0
- package/skills/writing-fragments/SKILL.md +79 -0
- package/skills/writing-great-skills/SKILL.md +82 -0
- package/skills/writing-guidelines/SKILL.md +39 -0
- package/skills/writing-plans/SKILL.md +174 -0
- package/skills/writing-shape/SKILL.md +79 -0
- package/skills/xdrop/SKILL.md +78 -0
- package/skills/xget/SKILL.md +87 -0
- package/skills/xlsx/SKILL.md +292 -0
- package/src/commands/code_v5.js +377 -73
- package/src/commands/repl.js +505 -86
- package/src/providers/model/anthropic.js +84 -0
- package/src/providers/model/gemini.js +49 -0
- package/src/providers/model/minimax.js +48 -0
- package/src/providers/model/ollama.js +42 -0
- package/src/providers/model/openai.js +49 -0
- package/src/providers/search/duckduckgo.js +45 -0
- package/src/providers/search/exa.js +52 -0
- package/src/providers/search/searxng.js +51 -0
- package/src/providers/search/tavily.js +47 -0
- package/src/tools/model_provider.js +71 -0
- package/src/tools/parallel_search.js +40 -49
- package/src/tools/search_provider.js +79 -0
- package/src/tools/skills_download.js +217 -0
- package/src/tools/web_search.js +42 -62
- package/src/tools/workflow.js +21 -9
- package/src/utils/cron.js +82 -126
- package/src/utils/effort-levels.js +42 -0
- package/src/utils/fallback-chain.js +72 -0
- package/src/utils/file-history.js +78 -0
- package/src/utils/model-provider.js +113 -0
- package/src/utils/permissions.js +147 -0
- package/src/utils/plan-mode.js +164 -0
- package/src/utils/provider-detect.js +7 -32
- package/src/utils/sandbox.js +60 -0
- package/src/utils/search-provider.js +62 -0
- package/src/utils/session-search.js +66 -0
- package/src/utils/structured-output.js +20 -0
- package/src/utils/system-prompt.js +28 -2
- package/src/utils/tasks.js +132 -0
- package/src/utils/tool-hooks.js +154 -0
- package/src/utils/tools.js +18 -2
- package/src/utils/ultra-review.js +59 -0
- package/src/utils/worktree.js +192 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: token-optimization
|
|
3
|
+
description: Optimize token usage with compression, truncation, and efficient prompting
|
|
4
|
+
category: AI Agents
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Token Optimization
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
Optimize token usage with compression, truncation, and efficient prompting. This skill helps you apply structured, repeatable methods for consistent results.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
- When you need to apply token optimization best practices
|
|
14
|
+
- When establishing processes or standards for your workflow
|
|
15
|
+
- When training team members on token optimization
|
|
16
|
+
- When automating or optimizing token optimization tasks
|
|
17
|
+
|
|
18
|
+
## Instructions
|
|
19
|
+
1. **Assess**: Evaluate the current state, requirements, and constraints
|
|
20
|
+
2. **Plan**: Define the approach, steps, and success criteria
|
|
21
|
+
3. **Execute**: Follow the established patterns and best practices
|
|
22
|
+
4. **Verify**: Check results against expected outcomes and quality standards
|
|
23
|
+
5. **Iterate**: Refine based on feedback and lessons learned
|
|
24
|
+
|
|
25
|
+
## Examples
|
|
26
|
+
```
|
|
27
|
+
User: Help me apply token optimization for my current project
|
|
28
|
+
Assistant: I'll help you apply token optimization step by step...
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Related Skills
|
|
32
|
+
- Use with `workflow` tool for orchestrated execution
|
|
33
|
+
- Combine with `task` tool for delegated processing
|
|
34
|
+
- Reference `system-prompt` for system-level integration
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tool-calling-patterns
|
|
3
|
+
description: Implement tool calling with function schemas, parallel execution, and result handling
|
|
4
|
+
category: AI Agents
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Tool Calling Patterns
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
Implement tool calling with function schemas, parallel execution, and result handling. This skill helps you apply structured, repeatable methods for consistent results.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
- When you need to apply tool calling patterns best practices
|
|
14
|
+
- When establishing processes or standards for your workflow
|
|
15
|
+
- When training team members on tool calling patterns
|
|
16
|
+
- When automating or optimizing tool calling patterns tasks
|
|
17
|
+
|
|
18
|
+
## Instructions
|
|
19
|
+
1. **Assess**: Evaluate the current state, requirements, and constraints
|
|
20
|
+
2. **Plan**: Define the approach, steps, and success criteria
|
|
21
|
+
3. **Execute**: Follow the established patterns and best practices
|
|
22
|
+
4. **Verify**: Check results against expected outcomes and quality standards
|
|
23
|
+
5. **Iterate**: Refine based on feedback and lessons learned
|
|
24
|
+
|
|
25
|
+
## Examples
|
|
26
|
+
```
|
|
27
|
+
User: Help me apply tool calling patterns for my current project
|
|
28
|
+
Assistant: I'll help you apply tool calling patterns step by step...
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Related Skills
|
|
32
|
+
- Use with `workflow` tool for orchestrated execution
|
|
33
|
+
- Combine with `task` tool for delegated processing
|
|
34
|
+
- Reference `system-prompt` for system-level integration
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: typescript-magician
|
|
3
|
+
description: Designs complex generic types, refactors `any` types to strict alternatives, creates type guards and utility types, and resolves TypeScript compiler errors. Use when the user asks about TypeScript (TS) types, generics, type inference, type guards, removing `any` types, strict typing, type errors, `infer`, `extends`, conditional types, mapped types, template literal types, branded/opaque types, or utility types like `Partial`, `Record`, `ReturnType`, and `Awaited`.
|
|
4
|
+
metadata:
|
|
5
|
+
tags: typescript, types, generics, type-safety, advanced-typescript
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## When to use
|
|
9
|
+
|
|
10
|
+
Use this skill for:
|
|
11
|
+
- TypeScript errors and type challenges
|
|
12
|
+
- Eliminating `any` types from codebases
|
|
13
|
+
- Complex generics and type inference issues
|
|
14
|
+
- When strict typing is needed
|
|
15
|
+
|
|
16
|
+
## Instructions
|
|
17
|
+
|
|
18
|
+
When invoked:
|
|
19
|
+
1. Run `tsc --noEmit` to capture the full error output before making changes
|
|
20
|
+
2. Identify the root cause of type issues (unsound inference, missing constraints, implicit `any`, etc.)
|
|
21
|
+
3. Craft precise, type-safe solutions using advanced TypeScript features
|
|
22
|
+
4. Eliminate all `any` types with proper typing — validate each replacement still satisfies call sites
|
|
23
|
+
5. Confirm the fix compiles cleanly with a second `tsc --noEmit` pass
|
|
24
|
+
|
|
25
|
+
Capabilities include:
|
|
26
|
+
- Advanced generics and conditional types
|
|
27
|
+
- Template literal types and mapped types
|
|
28
|
+
- Utility types and type manipulation
|
|
29
|
+
- Brand types and nominal typing
|
|
30
|
+
- Complex inference patterns
|
|
31
|
+
- Variance and distribution rules
|
|
32
|
+
- Module augmentation and declaration merging
|
|
33
|
+
|
|
34
|
+
For every TypeScript challenge:
|
|
35
|
+
- Explain the type theory behind the problem
|
|
36
|
+
- Provide multiple solution approaches when applicable
|
|
37
|
+
- Show before/after type representations
|
|
38
|
+
- Include comprehensive type tests
|
|
39
|
+
- Ensure full IntelliSense support
|
|
40
|
+
|
|
41
|
+
## Quick Examples
|
|
42
|
+
|
|
43
|
+
### Eliminating `any` with generics
|
|
44
|
+
|
|
45
|
+
**Before**
|
|
46
|
+
```ts
|
|
47
|
+
function getProperty(obj: any, key: string): any {
|
|
48
|
+
return obj[key];
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**After**
|
|
53
|
+
```ts
|
|
54
|
+
function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
|
|
55
|
+
return obj[key];
|
|
56
|
+
}
|
|
57
|
+
// getProperty({ name: "Alice" }, "name") → inferred as string ✓
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Narrowing an unknown API response
|
|
61
|
+
|
|
62
|
+
**Before**
|
|
63
|
+
```ts
|
|
64
|
+
async function fetchUser(): Promise<any> {
|
|
65
|
+
const res = await fetch("/api/user");
|
|
66
|
+
return res.json();
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**After**
|
|
71
|
+
```ts
|
|
72
|
+
interface User { id: number; name: string }
|
|
73
|
+
|
|
74
|
+
function isUser(value: unknown): value is User {
|
|
75
|
+
return (
|
|
76
|
+
typeof value === "object" &&
|
|
77
|
+
value !== null &&
|
|
78
|
+
"id" in value &&
|
|
79
|
+
"name" in value
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
async function fetchUser(): Promise<User> {
|
|
84
|
+
const res = await fetch("/api/user");
|
|
85
|
+
const data: unknown = await res.json();
|
|
86
|
+
if (!isUser(data)) throw new Error("Invalid user shape");
|
|
87
|
+
return data;
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Reference
|
|
92
|
+
|
|
93
|
+
Read individual rule files for detailed explanations and code examples:
|
|
94
|
+
|
|
95
|
+
### Core Patterns
|
|
96
|
+
- [rules/as-const-typeof.md](rules/as-const-typeof.md) - Deriving types from runtime values using `as const` and `typeof`
|
|
97
|
+
- [rules/array-index-access.md](rules/array-index-access.md) - Accessing array element types using `[number]` indexing
|
|
98
|
+
- [rules/utility-types.md](rules/utility-types.md) - Built-in utility types: Parameters, ReturnType, Awaited, Omit, Partial, Record
|
|
99
|
+
|
|
100
|
+
### Advanced Generics
|
|
101
|
+
- [rules/generics-basics.md](rules/generics-basics.md) - Fundamentals of generic types, constraints, and inference
|
|
102
|
+
- [rules/builder-pattern.md](rules/builder-pattern.md) - Type-safe builder pattern with chainable methods
|
|
103
|
+
- [rules/deep-inference.md](rules/deep-inference.md) - Achieving deep type inference with F.Narrow and const type parameters
|
|
104
|
+
|
|
105
|
+
### Type-Level Programming
|
|
106
|
+
- [rules/conditional-types.md](rules/conditional-types.md) - Conditional types for type-level if/else logic
|
|
107
|
+
- [rules/infer-keyword.md](rules/infer-keyword.md) - Using `infer` to extract types within conditional types
|
|
108
|
+
- [rules/template-literal-types.md](rules/template-literal-types.md) - String manipulation at the type level
|
|
109
|
+
- [rules/mapped-types.md](rules/mapped-types.md) - Creating new types by transforming existing type properties
|
|
110
|
+
|
|
111
|
+
### Type Safety Patterns
|
|
112
|
+
- [rules/opaque-types.md](rules/opaque-types.md) - Brand types and opaque types for type-safe identifiers
|
|
113
|
+
- [rules/type-narrowing.md](rules/type-narrowing.md) - Narrowing types through control flow analysis
|
|
114
|
+
- [rules/function-overloads.md](rules/function-overloads.md) - Using function overloads for complex function signatures
|
|
115
|
+
|
|
116
|
+
### Debugging
|
|
117
|
+
- [rules/error-diagnosis.md](rules/error-diagnosis.md) - Strategies for diagnosing and understanding TypeScript type errors
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tzst
|
|
3
|
+
description: Use when the user needs to create, extract, flatten, list, test, install, script, or troubleshoot `tzst` CLI workflows for `.tzst` or `.tar.zst` archives, including compression levels, streaming mode, extraction filters, conflict resolution, JSON output, or standalone binary setup, even if they describe the archive task without naming `tzst`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Use this skill for the `tzst` command-line interface. Default to execution when the user clearly wants a real archive action and the required paths or archive names are already known.
|
|
7
|
+
|
|
8
|
+
This skill is CLI-only. If the user is asking about Python code such as `from tzst import ...`, treat that as a general Python library or API documentation task instead of using this skill as the main guide.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
Use this skill when the user:
|
|
13
|
+
|
|
14
|
+
- mentions `.tzst` or `.tar.zst` archives
|
|
15
|
+
- wants to create, extract, flatten, list, or test a `tzst` archive
|
|
16
|
+
- needs help installing `tzst` or choosing CLI flags
|
|
17
|
+
- wants machine-readable `tzst` output for scripting or automation
|
|
18
|
+
- needs safe conflict handling or extraction filter guidance
|
|
19
|
+
|
|
20
|
+
Do not use this skill for generic `tar`, `zip`, or Python API questions unless `tzst` is actually part of the request.
|
|
21
|
+
|
|
22
|
+
## Preflight
|
|
23
|
+
|
|
24
|
+
1. Check whether `tzst` is available with `tzst --version` or `tzst --help`.
|
|
25
|
+
2. If it is missing, prefer one of these installation paths:
|
|
26
|
+
- `uv tool install tzst`
|
|
27
|
+
- `pip install tzst`
|
|
28
|
+
- a standalone release binary from <https://github.com/xixu-me/tzst/releases/latest> when the user does not want a Python installation
|
|
29
|
+
3. Re-run `tzst --version` or `tzst --help` before doing real work.
|
|
30
|
+
|
|
31
|
+
## Workflow
|
|
32
|
+
|
|
33
|
+
1. Decide whether the request is execution or guidance.
|
|
34
|
+
Requests like "archive these files", "extract this backup", "list what is inside", "test this archive", or "install tzst" are execution intent.
|
|
35
|
+
2. Choose the command that matches the request:
|
|
36
|
+
- `a`, `add`, `create` for archive creation
|
|
37
|
+
- `x`, `extract` for normal extraction with directory structure preserved
|
|
38
|
+
- `e`, `extract-flat` only when the user explicitly wants flattened output
|
|
39
|
+
- `l`, `list` for archive inspection
|
|
40
|
+
- `t`, `test` for integrity checks
|
|
41
|
+
3. If the user wants to extract only a few members and the member names are uncertain, list first.
|
|
42
|
+
4. Load [`references/cli-reference.md`](./references/cli-reference.md) when you need the command matrix, exact flag names, or copy-paste examples.
|
|
43
|
+
|
|
44
|
+
## Safe Defaults
|
|
45
|
+
|
|
46
|
+
- Prefer `x` over `e` unless flattening is explicitly requested.
|
|
47
|
+
- Keep `--filter data` as the default extraction mode.
|
|
48
|
+
- Use `--filter tar` only when the user needs standard tar-style compatibility.
|
|
49
|
+
- Use `--filter fully_trusted` only when the user explicitly says the archive source is completely trusted.
|
|
50
|
+
- Keep atomic archive creation enabled. Only reach for `--no-atomic` when the user explicitly wants it.
|
|
51
|
+
- Prefer `--streaming` for large archives or memory-constrained environments.
|
|
52
|
+
- For automation or pipelines, prefer `tzst --json --no-banner ...`.
|
|
53
|
+
- For automated extraction, require an explicit non-interactive `--conflict-resolution` choice such as `replace_all`, `skip_all`, or `auto_rename_all`.
|
|
54
|
+
- Do not combine `--json` with interactive conflict prompting.
|
|
55
|
+
|
|
56
|
+
## Scripting Notes
|
|
57
|
+
|
|
58
|
+
- Put global flags before the subcommand in examples, such as `tzst --json --no-banner l archive.tzst`.
|
|
59
|
+
- Use exit codes in scripts: `0` for success, `1` for operation errors, `2` for argument parsing errors, and `130` for interruption.
|
|
60
|
+
- When archive naming matters, tell the user that `tzst` may normalize a creation target to `.tzst` or `.tar.zst`.
|
|
61
|
+
|
|
62
|
+
## Common Mistakes
|
|
63
|
+
|
|
64
|
+
- Using `e` when the user expected the original directory structure to be preserved
|
|
65
|
+
- Recommending `fully_trusted` for archives from an unknown or untrusted source
|
|
66
|
+
- Forgetting an explicit conflict strategy for non-interactive extraction
|
|
67
|
+
- Treating a Python API question as a CLI question
|
|
68
|
+
- Guessing flags from `tar` habits instead of checking the bundled reference or the installed CLI help
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ubiquitous-language
|
|
3
|
+
description: Extract a DDD-style ubiquitous language glossary from the current conversation, flagging ambiguities and proposing canonical terms. Saves to UBIQUITOUS_LANGUAGE.md. Use when user wants to define domain terms, build a glossary, harden terminology, create a ubiquitous language, or mentions "domain model" or "DDD".
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Ubiquitous Language
|
|
8
|
+
|
|
9
|
+
Extract and formalize domain terminology from the current conversation into a consistent glossary, saved to a local file.
|
|
10
|
+
|
|
11
|
+
## Process
|
|
12
|
+
|
|
13
|
+
1. **Scan the conversation** for domain-relevant nouns, verbs, and concepts
|
|
14
|
+
2. **Identify problems**:
|
|
15
|
+
- Same word used for different concepts (ambiguity)
|
|
16
|
+
- Different words used for the same concept (synonyms)
|
|
17
|
+
- Vague or overloaded terms
|
|
18
|
+
3. **Propose a canonical glossary** with opinionated term choices
|
|
19
|
+
4. **Write to `UBIQUITOUS_LANGUAGE.md`** in the working directory using the format below
|
|
20
|
+
5. **Output a summary** inline in the conversation
|
|
21
|
+
|
|
22
|
+
## Output Format
|
|
23
|
+
|
|
24
|
+
Write a `UBIQUITOUS_LANGUAGE.md` file with this structure:
|
|
25
|
+
|
|
26
|
+
```md
|
|
27
|
+
# Ubiquitous Language
|
|
28
|
+
|
|
29
|
+
## Order lifecycle
|
|
30
|
+
|
|
31
|
+
| Term | Definition | Aliases to avoid |
|
|
32
|
+
| ----------- | ------------------------------------------------------- | --------------------- |
|
|
33
|
+
| **Order** | A customer's request to purchase one or more items | Purchase, transaction |
|
|
34
|
+
| **Invoice** | A request for payment sent to a customer after delivery | Bill, payment request |
|
|
35
|
+
|
|
36
|
+
## People
|
|
37
|
+
|
|
38
|
+
| Term | Definition | Aliases to avoid |
|
|
39
|
+
| ------------ | ------------------------------------------- | ---------------------- |
|
|
40
|
+
| **Customer** | A person or organization that places orders | Client, buyer, account |
|
|
41
|
+
| **User** | An authentication identity in the system | Login, account |
|
|
42
|
+
|
|
43
|
+
## Relationships
|
|
44
|
+
|
|
45
|
+
- An **Invoice** belongs to exactly one **Customer**
|
|
46
|
+
- An **Order** produces one or more **Invoices**
|
|
47
|
+
|
|
48
|
+
## Example dialogue
|
|
49
|
+
|
|
50
|
+
> **Dev:** "When a **Customer** places an **Order**, do we create the **Invoice** immediately?"
|
|
51
|
+
> **Domain expert:** "No — an **Invoice** is only generated once a **Fulfillment** is confirmed. A single **Order** can produce multiple **Invoices** if items ship in separate **Shipments**."
|
|
52
|
+
> **Dev:** "So if a **Shipment** is cancelled before dispatch, no **Invoice** exists for it?"
|
|
53
|
+
> **Domain expert:** "Exactly. The **Invoice** lifecycle is tied to the **Fulfillment**, not the **Order**."
|
|
54
|
+
|
|
55
|
+
## Flagged ambiguities
|
|
56
|
+
|
|
57
|
+
- "account" was used to mean both **Customer** and **User** — these are distinct concepts: a **Customer** places orders, while a **User** is an authentication identity that may or may not represent a **Customer**.
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Rules
|
|
61
|
+
|
|
62
|
+
- **Be opinionated.** When multiple words exist for the same concept, pick the best one and list the others as aliases to avoid.
|
|
63
|
+
- **Flag conflicts explicitly.** If a term is used ambiguously in the conversation, call it out in the "Flagged ambiguities" section with a clear recommendation.
|
|
64
|
+
- **Only include terms relevant for domain experts.** Skip the names of modules or classes unless they have meaning in the domain language.
|
|
65
|
+
- **Keep definitions tight.** One sentence max. Define what it IS, not what it does.
|
|
66
|
+
- **Show relationships.** Use bold term names and express cardinality where obvious.
|
|
67
|
+
- **Only include domain terms.** Skip generic programming concepts (array, function, endpoint) unless they have domain-specific meaning.
|
|
68
|
+
- **Group terms into multiple tables** when natural clusters emerge (e.g. by subdomain, lifecycle, or actor). Each group gets its own heading and table. If all terms belong to a single cohesive domain, one table is fine — don't force groupings.
|
|
69
|
+
- **Write an example dialogue.** A short conversation (3-5 exchanges) between a dev and a domain expert that demonstrates how the terms interact naturally. The dialogue should clarify boundaries between related concepts and show terms being used precisely.
|
|
70
|
+
|
|
71
|
+
<example>
|
|
72
|
+
|
|
73
|
+
## Example dialogue
|
|
74
|
+
|
|
75
|
+
> **Dev:** "How do I test the **sync service** without Docker?"
|
|
76
|
+
|
|
77
|
+
> **Domain expert:** "Provide the **filesystem layer** instead of the **Docker layer**. It implements the same **Sandbox service** interface but uses a local directory as the **sandbox**."
|
|
78
|
+
|
|
79
|
+
> **Dev:** "So **sync-in** still creates a **bundle** and unpacks it?"
|
|
80
|
+
|
|
81
|
+
> **Domain expert:** "Exactly. The **sync service** doesn't know which layer it's talking to. It calls `exec` and `copyIn` — the **filesystem layer** just runs those as local shell commands."
|
|
82
|
+
|
|
83
|
+
</example>
|
|
84
|
+
|
|
85
|
+
## Re-running
|
|
86
|
+
|
|
87
|
+
When invoked again in the same conversation:
|
|
88
|
+
|
|
89
|
+
1. Read the existing `UBIQUITOUS_LANGUAGE.md`
|
|
90
|
+
2. Incorporate any new terms from subsequent discussion
|
|
91
|
+
3. Update definitions if understanding has evolved
|
|
92
|
+
4. Re-flag any new ambiguities
|
|
93
|
+
5. Rewrite the example dialogue to incorporate new terms
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: use-my-browser
|
|
3
|
+
description: Use when work depends on the user's live browser session or visible rendered state rather than static fetches, especially for browser debugging contexts or DevTools-selected elements or requests, logged-in dashboards or CMS flows, localhost apps, forms, uploads, downloads, media inspection, DOM or iframe inspection, Shadow DOM, or browser failures that look like soft 404s, auth walls, anti-bot checks, or rate limits.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Do not treat this skill as a generic browsing default. Route from the evidence you need, not from tool preference.
|
|
7
|
+
|
|
8
|
+
Every task must be classified before you choose a route:
|
|
9
|
+
|
|
10
|
+
- `static-capable`: the evidence can be produced without live browser state, visible confirmation, or page interaction
|
|
11
|
+
- `browser-required`: the evidence depends on rendered state, interaction, live session behavior, or browser-only structures
|
|
12
|
+
|
|
13
|
+
Only `static-capable` tasks may fall back to static retrieval, `curl`, or other non-browser paths. Once a task is `browser-required`, stay on the browser path and mark missing capability as `blocked` instead of silently downgrading.
|
|
14
|
+
|
|
15
|
+
## Prerequisite check
|
|
16
|
+
|
|
17
|
+
This skill is for work inside the user's live browser session, not for launching a separate fresh automation browser.
|
|
18
|
+
|
|
19
|
+
Before doing browser automation, confirm that your environment already has access to a live browser stack that can provide the capabilities the task depends on, such as page inventory, task-owned page creation, page selection, snapshots or visible-state reads, DOM inspection, text or form input, uploads, dialogs, console inspection, and network inspection. The exact stack does not matter here: confirm capability, not brand.
|
|
20
|
+
|
|
21
|
+
If the live browser stack is unavailable, do not attempt browser automation through this skill. Only `static-capable` work may fall back to static retrieval.
|
|
22
|
+
|
|
23
|
+
Live browser automation can trigger anti-bot or anti-automation defenses on some sites. Use browser interaction only when the task truly needs it, and avoid unnecessary repetitive actions once the needed evidence has been obtained.
|
|
24
|
+
|
|
25
|
+
## Experience loop
|
|
26
|
+
|
|
27
|
+
Treat site patterns as part of the browser protocol, not as optional background reading.
|
|
28
|
+
|
|
29
|
+
For `browser-required` work, run this loop:
|
|
30
|
+
|
|
31
|
+
1. As soon as the target domain is known, check whether a matching note already exists under [`references/site-patterns/`](./references/site-patterns/).
|
|
32
|
+
2. If a note exists, read it before the first meaningful browser mutation on that domain.
|
|
33
|
+
3. During the run, watch for verified site-specific facts that would change how a future run should operate.
|
|
34
|
+
4. Before you consider the task complete, decide whether the run produced a reusable fact, disproved an existing fact, or produced no reusable site-specific learning.
|
|
35
|
+
5. If the run verified something reusable or disproved an existing claim, update the matching note before finishing.
|
|
36
|
+
|
|
37
|
+
Do not create a domain note for one-off noise. Do not skip the end-of-run review just because the task itself succeeded.
|
|
38
|
+
|
|
39
|
+
Writeback is expected when a run verifies any of the following:
|
|
40
|
+
|
|
41
|
+
- a stable route shape or required query parameter
|
|
42
|
+
- a login, session inheritance, or `isolatedContext` quirk
|
|
43
|
+
- a reliable interaction primitive such as hover, keyboard entry, upload sequencing, or a selector bridge pattern
|
|
44
|
+
- a domain where DOM-generated links are reliable but hand-built URLs are not
|
|
45
|
+
- predictable anti-automation friction or a misleading platform error state
|
|
46
|
+
- a reusable media extraction or iframe / Shadow DOM access pattern
|
|
47
|
+
|
|
48
|
+
## Decision guide
|
|
49
|
+
|
|
50
|
+
Start with the outcome, not the tool. Make the user's goal explicit, define what counts as done, and choose the cheapest route that can still produce the right evidence.
|
|
51
|
+
|
|
52
|
+
Use this routing order:
|
|
53
|
+
|
|
54
|
+
1. Decide whether the task is `static-capable` or `browser-required`.
|
|
55
|
+
2. If the task is `static-capable`, load [`references/task-routing.md`](./references/task-routing.md) and stay on the cheapest route that still satisfies the evidence target.
|
|
56
|
+
3. If the task is `browser-required`, load [`references/browser-playbook.md`](./references/browser-playbook.md).
|
|
57
|
+
4. If browser-required capability is uncertain in a fresh host session, also load [`references/browser-capability-matrix.md`](./references/browser-capability-matrix.md).
|
|
58
|
+
5. If the user already has an active browser debugging context, such as a selected inspector element or network request, also load [`references/debug-handoff.md`](./references/debug-handoff.md).
|
|
59
|
+
6. If the browser-required task touches a logged-in dashboard, admin surface, CMS, editor, or any save / publish / update flow, also load [`references/control-plane-workflows.md`](./references/control-plane-workflows.md).
|
|
60
|
+
7. If the current failure shape suggests a soft 404, content-unavailable state, suspicious no-op interaction, auth wall, rate limit, or anti-automation defense, also load [`references/anti-automation-friction.md`](./references/anti-automation-friction.md).
|
|
61
|
+
8. If the browser-required task includes iframe, Shadow DOM, collapsed content, or lazy-loaded evidence, also load [`references/deep-dom.md`](./references/deep-dom.md).
|
|
62
|
+
9. If the important evidence lives in an image, audio clip, or video, also load [`references/media-inspection.md`](./references/media-inspection.md).
|
|
63
|
+
10. If browser work can be divided across independent page owners or sub-agents, also load [`references/parallel-browser-ownership.md`](./references/parallel-browser-ownership.md).
|
|
64
|
+
11. If you already know a reliable selector but need an MCP-native `uid` target, also load [`references/selector-bridge.md`](./references/selector-bridge.md).
|
|
65
|
+
12. If page actions leave state ambiguous, a page unexpectedly navigates, an old `uid` may have gone stale, or console / network inspection is now needed to explain the next browser decision, also load [`references/browser-recovery.md`](./references/browser-recovery.md).
|
|
66
|
+
13. If the target site already has a matching domain note under [`references/site-patterns/`](./references/site-patterns/), read that note before operating on the site.
|
|
67
|
+
|
|
68
|
+
Treat the following as `browser-required` by default:
|
|
69
|
+
|
|
70
|
+
- `localhost`, `127.0.0.1`, or benchmark-style local fixtures
|
|
71
|
+
- uploads, downloads, drag-and-drop, hover, keyboard-native entry, or visible confirmation states
|
|
72
|
+
- same-origin iframe inspection, Shadow DOM inspection, `details` / collapsed evidence, or lazy-loaded content
|
|
73
|
+
- any task where "what the page visibly shows" is itself the evidence
|
|
74
|
+
|
|
75
|
+
The normal happy path for a common task is this entrypoint plus one or two references, not the entire reference set.
|
|
76
|
+
|
|
77
|
+
## Hard rules
|
|
78
|
+
|
|
79
|
+
- Use browser interaction only when live browser state is part of the evidence or required action.
|
|
80
|
+
- Once a task is `browser-required`, do not silently downgrade.
|
|
81
|
+
- Treat this file as the entrypoint and each reference file as a single-purpose authority. Do not duplicate rules across files.
|
|
82
|
+
- Keep reference loading one level deep. Decide the next file from this entrypoint instead of turning one reference into a hub that links to more references.
|
|
83
|
+
- Do not ask the user to log in just because a page looks restricted. First confirm whether the target content or action is actually blocked.
|
|
84
|
+
- Prefer site-generated DOM links over hand-built URLs once the page has shown you the path it expects.
|
|
85
|
+
- Prefer MCP-native actions over script-driven interaction when the task is genuinely an in-browser action.
|
|
86
|
+
- Only close pages you created.
|
|
87
|
+
- Prefer primary sources over aggregators or repeated secondary reporting.
|
|
88
|
+
- If a matching site pattern note exists, read it before the first meaningful browser mutation on that domain.
|
|
89
|
+
- Do not finish a `browser-required` task without explicitly checking whether the run should create, update, downgrade, or remove a site-pattern claim.
|
|
90
|
+
- If an existing site-pattern claim fails under comparable conditions, stop trusting it, fall back to the generic workflow, and update the note instead of retrying the stale assumption.
|
|
91
|
+
- Do not use `curl`, `Invoke-WebRequest`, or shell HTTP fetches for `browser-required` tasks.
|
|
92
|
+
- Do not treat a generic page-opening tool as evidence that localhost deep interaction is available.
|
|
93
|
+
- Do not switch routes just because a browser capability probe failed. Record the missing capability and stop.
|
|
94
|
+
- When the user indicates an active browser debugging context, prefer handoff from that current context over fresh reproduction from scratch.
|
|
95
|
+
|
|
96
|
+
## Reference index
|
|
97
|
+
|
|
98
|
+
- [`references/task-routing.md`](./references/task-routing.md): static retrieval vs live browser routing
|
|
99
|
+
- [`references/browser-playbook.md`](./references/browser-playbook.md): core page-action protocol and base browser loop
|
|
100
|
+
- [`references/browser-capability-matrix.md`](./references/browser-capability-matrix.md): capability proof for uncertain host sessions
|
|
101
|
+
- [`references/debug-handoff.md`](./references/debug-handoff.md): active debugging-context handoff
|
|
102
|
+
- [`references/control-plane-workflows.md`](./references/control-plane-workflows.md): logged-in dashboard / CMS save-publish discipline
|
|
103
|
+
- [`references/anti-automation-friction.md`](./references/anti-automation-friction.md): soft 404 / auth / anti-automation classification
|
|
104
|
+
- [`references/deep-dom.md`](./references/deep-dom.md): iframe, Shadow DOM, collapsed, or lazy-loaded evidence
|
|
105
|
+
- [`references/media-inspection.md`](./references/media-inspection.md): image, audio, and video evidence
|
|
106
|
+
- [`references/parallel-browser-ownership.md`](./references/parallel-browser-ownership.md): multi-owner browser coordination
|
|
107
|
+
- [`references/selector-bridge.md`](./references/selector-bridge.md): selector-to-`uid` bridging
|
|
108
|
+
- [`references/browser-recovery.md`](./references/browser-recovery.md): stale `uid`, navigation drift, and console / network escalation
|
|
109
|
+
- [`references/site-patterns/README.md`](./references/site-patterns/README.md): site-pattern note maintenance rules
|
|
110
|
+
- [site-patterns/{domain}.md](./references/site-patterns/): existing domain-specific operating knowledge
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-superpowers
|
|
3
|
+
description: Use when starting any conversation - establishes how to find and use skills, requiring skill invocation before ANY response including clarifying questions
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<SUBAGENT-STOP>
|
|
7
|
+
If you were dispatched as a subagent to execute a specific task, skip this skill.
|
|
8
|
+
</SUBAGENT-STOP>
|
|
9
|
+
|
|
10
|
+
<EXTREMELY-IMPORTANT>
|
|
11
|
+
If you think there is even a 1% chance a skill might apply to what you are doing, you ABSOLUTELY MUST invoke the skill.
|
|
12
|
+
|
|
13
|
+
IF A SKILL APPLIES TO YOUR TASK, YOU DO NOT HAVE A CHOICE. YOU MUST USE IT.
|
|
14
|
+
|
|
15
|
+
This is not negotiable. This is not optional. You cannot rationalize your way out of this.
|
|
16
|
+
</EXTREMELY-IMPORTANT>
|
|
17
|
+
|
|
18
|
+
## Instruction Priority
|
|
19
|
+
|
|
20
|
+
Superpowers skills override default system prompt behavior, but **user instructions always take precedence**:
|
|
21
|
+
|
|
22
|
+
1. **User's explicit instructions** (CLAUDE.md, GEMINI.md, AGENTS.md, direct requests) — highest priority
|
|
23
|
+
2. **Superpowers skills** — override default system behavior where they conflict
|
|
24
|
+
3. **Default system prompt** — lowest priority
|
|
25
|
+
|
|
26
|
+
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.
|
|
27
|
+
|
|
28
|
+
## How to Access Skills
|
|
29
|
+
|
|
30
|
+
**Never read skill files manually with file tools** — always use your platform's skill-loading mechanism so the skill is properly activated.
|
|
31
|
+
|
|
32
|
+
**In Claude Code:** Use the `Skill` tool. When you invoke a skill, its content is loaded and presented to you — follow it directly.
|
|
33
|
+
|
|
34
|
+
**In Codex:** Skills load natively. Follow the instructions presented when a skill activates.
|
|
35
|
+
|
|
36
|
+
**In Copilot CLI:** Use the `skill` tool. Skills are auto-discovered from installed plugins.
|
|
37
|
+
|
|
38
|
+
**In Gemini CLI:** Skills activate via the `activate_skill` tool. Gemini loads skill metadata at session start and activates the full content on demand.
|
|
39
|
+
|
|
40
|
+
**In other environments:** Check your platform's documentation for how skills are loaded.
|
|
41
|
+
|
|
42
|
+
## Platform Adaptation
|
|
43
|
+
|
|
44
|
+
Skills speak in actions ("dispatch a subagent", "create a todo", "read a file") rather than naming any one runtime's tools. For per-platform tool equivalents and instructions-file conventions, see [claude-code-tools.md](references/claude-code-tools.md), [codex-tools.md](references/codex-tools.md), [copilot-tools.md](references/copilot-tools.md), [gemini-tools.md](references/gemini-tools.md), [pi-tools.md](references/pi-tools.md), and [antigravity-tools.md](references/antigravity-tools.md). Gemini CLI users get the tool mapping loaded automatically via GEMINI.md.
|
|
45
|
+
|
|
46
|
+
# Using Skills
|
|
47
|
+
|
|
48
|
+
## The Rule
|
|
49
|
+
|
|
50
|
+
**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.
|
|
51
|
+
|
|
52
|
+
```dot
|
|
53
|
+
digraph skill_flow {
|
|
54
|
+
"User message received" [shape=doublecircle];
|
|
55
|
+
"About to enter plan mode?" [shape=doublecircle];
|
|
56
|
+
"Already brainstormed?" [shape=diamond];
|
|
57
|
+
"Invoke brainstorming skill" [shape=box];
|
|
58
|
+
"Might any skill apply?" [shape=diamond];
|
|
59
|
+
"Invoke the skill" [shape=box];
|
|
60
|
+
"Announce: 'Using [skill] to [purpose]'" [shape=box];
|
|
61
|
+
"Has checklist?" [shape=diamond];
|
|
62
|
+
"Create a todo per item" [shape=box];
|
|
63
|
+
"Follow skill exactly" [shape=box];
|
|
64
|
+
"Respond (including clarifications)" [shape=doublecircle];
|
|
65
|
+
|
|
66
|
+
"About to enter plan mode?" -> "Already brainstormed?";
|
|
67
|
+
"Already brainstormed?" -> "Invoke brainstorming skill" [label="no"];
|
|
68
|
+
"Already brainstormed?" -> "Might any skill apply?" [label="yes"];
|
|
69
|
+
"Invoke brainstorming skill" -> "Might any skill apply?";
|
|
70
|
+
|
|
71
|
+
"User message received" -> "Might any skill apply?";
|
|
72
|
+
"Might any skill apply?" -> "Invoke the skill" [label="yes, even 1%"];
|
|
73
|
+
"Might any skill apply?" -> "Respond (including clarifications)" [label="definitely not"];
|
|
74
|
+
"Invoke the skill" -> "Announce: 'Using [skill] to [purpose]'";
|
|
75
|
+
"Announce: 'Using [skill] to [purpose]'" -> "Has checklist?";
|
|
76
|
+
"Has checklist?" -> "Create a todo per item" [label="yes"];
|
|
77
|
+
"Has checklist?" -> "Follow skill exactly" [label="no"];
|
|
78
|
+
"Create a todo per item" -> "Follow skill exactly";
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Red Flags
|
|
83
|
+
|
|
84
|
+
These thoughts mean STOP—you're rationalizing:
|
|
85
|
+
|
|
86
|
+
| Thought | Reality |
|
|
87
|
+
|---------|---------|
|
|
88
|
+
| "This is just a simple question" | Questions are tasks. Check for skills. |
|
|
89
|
+
| "I need more context first" | Skill check comes BEFORE clarifying questions. |
|
|
90
|
+
| "Let me explore the codebase first" | Skills tell you HOW to explore. Check first. |
|
|
91
|
+
| "I can check git/files quickly" | Files lack conversation context. Check for skills. |
|
|
92
|
+
| "Let me gather information first" | Skills tell you HOW to gather information. |
|
|
93
|
+
| "This doesn't need a formal skill" | If a skill exists, use it. |
|
|
94
|
+
| "I remember this skill" | Skills evolve. Read current version. |
|
|
95
|
+
| "This doesn't count as a task" | Action = task. Check for skills. |
|
|
96
|
+
| "The skill is overkill" | Simple things become complex. Use it. |
|
|
97
|
+
| "I'll just do this one thing first" | Check BEFORE doing anything. |
|
|
98
|
+
| "This feels productive" | Undisciplined action wastes time. Skills prevent this. |
|
|
99
|
+
| "I know what that means" | Knowing the concept ≠ using the skill. Invoke it. |
|
|
100
|
+
|
|
101
|
+
## Skill Priority
|
|
102
|
+
|
|
103
|
+
When multiple skills could apply, use this order:
|
|
104
|
+
|
|
105
|
+
1. **Process skills first** (brainstorming, systematic-debugging) - these determine HOW to approach the task
|
|
106
|
+
2. **Implementation skills second** (frontend-design, mcp-builder) - these guide execution
|
|
107
|
+
|
|
108
|
+
"Let's build X" → brainstorming first, then implementation skills.
|
|
109
|
+
"Fix this bug" → systematic-debugging first, then domain-specific skills.
|
|
110
|
+
|
|
111
|
+
## Skill Types
|
|
112
|
+
|
|
113
|
+
**Rigid** (TDD, systematic-debugging): Follow exactly. Don't adapt away discipline.
|
|
114
|
+
|
|
115
|
+
**Flexible** (patterns): Adapt principles to context.
|
|
116
|
+
|
|
117
|
+
The skill itself tells you which.
|
|
118
|
+
|
|
119
|
+
## User Instructions
|
|
120
|
+
|
|
121
|
+
Instructions say WHAT, not HOW. "Add X" or "Fix Y" doesn't mean skip workflows.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vector-database-setup
|
|
3
|
+
description: Set up vector databases with indexing, similarity search, and hybrid retrieval
|
|
4
|
+
category: AI Agents
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Vector Database Setup
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
Set up vector databases with indexing, similarity search, and hybrid retrieval. This skill helps you apply structured, repeatable methods for consistent results.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
- When you need to apply vector database setup best practices
|
|
14
|
+
- When establishing processes or standards for your workflow
|
|
15
|
+
- When training team members on vector database setup
|
|
16
|
+
- When automating or optimizing vector database setup tasks
|
|
17
|
+
|
|
18
|
+
## Instructions
|
|
19
|
+
1. **Assess**: Evaluate the current state, requirements, and constraints
|
|
20
|
+
2. **Plan**: Define the approach, steps, and success criteria
|
|
21
|
+
3. **Execute**: Follow the established patterns and best practices
|
|
22
|
+
4. **Verify**: Check results against expected outcomes and quality standards
|
|
23
|
+
5. **Iterate**: Refine based on feedback and lessons learned
|
|
24
|
+
|
|
25
|
+
## Examples
|
|
26
|
+
```
|
|
27
|
+
User: Help me apply vector database setup for my current project
|
|
28
|
+
Assistant: I'll help you apply vector database setup step by step...
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Related Skills
|
|
32
|
+
- Use with `workflow` tool for orchestrated execution
|
|
33
|
+
- Combine with `task` tool for delegated processing
|
|
34
|
+
- Reference `system-prompt` for system-level integration
|