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: meeting-scheduler
|
|
3
|
+
description: Schedule meetings across time zones with availability polling and reminders
|
|
4
|
+
category: Productivity
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Meeting Scheduler
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
Schedule meetings across time zones with availability polling and reminders. This skill helps you apply structured, repeatable methods for consistent results.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
- When you need to apply meeting scheduler best practices
|
|
14
|
+
- When establishing processes or standards for your workflow
|
|
15
|
+
- When training team members on meeting scheduler
|
|
16
|
+
- When automating or optimizing meeting scheduler 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 meeting scheduler for my current project
|
|
28
|
+
Assistant: I'll help you apply meeting scheduler 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: message-queues
|
|
3
|
+
description: Use message queues for async processing with dead-letter queues and consumer groups
|
|
4
|
+
category: Software Development
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Message Queues
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
Use message queues for async processing with dead-letter queues and consumer groups. This skill helps you apply structured, repeatable methods for consistent results.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
- When you need to apply message queues best practices
|
|
14
|
+
- When establishing processes or standards for your workflow
|
|
15
|
+
- When training team members on message queues
|
|
16
|
+
- When automating or optimizing message queues 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 message queues for my current project
|
|
28
|
+
Assistant: I'll help you apply message queues 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: message-summarization
|
|
3
|
+
description: Summarize conversation history into compact representations preserving key information
|
|
4
|
+
category: Token Savings
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Message Summarization
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
Summarize conversation history into compact representations preserving key information. This skill helps you apply structured, repeatable methods for consistent results.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
- When you need to apply message summarization best practices
|
|
14
|
+
- When establishing processes or standards for your workflow
|
|
15
|
+
- When training team members on message summarization
|
|
16
|
+
- When automating or optimizing message summarization 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 message summarization for my current project
|
|
28
|
+
Assistant: I'll help you apply message summarization 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: microservices-architecture
|
|
3
|
+
description: Design microservices with bounded contexts, event-driven communication, and API gateways
|
|
4
|
+
category: Software Development
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Microservices Architecture
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
Design microservices with bounded contexts, event-driven communication, and API gateways. This skill helps you apply structured, repeatable methods for consistent results.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
- When you need to apply microservices architecture best practices
|
|
14
|
+
- When establishing processes or standards for your workflow
|
|
15
|
+
- When training team members on microservices architecture
|
|
16
|
+
- When automating or optimizing microservices architecture 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 microservices architecture for my current project
|
|
28
|
+
Assistant: I'll help you apply microservices architecture 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,262 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: microsoft-foundry
|
|
3
|
+
description: "Deploy, evaluate, fine-tune, and manage Foundry agents end-to-end with azd: hosted agent scaffold/run/deploy, prompt agent create, batch eval, continuous eval, prompt optimizer, Agent Optimizer scaffold, agent.yaml, dataset curation from traces, model fine-tuning (SFT/DPO/RFT). USE FOR: azd ai agent, azd provision/deploy, deploy agent, hosted agent, create agent, add tool to agent, invoke agent, evaluate agent, continuous eval, continuous monitoring, optimize prompt, improve prompt, optimize agent instructions, agent optimizer, deploy model, Foundry project, RBAC, role assignment, permissions, quota, capacity, region, troubleshoot agent, deployment failure, AI Services, create Foundry resource, provision, knowledge index, customize deployment, onboard, availability, fine-tune, SFT, DPO, RFT, training-data, grader, distillation, fine-tuned model, large file upload. DO NOT USE FOR: Azure Functions, App Service, general Azure deploy (use azure-deploy), general Azure prep (use azure-prepare)."
|
|
4
|
+
license: MIT
|
|
5
|
+
metadata:
|
|
6
|
+
author: Microsoft
|
|
7
|
+
version: "1.1.27"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Microsoft Foundry Skill
|
|
11
|
+
|
|
12
|
+
This skill helps developers work with Microsoft Foundry resources, covering model discovery and deployment, complete dev lifecycle of AI agent, evaluation workflows, and troubleshooting.
|
|
13
|
+
|
|
14
|
+
## Pre-Execution Requirements
|
|
15
|
+
|
|
16
|
+
Before using Foundry MCP operations, call the Azure MCP `foundry` tool and inspect the available Foundry MCP tools and related parameters. Treat this as the discovery/help step for MCP-based workflows.
|
|
17
|
+
|
|
18
|
+
## Sub-Skills
|
|
19
|
+
|
|
20
|
+
> **MANDATORY: Before executing ANY workflow-specific steps, you MUST read the corresponding sub-skill document.** Do not call workflow-specific MCP tools for a workflow without reading its skill document. This applies even if you already know the MCP tool parameters — the skill document contains required workflow steps, pre-checks, and validation logic that must be followed. This rule applies on every new user message that triggers a different workflow, even if the skill is already loaded.
|
|
21
|
+
|
|
22
|
+
This skill includes specialized sub-skills for specific workflows. **Use these instead of the main skill when they match your task:**
|
|
23
|
+
|
|
24
|
+
| Sub-Skill | When to Use | Reference |
|
|
25
|
+
|-----------|-------------|-----------|
|
|
26
|
+
| **deploy** | Deploy hosted agents to Foundry, smoke-test a deployment, create or update prompt agents, and manage agent versions and multi-environment deploys. | [deploy](foundry-agent/deploy/deploy.md) |
|
|
27
|
+
| **invoke** | Send messages to an agent, single or multi-turn conversations | [invoke](foundry-agent/invoke/invoke.md) |
|
|
28
|
+
| **invocations-ws** | Build, deploy, and connect to hosted agents that speak the `invocations_ws` duplex WebSocket protocol — voice agents, real-time streams, and signaling for out-of-band media transports. | [invocations-ws](foundry-agent/invocations-ws/invocations-ws.md) |
|
|
29
|
+
| **observe** | Evaluate agent quality, run batch evals, analyze failures, optimize prompts, improve agent instructions, compare versions, set up CI/CD monitoring, and enable continuous production evaluation | [observe](foundry-agent/observe/observe.md) |
|
|
30
|
+
| **trace** | Query traces, analyze latency/failures, correlate eval results to specific responses via App Insights `customEvents` | [trace](foundry-agent/trace/trace.md) |
|
|
31
|
+
| **troubleshoot** | View hosted agent logs, query telemetry, diagnose failures | [troubleshoot](foundry-agent/troubleshoot/troubleshoot.md) |
|
|
32
|
+
| **create (quick start)** | Create a new hosted Foundry agent from scratch end-to-end — scaffold, provision a new Foundry project, deploy, and smoke-test. Opinionated happy-path that accepts common overrides (language, region, sample, topic, existing project, existing model). For anything not covered by the quickstart, use **create**. | [create/quick-start-hosted.md](foundry-agent/create/quick-start-hosted.md) |
|
|
33
|
+
| **create** | Use when the standard end-to-end happy path doesn't fit — lifting existing agent code into the project, deploying outside the default code path, wiring connections at scaffold time, advanced setup, or recovering from a failed quickstart run. | [create](foundry-agent/create/create-hosted.md) |
|
|
34
|
+
| **agent-optimizer** | Make existing Python hosted-agent code optimization-ready, configure eval.yaml, run Agent Optimizer jobs, apply candidates locally, and deploy through azd after review. | [agent-optimizer](foundry-agent/agent-optimizer/agent-optimizer.md) |
|
|
35
|
+
| **eval-datasets** | Harvest production traces into evaluation datasets, manage dataset versions and splits, track evaluation metrics over time, detect regressions, and maintain full lineage from trace to deployment. Use for: create dataset from traces, dataset versioning, evaluation trending, regression detection, dataset comparison, eval lineage. | [eval-datasets](foundry-agent/eval-datasets/eval-datasets.md) |
|
|
36
|
+
| **project/create** | Creating a new Azure AI Foundry project for hosting agents and models. Use when onboarding to Foundry or setting up new infrastructure. | [project/create/create-foundry-project.md](project/create/create-foundry-project.md) |
|
|
37
|
+
| **resource/create** | Creating Azure AI Services multi-service resource (Foundry resource) using Azure CLI. Use when manually provisioning AI Services resources with granular control. | [resource/create/create-foundry-resource.md](resource/create/create-foundry-resource.md) |
|
|
38
|
+
| **private-network** | Answer questions about Foundry network isolation **and** deploy Foundry with VNet isolation (BYO VNet, Managed VNet, hybrid). Covers architecture concepts, template selection, deployment, and post-deployment validation. | [resource/private-network/private-network.md](resource/private-network/private-network.md) |
|
|
39
|
+
| **models/deploy-model** | Unified model deployment with intelligent routing. Handles quick preset deployments, fully customized deployments (version/SKU/capacity/RAI), and capacity discovery across regions. Routes to sub-skills: `preset` (quick deploy), `customize` (full control), `capacity` (find availability). | [models/deploy-model/SKILL.md](models/deploy-model/SKILL.md) |
|
|
40
|
+
| **quota** | Managing quotas and capacity for Microsoft Foundry resources. Use when checking quota usage, troubleshooting deployment failures due to insufficient quota, requesting quota increases, or planning capacity. | [quota/quota.md](quota/quota.md) |
|
|
41
|
+
| **rbac** | Managing RBAC permissions, role assignments, managed identities, and service principals for Microsoft Foundry resources. Use for access control, auditing permissions, and CI/CD setup. | [rbac/rbac.md](rbac/rbac.md) |
|
|
42
|
+
| **finetuning** | Fine-tune models on Azure AI Foundry — SFT distillation, DPO preference optimization, RFT with graders and tool calling. Dataset preparation, grader calibration, training, checkpoint selection, deployment, evaluation. Use for: fine-tune, SFT, DPO, RFT, training data, grader, distillation, fine-tuned model, large file upload. | [finetuning/SKILL.md](finetuning/SKILL.md) |
|
|
43
|
+
|
|
44
|
+
> 💡 **Tip:** For a complete onboarding flow: `project/create` (public) or `private-network` (VNet isolation) → `models/deploy-model` → agent workflows (`create` → `deploy` → `invoke`).
|
|
45
|
+
|
|
46
|
+
> 💡 **Fine-Tuning:** Use `finetuning` for all model customization — SFT distillation, DPO preference optimization, and RFT with graders. Includes quickstart, grader calibration, and training curve analysis.
|
|
47
|
+
|
|
48
|
+
> 💡 **Model Deployment:** Use `models/deploy-model` for all deployment scenarios — it intelligently routes between quick preset deployment, customized deployment with full control, and capacity discovery across regions.
|
|
49
|
+
|
|
50
|
+
> 💡 **Prompt Optimization:** For requests like "optimize my prompt" or "improve my agent instructions," load [observe](foundry-agent/observe/observe.md) and use the `prompt_optimize` MCP tool through that eval-driven workflow.
|
|
51
|
+
|
|
52
|
+
## Infrastructure Lifecycle
|
|
53
|
+
|
|
54
|
+
Match user intent to the correct infrastructure workflow.
|
|
55
|
+
|
|
56
|
+
| User Intent | Workflow |
|
|
57
|
+
|-------------|---------|
|
|
58
|
+
| "Create Foundry" / "Set up Foundry" (ambiguous) | Use `AskUserQuestion`: (a) just an AI Services resource, (b) a project with public access, or (c) a project with network isolation? Route: (a) → [resource/create](resource/create/create-foundry-resource.md), (b) → [project/create](project/create/create-foundry-project.md), (c) → [private-network](resource/private-network/private-network.md) |
|
|
59
|
+
| Set up Foundry with VNet isolation | [private-network](resource/private-network/private-network.md) |
|
|
60
|
+
| Create a Foundry project (public) | [project/create](project/create/create-foundry-project.md) |
|
|
61
|
+
| Create a bare Foundry resource | [resource/create](resource/create/create-foundry-resource.md) |
|
|
62
|
+
|
|
63
|
+
## Agent Development Lifecycle
|
|
64
|
+
|
|
65
|
+
Match user intent to the correct agent workflow. Read each sub-skill in order before executing.
|
|
66
|
+
|
|
67
|
+
| User Intent | Workflow (read in order) |
|
|
68
|
+
|-------------|------------------------|
|
|
69
|
+
| Create a new hosted agent end-to-end (scaffold + deploy + test) | [quick-start-hosted](foundry-agent/create/quick-start-hosted.md) (self-contained end-to-end) |
|
|
70
|
+
| Anything beyond the standard quickstart (existing code, deployment customization, scaffold-time connections, recovery) | [create](foundry-agent/create/create-hosted.md) → [deploy](foundry-agent/deploy/deploy.md) → [invoke](foundry-agent/invoke/invoke.md) |
|
|
71
|
+
| Optimize existing Python hosted agent | [agent-optimizer](foundry-agent/agent-optimizer/agent-optimizer.md) → scaffold/review → eval.yaml → optimize → apply candidate → deploy → invoke |
|
|
72
|
+
| Deploy an agent (code already exists) | deploy (includes eval-suite setup) → invoke → observe (evaluate/optimize) |
|
|
73
|
+
| Update/redeploy an agent after code changes | deploy (includes eval-suite setup) → invoke → observe (evaluate/optimize) |
|
|
74
|
+
| Invoke/test/chat with an agent | invoke |
|
|
75
|
+
| Optimize / improve agent prompt or instructions | observe (Step 4: Optimize) |
|
|
76
|
+
| Evaluate and optimize agent (full loop) | observe |
|
|
77
|
+
| Enable continuous evaluation monitoring | observe (Step 6: CI/CD & Monitoring) |
|
|
78
|
+
| Troubleshoot an agent issue | invoke → troubleshoot |
|
|
79
|
+
| Fix a broken agent (troubleshoot + redeploy) | invoke → troubleshoot → apply fixes → deploy → invoke |
|
|
80
|
+
|
|
81
|
+
## Agent: .foundry Workspace Standard
|
|
82
|
+
|
|
83
|
+
Every agent source folder can keep Foundry-specific cache and overlay state under `.foundry/`:
|
|
84
|
+
|
|
85
|
+
```text
|
|
86
|
+
<agent-root>/
|
|
87
|
+
.foundry/
|
|
88
|
+
agent-metadata.yaml
|
|
89
|
+
agent-metadata.prod.yaml
|
|
90
|
+
suites/
|
|
91
|
+
datasets/
|
|
92
|
+
evaluators/
|
|
93
|
+
results/
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
- In azd projects, derive deployment context (project endpoint, agent name/version, ACR, App Insights) from `azure.yaml` plus `azd env get-values`; do not duplicate those values in metadata when azd already provides them.
|
|
97
|
+
- `agent-metadata.yaml` is the preferred local/dev overlay for non-azd values, remote Foundry suite references, local cache paths, result summaries, and explicit overrides. Optional sidecar files such as `agent-metadata.prod.yaml` can hold a single prod or CI-targeted overlay without mixing multiple environments in one file.
|
|
98
|
+
- `suites/`, `datasets/`, and `evaluators/` are local cache folders. Reuse them when they are current, and ask before refreshing or overwriting them.
|
|
99
|
+
- See [Agent Metadata Contract](references/agent-metadata-contract.md) for the canonical schema and workflow rules.
|
|
100
|
+
|
|
101
|
+
## Agent: Setup References
|
|
102
|
+
|
|
103
|
+
- [Standard Agent Setup](references/standard-agent-setup.md) — advanced setup for production workloads that need data-residency control (bring-your-own Cosmos DB / Storage / AI Search via a Foundry capability host). The default `azd ai agent` flow uses **Basic Agent Setup** and does **not** provision `capabilityHosts/agents` — do not flag its absence as a bug. For default post-provision state, see the "Expected env-var fingerprint" section in [foundry-agent/create/create-hosted.md](foundry-agent/create/create-hosted.md).
|
|
104
|
+
|
|
105
|
+
## Agent: Common Project Context Resolution
|
|
106
|
+
|
|
107
|
+
Agent skills should run this step **only when they need configuration values they don't already have**. If a value (for example, agent root, environment, project endpoint, or agent name) is already known from the user's message or a previous skill in the same session, skip resolution for that value.
|
|
108
|
+
|
|
109
|
+
### Step 1: Discover Agent Roots and azd Context
|
|
110
|
+
|
|
111
|
+
First check whether the workspace has `azure.yaml` with services using `host: azure.ai.agent`.
|
|
112
|
+
|
|
113
|
+
- **One azd agent service** -> use that service's `project` folder as the agent root.
|
|
114
|
+
- **Multiple azd agent services** -> require the user to choose the target service/folder.
|
|
115
|
+
- **No azd agent service** -> search the workspace for `.foundry/` folders that contain `agent-metadata.yaml` or `agent-metadata.<env>.yaml`.
|
|
116
|
+
- **One match** -> use that agent root.
|
|
117
|
+
- **Multiple matches** -> require the user to choose the target agent folder.
|
|
118
|
+
- **No matches** -> for create/deploy workflows, seed a new `.foundry/` folder during setup; for all other workflows, stop and ask the user which agent source folder to initialize.
|
|
119
|
+
|
|
120
|
+
After selecting an agent root, keep all local `.foundry` cache inspection, source inspection, evaluator suggestions, dataset suggestions, and prompt-optimization context inside that folder only. Do **not** scan sibling agent folders unless the user explicitly switches roots.
|
|
121
|
+
|
|
122
|
+
### Step 2: Resolve Environment and Deployment Context
|
|
123
|
+
|
|
124
|
+
If `azure.yaml` is present, resolve the azd environment first:
|
|
125
|
+
|
|
126
|
+
1. Environment explicitly named by the user
|
|
127
|
+
2. `AZURE_ENV_NAME` from `azd env get-values`
|
|
128
|
+
3. azd default environment from `.azure/config.json`
|
|
129
|
+
4. Environment already selected earlier in the session
|
|
130
|
+
|
|
131
|
+
Run `azd env get-values` for the selected environment when project/deployment values are not already known. Prefer azd values for deployment context:
|
|
132
|
+
|
|
133
|
+
| azd Variable | Resolves To |
|
|
134
|
+
|-------------|-------------|
|
|
135
|
+
| `AZURE_AI_PROJECT_ENDPOINT` or `AZURE_AIPROJECT_ENDPOINT` | Project endpoint |
|
|
136
|
+
| `AGENT_<SERVICE>_NAME` | Agent name for the selected azd service |
|
|
137
|
+
| `AGENT_<SERVICE>_VERSION` | Agent version for the selected azd service |
|
|
138
|
+
| `AZURE_CONTAINER_REGISTRY_NAME` or `AZURE_CONTAINER_REGISTRY_ENDPOINT` | ACR registry name / image URL prefix |
|
|
139
|
+
| `APPLICATIONINSIGHTS_CONNECTION_STRING` | App Insights connection string for trace workflows |
|
|
140
|
+
| `AZURE_SUBSCRIPTION_ID`, `AZURE_RESOURCE_GROUP`, `AZURE_AI_ACCOUNT_NAME`, `AZURE_AI_PROJECT_NAME` | Azure resource lookup and Playground links |
|
|
141
|
+
|
|
142
|
+
When azd supplies these values, use them as the source of truth and do not copy them into `.foundry/agent-metadata*.yaml` on metadata writes.
|
|
143
|
+
|
|
144
|
+
### Step 3: Select Metadata Overlay and Resolve Environment
|
|
145
|
+
|
|
146
|
+
Inside the selected agent root, choose the metadata file in this order:
|
|
147
|
+
1. Metadata filename or path explicitly provided by the user or workflow
|
|
148
|
+
2. If an explicit environment is already known and `.foundry/agent-metadata.<env>.yaml` exists, use that file
|
|
149
|
+
3. `.foundry/agent-metadata.yaml`
|
|
150
|
+
4. If multiple metadata files remain and no rule above selects one, prompt the user to choose
|
|
151
|
+
|
|
152
|
+
Read the selected metadata file and resolve any remaining environment choice in this order:
|
|
153
|
+
1. Environment explicitly named by the user
|
|
154
|
+
2. If the selected metadata file defines exactly one environment, use it
|
|
155
|
+
3. Environment already selected earlier in the session
|
|
156
|
+
4. `defaultEnvironment` from metadata
|
|
157
|
+
|
|
158
|
+
If the selected metadata file still contains multiple environments and none of the rules above selects one, prompt the user to choose. Keep the selected agent root, metadata file, environment, and whether context came from azd or metadata visible in every workflow summary.
|
|
159
|
+
|
|
160
|
+
If the selected environment exposes older `testSuites[]` metadata but not `evaluationSuites[]`, treat `testSuites[]` as the source for this session and normalize each entry in memory to the `evaluationSuites[]` shape before continuing. If the metadata is older still and only exposes legacy `testCases[]`, normalize that list the same way. Preserve dataset and evaluator fields, keep any existing `tags`, and map legacy `priority` to `tags.tier` only when `tags.tier` is missing: `P0` -> `smoke`, `P1` -> `regression`, `P2` -> `coverage`.
|
|
161
|
+
|
|
162
|
+
### Step 4: Resolve eval.yaml Local Evaluation Intent
|
|
163
|
+
|
|
164
|
+
If `eval.yaml` exists in the selected agent root, parse it before generating new suites:
|
|
165
|
+
|
|
166
|
+
- `agent.name` -> target agent candidate; verify it matches the selected azd/metadata agent before using it.
|
|
167
|
+
- `dataset.local_uri` -> local seed dataset candidate; legacy `dataset_file` may be normalized in memory.
|
|
168
|
+
- `dataset.name` / `dataset.version` -> registered dataset candidate.
|
|
169
|
+
- `validation_dataset` -> optional validation dataset candidate.
|
|
170
|
+
- `evaluators[]` -> candidate Foundry evaluator names; verify with `evaluator_catalog_get` before treating them as remote evaluators.
|
|
171
|
+
- `name` -> local eval/suite candidate; verify remotely before persisting as `suiteName`.
|
|
172
|
+
- `options.eval_model`, `options.optimization_model`, `options.max_candidates`, `options.optimization_config.model_search_space`, `options.pass_threshold`, `max_samples`, `trace_days`, and `generation_instruction` -> setup defaults.
|
|
173
|
+
|
|
174
|
+
Treat `eval.yaml` as local evaluation intent, not proof that a Foundry suite exists. Persist synced suite/dataset/evaluator references to `.foundry` only after remote lookup or registration succeeds.
|
|
175
|
+
|
|
176
|
+
### Step 5: Resolve Common Configuration
|
|
177
|
+
|
|
178
|
+
Layer sources in this order:
|
|
179
|
+
|
|
180
|
+
1. Explicit user input and values already selected in the session
|
|
181
|
+
2. azd environment values for deployment context
|
|
182
|
+
3. `.foundry/agent-metadata*.yaml` overlay values and remote suite/cache references
|
|
183
|
+
4. `agent.yaml` and `eval.yaml` local source configuration
|
|
184
|
+
5. User prompts for anything still missing
|
|
185
|
+
|
|
186
|
+
If azd and metadata both provide the same value and they differ, stop and ask which source is authoritative. If they match, use the azd value and avoid rewriting the duplicate on future metadata writes.
|
|
187
|
+
|
|
188
|
+
| Effective Value | Preferred Source | Used By |
|
|
189
|
+
|-----------------|------------------|---------|
|
|
190
|
+
| Project endpoint | azd env | deploy, invoke, observe, trace, troubleshoot |
|
|
191
|
+
| Agent name/version | azd agent variables, then `agent.yaml` | invoke, observe, trace, troubleshoot |
|
|
192
|
+
| ACR | azd env | deploy |
|
|
193
|
+
| Evaluation suites and cache paths | `.foundry/agent-metadata*.yaml` | observe, eval-datasets |
|
|
194
|
+
| Local seed dataset/evaluator intent | `eval.yaml` | observe, eval-datasets |
|
|
195
|
+
|
|
196
|
+
### Step 6: Write Metadata Overlay (Create/Deploy/Observe Only)
|
|
197
|
+
|
|
198
|
+
On any metadata write (deploy, auto-setup, dataset refresh, or trace-to-dataset update), persist only non-derivable overlay/cache state in the selected metadata file:
|
|
199
|
+
|
|
200
|
+
- azd binding (`azd.environmentName`, `azd.service`) when useful for future resolution
|
|
201
|
+
- `evaluationSuites[]` with remote suite/dataset/evaluator references and local cache paths
|
|
202
|
+
- `lastEval`, result files, comparison summaries, or explicit non-azd overrides
|
|
203
|
+
|
|
204
|
+
Do not copy azd-owned deployment values into metadata when azd already provides them. If the selected file is a preferred single-environment file, rewrite only that one environment block. If the selected file is a legacy multi-environment file, rewrite only the selected environment block. Never copy or merge environments across sibling metadata files automatically. If the selected environment still uses older `testSuites[]` or legacy `testCases[]`, rewrite it to `evaluationSuites[]` and remove migrated `priority` fields from the rewritten entries.
|
|
205
|
+
|
|
206
|
+
### Step 7: Collect Missing Values
|
|
207
|
+
|
|
208
|
+
Use the `ask_user` or `askQuestions` tool **only for values not resolved** from the user's message, session context, metadata, or azd bootstrap. Common values skills may need:
|
|
209
|
+
- **Agent root** — Target azd service project folder or folder containing `.foundry/agent-metadata*.yaml`
|
|
210
|
+
- **Metadata file** — `agent-metadata.yaml` for local/dev, or an explicit sidecar such as `agent-metadata.prod.yaml`
|
|
211
|
+
- **Environment** — azd environment, `dev`, `prod`, or another environment key from metadata
|
|
212
|
+
- **Project endpoint** — AI Foundry project endpoint URL
|
|
213
|
+
- **Agent name** — Name of the target agent
|
|
214
|
+
|
|
215
|
+
> 💡 **Tip:** If the user already provides the agent path, environment, project endpoint, or agent name, extract it directly — do not ask again.
|
|
216
|
+
|
|
217
|
+
## Agent: Agent Types
|
|
218
|
+
|
|
219
|
+
All agent skills support two agent types:
|
|
220
|
+
|
|
221
|
+
| Type | Kind | Description |
|
|
222
|
+
|------|------|-------------|
|
|
223
|
+
| **Prompt** | `"prompt"` | LLM-based agents backed by a model deployment |
|
|
224
|
+
| **Hosted** | `"hosted"` | Container-based agents running custom code |
|
|
225
|
+
|
|
226
|
+
Use `agent_get` MCP tool to determine an agent's type when needed.
|
|
227
|
+
|
|
228
|
+
## Tool Usage Conventions
|
|
229
|
+
|
|
230
|
+
- Use the `ask_user` or `askQuestions` tool whenever collecting information from the user
|
|
231
|
+
- Use the `task` or `runSubagent` tool to delegate long-running or independent sub-tasks (e.g., env var scanning, status polling, Dockerfile generation)
|
|
232
|
+
- Prefer Azure MCP tools over direct CLI commands when available
|
|
233
|
+
- Reference official Microsoft documentation URLs instead of embedding CLI command syntax
|
|
234
|
+
|
|
235
|
+
## Additional Resources
|
|
236
|
+
|
|
237
|
+
- [Foundry Hosted Agents](https://learn.microsoft.com/azure/ai-foundry/agents/concepts/hosted-agents?view=foundry)
|
|
238
|
+
- [Foundry Agent Runtime Components](https://learn.microsoft.com/azure/ai-foundry/agents/concepts/runtime-components?view=foundry)
|
|
239
|
+
|
|
240
|
+
## SDK Quick Reference
|
|
241
|
+
|
|
242
|
+
- [Python](references/sdk/foundry-sdk-py.md)
|
|
243
|
+
|
|
244
|
+
## Network Isolation Errors
|
|
245
|
+
|
|
246
|
+
Applies to **any** call against a Foundry project or its parent Foundry account — Foundry MCP tools, `azd`, `az` CLI, `curl`, REST, or SDK.
|
|
247
|
+
|
|
248
|
+
If an error matches `Public access is disabled` / `PublicNetworkAccessDisabled` / `403 Forbidden` from a private endpoint / connection timeout / the project endpoint FQDN resolves to a public IP, this typically means the parent Foundry account has `publicNetworkAccess=Disabled` or `Enabled from selected IP addresses`, and the current shell is outside its VNet.
|
|
249
|
+
|
|
250
|
+
Only if the error is ambiguous, confirm against the Foundry account using a management-plane call (works from anywhere with reader access):
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
az cognitiveservices account show \
|
|
254
|
+
--name <account> --resource-group <rg> \
|
|
255
|
+
--query "properties.{publicNetworkAccess:publicNetworkAccess, networkAcls:networkAcls, privateEndpointConnections:privateEndpointConnections[].properties.privateLinkServiceConnectionState.status}"
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
`publicNetworkAccess: "Disabled"` — or `"Enabled"` together with non-empty `networkAcls.ipRules` / `virtualNetworkRules` — confirms isolation. If `publicNetworkAccess: "Enabled"` and `networkAcls` is empty, the failure is a caller-side network issue (e.g. Private DNS resolving the FQDN to a public IP from inside a VNet with a private endpoint), not an account-config issue.
|
|
259
|
+
|
|
260
|
+
If it's indeed a network isolation issue, supported connection options are documented in [Choose a secure connection method to Foundry](https://learn.microsoft.com/azure/foundry/how-to/configure-private-link#choose-a-secure-connection-method-to-foundry).
|
|
261
|
+
|
|
262
|
+
> ℹ️ Foundry MCP tools cannot reach a VNet-isolated project even from inside the VNet.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: migrate-to-shoehorn
|
|
3
|
+
description: Migrate test files from `as` type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Migrate to Shoehorn
|
|
7
|
+
|
|
8
|
+
## Why shoehorn?
|
|
9
|
+
|
|
10
|
+
`shoehorn` lets you pass partial data in tests while keeping TypeScript happy. It replaces `as` assertions with type-safe alternatives.
|
|
11
|
+
|
|
12
|
+
**Test code only.** Never use shoehorn in production code.
|
|
13
|
+
|
|
14
|
+
Problems with `as` in tests:
|
|
15
|
+
|
|
16
|
+
- Trained not to use it
|
|
17
|
+
- Must manually specify target type
|
|
18
|
+
- Double-as (`as unknown as Type`) for intentionally wrong data
|
|
19
|
+
|
|
20
|
+
## Install
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm i @total-typescript/shoehorn
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Migration patterns
|
|
27
|
+
|
|
28
|
+
### Large objects with few needed properties
|
|
29
|
+
|
|
30
|
+
Before:
|
|
31
|
+
|
|
32
|
+
```ts
|
|
33
|
+
type Request = {
|
|
34
|
+
body: { id: string };
|
|
35
|
+
headers: Record<string, string>;
|
|
36
|
+
cookies: Record<string, string>;
|
|
37
|
+
// ...20 more properties
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
it("gets user by id", () => {
|
|
41
|
+
// Only care about body.id but must fake entire Request
|
|
42
|
+
getUser({
|
|
43
|
+
body: { id: "123" },
|
|
44
|
+
headers: {},
|
|
45
|
+
cookies: {},
|
|
46
|
+
// ...fake all 20 properties
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
After:
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
import { fromPartial } from "@total-typescript/shoehorn";
|
|
55
|
+
|
|
56
|
+
it("gets user by id", () => {
|
|
57
|
+
getUser(
|
|
58
|
+
fromPartial({
|
|
59
|
+
body: { id: "123" },
|
|
60
|
+
}),
|
|
61
|
+
);
|
|
62
|
+
});
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### `as Type` → `fromPartial()`
|
|
66
|
+
|
|
67
|
+
Before:
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
getUser({ body: { id: "123" } } as Request);
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
After:
|
|
74
|
+
|
|
75
|
+
```ts
|
|
76
|
+
import { fromPartial } from "@total-typescript/shoehorn";
|
|
77
|
+
|
|
78
|
+
getUser(fromPartial({ body: { id: "123" } }));
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### `as unknown as Type` → `fromAny()`
|
|
82
|
+
|
|
83
|
+
Before:
|
|
84
|
+
|
|
85
|
+
```ts
|
|
86
|
+
getUser({ body: { id: 123 } } as unknown as Request); // wrong type on purpose
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
After:
|
|
90
|
+
|
|
91
|
+
```ts
|
|
92
|
+
import { fromAny } from "@total-typescript/shoehorn";
|
|
93
|
+
|
|
94
|
+
getUser(fromAny({ body: { id: 123 } }));
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## When to use each
|
|
98
|
+
|
|
99
|
+
| Function | Use case |
|
|
100
|
+
| --------------- | -------------------------------------------------- |
|
|
101
|
+
| `fromPartial()` | Pass partial data that still type-checks |
|
|
102
|
+
| `fromAny()` | Pass intentionally wrong data (keeps autocomplete) |
|
|
103
|
+
| `fromExact()` | Force full object (swap with fromPartial later) |
|
|
104
|
+
|
|
105
|
+
## Workflow
|
|
106
|
+
|
|
107
|
+
1. **Gather requirements** - ask user:
|
|
108
|
+
- What test files have `as` assertions causing problems?
|
|
109
|
+
- Are they dealing with large objects where only some properties matter?
|
|
110
|
+
- Do they need to pass intentionally wrong data for error testing?
|
|
111
|
+
|
|
112
|
+
2. **Install and migrate**:
|
|
113
|
+
- [ ] Install: `npm i @total-typescript/shoehorn`
|
|
114
|
+
- [ ] Find test files with `as` assertions: `grep -r " as [A-Z]" --include="*.test.ts" --include="*.spec.ts"`
|
|
115
|
+
- [ ] Replace `as Type` with `fromPartial()`
|
|
116
|
+
- [ ] Replace `as unknown as Type` with `fromAny()`
|
|
117
|
+
- [ ] Add imports from `@total-typescript/shoehorn`
|
|
118
|
+
- [ ] Run type check to verify
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: milestone-tracking
|
|
3
|
+
description: Track milestones with progress indicators, blockers, and stakeholder updates
|
|
4
|
+
category: Planning & Execution
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Milestone Tracking
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
Track milestones with progress indicators, blockers, and stakeholder updates. This skill helps you apply structured, repeatable methods for consistent results.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
- When you need to apply milestone tracking best practices
|
|
14
|
+
- When establishing processes or standards for your workflow
|
|
15
|
+
- When training team members on milestone tracking
|
|
16
|
+
- When automating or optimizing milestone tracking 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 milestone tracking for my current project
|
|
28
|
+
Assistant: I'll help you apply milestone tracking 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,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: minimalist-ui
|
|
3
|
+
description: Clean editorial-style interfaces. Warm monochrome palette, typographic contrast, flat bento grids, muted pastels. No gradients, no heavy shadows.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Protocol: Premium Utilitarian Minimalism UI Architect
|
|
7
|
+
|
|
8
|
+
## 1. Protocol Overview
|
|
9
|
+
Name: Premium Utilitarian Minimalism & Editorial UI
|
|
10
|
+
Description: An advanced frontend engineering directive for generating highly refined, ultra-minimalist, "document-style" web interfaces analogous to top-tier workspace platforms. This protocol strictly enforces a high-contrast warm monochrome palette, bespoke typographic hierarchies, meticulous structural macro-whitespace, bento-grid layouts, and an ultra-flat component architecture with deliberate muted pastel accents. It actively rejects standard generic SaaS design trends.
|
|
11
|
+
|
|
12
|
+
## 2. Absolute Negative Constraints (Banned Elements)
|
|
13
|
+
The AI must strictly avoid the following generic web development defaults:
|
|
14
|
+
- DO NOT use the "Inter", "Roboto", or "Open Sans" typefaces.
|
|
15
|
+
- DO NOT use generic, thin-line icon libraries like "Lucide", "Feather", or standard "Heroicons".
|
|
16
|
+
- DO NOT use Tailwind's default heavy drop shadows (e.g., `shadow-md`, `shadow-lg`, `shadow-xl`). Shadows must be practically non-existent or heavily customized to be ultra-diffuse and low opacity (< 0.05).
|
|
17
|
+
- DO NOT use primary colored backgrounds for large elements or sections (e.g., no bright blue, green, or red hero sections).
|
|
18
|
+
- DO NOT use gradients, neon colors, or 3D glassmorphism (beyond subtle navbar blurs).
|
|
19
|
+
- DO NOT use `rounded-full` (pill shapes) for large containers, cards, or primary buttons.
|
|
20
|
+
- DO NOT use emojis anywhere in code, markup, text content, headings, or alt text. Replace with proper icons or clean SVG primitives.
|
|
21
|
+
- DO NOT use generic placeholder names like "John Doe", "Acme Corp", or "Lorem Ipsum". Use realistic, contextual content.
|
|
22
|
+
- DO NOT use AI copywriting clichés: "Elevate", "Seamless", "Unleash", "Next-Gen", "Game-changer", "Delve". Write plain, specific language.
|
|
23
|
+
|
|
24
|
+
## 3. Typographic Architecture
|
|
25
|
+
The interface must rely on extreme typographic contrast and premium font selection to establish an editorial feel.
|
|
26
|
+
- Primary Sans-Serif (Body, UI, Buttons): Use clean, geometric, or system-native fonts with character. Target: `font-family: 'SF Pro Display', 'Geist Sans', 'Helvetica Neue', 'Switzer', sans-serif`.
|
|
27
|
+
- Editorial Serif (Hero Headings & Quotes): Target: `font-family: 'Lyon Text', 'Newsreader', 'Playfair Display', 'Instrument Serif', serif`. Apply tight tracking (`letter-spacing: -0.02em` to `-0.04em`) and tight line-height (`1.1`).
|
|
28
|
+
- Monospace (Code, Keystrokes, Meta-data): Target: `font-family: 'Geist Mono', 'SF Mono', 'JetBrains Mono', monospace`.
|
|
29
|
+
- Text Colors: Body text must never be absolute black (`#000000`). Use off-black/charcoal (`#111111` or `#2F3437`) with a generous `line-height` of `1.6` for legibility. Secondary text should be muted gray (`#787774`).
|
|
30
|
+
|
|
31
|
+
## 4. Color Palette (Warm Monochrome + Spot Pastels)
|
|
32
|
+
Color is a scarce resource, utilized only for semantic meaning or subtle accents.
|
|
33
|
+
- Canvas / Background: Pure White `#FFFFFF` or Warm Bone/Off-White `#F7F6F3` / `#FBFBFA`.
|
|
34
|
+
- Primary Surface (Cards): `#FFFFFF` or `#F9F9F8`.
|
|
35
|
+
- Structural Borders / Dividers: Ultra-light gray `#EAEAEA` or `rgba(0,0,0,0.06)`.
|
|
36
|
+
- Accent Colors: Exclusively use highly desaturated, washed-out pastels for tags, inline code backgrounds, or subtle icon backgrounds.
|
|
37
|
+
- Pale Red: `#FDEBEC` (Text: `#9F2F2D`)
|
|
38
|
+
- Pale Blue: `#E1F3FE` (Text: `#1F6C9F`)
|
|
39
|
+
- Pale Green: `#EDF3EC` (Text: `#346538`)
|
|
40
|
+
- Pale Yellow: `#FBF3DB` (Text: `#956400`)
|
|
41
|
+
|
|
42
|
+
## 5. Component Specifications
|
|
43
|
+
- Bento Box Feature Grids:
|
|
44
|
+
- Utilize asymmetrical CSS Grid layouts.
|
|
45
|
+
- Cards must have exactly `border: 1px solid #EAEAEA`.
|
|
46
|
+
- Border-radius must be crisp: `8px` or `12px` maximum.
|
|
47
|
+
- Internal padding must be generous (e.g., `24px` to `40px`).
|
|
48
|
+
- Primary Call-To-Action (Buttons):
|
|
49
|
+
- Solid background `#111111`, text `#FFFFFF`.
|
|
50
|
+
- Slight border-radius (`4px` to `6px`). No box-shadow.
|
|
51
|
+
- Hover state should be a subtle color shift to `#333333` or a micro-scale `transform: scale(0.98)`.
|
|
52
|
+
- Tags & Status Badges:
|
|
53
|
+
- Pill-shaped (`border-radius: 9999px`), very small typography (`text-xs`), uppercase with wide tracking (`letter-spacing: 0.05em`).
|
|
54
|
+
- Background must use the defined Muted Pastels.
|
|
55
|
+
- Accordions (FAQ):
|
|
56
|
+
- Strip all container boxes. Separate items only with a `border-bottom: 1px solid #EAEAEA`.
|
|
57
|
+
- Use a clean, sharp `+` and `-` icon for the toggle state.
|
|
58
|
+
- Keystroke Micro-UIs:
|
|
59
|
+
- Render shortcuts as physical keys using `<kbd>` tags: `border: 1px solid #EAEAEA`, `border-radius: 4px`, `background: #F7F6F3`, using the Monospace font.
|
|
60
|
+
- Faux-OS Window Chrome:
|
|
61
|
+
- When mocking up software, wrap it in a minimalist container with a white top bar containing three small, light gray circles (replicating macOS window controls).
|
|
62
|
+
|
|
63
|
+
## 6. Iconography & Imagery Directives
|
|
64
|
+
- System Icons: Use "Phosphor Icons (Bold or Fill weights)" or "Radix UI Icons" for a technical, slightly thicker-stroke aesthetic. Standardize stroke width across all icons.
|
|
65
|
+
- Illustrations: Monochromatic, rough continuous-line ink sketches on a white background, featuring a single offset geometric shape filled with a muted pastel color.
|
|
66
|
+
- Photography: Use high-quality, desaturated images with a warm tone. Apply subtle overlays (`opacity: 0.04` warm grain) to blend photos into the monochrome palette. Never use oversaturated stock photos. Use reliable placeholders like `https://picsum.photos/seed/{context}/1200/800` when real assets are unavailable.
|
|
67
|
+
- Hero & Section Backgrounds: Sections should not feel empty and flat. Use subtle full-width background imagery at very low opacity, soft radial light spots (`radial-gradient` with warm tones at `opacity: 0.03`), or minimal geometric line patterns to add depth without breaking the clean aesthetic.
|
|
68
|
+
|
|
69
|
+
## 7. Subtle Motion & Micro-Animations
|
|
70
|
+
Motion should feel invisible — present but never distracting. The goal is quiet sophistication, not spectacle.
|
|
71
|
+
- Scroll Entry: Elements fade in gently as they enter the viewport. Use `translateY(12px)` + `opacity: 0` resolving over `600ms` with `cubic-bezier(0.16, 1, 0.3, 1)`. Use `IntersectionObserver`, never `window.addEventListener('scroll')`.
|
|
72
|
+
- Hover States: Cards lift with an ultra-subtle shadow shift (`box-shadow` transitioning from `0 0 0` to `0 2px 8px rgba(0,0,0,0.04)` over `200ms`). Buttons respond with `scale(0.98)` on `:active`.
|
|
73
|
+
- Staggered Reveals: Lists and grid items enter with a cascade delay (`animation-delay: calc(var(--index) * 80ms)`). Never mount everything at once.
|
|
74
|
+
- Background Ambient Motion: Optional. A single, very slow-moving radial gradient blob (`animation-duration: 20s+`, `opacity: 0.02-0.04`) drifting behind hero sections. Must be applied to a `position: fixed; pointer-events: none` layer. Never on scrolling containers.
|
|
75
|
+
- Performance: Animate exclusively via `transform` and `opacity`. No layout-triggering properties (`top`, `left`, `width`, `height`). Use `will-change: transform` sparingly and only on actively animating elements.
|
|
76
|
+
|
|
77
|
+
## 8. Execution Protocol
|
|
78
|
+
When tasked with writing frontend code (HTML, React, Tailwind, Vue) or designing a layout:
|
|
79
|
+
1. Establish the macro-whitespace first. Use massive vertical padding between sections (e.g., `py-24` or `py-32` in Tailwind).
|
|
80
|
+
2. Constrain the main typography content width to `max-w-4xl` or `max-w-5xl`.
|
|
81
|
+
3. Apply the custom typographic hierarchy and monochromatic color variables immediately.
|
|
82
|
+
4. Ensure every card, divider, and border adheres strictly to the `1px solid #EAEAEA` rule.
|
|
83
|
+
5. Add scroll-entry animations to all major content blocks.
|
|
84
|
+
6. Ensure sections have visual depth through imagery, ambient gradients, or subtle textures — no empty flat backgrounds.
|
|
85
|
+
7. Provide code that reflects this high-end, uncluttered, editorial aesthetic natively without requiring manual adjustments.
|