@monoes/monomindcli 2.15.2 → 2.15.4
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/.claude/skills/mastermind-createorg/SKILL.md +19 -4
- package/.claude/skills/monodesign/scripts/detector/engines/browser/drivers.mjs +11 -1
- package/dist/src/commands/org-observe.d.ts.map +1 -1
- package/dist/src/commands/org-observe.js +2 -0
- package/dist/src/commands/org-observe.js.map +1 -1
- package/dist/src/commands/org-skills.d.ts +3 -0
- package/dist/src/commands/org-skills.d.ts.map +1 -0
- package/dist/src/commands/org-skills.js +98 -0
- package/dist/src/commands/org-skills.js.map +1 -0
- package/dist/src/commands/org.d.ts.map +1 -1
- package/dist/src/commands/org.js +41 -1
- package/dist/src/commands/org.js.map +1 -1
- package/dist/src/orgrt/daemon.d.ts.map +1 -1
- package/dist/src/orgrt/daemon.js +8 -2
- package/dist/src/orgrt/daemon.js.map +1 -1
- package/dist/src/orgrt/loadouts.js +3 -3
- package/dist/src/orgrt/loadouts.js.map +1 -1
- package/dist/src/orgrt/migrate.d.ts.map +1 -1
- package/dist/src/orgrt/migrate.js +8 -0
- package/dist/src/orgrt/migrate.js.map +1 -1
- package/dist/src/orgrt/session.d.ts +8 -10
- package/dist/src/orgrt/session.d.ts.map +1 -1
- package/dist/src/orgrt/session.js +31 -16
- package/dist/src/orgrt/session.js.map +1 -1
- package/dist/src/orgrt/skill-import.d.ts +57 -0
- package/dist/src/orgrt/skill-import.d.ts.map +1 -0
- package/dist/src/orgrt/skill-import.js +203 -0
- package/dist/src/orgrt/skill-import.js.map +1 -0
- package/dist/src/orgrt/skill-library.d.ts +74 -0
- package/dist/src/orgrt/skill-library.d.ts.map +1 -0
- package/dist/src/orgrt/skill-library.js +322 -0
- package/dist/src/orgrt/skill-library.js.map +1 -0
- package/dist/src/orgrt/types.d.ts +4 -0
- package/dist/src/orgrt/types.d.ts.map +1 -1
- package/dist/src/orgrt/types.js +10 -6
- package/dist/src/orgrt/types.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/org-skills/SOURCES.md +31 -0
- package/org-skills/ab-testing/LICENSE.txt +21 -0
- package/org-skills/ab-testing/SKILL.md +356 -0
- package/org-skills/ab-testing/references/sample-size-guide.md +263 -0
- package/org-skills/ab-testing/references/test-templates.md +277 -0
- package/org-skills/accessibility/LICENSE.txt +21 -0
- package/org-skills/accessibility/SKILL.md +149 -0
- package/org-skills/accessibility-compliance/LICENSE.txt +21 -0
- package/org-skills/accessibility-compliance/SKILL.md +56 -0
- package/org-skills/accessibility-compliance/references/aria-patterns.md +567 -0
- package/org-skills/accessibility-compliance/references/details.md +366 -0
- package/org-skills/accessibility-compliance/references/mobile-accessibility.md +538 -0
- package/org-skills/accessibility-compliance/references/wcag-guidelines.md +645 -0
- package/{dist/src/orgrt/role-skills/account-strategist.md → org-skills/account-strategist/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/accounts-payable.md → org-skills/accounts-payable/SKILL.md} +8 -0
- package/org-skills/ad-creative/LICENSE.txt +21 -0
- package/org-skills/ad-creative/SKILL.md +428 -0
- package/org-skills/ad-creative/references/creative-review-page.md +106 -0
- package/org-skills/ad-creative/references/creative-roadmap.md +118 -0
- package/org-skills/ad-creative/references/generative-tools.md +637 -0
- package/org-skills/ad-creative/references/hook-system.md +115 -0
- package/org-skills/ad-creative/references/imessage-video-ads.md +201 -0
- package/org-skills/ad-creative/references/meta-creative-formats.md +114 -0
- package/org-skills/ad-creative/references/motion-video-ads.md +126 -0
- package/org-skills/ad-creative/references/platform-specs.md +213 -0
- package/org-skills/ad-creative/references/short-form-video-specs.md +213 -0
- package/org-skills/ad-creative/references/static-ad-templates.md +308 -0
- package/{dist/src/orgrt/role-skills/adaptive-coordinator.md → org-skills/adaptive-coordinator/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/adaptive-coordinator2.md → org-skills/adaptive-coordinator2/SKILL.md} +8 -0
- package/org-skills/advanced-evaluation/LICENSE.txt +22 -0
- package/org-skills/advanced-evaluation/SKILL.md +414 -0
- package/org-skills/advanced-evaluation/references/bias-mitigation.md +288 -0
- package/org-skills/advanced-evaluation/references/evaluation-pipeline.md +43 -0
- package/org-skills/advanced-evaluation/references/implementation-patterns.md +315 -0
- package/org-skills/advanced-evaluation/references/metrics-guide.md +331 -0
- package/org-skills/adversarial-reviewer/LICENSE.txt +21 -0
- package/org-skills/adversarial-reviewer/SKILL.md +246 -0
- package/org-skills/agent-evaluation/LICENSE.txt +22 -0
- package/org-skills/agent-evaluation/SKILL.md +289 -0
- package/org-skills/agent-evaluation/references/metrics.md +339 -0
- package/org-skills/agent-memory-systems/LICENSE.txt +22 -0
- package/org-skills/agent-memory-systems/SKILL.md +234 -0
- package/org-skills/agent-memory-systems/references/implementation.md +551 -0
- package/org-skills/agent-tool-design/LICENSE.txt +22 -0
- package/org-skills/agent-tool-design/SKILL.md +301 -0
- package/org-skills/agent-tool-design/references/architectural_reduction.md +210 -0
- package/org-skills/agent-tool-design/references/best_practices.md +176 -0
- package/org-skills/agile-product-owner/LICENSE.txt +21 -0
- package/org-skills/agile-product-owner/SKILL.md +397 -0
- package/org-skills/agile-product-owner/assets/sprint_planning_template.md +84 -0
- package/org-skills/agile-product-owner/assets/user_story_template.md +60 -0
- package/org-skills/agile-product-owner/references/sprint-planning-guide.md +324 -0
- package/org-skills/agile-product-owner/references/user-story-templates.md +291 -0
- package/{dist/src/orgrt/role-skills/ai-citation.md → org-skills/ai-citation/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/ai-engineer.md → org-skills/ai-engineer/SKILL.md} +8 -0
- package/org-skills/ai-seo/LICENSE.txt +21 -0
- package/org-skills/ai-seo/SKILL.md +491 -0
- package/org-skills/ai-seo/references/agent-readiness.md +57 -0
- package/org-skills/ai-seo/references/citations-vs-recommendations.md +85 -0
- package/org-skills/ai-seo/references/content-patterns.md +287 -0
- package/org-skills/ai-seo/references/content-types.md +71 -0
- package/org-skills/ai-seo/references/format-volatility.md +98 -0
- package/org-skills/ai-seo/references/okf.md +104 -0
- package/org-skills/ai-seo/references/platform-ranking-factors.md +154 -0
- package/org-skills/ai-seo/references/youtube-ai-citations.md +60 -0
- package/{dist/src/orgrt/role-skills/analytics-reporter.md → org-skills/analytics-reporter/SKILL.md} +8 -0
- package/org-skills/analytics-tracking/LICENSE.txt +21 -0
- package/org-skills/analytics-tracking/SKILL.md +313 -0
- package/org-skills/analytics-tracking/references/event-library.md +260 -0
- package/org-skills/analytics-tracking/references/ga4-implementation.md +300 -0
- package/org-skills/analytics-tracking/references/gtm-implementation.md +390 -0
- package/org-skills/android-clean-architecture/LICENSE.txt +21 -0
- package/org-skills/android-clean-architecture/SKILL.md +343 -0
- package/org-skills/angular-architect/LICENSE.txt +21 -0
- package/org-skills/angular-architect/SKILL.md +149 -0
- package/org-skills/angular-architect/references/components.md +297 -0
- package/org-skills/angular-architect/references/ngrx.md +401 -0
- package/org-skills/angular-architect/references/routing.md +361 -0
- package/org-skills/angular-architect/references/rxjs.md +319 -0
- package/org-skills/angular-architect/references/testing.md +405 -0
- package/org-skills/api-design/LICENSE.txt +21 -0
- package/org-skills/api-design/SKILL.md +527 -0
- package/org-skills/api-designer/LICENSE.txt +21 -0
- package/org-skills/api-designer/SKILL.md +214 -0
- package/org-skills/api-designer/references/error-handling.md +541 -0
- package/org-skills/api-designer/references/openapi.md +824 -0
- package/org-skills/api-designer/references/pagination.md +494 -0
- package/org-skills/api-designer/references/rest-patterns.md +335 -0
- package/org-skills/api-designer/references/versioning.md +391 -0
- package/{dist/src/orgrt/role-skills/api-tester.md → org-skills/api-tester/SKILL.md} +8 -0
- package/org-skills/app-store-optimization/LICENSE.txt +21 -0
- package/org-skills/app-store-optimization/SKILL.md +317 -0
- package/org-skills/app-store-optimization/references/apple-specs.md +107 -0
- package/org-skills/app-store-optimization/references/benchmarks.md +129 -0
- package/org-skills/app-store-optimization/references/google-play-specs.md +131 -0
- package/org-skills/app-store-optimization/references/report-template.md +213 -0
- package/org-skills/app-store-optimization/references/scoring-criteria.md +213 -0
- package/org-skills/architecture-decision-records/LICENSE.txt +21 -0
- package/org-skills/architecture-decision-records/SKILL.md +446 -0
- package/org-skills/architecture-designer/LICENSE.txt +21 -0
- package/org-skills/architecture-designer/SKILL.md +113 -0
- package/org-skills/architecture-designer/references/adr-template.md +116 -0
- package/org-skills/architecture-designer/references/architecture-patterns.md +111 -0
- package/org-skills/architecture-designer/references/database-selection.md +102 -0
- package/org-skills/architecture-designer/references/nfr-checklist.md +112 -0
- package/org-skills/architecture-designer/references/system-design.md +100 -0
- package/org-skills/architecture-patterns/LICENSE.txt +21 -0
- package/org-skills/architecture-patterns/SKILL.md +169 -0
- package/org-skills/architecture-patterns/references/advanced-patterns.md +391 -0
- package/org-skills/architecture-patterns/references/details.md +335 -0
- package/org-skills/article-writing/LICENSE.txt +21 -0
- package/org-skills/article-writing/SKILL.md +83 -0
- package/org-skills/auth-implementation-patterns/LICENSE.txt +21 -0
- package/org-skills/auth-implementation-patterns/SKILL.md +88 -0
- package/org-skills/auth-implementation-patterns/references/details.md +560 -0
- package/{dist/src/orgrt/role-skills/automation-governance.md → org-skills/automation-governance/SKILL.md} +8 -0
- package/org-skills/avoid-ai-writing/LICENSE.txt +21 -0
- package/org-skills/avoid-ai-writing/SKILL.md +69 -0
- package/org-skills/avoid-ai-writing/references/pattern-catalog.md +126 -0
- package/org-skills/avoid-ai-writing/references/profiles.md +119 -0
- package/org-skills/avoid-ai-writing/references/word-tiers.md +220 -0
- package/{dist/src/orgrt/role-skills/backend-dev.md → org-skills/backend-dev/SKILL.md} +8 -0
- package/org-skills/backend-patterns/LICENSE.txt +21 -0
- package/org-skills/backend-patterns/SKILL.md +565 -0
- package/org-skills/bash-defensive-patterns/LICENSE.txt +21 -0
- package/org-skills/bash-defensive-patterns/SKILL.md +45 -0
- package/org-skills/bash-defensive-patterns/references/details.md +498 -0
- package/org-skills/before-you-build/LICENSE.txt +21 -0
- package/org-skills/before-you-build/SKILL.md +55 -0
- package/org-skills/before-you-build/references/risk-checklist.md +45 -0
- package/org-skills/benchmark-methodology/LICENSE.txt +21 -0
- package/org-skills/benchmark-methodology/SKILL.md +190 -0
- package/{dist/src/orgrt/role-skills/benchmarker.md → org-skills/benchmarker/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/blockchain-auditor.md → org-skills/blockchain-auditor/SKILL.md} +8 -0
- package/org-skills/board-deck-builder/LICENSE.txt +21 -0
- package/org-skills/board-deck-builder/SKILL.md +181 -0
- package/org-skills/board-deck-builder/references/deck-frameworks.md +184 -0
- package/org-skills/board-deck-builder/templates/board-deck-template.md +210 -0
- package/org-skills/business-investment-advisor/LICENSE.txt +21 -0
- package/org-skills/business-investment-advisor/SKILL.md +225 -0
- package/{dist/src/orgrt/role-skills/byzantine-coord.md → org-skills/byzantine-coord/SKILL.md} +8 -0
- package/{LICENSE → org-skills/canvas-design/LICENSE.txt} +24 -13
- package/org-skills/canvas-design/SKILL.md +134 -0
- package/org-skills/carrier-relationship-management/SKILL.md +203 -0
- package/{dist/src/orgrt/role-skills/case-analyst.md → org-skills/case-analyst/SKILL.md} +8 -0
- package/org-skills/ceo-advisor/LICENSE.txt +21 -0
- package/org-skills/ceo-advisor/SKILL.md +165 -0
- package/org-skills/ceo-advisor/references/board_governance_investor_relations.md +599 -0
- package/org-skills/ceo-advisor/references/executive_decision_framework.md +475 -0
- package/org-skills/ceo-advisor/references/leadership_organizational_culture.md +682 -0
- package/org-skills/cfo-advisor/LICENSE.txt +21 -0
- package/org-skills/cfo-advisor/SKILL.md +136 -0
- package/org-skills/cfo-advisor/references/cash_management.md +374 -0
- package/org-skills/cfo-advisor/references/financial_planning.md +500 -0
- package/org-skills/cfo-advisor/references/fundraising_playbook.md +419 -0
- package/org-skills/change-management/LICENSE.txt +21 -0
- package/org-skills/change-management/SKILL.md +250 -0
- package/org-skills/change-management/references/change-playbook.md +308 -0
- package/org-skills/changelog-automation/LICENSE.txt +21 -0
- package/org-skills/changelog-automation/SKILL.md +124 -0
- package/org-skills/changelog-automation/references/details.md +458 -0
- package/org-skills/chro-advisor/LICENSE.txt +21 -0
- package/org-skills/chro-advisor/SKILL.md +140 -0
- package/org-skills/chro-advisor/references/comp_frameworks.md +320 -0
- package/org-skills/chro-advisor/references/org_design.md +333 -0
- package/org-skills/chro-advisor/references/people_strategy.md +320 -0
- package/org-skills/churn-prevention/LICENSE.txt +21 -0
- package/org-skills/churn-prevention/SKILL.md +427 -0
- package/org-skills/churn-prevention/references/cancel-flow-patterns.md +316 -0
- package/org-skills/churn-prevention/references/dunning-playbook.md +408 -0
- package/{dist/src/orgrt/role-skills/cicd-engineer.md → org-skills/cicd-engineer/SKILL.md} +8 -0
- package/org-skills/ciso-advisor/LICENSE.txt +21 -0
- package/org-skills/ciso-advisor/SKILL.md +131 -0
- package/org-skills/ciso-advisor/references/compliance_roadmap.md +370 -0
- package/org-skills/ciso-advisor/references/incident_response.md +350 -0
- package/org-skills/ciso-advisor/references/security_strategy.md +321 -0
- package/org-skills/click-path-audit/LICENSE.txt +21 -0
- package/org-skills/click-path-audit/SKILL.md +248 -0
- package/{dist/src/orgrt/role-skills/cloud-architect.md → org-skills/cloud-architect/SKILL.md} +8 -0
- package/org-skills/cloud-architecture/LICENSE.txt +21 -0
- package/org-skills/cloud-architecture/SKILL.md +213 -0
- package/org-skills/cloud-architecture/references/aws.md +394 -0
- package/org-skills/cloud-architecture/references/azure.md +562 -0
- package/org-skills/cloud-architecture/references/cost.md +582 -0
- package/org-skills/cloud-architecture/references/gcp.md +633 -0
- package/org-skills/cloud-architecture/references/multi-cloud.md +483 -0
- package/org-skills/cmo-advisor/LICENSE.txt +21 -0
- package/org-skills/cmo-advisor/SKILL.md +165 -0
- package/org-skills/cmo-advisor/references/brand_positioning.md +374 -0
- package/org-skills/cmo-advisor/references/growth_frameworks.md +456 -0
- package/org-skills/cmo-advisor/references/marketing_org.md +281 -0
- package/org-skills/co-marketing/LICENSE.txt +21 -0
- package/org-skills/co-marketing/SKILL.md +313 -0
- package/org-skills/co-marketing/references/partnership-types.md +100 -0
- package/org-skills/code-documenter/LICENSE.txt +21 -0
- package/org-skills/code-documenter/SKILL.md +144 -0
- package/org-skills/code-documenter/references/api-docs-fastapi-django.md +166 -0
- package/org-skills/code-documenter/references/api-docs-nestjs-express.md +220 -0
- package/org-skills/code-documenter/references/coverage-reports.md +125 -0
- package/org-skills/code-documenter/references/documentation-systems.md +333 -0
- package/org-skills/code-documenter/references/interactive-api-docs.md +531 -0
- package/org-skills/code-documenter/references/python-docstrings.md +121 -0
- package/org-skills/code-documenter/references/typescript-jsdoc.md +145 -0
- package/org-skills/code-documenter/references/user-guides-tutorials.md +530 -0
- package/{dist/src/orgrt/role-skills/code-review-swarm.md → org-skills/code-review-swarm/SKILL.md} +8 -0
- package/org-skills/code-reviewer/LICENSE.txt +21 -0
- package/org-skills/code-reviewer/SKILL.md +115 -0
- package/org-skills/code-reviewer/references/common-issues.md +142 -0
- package/org-skills/code-reviewer/references/feedback-examples.md +144 -0
- package/org-skills/code-reviewer/references/receiving-feedback.md +238 -0
- package/org-skills/code-reviewer/references/report-template.md +109 -0
- package/org-skills/code-reviewer/references/review-checklist.md +88 -0
- package/org-skills/code-reviewer/references/spec-compliance-review.md +258 -0
- package/{dist/src/orgrt/role-skills/coder.md → org-skills/coder/SKILL.md} +8 -0
- package/org-skills/coding-standards/LICENSE.txt +21 -0
- package/org-skills/coding-standards/SKILL.md +554 -0
- package/org-skills/cold-email/LICENSE.txt +21 -0
- package/org-skills/cold-email/SKILL.md +162 -0
- package/org-skills/cold-email/references/benchmarks.md +83 -0
- package/org-skills/cold-email/references/follow-up-sequences.md +81 -0
- package/org-skills/cold-email/references/frameworks.md +90 -0
- package/org-skills/cold-email/references/personalization.md +79 -0
- package/org-skills/cold-email/references/subject-lines.md +53 -0
- package/{dist/src/orgrt/role-skills/collective-coord.md → org-skills/collective-coord/SKILL.md} +8 -0
- package/org-skills/community-marketing/LICENSE.txt +21 -0
- package/org-skills/community-marketing/SKILL.md +178 -0
- package/org-skills/community-marketing/references/community-models.md +63 -0
- package/org-skills/competitive-landscape/LICENSE.txt +21 -0
- package/org-skills/competitive-landscape/SKILL.md +518 -0
- package/org-skills/competitive-platform-analysis/LICENSE.txt +21 -0
- package/org-skills/competitive-platform-analysis/SKILL.md +214 -0
- package/org-skills/competitive-report-structure/LICENSE.txt +21 -0
- package/org-skills/competitive-report-structure/SKILL.md +162 -0
- package/org-skills/competitive-teardown/LICENSE.txt +21 -0
- package/org-skills/competitive-teardown/SKILL.md +176 -0
- package/org-skills/competitive-teardown/references/analysis-templates.md +203 -0
- package/org-skills/competitive-teardown/references/competitive-analysis-frameworks.md +107 -0
- package/org-skills/competitive-teardown/references/data-collection-guide.md +104 -0
- package/org-skills/competitive-teardown/references/scoring-rubric.md +116 -0
- package/org-skills/competitor-comparison-pages/LICENSE.txt +21 -0
- package/org-skills/competitor-comparison-pages/SKILL.md +261 -0
- package/org-skills/competitor-comparison-pages/references/content-architecture.md +271 -0
- package/org-skills/competitor-comparison-pages/references/templates.md +223 -0
- package/{dist/src/orgrt/role-skills/compliance-auditor.md → org-skills/compliance-auditor/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/consensus-coordinator.md → org-skills/consensus-coordinator/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/content-creator.md → org-skills/content-creator/SKILL.md} +8 -0
- package/org-skills/content-engine/LICENSE.txt +21 -0
- package/org-skills/content-engine/SKILL.md +135 -0
- package/org-skills/content-strategy/LICENSE.txt +21 -0
- package/org-skills/content-strategy/SKILL.md +442 -0
- package/org-skills/content-strategy/references/content-distribution.md +83 -0
- package/org-skills/content-strategy/references/headless-cms.md +194 -0
- package/org-skills/context-compression/LICENSE.txt +22 -0
- package/org-skills/context-compression/SKILL.md +284 -0
- package/org-skills/context-compression/references/evaluation-framework.md +213 -0
- package/org-skills/context-degradation/LICENSE.txt +22 -0
- package/org-skills/context-degradation/SKILL.md +241 -0
- package/org-skills/context-degradation/references/patterns.md +314 -0
- package/org-skills/context-fundamentals/LICENSE.txt +22 -0
- package/org-skills/context-fundamentals/SKILL.md +215 -0
- package/org-skills/context-fundamentals/references/context-components.md +283 -0
- package/org-skills/context-optimization/LICENSE.txt +22 -0
- package/org-skills/context-optimization/SKILL.md +224 -0
- package/org-skills/context-optimization/references/optimization_techniques.md +272 -0
- package/org-skills/contract-and-proposal-writer/LICENSE.txt +21 -0
- package/org-skills/contract-and-proposal-writer/SKILL.md +428 -0
- package/org-skills/contract-first/LICENSE.txt +21 -0
- package/org-skills/contract-first/SKILL.md +290 -0
- package/org-skills/coo-advisor/LICENSE.txt +21 -0
- package/org-skills/coo-advisor/SKILL.md +133 -0
- package/org-skills/coo-advisor/references/ops_cadence.md +606 -0
- package/org-skills/coo-advisor/references/process_frameworks.md +459 -0
- package/org-skills/coo-advisor/references/scaling_playbook.md +465 -0
- package/org-skills/copy-editing/LICENSE.txt +21 -0
- package/org-skills/copy-editing/SKILL.md +460 -0
- package/org-skills/copy-editing/references/checklist.md +66 -0
- package/org-skills/copy-editing/references/content-refresh.md +38 -0
- package/org-skills/copy-editing/references/plain-english-alternatives.md +394 -0
- package/org-skills/copywriting/LICENSE.txt +21 -0
- package/org-skills/copywriting/SKILL.md +259 -0
- package/org-skills/copywriting/references/copy-frameworks.md +433 -0
- package/org-skills/copywriting/references/natural-transitions.md +272 -0
- package/org-skills/cost-aware-llm-pipeline/LICENSE.txt +21 -0
- package/org-skills/cost-aware-llm-pipeline/SKILL.md +191 -0
- package/org-skills/cost-optimization/LICENSE.txt +21 -0
- package/org-skills/cost-optimization/SKILL.md +318 -0
- package/org-skills/cost-optimization/references/tagging-standards.md +23 -0
- package/org-skills/cpp-coding-standards/LICENSE.txt +21 -0
- package/org-skills/cpp-coding-standards/SKILL.md +727 -0
- package/org-skills/cpp-pro/LICENSE.txt +21 -0
- package/org-skills/cpp-pro/SKILL.md +112 -0
- package/org-skills/cpp-pro/references/build-tooling.md +440 -0
- package/org-skills/cpp-pro/references/concurrency.md +437 -0
- package/org-skills/cpp-pro/references/memory-performance.md +397 -0
- package/org-skills/cpp-pro/references/modern-cpp.md +304 -0
- package/org-skills/cpp-pro/references/templates.md +357 -0
- package/org-skills/cro-advisor/LICENSE.txt +21 -0
- package/org-skills/cro-advisor/SKILL.md +179 -0
- package/org-skills/cro-advisor/references/nrr_playbook.md +380 -0
- package/org-skills/cro-advisor/references/pricing_strategy.md +417 -0
- package/org-skills/cro-advisor/references/sales_playbook.md +461 -0
- package/{dist/src/orgrt/role-skills/cro-specialist.md → org-skills/cro-specialist/SKILL.md} +8 -0
- package/org-skills/csharp-developer/LICENSE.txt +21 -0
- package/org-skills/csharp-developer/SKILL.md +122 -0
- package/org-skills/csharp-developer/references/aspnet-core.md +394 -0
- package/org-skills/csharp-developer/references/blazor.md +553 -0
- package/org-skills/csharp-developer/references/entity-framework.md +409 -0
- package/org-skills/csharp-developer/references/modern-csharp.md +248 -0
- package/org-skills/csharp-developer/references/performance.md +498 -0
- package/org-skills/cto-advisor/LICENSE.txt +21 -0
- package/org-skills/cto-advisor/SKILL.md +253 -0
- package/org-skills/cto-advisor/references/architecture_decision_records.md +294 -0
- package/org-skills/cto-advisor/references/engineering_metrics.md +393 -0
- package/org-skills/cto-advisor/references/technology_evaluation_framework.md +370 -0
- package/org-skills/culture-architect/LICENSE.txt +21 -0
- package/org-skills/culture-architect/SKILL.md +164 -0
- package/org-skills/culture-architect/references/culture-playbook.md +243 -0
- package/org-skills/culture-architect/templates/culture-code-template.md +137 -0
- package/org-skills/customer-research/LICENSE.txt +21 -0
- package/org-skills/customer-research/SKILL.md +308 -0
- package/org-skills/customer-research/references/interviews-and-surveys.md +155 -0
- package/org-skills/customer-research/references/source-guides.md +401 -0
- package/org-skills/customs-trade-compliance/SKILL.md +253 -0
- package/org-skills/dart-flutter-patterns/LICENSE.txt +21 -0
- package/org-skills/dart-flutter-patterns/SKILL.md +567 -0
- package/org-skills/dashboard-builder/LICENSE.txt +21 -0
- package/org-skills/dashboard-builder/SKILL.md +111 -0
- package/{dist/src/orgrt/role-skills/data-consolidator.md → org-skills/data-consolidator/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/data-engineer.md → org-skills/data-engineer/SKILL.md} +8 -0
- package/org-skills/data-quality-frameworks/LICENSE.txt +21 -0
- package/org-skills/data-quality-frameworks/SKILL.md +143 -0
- package/org-skills/data-quality-frameworks/references/details.md +452 -0
- package/org-skills/data-storytelling/LICENSE.txt +21 -0
- package/org-skills/data-storytelling/SKILL.md +75 -0
- package/org-skills/data-storytelling/references/details.md +382 -0
- package/org-skills/database-migration/LICENSE.txt +21 -0
- package/org-skills/database-migration/SKILL.md +337 -0
- package/org-skills/database-migration/references/details.md +76 -0
- package/org-skills/database-migrations/LICENSE.txt +21 -0
- package/org-skills/database-migrations/SKILL.md +433 -0
- package/{dist/src/orgrt/role-skills/database-optimizer.md → org-skills/database-optimizer/SKILL.md} +8 -0
- package/org-skills/dbt-transformation-patterns/LICENSE.txt +21 -0
- package/org-skills/dbt-transformation-patterns/SKILL.md +119 -0
- package/org-skills/dbt-transformation-patterns/references/details.md +447 -0
- package/{dist/src/orgrt/role-skills/deal-strategist.md → org-skills/deal-strategist/SKILL.md} +8 -0
- package/org-skills/debugging-wizard/LICENSE.txt +21 -0
- package/org-skills/debugging-wizard/SKILL.md +102 -0
- package/org-skills/debugging-wizard/references/common-patterns.md +132 -0
- package/org-skills/debugging-wizard/references/debugging-tools.md +140 -0
- package/org-skills/debugging-wizard/references/quick-fixes.md +177 -0
- package/org-skills/debugging-wizard/references/strategies.md +142 -0
- package/org-skills/debugging-wizard/references/systematic-debugging.md +367 -0
- package/org-skills/deep-research/LICENSE.txt +21 -0
- package/org-skills/deep-research/SKILL.md +91 -0
- package/org-skills/deep-research/references/full-catalog.md +15 -0
- package/{dist/src/orgrt/role-skills/defender.md → org-skills/defender/SKILL.md} +8 -0
- package/org-skills/dependency-upgrade/LICENSE.txt +21 -0
- package/org-skills/dependency-upgrade/SKILL.md +373 -0
- package/org-skills/deployment-patterns/LICENSE.txt +21 -0
- package/org-skills/deployment-patterns/SKILL.md +431 -0
- package/org-skills/deployment-pipeline-design/LICENSE.txt +21 -0
- package/org-skills/deployment-pipeline-design/SKILL.md +111 -0
- package/org-skills/deployment-pipeline-design/references/advanced-strategies.md +629 -0
- package/org-skills/deployment-pipeline-design/references/details.md +399 -0
- package/org-skills/design-system/LICENSE.txt +21 -0
- package/org-skills/design-system/SKILL.md +86 -0
- package/org-skills/design-system-patterns/LICENSE.txt +21 -0
- package/org-skills/design-system-patterns/SKILL.md +120 -0
- package/org-skills/design-system-patterns/references/component-architecture.md +617 -0
- package/org-skills/design-system-patterns/references/design-tokens.md +420 -0
- package/org-skills/design-system-patterns/references/details.md +219 -0
- package/org-skills/design-system-patterns/references/theming-architecture.md +521 -0
- package/{dist/src/orgrt/role-skills/devops-automator.md → org-skills/devops-automator/SKILL.md} +8 -0
- package/org-skills/devops-engineer/LICENSE.txt +21 -0
- package/org-skills/devops-engineer/SKILL.md +143 -0
- package/org-skills/devops-engineer/references/deployment-strategies.md +241 -0
- package/org-skills/devops-engineer/references/docker-patterns.md +113 -0
- package/org-skills/devops-engineer/references/github-actions.md +139 -0
- package/org-skills/devops-engineer/references/gitlab-ci.md +192 -0
- package/org-skills/devops-engineer/references/incident-response.md +331 -0
- package/org-skills/devops-engineer/references/kubernetes.md +154 -0
- package/org-skills/devops-engineer/references/platform-engineering.md +417 -0
- package/org-skills/devops-engineer/references/release-automation.md +527 -0
- package/org-skills/devops-engineer/references/terraform-iac.md +141 -0
- package/{dist/src/orgrt/role-skills/discovery-coach.md → org-skills/discovery-coach/SKILL.md} +8 -0
- package/org-skills/django-expert/LICENSE.txt +21 -0
- package/org-skills/django-expert/SKILL.md +157 -0
- package/org-skills/django-expert/references/authentication.md +145 -0
- package/org-skills/django-expert/references/drf-serializers.md +148 -0
- package/org-skills/django-expert/references/models-orm.md +151 -0
- package/org-skills/django-expert/references/testing-django.md +204 -0
- package/org-skills/django-expert/references/viewsets-views.md +153 -0
- package/org-skills/django-patterns/LICENSE.txt +21 -0
- package/org-skills/django-patterns/SKILL.md +738 -0
- package/org-skills/docker-patterns/LICENSE.txt +21 -0
- package/org-skills/docker-patterns/SKILL.md +525 -0
- package/org-skills/dotnet-patterns/LICENSE.txt +21 -0
- package/org-skills/dotnet-patterns/SKILL.md +325 -0
- package/org-skills/e2e-testing/LICENSE.txt +21 -0
- package/org-skills/e2e-testing/SKILL.md +330 -0
- package/{dist/src/orgrt/role-skills/email-marketing.md → org-skills/email-marketing/SKILL.md} +8 -0
- package/org-skills/email-sequences/LICENSE.txt +21 -0
- package/org-skills/email-sequences/SKILL.md +314 -0
- package/org-skills/email-sequences/references/copy-guidelines.md +113 -0
- package/org-skills/email-sequences/references/email-types.md +515 -0
- package/org-skills/email-sequences/references/sequence-templates.md +168 -0
- package/{dist/src/orgrt/role-skills/embedded-firmware.md → org-skills/embedded-firmware/SKILL.md} +8 -0
- package/org-skills/embedded-systems/LICENSE.txt +21 -0
- package/org-skills/embedded-systems/SKILL.md +164 -0
- package/org-skills/embedded-systems/references/communication-protocols.md +411 -0
- package/org-skills/embedded-systems/references/memory-optimization.md +467 -0
- package/org-skills/embedded-systems/references/microcontroller-programming.md +394 -0
- package/org-skills/embedded-systems/references/power-optimization.md +441 -0
- package/org-skills/embedded-systems/references/rtos-patterns.md +313 -0
- package/org-skills/employment-contract-templates/LICENSE.txt +21 -0
- package/org-skills/employment-contract-templates/SKILL.md +69 -0
- package/org-skills/employment-contract-templates/references/details.md +461 -0
- package/org-skills/energy-procurement/SKILL.md +218 -0
- package/org-skills/error-handling/LICENSE.txt +21 -0
- package/org-skills/error-handling/SKILL.md +380 -0
- package/org-skills/error-handling-patterns/LICENSE.txt +21 -0
- package/org-skills/error-handling-patterns/SKILL.md +126 -0
- package/org-skills/error-handling-patterns/references/details.md +516 -0
- package/org-skills/event-marketing/LICENSE.txt +21 -0
- package/org-skills/event-marketing/SKILL.md +134 -0
- package/org-skills/event-marketing/references/event-portfolio-strategy.md +80 -0
- package/org-skills/event-marketing/references/speaking.md +49 -0
- package/org-skills/event-marketing/references/sponsorship-roi.md +57 -0
- package/org-skills/event-marketing/references/webinar-funnel.md +88 -0
- package/{dist/src/orgrt/role-skills/evidence-collector.md → org-skills/evidence-collector/SKILL.md} +8 -0
- package/org-skills/experiment-designer/LICENSE.txt +21 -0
- package/org-skills/experiment-designer/SKILL.md +109 -0
- package/org-skills/experiment-designer/references/experiment-playbook.md +70 -0
- package/org-skills/experiment-designer/references/statistics-reference.md +56 -0
- package/{dist/src/orgrt/role-skills/experiment-tracker.md → org-skills/experiment-tracker/SKILL.md} +8 -0
- package/org-skills/experimental-design/LICENSE.txt +21 -0
- package/org-skills/experimental-design/SKILL.md +250 -0
- package/org-skills/experimental-design/references/design_types.md +129 -0
- package/org-skills/experimental-design/references/factorial_and_doe.md +130 -0
- package/org-skills/experimental-design/references/randomization_and_blocking.md +116 -0
- package/org-skills/experimental-design/references/sequential_and_adaptive.md +97 -0
- package/org-skills/fastapi-expert/LICENSE.txt +21 -0
- package/org-skills/fastapi-expert/SKILL.md +182 -0
- package/org-skills/fastapi-expert/references/async-sqlalchemy.md +146 -0
- package/org-skills/fastapi-expert/references/authentication.md +159 -0
- package/org-skills/fastapi-expert/references/endpoints-routing.md +142 -0
- package/org-skills/fastapi-expert/references/migration-from-django.md +997 -0
- package/org-skills/fastapi-expert/references/pydantic-v2.md +135 -0
- package/org-skills/fastapi-expert/references/testing-async.md +159 -0
- package/org-skills/fastapi-patterns/LICENSE.txt +21 -0
- package/org-skills/fastapi-patterns/SKILL.md +517 -0
- package/{dist/src/orgrt/role-skills/feedback-synthesizer.md → org-skills/feedback-synthesizer/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/finance-tracker.md → org-skills/finance-tracker/SKILL.md} +8 -0
- package/org-skills/finishing-a-development-branch/LICENSE.txt +21 -0
- package/org-skills/finishing-a-development-branch/SKILL.md +230 -0
- package/org-skills/flutter-expert/LICENSE.txt +21 -0
- package/org-skills/flutter-expert/SKILL.md +135 -0
- package/org-skills/flutter-expert/references/bloc-state.md +259 -0
- package/org-skills/flutter-expert/references/gorouter-navigation.md +119 -0
- package/org-skills/flutter-expert/references/performance.md +99 -0
- package/org-skills/flutter-expert/references/project-structure.md +118 -0
- package/org-skills/flutter-expert/references/riverpod-state.md +130 -0
- package/org-skills/flutter-expert/references/widget-patterns.md +123 -0
- package/org-skills/focused-fix/LICENSE.txt +21 -0
- package/org-skills/focused-fix/SKILL.md +323 -0
- package/org-skills/free-tool-strategy/LICENSE.txt +21 -0
- package/org-skills/free-tool-strategy/SKILL.md +193 -0
- package/org-skills/free-tool-strategy/references/tool-benchmarks.md +35 -0
- package/org-skills/free-tool-strategy/references/tool-types.md +217 -0
- package/org-skills/frontend-design/LICENSE.txt +177 -0
- package/org-skills/frontend-design/SKILL.md +75 -0
- package/org-skills/frontend-design-direction/LICENSE.txt +21 -0
- package/org-skills/frontend-design-direction/SKILL.md +96 -0
- package/{dist/src/orgrt/role-skills/frontend-developer.md → org-skills/frontend-developer/SKILL.md} +8 -0
- package/org-skills/frontend-patterns/LICENSE.txt +21 -0
- package/org-skills/frontend-patterns/SKILL.md +660 -0
- package/{dist/src/orgrt/role-skills/game-audio-engineer.md → org-skills/game-audio-engineer/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/game-designer.md → org-skills/game-designer/SKILL.md} +8 -0
- package/org-skills/gdpr-data-handling/LICENSE.txt +21 -0
- package/org-skills/gdpr-data-handling/SKILL.md +78 -0
- package/org-skills/gdpr-data-handling/references/details.md +556 -0
- package/org-skills/general-counsel-advisor/LICENSE.txt +21 -0
- package/org-skills/general-counsel-advisor/SKILL.md +157 -0
- package/org-skills/general-counsel-advisor/references/contracts_playbook.md +148 -0
- package/org-skills/general-counsel-advisor/references/ip_and_regulatory.md +191 -0
- package/org-skills/general-counsel-advisor/references/term_sheet_decoder.md +243 -0
- package/org-skills/git-advanced-workflows/LICENSE.txt +21 -0
- package/org-skills/git-advanced-workflows/SKILL.md +203 -0
- package/org-skills/git-advanced-workflows/references/details.md +203 -0
- package/org-skills/git-workflow/LICENSE.txt +21 -0
- package/org-skills/git-workflow/SKILL.md +719 -0
- package/org-skills/golang-patterns/LICENSE.txt +21 -0
- package/org-skills/golang-patterns/SKILL.md +679 -0
- package/org-skills/golang-pro/LICENSE.txt +21 -0
- package/org-skills/golang-pro/SKILL.md +119 -0
- package/org-skills/golang-pro/references/concurrency.md +329 -0
- package/org-skills/golang-pro/references/generics.md +442 -0
- package/org-skills/golang-pro/references/interfaces.md +432 -0
- package/org-skills/golang-pro/references/project-structure.md +477 -0
- package/org-skills/golang-pro/references/testing.md +451 -0
- package/org-skills/harness-engineering/LICENSE.txt +22 -0
- package/org-skills/harness-engineering/SKILL.md +239 -0
- package/org-skills/healthcare-phi-compliance/LICENSE.txt +21 -0
- package/org-skills/healthcare-phi-compliance/SKILL.md +148 -0
- package/org-skills/hexagonal-architecture/LICENSE.txt +21 -0
- package/org-skills/hexagonal-architecture/SKILL.md +280 -0
- package/{dist/src/orgrt/role-skills/hierarchical-coord.md → org-skills/hierarchical-coord/SKILL.md} +8 -0
- package/org-skills/huggingface-transformers/SKILL.md +211 -0
- package/org-skills/huggingface-transformers/references/generation.md +473 -0
- package/org-skills/huggingface-transformers/references/models.md +371 -0
- package/org-skills/huggingface-transformers/references/pipelines.md +334 -0
- package/org-skills/huggingface-transformers/references/tokenizers.md +449 -0
- package/org-skills/huggingface-transformers/references/training.md +504 -0
- package/org-skills/hypothesis-generation/LICENSE.txt +21 -0
- package/org-skills/hypothesis-generation/SKILL.md +280 -0
- package/org-skills/hypothesis-generation/assets/preregistration_scaffold_template.md +137 -0
- package/org-skills/hypothesis-generation/references/causal_inference_and_claims.md +190 -0
- package/org-skills/hypothesis-generation/references/concepts_and_workflow.md +173 -0
- package/org-skills/hypothesis-generation/references/ethics_safety_and_ai.md +216 -0
- package/org-skills/hypothesis-generation/references/experimental_design_patterns.md +301 -0
- package/org-skills/hypothesis-generation/references/hypothesis_quality_criteria.md +203 -0
- package/org-skills/hypothesis-generation/references/literature_search_strategies.md +208 -0
- package/org-skills/hypothesis-generation/references/preregistration_and_open_science.md +205 -0
- package/org-skills/hypothesis-generation/references/security_validation.md +74 -0
- package/org-skills/hypothesis-generation/references/source_ledger.md +116 -0
- package/org-skills/hypothesis-generation/references/tool_reference.md +246 -0
- package/org-skills/incident-command-playbook/LICENSE.txt +21 -0
- package/org-skills/incident-command-playbook/SKILL.md +475 -0
- package/org-skills/incident-command-playbook/assets/incident_report_template.md +171 -0
- package/org-skills/incident-command-playbook/assets/runbook_template.md +289 -0
- package/org-skills/incident-command-playbook/references/communication_templates.md +591 -0
- package/org-skills/incident-command-playbook/references/incident-response-framework.md +372 -0
- package/org-skills/incident-command-playbook/references/incident_severity_matrix.md +292 -0
- package/org-skills/incident-command-playbook/references/rca_frameworks_guide.md +562 -0
- package/org-skills/incident-command-playbook/references/reference-information.md +201 -0
- package/org-skills/incident-command-playbook/references/sla-management-guide.md +566 -0
- package/{dist/src/orgrt/role-skills/incident-commander.md → org-skills/incident-commander/SKILL.md} +8 -0
- package/org-skills/incident-runbook-templates/LICENSE.txt +21 -0
- package/org-skills/incident-runbook-templates/SKILL.md +140 -0
- package/org-skills/incident-runbook-templates/references/details.md +342 -0
- package/org-skills/influencer-marketing/LICENSE.txt +21 -0
- package/org-skills/influencer-marketing/SKILL.md +202 -0
- package/org-skills/influencer-marketing/references/ugc-creator-program.md +91 -0
- package/{dist/src/orgrt/role-skills/infrastructure.md → org-skills/infrastructure/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/input-validator.md → org-skills/input-validator/SKILL.md} +8 -0
- package/org-skills/intent-driven-development/LICENSE.txt +21 -0
- package/org-skills/intent-driven-development/SKILL.md +365 -0
- package/org-skills/internal-comms/LICENSE.txt +202 -0
- package/org-skills/internal-comms/SKILL.md +36 -0
- package/org-skills/internal-comms/examples/3p-updates.md +47 -0
- package/org-skills/internal-comms/examples/company-newsletter.md +65 -0
- package/org-skills/internal-comms/examples/faq-answers.md +30 -0
- package/org-skills/internal-comms/examples/general-comms.md +16 -0
- package/org-skills/inventory-demand-planning/SKILL.md +237 -0
- package/org-skills/investor-materials/LICENSE.txt +21 -0
- package/org-skills/investor-materials/SKILL.md +100 -0
- package/{dist/src/orgrt/role-skills/ios-developer.md → org-skills/ios-developer/SKILL.md} +8 -0
- package/org-skills/isms-audit-expert/LICENSE.txt +21 -0
- package/org-skills/isms-audit-expert/SKILL.md +229 -0
- package/org-skills/isms-audit-expert/references/cloud-security-audit.md +226 -0
- package/org-skills/isms-audit-expert/references/iso27001-audit-methodology.md +260 -0
- package/org-skills/isms-audit-expert/references/iso27001_audit_playbook.md +180 -0
- package/org-skills/isms-audit-expert/references/security-control-testing.md +276 -0
- package/{dist/src/orgrt/role-skills/issue-tracker.md → org-skills/issue-tracker/SKILL.md} +8 -0
- package/org-skills/java-architect/LICENSE.txt +21 -0
- package/org-skills/java-architect/SKILL.md +129 -0
- package/org-skills/java-architect/references/jpa-optimization.md +393 -0
- package/org-skills/java-architect/references/reactive-webflux.md +356 -0
- package/org-skills/java-architect/references/spring-boot-setup.md +269 -0
- package/org-skills/java-architect/references/spring-security.md +445 -0
- package/org-skills/java-architect/references/testing-patterns.md +500 -0
- package/org-skills/java-coding-standards/LICENSE.txt +21 -0
- package/org-skills/java-coding-standards/SKILL.md +387 -0
- package/{dist/src/orgrt/role-skills/judge.md → org-skills/judge/SKILL.md} +8 -0
- package/org-skills/kotlin-patterns/LICENSE.txt +21 -0
- package/org-skills/kotlin-patterns/SKILL.md +715 -0
- package/org-skills/kotlin-specialist/LICENSE.txt +21 -0
- package/org-skills/kotlin-specialist/SKILL.md +144 -0
- package/org-skills/kotlin-specialist/references/android-compose.md +419 -0
- package/org-skills/kotlin-specialist/references/coroutines-flow.md +276 -0
- package/org-skills/kotlin-specialist/references/dsl-idioms.md +421 -0
- package/org-skills/kotlin-specialist/references/ktor-server.md +426 -0
- package/org-skills/kotlin-specialist/references/multiplatform-kmp.md +380 -0
- package/org-skills/kpi-dashboard-design/LICENSE.txt +21 -0
- package/org-skills/kpi-dashboard-design/SKILL.md +152 -0
- package/org-skills/kpi-dashboard-design/references/details.md +351 -0
- package/org-skills/kubernetes-patterns/LICENSE.txt +21 -0
- package/org-skills/kubernetes-patterns/SKILL.md +759 -0
- package/org-skills/kubernetes-specialist/LICENSE.txt +21 -0
- package/org-skills/kubernetes-specialist/SKILL.md +238 -0
- package/org-skills/kubernetes-specialist/references/configuration.md +452 -0
- package/org-skills/kubernetes-specialist/references/cost-optimization.md +458 -0
- package/org-skills/kubernetes-specialist/references/custom-operators.md +563 -0
- package/org-skills/kubernetes-specialist/references/gitops.md +530 -0
- package/org-skills/kubernetes-specialist/references/helm-charts.md +912 -0
- package/org-skills/kubernetes-specialist/references/multi-cluster.md +507 -0
- package/org-skills/kubernetes-specialist/references/networking.md +447 -0
- package/org-skills/kubernetes-specialist/references/service-mesh.md +459 -0
- package/org-skills/kubernetes-specialist/references/storage.md +535 -0
- package/org-skills/kubernetes-specialist/references/troubleshooting.md +414 -0
- package/org-skills/kubernetes-specialist/references/workloads.md +377 -0
- package/org-skills/laravel-patterns/LICENSE.txt +21 -0
- package/org-skills/laravel-patterns/SKILL.md +419 -0
- package/{dist/src/orgrt/role-skills/launch-strategist.md → org-skills/launch-strategist/SKILL.md} +8 -0
- package/org-skills/launch-strategy/LICENSE.txt +21 -0
- package/org-skills/launch-strategy/SKILL.md +384 -0
- package/org-skills/lead-magnets/LICENSE.txt +21 -0
- package/org-skills/lead-magnets/SKILL.md +313 -0
- package/org-skills/lead-magnets/references/benchmarks.md +129 -0
- package/org-skills/lead-magnets/references/format-guide.md +196 -0
- package/org-skills/legacy-modernizer/LICENSE.txt +21 -0
- package/org-skills/legacy-modernizer/SKILL.md +134 -0
- package/org-skills/legacy-modernizer/references/legacy-testing.md +381 -0
- package/org-skills/legacy-modernizer/references/migration-strategies.md +423 -0
- package/org-skills/legacy-modernizer/references/refactoring-patterns.md +395 -0
- package/org-skills/legacy-modernizer/references/strangler-fig-pattern.md +281 -0
- package/org-skills/legacy-modernizer/references/system-assessment.md +487 -0
- package/{dist/src/orgrt/role-skills/legal-compliance.md → org-skills/legal-compliance/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/level-designer.md → org-skills/level-designer/SKILL.md} +8 -0
- package/org-skills/llm-cost-optimizer/LICENSE.txt +21 -0
- package/org-skills/llm-cost-optimizer/SKILL.md +227 -0
- package/org-skills/llm-evaluation/LICENSE.txt +21 -0
- package/org-skills/llm-evaluation/SKILL.md +149 -0
- package/org-skills/llm-evaluation/references/details.md +527 -0
- package/org-skills/llm-project-development/LICENSE.txt +22 -0
- package/org-skills/llm-project-development/SKILL.md +309 -0
- package/org-skills/llm-project-development/references/case-studies.md +388 -0
- package/org-skills/llm-project-development/references/pipeline-patterns.md +610 -0
- package/{dist/src/orgrt/role-skills/load-balancer.md → org-skills/load-balancer/SKILL.md} +8 -0
- package/org-skills/logistics-exception-management/SKILL.md +213 -0
- package/org-skills/long-horizon-prompting/LICENSE.txt +22 -0
- package/org-skills/long-horizon-prompting/SKILL.md +279 -0
- package/org-skills/long-horizon-prompting/references/cdc-prompt-annotated.md +78 -0
- package/org-skills/long-horizon-prompting/references/research-evidence.md +57 -0
- package/org-skills/long-horizon-prompting/references/task-brief-template.md +142 -0
- package/org-skills/long-horizon-prompting/references/vendor-guidance.md +110 -0
- package/org-skills/make-interfaces-feel-better/LICENSE.txt +21 -0
- package/org-skills/make-interfaces-feel-better/SKILL.md +155 -0
- package/org-skills/markdown-mermaid-writing/SKILL.md +319 -0
- package/org-skills/markdown-mermaid-writing/assets/examples/example-research-report.md +221 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/architecture.md +108 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/block.md +177 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/c4.md +136 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/class.md +246 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/complex_examples.md +384 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/er.md +222 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/flowchart.md +177 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/gantt.md +138 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/git_graph.md +74 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/kanban.md +107 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/mindmap.md +74 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/packet.md +55 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/pie.md +52 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/quadrant.md +66 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/radar.md +59 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/requirement.md +88 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/sankey.md +71 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/sequence.md +174 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/state.md +150 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/timeline.md +96 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/treemap.md +66 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/user_journey.md +108 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/xy_chart.md +53 -0
- package/org-skills/markdown-mermaid-writing/references/diagrams/zenuml.md +71 -0
- package/org-skills/markdown-mermaid-writing/references/markdown_style_guide.md +733 -0
- package/org-skills/markdown-mermaid-writing/references/mermaid_style_guide.md +458 -0
- package/org-skills/markdown-mermaid-writing/templates/decision_record.md +211 -0
- package/org-skills/markdown-mermaid-writing/templates/how_to_guide.md +275 -0
- package/org-skills/markdown-mermaid-writing/templates/issue.md +303 -0
- package/org-skills/markdown-mermaid-writing/templates/kanban.md +223 -0
- package/org-skills/markdown-mermaid-writing/templates/presentation.md +312 -0
- package/org-skills/markdown-mermaid-writing/templates/project_documentation.md +412 -0
- package/org-skills/markdown-mermaid-writing/templates/pull_request.md +319 -0
- package/org-skills/markdown-mermaid-writing/templates/research_paper.md +304 -0
- package/org-skills/markdown-mermaid-writing/templates/status_report.md +185 -0
- package/org-skills/market-research/LICENSE.txt +21 -0
- package/org-skills/market-research/SKILL.md +90 -0
- package/org-skills/market-research-reports/LICENSE.txt +21 -0
- package/org-skills/market-research-reports/SKILL.md +354 -0
- package/org-skills/market-research-reports/assets/FORMATTING_GUIDE.md +149 -0
- package/org-skills/market-research-reports/references/data_analysis_patterns.md +290 -0
- package/org-skills/market-research-reports/references/evidence_model.md +148 -0
- package/org-skills/market-research-reports/references/methods_and_ethics.md +162 -0
- package/org-skills/market-research-reports/references/official_data_sources.md +196 -0
- package/org-skills/market-research-reports/references/report_structure_guide.md +283 -0
- package/org-skills/market-research-reports/references/sources.md +73 -0
- package/org-skills/market-research-reports/references/visual_generation_guide.md +158 -0
- package/org-skills/market-sizing-analysis/LICENSE.txt +21 -0
- package/org-skills/market-sizing-analysis/SKILL.md +69 -0
- package/org-skills/market-sizing-analysis/examples/saas-market-sizing.md +377 -0
- package/org-skills/market-sizing-analysis/references/data-sources.md +421 -0
- package/org-skills/market-sizing-analysis/references/details.md +370 -0
- package/org-skills/marketing-attribution/LICENSE.txt +21 -0
- package/org-skills/marketing-attribution/SKILL.md +227 -0
- package/org-skills/marketing-attribution/references/attribution-models.md +72 -0
- package/org-skills/marketing-attribution/references/by-business-type.md +54 -0
- package/org-skills/marketing-attribution/references/first-party-tracking.md +238 -0
- package/org-skills/marketing-attribution/references/measurement-paradigms.md +74 -0
- package/org-skills/marketing-campaign/LICENSE.txt +21 -0
- package/org-skills/marketing-campaign/SKILL.md +117 -0
- package/org-skills/marketing-council/LICENSE.txt +21 -0
- package/org-skills/marketing-council/SKILL.md +164 -0
- package/org-skills/marketing-council/references/advisor-template.md +51 -0
- package/org-skills/marketing-council/references/advisors/alex-hormozi.md +43 -0
- package/org-skills/marketing-council/references/advisors/ann-handley.md +43 -0
- package/org-skills/marketing-council/references/advisors/april-dunford.md +41 -0
- package/org-skills/marketing-council/references/advisors/byron-sharp.md +43 -0
- package/org-skills/marketing-council/references/advisors/claude-hopkins.md +42 -0
- package/org-skills/marketing-council/references/advisors/david-ogilvy.md +42 -0
- package/org-skills/marketing-council/references/advisors/eugene-schwartz.md +42 -0
- package/org-skills/marketing-council/references/advisors/gary-halbert.md +43 -0
- package/org-skills/marketing-council/references/advisors/gary-vaynerchuk.md +43 -0
- package/org-skills/marketing-council/references/advisors/rory-sutherland.md +42 -0
- package/org-skills/marketing-council/references/advisors/russell-brunson.md +43 -0
- package/org-skills/marketing-council/references/advisors/seth-godin.md +43 -0
- package/org-skills/marketing-demand-acquisition/LICENSE.txt +21 -0
- package/org-skills/marketing-demand-acquisition/SKILL.md +295 -0
- package/org-skills/marketing-demand-acquisition/references/attribution-guide.md +217 -0
- package/org-skills/marketing-demand-acquisition/references/campaign-templates.md +221 -0
- package/org-skills/marketing-demand-acquisition/references/hubspot-workflows.md +168 -0
- package/org-skills/marketing-demand-acquisition/references/international-playbooks.md +200 -0
- package/org-skills/marketing-loops/LICENSE.txt +21 -0
- package/org-skills/marketing-loops/SKILL.md +110 -0
- package/org-skills/marketing-loops/references/loop-catalog.md +687 -0
- package/org-skills/marketing-loops/references/loop-guardrails.md +73 -0
- package/org-skills/marketing-loops/references/loop-orchestration.md +69 -0
- package/org-skills/marketing-loops/references/loop-state.md +67 -0
- package/org-skills/marketing-loops/references/loop-template.md +79 -0
- package/org-skills/marketing-plan/LICENSE.txt +21 -0
- package/org-skills/marketing-plan/SKILL.md +303 -0
- package/org-skills/marketing-plan/references/aarrr-framework.md +180 -0
- package/org-skills/marketing-plan/references/budget-planning.md +168 -0
- package/org-skills/marketing-plan/references/client-types.md +373 -0
- package/org-skills/marketing-plan/references/current-state-rubric.md +255 -0
- package/org-skills/marketing-plan/references/example-quietude.md +972 -0
- package/org-skills/marketing-plan/references/funding-stage-unlocks.md +230 -0
- package/org-skills/marketing-plan/references/growth-patterns.md +190 -0
- package/org-skills/marketing-plan/references/idea-cross-reference.md +265 -0
- package/org-skills/marketing-plan/references/measurement-framework.md +213 -0
- package/org-skills/marketing-plan/references/methodology.md +363 -0
- package/org-skills/marketing-plan/references/ops-stack-mapping.md +197 -0
- package/org-skills/marketing-plan/references/plan-template.md +494 -0
- package/org-skills/marketing-plan/references/team-and-agency-model.md +278 -0
- package/org-skills/marketing-psychology/LICENSE.txt +21 -0
- package/org-skills/marketing-psychology/SKILL.md +458 -0
- package/org-skills/marketing-strategy-pmm/LICENSE.txt +21 -0
- package/org-skills/marketing-strategy-pmm/SKILL.md +391 -0
- package/org-skills/marketing-strategy-pmm/references/international-gtm.md +401 -0
- package/org-skills/marketing-strategy-pmm/references/launch-checklists.md +333 -0
- package/org-skills/marketing-strategy-pmm/references/messaging-templates.md +446 -0
- package/org-skills/marketing-strategy-pmm/references/positioning-frameworks.md +279 -0
- package/org-skills/markitdown-document-conversion/LICENSE.txt +21 -0
- package/org-skills/markitdown-document-conversion/SKILL.md +281 -0
- package/org-skills/markitdown-document-conversion/references/api_reference.md +418 -0
- package/org-skills/markitdown-document-conversion/references/cloud_and_ocr.md +320 -0
- package/org-skills/markitdown-document-conversion/references/file_formats.md +281 -0
- package/org-skills/markitdown-document-conversion/references/mcp_and_plugins.md +243 -0
- package/org-skills/markitdown-document-conversion/references/migration.md +356 -0
- package/org-skills/markitdown-document-conversion/references/security.md +246 -0
- package/org-skills/markitdown-document-conversion/references/workflows.md +309 -0
- package/{dist/src/orgrt/role-skills/mcp-builder.md → org-skills/mcp-builder/SKILL.md} +8 -0
- package/org-skills/mcp-server-builder/LICENSE.txt +202 -0
- package/org-skills/mcp-server-builder/SKILL.md +240 -0
- package/org-skills/mcp-server-builder/reference/evaluation.md +602 -0
- package/org-skills/mcp-server-builder/reference/mcp_best_practices.md +249 -0
- package/org-skills/mcp-server-builder/reference/node_mcp_server.md +970 -0
- package/org-skills/mcp-server-builder/reference/python_mcp_server.md +719 -0
- package/org-skills/mcp-server-patterns/LICENSE.txt +21 -0
- package/org-skills/mcp-server-patterns/SKILL.md +73 -0
- package/{dist/src/orgrt/role-skills/memory-coordinator.md → org-skills/memory-coordinator/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/mesh-coordinator.md → org-skills/mesh-coordinator/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/ml-developer.md → org-skills/ml-developer/SKILL.md} +8 -0
- package/org-skills/ml-pipeline/LICENSE.txt +21 -0
- package/org-skills/ml-pipeline/SKILL.md +155 -0
- package/org-skills/ml-pipeline/references/experiment-tracking.md +833 -0
- package/org-skills/ml-pipeline/references/feature-engineering.md +631 -0
- package/org-skills/ml-pipeline/references/model-validation.md +978 -0
- package/org-skills/ml-pipeline/references/pipeline-orchestration.md +907 -0
- package/org-skills/ml-pipeline/references/training-pipelines.md +782 -0
- package/org-skills/mle-workflow/LICENSE.txt +21 -0
- package/org-skills/mle-workflow/SKILL.md +350 -0
- package/{dist/src/orgrt/role-skills/mobile-app-builder.md → org-skills/mobile-app-builder/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/mobile-dev.md → org-skills/mobile-dev/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/model-qa.md → org-skills/model-qa/SKILL.md} +8 -0
- package/org-skills/monitoring-expert/LICENSE.txt +21 -0
- package/org-skills/monitoring-expert/SKILL.md +173 -0
- package/org-skills/monitoring-expert/references/alerting-rules.md +141 -0
- package/org-skills/monitoring-expert/references/application-profiling.md +331 -0
- package/org-skills/monitoring-expert/references/capacity-planning.md +344 -0
- package/org-skills/monitoring-expert/references/dashboards.md +126 -0
- package/org-skills/monitoring-expert/references/opentelemetry.md +123 -0
- package/org-skills/monitoring-expert/references/performance-testing.md +269 -0
- package/org-skills/monitoring-expert/references/prometheus-metrics.md +136 -0
- package/org-skills/monitoring-expert/references/structured-logging.md +142 -0
- package/org-skills/monodesign-ui-quality/SKILL.md +38 -0
- package/org-skills/monograph-code-navigation/SKILL.md +46 -0
- package/org-skills/monolean-minimal-change/SKILL.md +50 -0
- package/org-skills/multi-agent-patterns/LICENSE.txt +22 -0
- package/org-skills/multi-agent-patterns/SKILL.md +272 -0
- package/org-skills/multi-agent-patterns/references/frameworks.md +433 -0
- package/org-skills/mysql-patterns/LICENSE.txt +21 -0
- package/org-skills/mysql-patterns/SKILL.md +416 -0
- package/{dist/src/orgrt/role-skills/narrative-designer.md → org-skills/narrative-designer/SKILL.md} +8 -0
- package/org-skills/nextjs-developer/LICENSE.txt +21 -0
- package/org-skills/nextjs-developer/SKILL.md +140 -0
- package/org-skills/nextjs-developer/references/app-router.md +311 -0
- package/org-skills/nextjs-developer/references/data-fetching.md +482 -0
- package/org-skills/nextjs-developer/references/deployment.md +545 -0
- package/org-skills/nextjs-developer/references/server-actions.md +462 -0
- package/org-skills/nextjs-developer/references/server-components.md +384 -0
- package/org-skills/offer-design/LICENSE.txt +21 -0
- package/org-skills/offer-design/SKILL.md +158 -0
- package/org-skills/offer-design/references/bonus-stacking.md +150 -0
- package/org-skills/offer-design/references/examples.md +215 -0
- package/org-skills/offer-design/references/guarantee-design.md +172 -0
- package/org-skills/offer-design/references/offer-anatomy.md +203 -0
- package/org-skills/offer-design/references/offer-formats.md +240 -0
- package/org-skills/offer-design/references/saas-offers.md +116 -0
- package/org-skills/offer-design/references/scarcity-urgency.md +175 -0
- package/org-skills/offer-design/references/value-equation.md +134 -0
- package/org-skills/onboarding-cro/LICENSE.txt +21 -0
- package/org-skills/onboarding-cro/SKILL.md +264 -0
- package/org-skills/onboarding-cro/references/activation-models.md +57 -0
- package/org-skills/onboarding-cro/references/experiments.md +258 -0
- package/org-skills/onboarding-cro/references/minimum-path-to-value.md +49 -0
- package/{dist/src/orgrt/role-skills/outbound-strategist.md → org-skills/outbound-strategist/SKILL.md} +8 -0
- package/org-skills/page-cro/LICENSE.txt +21 -0
- package/org-skills/page-cro/SKILL.md +190 -0
- package/org-skills/page-cro/references/experiments.md +248 -0
- package/org-skills/page-cro/references/form.md +422 -0
- package/org-skills/paid-ads/LICENSE.txt +21 -0
- package/org-skills/paid-ads/SKILL.md +502 -0
- package/org-skills/paid-ads/references/abm-playbook.md +93 -0
- package/org-skills/paid-ads/references/ad-copy-templates.md +207 -0
- package/org-skills/paid-ads/references/audience-targeting.md +243 -0
- package/org-skills/paid-ads/references/audit-guardrails.md +83 -0
- package/org-skills/paid-ads/references/b2b-paid-playbook.md +115 -0
- package/org-skills/paid-ads/references/conversion-tracking.md +361 -0
- package/org-skills/paid-ads/references/creative-research-automation.md +103 -0
- package/org-skills/paid-ads/references/google-ads-audit-checklist.md +84 -0
- package/org-skills/paid-ads/references/google-search-playbook.md +120 -0
- package/org-skills/paid-ads/references/linkedin-b2b-playbook.md +107 -0
- package/org-skills/paid-ads/references/meta-decision-system.md +176 -0
- package/org-skills/paid-ads/references/payback-period.md +69 -0
- package/org-skills/paid-ads/references/platform-setup-checklists.md +277 -0
- package/org-skills/paid-ads/references/rsa-output-spec.md +88 -0
- package/org-skills/pandas-pro/LICENSE.txt +21 -0
- package/org-skills/pandas-pro/SKILL.md +175 -0
- package/org-skills/pandas-pro/references/aggregation-groupby.md +545 -0
- package/org-skills/pandas-pro/references/data-cleaning.md +500 -0
- package/org-skills/pandas-pro/references/dataframe-operations.md +420 -0
- package/org-skills/pandas-pro/references/merging-joining.md +596 -0
- package/org-skills/pandas-pro/references/performance-optimization.md +597 -0
- package/{dist/src/orgrt/role-skills/path-validator.md → org-skills/path-validator/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/payment-agent.md → org-skills/payment-agent/SKILL.md} +8 -0
- package/org-skills/pci-compliance/LICENSE.txt +21 -0
- package/org-skills/pci-compliance/SKILL.md +277 -0
- package/org-skills/pci-compliance/references/details.md +181 -0
- package/{dist/src/orgrt/role-skills/perf-analyzer.md → org-skills/perf-analyzer/SKILL.md} +8 -0
- package/org-skills/php-pro/LICENSE.txt +21 -0
- package/org-skills/php-pro/SKILL.md +203 -0
- package/org-skills/php-pro/references/async-patterns.md +412 -0
- package/org-skills/php-pro/references/laravel-patterns.md +377 -0
- package/org-skills/php-pro/references/modern-php-features.md +323 -0
- package/org-skills/php-pro/references/symfony-patterns.md +466 -0
- package/org-skills/php-pro/references/testing-quality.md +466 -0
- package/{dist/src/orgrt/role-skills/pipeline-analyst.md → org-skills/pipeline-analyst/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/planner.md → org-skills/planner/SKILL.md} +8 -0
- package/org-skills/playwright-expert/LICENSE.txt +21 -0
- package/org-skills/playwright-expert/SKILL.md +166 -0
- package/org-skills/playwright-expert/references/api-mocking.md +140 -0
- package/org-skills/playwright-expert/references/configuration.md +155 -0
- package/org-skills/playwright-expert/references/debugging-flaky.md +150 -0
- package/org-skills/playwright-expert/references/page-object-model.md +152 -0
- package/org-skills/playwright-expert/references/selectors-locators.md +119 -0
- package/org-skills/postgres-patterns/LICENSE.txt +21 -0
- package/org-skills/postgres-patterns/SKILL.md +151 -0
- package/org-skills/postgresql-table-design/LICENSE.txt +21 -0
- package/org-skills/postgresql-table-design/SKILL.md +134 -0
- package/org-skills/postgresql-table-design/references/details.md +161 -0
- package/org-skills/postmortem-writing/LICENSE.txt +21 -0
- package/org-skills/postmortem-writing/SKILL.md +238 -0
- package/org-skills/postmortem-writing/references/details.md +164 -0
- package/{dist/src/orgrt/role-skills/pr-manager.md → org-skills/pr-manager/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/pricing-strategist.md → org-skills/pricing-strategist/SKILL.md} +8 -0
- package/org-skills/pricing-strategy/LICENSE.txt +21 -0
- package/org-skills/pricing-strategy/SKILL.md +298 -0
- package/org-skills/pricing-strategy/references/pricing-models.md +66 -0
- package/org-skills/pricing-strategy/references/pricing-page-teardown.md +85 -0
- package/org-skills/pricing-strategy/references/research-methods.md +152 -0
- package/org-skills/pricing-strategy/references/tier-structure.md +232 -0
- package/org-skills/prisma-patterns/LICENSE.txt +21 -0
- package/org-skills/prisma-patterns/SKILL.md +404 -0
- package/org-skills/product-capability/LICENSE.txt +21 -0
- package/org-skills/product-capability/SKILL.md +145 -0
- package/org-skills/product-discovery/LICENSE.txt +21 -0
- package/org-skills/product-discovery/SKILL.md +119 -0
- package/org-skills/product-discovery/references/discovery-frameworks.md +72 -0
- package/org-skills/product-lens/LICENSE.txt +21 -0
- package/org-skills/product-lens/SKILL.md +96 -0
- package/{dist/src/orgrt/role-skills/product-manager.md → org-skills/product-manager/SKILL.md} +8 -0
- package/org-skills/product-marketing-context/LICENSE.txt +21 -0
- package/org-skills/product-marketing-context/SKILL.md +258 -0
- package/org-skills/production-audit/LICENSE.txt +21 -0
- package/org-skills/production-audit/SKILL.md +210 -0
- package/org-skills/production-scheduling/SKILL.md +228 -0
- package/{dist/src/orgrt/role-skills/production-validator.md → org-skills/production-validator/SKILL.md} +8 -0
- package/org-skills/programmatic-seo/LICENSE.txt +21 -0
- package/org-skills/programmatic-seo/SKILL.md +241 -0
- package/org-skills/programmatic-seo/references/playbooks.md +308 -0
- package/{dist/src/orgrt/role-skills/project-shepherd.md → org-skills/project-shepherd/SKILL.md} +8 -0
- package/org-skills/prompt-engineer/LICENSE.txt +21 -0
- package/org-skills/prompt-engineer/SKILL.md +131 -0
- package/org-skills/prompt-engineer/references/context-management.md +198 -0
- package/org-skills/prompt-engineer/references/evaluation-frameworks.md +778 -0
- package/org-skills/prompt-engineer/references/prompt-optimization.md +560 -0
- package/org-skills/prompt-engineer/references/prompt-patterns.md +506 -0
- package/org-skills/prompt-engineer/references/structured-outputs.md +720 -0
- package/org-skills/prompt-engineer/references/system-prompts.md +544 -0
- package/{dist/src/orgrt/role-skills/proposal-strategist.md → org-skills/proposal-strategist/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/prosecutor.md → org-skills/prosecutor/SKILL.md} +8 -0
- package/org-skills/public-relations/LICENSE.txt +21 -0
- package/org-skills/public-relations/SKILL.md +145 -0
- package/org-skills/public-relations/references/journalist-pitching.md +368 -0
- package/org-skills/public-relations/references/media-outlets.md +207 -0
- package/org-skills/public-relations/references/newsjacking.md +218 -0
- package/org-skills/public-relations/references/podcast-guest-prep.md +60 -0
- package/org-skills/public-relations/references/press-platforms.md +188 -0
- package/org-skills/public-relations/references/story-angles.md +87 -0
- package/org-skills/pymc-bayesian-modeling/SKILL.md +326 -0
- package/org-skills/pymc-bayesian-modeling/references/distributions.md +345 -0
- package/org-skills/pymc-bayesian-modeling/references/model_patterns.md +130 -0
- package/org-skills/pymc-bayesian-modeling/references/sampling_inference.md +432 -0
- package/org-skills/pymc-bayesian-modeling/references/standard_workflow.md +176 -0
- package/org-skills/pymc-bayesian-modeling/references/workflows.md +530 -0
- package/org-skills/python-patterns/LICENSE.txt +21 -0
- package/org-skills/python-patterns/SKILL.md +754 -0
- package/org-skills/python-pro/LICENSE.txt +21 -0
- package/org-skills/python-pro/SKILL.md +174 -0
- package/org-skills/python-pro/references/async-patterns.md +356 -0
- package/org-skills/python-pro/references/packaging.md +460 -0
- package/org-skills/python-pro/references/standard-library.md +378 -0
- package/org-skills/python-pro/references/testing.md +404 -0
- package/org-skills/python-pro/references/type-system.md +290 -0
- package/org-skills/python-testing/LICENSE.txt +21 -0
- package/org-skills/python-testing/SKILL.md +820 -0
- package/org-skills/quality-nonconformance/SKILL.md +250 -0
- package/{dist/src/orgrt/role-skills/queen-coordinator.md → org-skills/queen-coordinator/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/quorum-manager.md → org-skills/quorum-manager/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/raft-manager.md → org-skills/raft-manager/SKILL.md} +8 -0
- package/org-skills/rag-architect/LICENSE.txt +21 -0
- package/org-skills/rag-architect/SKILL.md +195 -0
- package/org-skills/rag-architect/references/chunking-strategies.md +878 -0
- package/org-skills/rag-architect/references/embedding-models.md +561 -0
- package/org-skills/rag-architect/references/rag-evaluation.md +833 -0
- package/org-skills/rag-architect/references/retrieval-optimization.md +795 -0
- package/org-skills/rag-architect/references/vector-databases.md +589 -0
- package/org-skills/rails-patterns/LICENSE.txt +21 -0
- package/org-skills/rails-patterns/SKILL.md +479 -0
- package/org-skills/react-expert/LICENSE.txt +21 -0
- package/org-skills/react-expert/SKILL.md +146 -0
- package/org-skills/react-expert/references/hooks-patterns.md +162 -0
- package/org-skills/react-expert/references/migration-class-to-modern.md +1119 -0
- package/org-skills/react-expert/references/performance.md +168 -0
- package/org-skills/react-expert/references/react-19-features.md +174 -0
- package/org-skills/react-expert/references/server-components.md +143 -0
- package/org-skills/react-expert/references/state-management.md +171 -0
- package/org-skills/react-expert/references/testing-react.md +174 -0
- package/org-skills/react-native-expert/LICENSE.txt +21 -0
- package/org-skills/react-native-expert/SKILL.md +182 -0
- package/org-skills/react-native-expert/references/expo-router.md +187 -0
- package/org-skills/react-native-expert/references/list-optimization.md +204 -0
- package/org-skills/react-native-expert/references/platform-handling.md +188 -0
- package/org-skills/react-native-expert/references/project-structure.md +171 -0
- package/org-skills/react-native-expert/references/storage-hooks.md +173 -0
- package/org-skills/react-native-patterns/LICENSE.txt +21 -0
- package/org-skills/react-native-patterns/SKILL.md +330 -0
- package/org-skills/react-patterns/LICENSE.txt +21 -0
- package/org-skills/react-patterns/SKILL.md +345 -0
- package/org-skills/react-performance/LICENSE.txt +21 -0
- package/org-skills/react-performance/SKILL.md +578 -0
- package/org-skills/react-testing/LICENSE.txt +21 -0
- package/org-skills/react-testing/SKILL.md +427 -0
- package/{dist/src/orgrt/role-skills/reality-checker.md → org-skills/reality-checker/SKILL.md} +8 -0
- package/org-skills/receiving-code-review/LICENSE.txt +21 -0
- package/org-skills/receiving-code-review/SKILL.md +210 -0
- package/{dist/src/orgrt/role-skills/recruitment.md → org-skills/recruitment/SKILL.md} +8 -0
- package/org-skills/redis-patterns/LICENSE.txt +21 -0
- package/org-skills/redis-patterns/SKILL.md +407 -0
- package/org-skills/referral-programs/LICENSE.txt +21 -0
- package/org-skills/referral-programs/SKILL.md +280 -0
- package/org-skills/referral-programs/references/affiliate-programs.md +167 -0
- package/org-skills/referral-programs/references/program-examples.md +143 -0
- package/org-skills/referral-programs/references/viral-mechanisms.md +102 -0
- package/{dist/src/orgrt/role-skills/release-manager.md → org-skills/release-manager/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/repo-architect.md → org-skills/repo-architect/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/researcher.md → org-skills/researcher/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/resource-allocator.md → org-skills/resource-allocator/SKILL.md} +8 -0
- package/org-skills/responsive-design/LICENSE.txt +21 -0
- package/org-skills/responsive-design/SKILL.md +49 -0
- package/org-skills/responsive-design/references/breakpoint-strategies.md +591 -0
- package/org-skills/responsive-design/references/container-queries.md +564 -0
- package/org-skills/responsive-design/references/details.md +477 -0
- package/org-skills/responsive-design/references/fluid-layouts.md +538 -0
- package/org-skills/returns-reverse-logistics/SKILL.md +230 -0
- package/{dist/src/orgrt/role-skills/reviewer.md → org-skills/reviewer/SKILL.md} +8 -0
- package/org-skills/revops/LICENSE.txt +21 -0
- package/org-skills/revops/SKILL.md +348 -0
- package/org-skills/revops/references/automation-playbooks.md +290 -0
- package/org-skills/revops/references/lifecycle-definitions.md +278 -0
- package/org-skills/revops/references/routing-rules.md +203 -0
- package/org-skills/revops/references/scoring-models.md +247 -0
- package/org-skills/roadmap-communicator/LICENSE.txt +21 -0
- package/org-skills/roadmap-communicator/SKILL.md +97 -0
- package/org-skills/roadmap-communicator/references/communication-templates.md +63 -0
- package/org-skills/roadmap-communicator/references/roadmap-templates.md +44 -0
- package/org-skills/rust-engineer/LICENSE.txt +21 -0
- package/org-skills/rust-engineer/SKILL.md +164 -0
- package/org-skills/rust-engineer/references/async.md +458 -0
- package/org-skills/rust-engineer/references/error-handling.md +334 -0
- package/org-skills/rust-engineer/references/ownership.md +278 -0
- package/org-skills/rust-engineer/references/testing.md +470 -0
- package/org-skills/rust-engineer/references/traits.md +413 -0
- package/org-skills/rust-patterns/LICENSE.txt +21 -0
- package/org-skills/rust-patterns/SKILL.md +503 -0
- package/{dist/src/orgrt/role-skills/safe-executor.md → org-skills/safe-executor/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/sales-coach.md → org-skills/sales-coach/SKILL.md} +8 -0
- package/org-skills/sales-enablement/LICENSE.txt +21 -0
- package/org-skills/sales-enablement/SKILL.md +362 -0
- package/org-skills/sales-enablement/references/deck-frameworks.md +263 -0
- package/org-skills/sales-enablement/references/demo-scripts.md +355 -0
- package/org-skills/sales-enablement/references/objection-library.md +270 -0
- package/org-skills/sales-enablement/references/one-pager-templates.md +208 -0
- package/{dist/src/orgrt/role-skills/sales-engineer.md → org-skills/sales-engineer/SKILL.md} +8 -0
- package/org-skills/sales-prospecting/LICENSE.txt +21 -0
- package/org-skills/sales-prospecting/SKILL.md +265 -0
- package/org-skills/sales-prospecting/references/b2b-prospecting.md +106 -0
- package/org-skills/sales-prospecting/references/compliance.md +123 -0
- package/org-skills/sales-prospecting/references/data-sources.md +287 -0
- package/org-skills/sales-prospecting/references/demand-signals.md +129 -0
- package/org-skills/sales-prospecting/references/local-prospecting.md +165 -0
- package/org-skills/sales-prospecting/references/saas-prospecting.md +123 -0
- package/org-skills/schema-markup/LICENSE.txt +21 -0
- package/org-skills/schema-markup/SKILL.md +182 -0
- package/org-skills/schema-markup/references/schema-examples.md +398 -0
- package/org-skills/scientific-brainstorming/LICENSE.txt +21 -0
- package/org-skills/scientific-brainstorming/SKILL.md +299 -0
- package/org-skills/scientific-brainstorming/references/brainstorming_methods.md +292 -0
- package/org-skills/scientific-brainstorming/references/facilitation_workflows.md +284 -0
- package/org-skills/scientific-brainstorming/references/idea_evaluation.md +268 -0
- package/org-skills/scientific-brainstorming/references/responsible_ai.md +220 -0
- package/org-skills/scientific-brainstorming/references/sources.md +364 -0
- package/org-skills/scientific-critical-thinking/LICENSE.txt +21 -0
- package/org-skills/scientific-critical-thinking/SKILL.md +196 -0
- package/org-skills/scientific-critical-thinking/references/common_biases.md +364 -0
- package/org-skills/scientific-critical-thinking/references/core_capabilities.md +407 -0
- package/org-skills/scientific-critical-thinking/references/evidence_hierarchy.md +485 -0
- package/org-skills/scientific-critical-thinking/references/experimental_design.md +496 -0
- package/org-skills/scientific-critical-thinking/references/logical_fallacies.md +478 -0
- package/org-skills/scientific-critical-thinking/references/scientific_method.md +169 -0
- package/org-skills/scientific-critical-thinking/references/statistical_pitfalls.md +506 -0
- package/org-skills/scientific-thinking-literature-review/LICENSE.txt +21 -0
- package/org-skills/scientific-thinking-literature-review/SKILL.md +196 -0
- package/org-skills/scientific-thinking-scholar-evaluation/LICENSE.txt +21 -0
- package/org-skills/scientific-thinking-scholar-evaluation/SKILL.md +164 -0
- package/org-skills/scientific-visualization/LICENSE.txt +21 -0
- package/org-skills/scientific-visualization/SKILL.md +301 -0
- package/org-skills/scientific-visualization/references/color_palettes.md +227 -0
- package/org-skills/scientific-visualization/references/journal_requirements.md +169 -0
- package/org-skills/scientific-visualization/references/matplotlib_examples.md +336 -0
- package/org-skills/scientific-visualization/references/publication_guidelines.md +196 -0
- package/org-skills/scientific-visualization/references/sources.md +76 -0
- package/org-skills/scientific-writing/LICENSE.txt +21 -0
- package/org-skills/scientific-writing/SKILL.md +373 -0
- package/org-skills/scientific-writing/assets/REPORT_FORMATTING_GUIDE.md +60 -0
- package/org-skills/scientific-writing/assets/manuscript_scaffold.md +65 -0
- package/org-skills/scientific-writing/references/authorship_ai_confidentiality.md +111 -0
- package/org-skills/scientific-writing/references/citation_styles.md +92 -0
- package/org-skills/scientific-writing/references/cli_reference.md +113 -0
- package/org-skills/scientific-writing/references/evidence_workflow.md +94 -0
- package/org-skills/scientific-writing/references/figures_tables.md +94 -0
- package/org-skills/scientific-writing/references/imrad_structure.md +114 -0
- package/org-skills/scientific-writing/references/journal_policies.md +56 -0
- package/org-skills/scientific-writing/references/professional_report_formatting.md +82 -0
- package/org-skills/scientific-writing/references/reporting_guidelines.md +107 -0
- package/org-skills/scientific-writing/references/research_integrity_open_science.md +97 -0
- package/org-skills/scientific-writing/references/source_ledger.md +268 -0
- package/org-skills/scientific-writing/references/writing_principles.md +97 -0
- package/{dist/src/orgrt/role-skills/scout-explorer.md → org-skills/scout-explorer/SKILL.md} +8 -0
- package/org-skills/secrets-vault-manager/LICENSE.txt +21 -0
- package/org-skills/secrets-vault-manager/SKILL.md +408 -0
- package/org-skills/secrets-vault-manager/references/cloud_secret_stores.md +354 -0
- package/org-skills/secrets-vault-manager/references/emergency_procedures.md +280 -0
- package/org-skills/secrets-vault-manager/references/vault_patterns.md +342 -0
- package/org-skills/secure-code-guardian/LICENSE.txt +21 -0
- package/org-skills/secure-code-guardian/SKILL.md +188 -0
- package/org-skills/secure-code-guardian/references/authentication.md +136 -0
- package/org-skills/secure-code-guardian/references/input-validation.md +146 -0
- package/org-skills/secure-code-guardian/references/owasp-prevention.md +135 -0
- package/org-skills/secure-code-guardian/references/security-headers.md +133 -0
- package/org-skills/secure-code-guardian/references/xss-csrf.md +157 -0
- package/{dist/src/orgrt/role-skills/security-architect.md → org-skills/security-architect/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/security-auditor.md → org-skills/security-auditor/SKILL.md} +8 -0
- package/org-skills/security-review/LICENSE.txt +21 -0
- package/org-skills/security-review/SKILL.md +514 -0
- package/org-skills/security-review/cloud-infrastructure-security.md +361 -0
- package/org-skills/security-reviewer/LICENSE.txt +21 -0
- package/org-skills/security-reviewer/SKILL.md +99 -0
- package/org-skills/security-reviewer/references/infrastructure-security.md +268 -0
- package/org-skills/security-reviewer/references/penetration-testing.md +268 -0
- package/org-skills/security-reviewer/references/report-template.md +170 -0
- package/org-skills/security-reviewer/references/sast-tools.md +117 -0
- package/org-skills/security-reviewer/references/secret-scanning.md +125 -0
- package/org-skills/security-reviewer/references/vulnerability-patterns.md +152 -0
- package/org-skills/senior-data-scientist/LICENSE.txt +21 -0
- package/org-skills/senior-data-scientist/SKILL.md +222 -0
- package/org-skills/senior-data-scientist/references/experiment_design_frameworks.md +80 -0
- package/org-skills/senior-data-scientist/references/feature_engineering_patterns.md +80 -0
- package/org-skills/senior-data-scientist/references/statistical_methods_advanced.md +80 -0
- package/{dist/src/orgrt/role-skills/senior-developer.md → org-skills/senior-developer/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/senior-pm.md → org-skills/senior-pm/SKILL.md} +8 -0
- package/org-skills/senior-pm-playbook/LICENSE.txt +21 -0
- package/org-skills/senior-pm-playbook/SKILL.md +413 -0
- package/org-skills/senior-pm-playbook/assets/executive_report_template.md +267 -0
- package/org-skills/senior-pm-playbook/assets/project_charter_template.md +274 -0
- package/org-skills/senior-pm-playbook/assets/raci_matrix_template.md +265 -0
- package/org-skills/senior-pm-playbook/references/portfolio-kpis.md +32 -0
- package/org-skills/senior-pm-playbook/references/portfolio-prioritization-models.md +645 -0
- package/org-skills/senior-pm-playbook/references/risk-management-framework.md +485 -0
- package/org-skills/seo/LICENSE.txt +21 -0
- package/org-skills/seo/SKILL.md +158 -0
- package/org-skills/seo-audit/LICENSE.txt +21 -0
- package/org-skills/seo-audit/SKILL.md +502 -0
- package/org-skills/seo-audit/references/ai-writing-detection.md +200 -0
- package/org-skills/seo-audit/references/international-seo.md +230 -0
- package/{dist/src/orgrt/role-skills/seo-specialist.md → org-skills/seo-specialist/SKILL.md} +8 -0
- package/org-skills/shap-model-explainability/LICENSE.txt +21 -0
- package/org-skills/shap-model-explainability/SKILL.md +298 -0
- package/org-skills/shap-model-explainability/references/data-maskers.md +287 -0
- package/org-skills/shap-model-explainability/references/explainers.md +376 -0
- package/org-skills/shap-model-explainability/references/migration.md +415 -0
- package/org-skills/shap-model-explainability/references/modalities.md +353 -0
- package/org-skills/shap-model-explainability/references/plots.md +406 -0
- package/org-skills/shap-model-explainability/references/theory.md +352 -0
- package/org-skills/shap-model-explainability/references/troubleshooting.md +442 -0
- package/org-skills/shap-model-explainability/references/workflows.md +565 -0
- package/org-skills/signup-flow-cro/LICENSE.txt +21 -0
- package/org-skills/signup-flow-cro/SKILL.md +362 -0
- package/org-skills/site-architecture/LICENSE.txt +21 -0
- package/org-skills/site-architecture/SKILL.md +360 -0
- package/org-skills/site-architecture/references/mermaid-templates.md +216 -0
- package/org-skills/site-architecture/references/navigation-patterns.md +305 -0
- package/org-skills/site-architecture/references/site-type-templates.md +293 -0
- package/org-skills/sms-marketing/LICENSE.txt +21 -0
- package/org-skills/sms-marketing/SKILL.md +341 -0
- package/org-skills/sms-marketing/references/compliance.md +202 -0
- package/org-skills/sms-marketing/references/platforms.md +318 -0
- package/org-skills/sms-marketing/references/sequence-templates.md +282 -0
- package/org-skills/soc2-compliance/LICENSE.txt +21 -0
- package/org-skills/soc2-compliance/SKILL.md +422 -0
- package/org-skills/soc2-compliance/references/evidence_collection_guide.md +227 -0
- package/org-skills/soc2-compliance/references/soc2_audit_playbook.md +188 -0
- package/org-skills/soc2-compliance/references/trust_service_criteria.md +273 -0
- package/org-skills/soc2-compliance/references/type1_vs_type2.md +273 -0
- package/org-skills/social-content/LICENSE.txt +21 -0
- package/org-skills/social-content/SKILL.md +416 -0
- package/org-skills/social-content/references/carousel-frameworks.md +141 -0
- package/org-skills/social-content/references/listening-sources-template.md +123 -0
- package/org-skills/social-content/references/listening.md +283 -0
- package/org-skills/social-content/references/platform-limits.md +110 -0
- package/org-skills/social-content/references/platforms.md +170 -0
- package/org-skills/social-content/references/post-templates.md +179 -0
- package/org-skills/social-content/references/reverse-engineering.md +195 -0
- package/org-skills/social-content/references/short-form-video.md +237 -0
- package/{dist/src/orgrt/role-skills/social-media.md → org-skills/social-media/SKILL.md} +8 -0
- package/org-skills/social-media-manager/LICENSE.txt +21 -0
- package/org-skills/social-media-manager/SKILL.md +204 -0
- package/{dist/src/orgrt/role-skills/solidity-engineer.md → org-skills/solidity-engineer/SKILL.md} +8 -0
- package/org-skills/spark-engineer/LICENSE.txt +21 -0
- package/org-skills/spark-engineer/SKILL.md +145 -0
- package/org-skills/spark-engineer/references/partitioning-caching.md +543 -0
- package/org-skills/spark-engineer/references/performance-tuning.md +544 -0
- package/org-skills/spark-engineer/references/rdd-operations.md +599 -0
- package/org-skills/spark-engineer/references/spark-sql-dataframes.md +474 -0
- package/org-skills/spark-engineer/references/streaming-patterns.md +786 -0
- package/org-skills/spec-driven-workflow/LICENSE.txt +21 -0
- package/org-skills/spec-driven-workflow/SKILL.md +338 -0
- package/org-skills/spec-driven-workflow/references/acceptance_criteria_patterns.md +497 -0
- package/org-skills/spec-driven-workflow/references/bounded_autonomy_rules.md +273 -0
- package/org-skills/spec-driven-workflow/references/spec_format_guide.md +531 -0
- package/org-skills/springboot-patterns/LICENSE.txt +21 -0
- package/org-skills/springboot-patterns/SKILL.md +318 -0
- package/{dist/src/orgrt/role-skills/sprint-prioritizer.md → org-skills/sprint-prioritizer/SKILL.md} +8 -0
- package/org-skills/sql-pro/LICENSE.txt +21 -0
- package/org-skills/sql-pro/SKILL.md +126 -0
- package/org-skills/sql-pro/references/database-design.md +402 -0
- package/org-skills/sql-pro/references/dialect-differences.md +419 -0
- package/org-skills/sql-pro/references/optimization.md +384 -0
- package/org-skills/sql-pro/references/query-patterns.md +285 -0
- package/org-skills/sql-pro/references/window-functions.md +328 -0
- package/{dist/src/orgrt/role-skills/sre.md → org-skills/sre/SKILL.md} +8 -0
- package/org-skills/sre-engineer/LICENSE.txt +21 -0
- package/org-skills/sre-engineer/SKILL.md +178 -0
- package/org-skills/sre-engineer/references/automation-toil.md +492 -0
- package/org-skills/sre-engineer/references/error-budget-policy.md +334 -0
- package/org-skills/sre-engineer/references/incident-chaos.md +576 -0
- package/org-skills/sre-engineer/references/monitoring-alerting.md +424 -0
- package/org-skills/sre-engineer/references/slo-sli-management.md +238 -0
- package/org-skills/startup-financial-modeling/LICENSE.txt +21 -0
- package/org-skills/startup-financial-modeling/SKILL.md +332 -0
- package/org-skills/startup-financial-modeling/references/details.md +152 -0
- package/org-skills/startup-metrics-framework/LICENSE.txt +21 -0
- package/org-skills/startup-metrics-framework/SKILL.md +553 -0
- package/org-skills/statistical-analysis/LICENSE.txt +21 -0
- package/org-skills/statistical-analysis/SKILL.md +464 -0
- package/org-skills/statistical-analysis/references/assumptions_and_diagnostics.md +379 -0
- package/org-skills/statistical-analysis/references/bayesian_statistics.md +686 -0
- package/org-skills/statistical-analysis/references/effect_sizes_and_power.md +649 -0
- package/org-skills/statistical-analysis/references/reporting_standards.md +482 -0
- package/org-skills/statistical-analysis/references/test_selection_guide.md +129 -0
- package/org-skills/statistical-power/LICENSE.txt +21 -0
- package/org-skills/statistical-power/SKILL.md +216 -0
- package/org-skills/statistical-power/references/closed_form_recipes.md +174 -0
- package/org-skills/statistical-power/references/effect_sizes.md +121 -0
- package/org-skills/statistical-power/references/simulation_based_power.md +101 -0
- package/org-skills/stride-analysis-patterns/LICENSE.txt +21 -0
- package/org-skills/stride-analysis-patterns/SKILL.md +71 -0
- package/org-skills/stride-analysis-patterns/references/details.md +597 -0
- package/org-skills/stripe-integration/LICENSE.txt +21 -0
- package/org-skills/stripe-integration/SKILL.md +151 -0
- package/org-skills/stripe-integration/references/details.md +351 -0
- package/{dist/src/orgrt/role-skills/studio-operations.md → org-skills/studio-operations/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/studio-producer.md → org-skills/studio-producer/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/support-responder.md → org-skills/support-responder/SKILL.md} +8 -0
- package/org-skills/swift-expert/LICENSE.txt +21 -0
- package/org-skills/swift-expert/SKILL.md +160 -0
- package/org-skills/swift-expert/references/async-concurrency.md +360 -0
- package/org-skills/swift-expert/references/memory-performance.md +377 -0
- package/org-skills/swift-expert/references/protocol-oriented.md +354 -0
- package/org-skills/swift-expert/references/swiftui-patterns.md +291 -0
- package/org-skills/swift-expert/references/testing-patterns.md +399 -0
- package/org-skills/swiftui-patterns/LICENSE.txt +21 -0
- package/org-skills/swiftui-patterns/SKILL.md +264 -0
- package/{dist/src/orgrt/role-skills/system-architect.md → org-skills/system-architect/SKILL.md} +8 -0
- package/org-skills/systematic-debugging/LICENSE.txt +21 -0
- package/org-skills/systematic-debugging/SKILL.md +288 -0
- package/org-skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/org-skills/systematic-debugging/defense-in-depth.md +122 -0
- package/org-skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/{dist/src/orgrt/role-skills/task-orchestrator.md → org-skills/task-orchestrator/SKILL.md} +8 -0
- package/org-skills/team-communications/LICENSE.txt +21 -0
- package/org-skills/team-communications/SKILL.md +72 -0
- package/org-skills/team-communications/references/3p-updates.md +47 -0
- package/org-skills/team-communications/references/company-newsletter.md +65 -0
- package/org-skills/team-communications/references/faq-answers.md +30 -0
- package/org-skills/team-communications/references/general-comms.md +16 -0
- package/org-skills/team-composition-analysis/LICENSE.txt +21 -0
- package/org-skills/team-composition-analysis/SKILL.md +337 -0
- package/org-skills/team-composition-analysis/references/details.md +96 -0
- package/{dist/src/orgrt/role-skills/technical-artist.md → org-skills/technical-artist/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/technical-writer.md → org-skills/technical-writer/SKILL.md} +8 -0
- package/org-skills/terraform-engineer/LICENSE.txt +21 -0
- package/org-skills/terraform-engineer/SKILL.md +141 -0
- package/org-skills/terraform-engineer/references/best-practices.md +583 -0
- package/org-skills/terraform-engineer/references/module-patterns.md +297 -0
- package/org-skills/terraform-engineer/references/providers.md +452 -0
- package/org-skills/terraform-engineer/references/state-management.md +371 -0
- package/org-skills/terraform-engineer/references/testing.md +486 -0
- package/org-skills/test-driven-development/LICENSE.txt +21 -0
- package/org-skills/test-driven-development/SKILL.md +335 -0
- package/org-skills/test-driven-development/writing-good-tests.md +198 -0
- package/org-skills/test-master/LICENSE.txt +21 -0
- package/org-skills/test-master/SKILL.md +91 -0
- package/org-skills/test-master/references/automation-frameworks.md +294 -0
- package/org-skills/test-master/references/e2e-testing.md +128 -0
- package/org-skills/test-master/references/integration-testing.md +120 -0
- package/org-skills/test-master/references/performance-testing.md +118 -0
- package/org-skills/test-master/references/qa-methodology.md +247 -0
- package/org-skills/test-master/references/security-testing.md +127 -0
- package/org-skills/test-master/references/tdd-iron-laws.md +174 -0
- package/org-skills/test-master/references/test-reports.md +104 -0
- package/org-skills/test-master/references/testing-anti-patterns.md +231 -0
- package/org-skills/test-master/references/unit-testing.md +113 -0
- package/{dist/src/orgrt/role-skills/tester.md → org-skills/tester/SKILL.md} +8 -0
- package/org-skills/the-fool/LICENSE.txt +21 -0
- package/org-skills/the-fool/SKILL.md +117 -0
- package/org-skills/the-fool/references/dialectic-synthesis.md +151 -0
- package/org-skills/the-fool/references/evidence-audit.md +196 -0
- package/org-skills/the-fool/references/mode-selection-guide.md +96 -0
- package/org-skills/the-fool/references/pre-mortem-analysis.md +187 -0
- package/org-skills/the-fool/references/red-team-adversarial.md +162 -0
- package/org-skills/the-fool/references/socratic-questioning.md +134 -0
- package/org-skills/theme-factory/LICENSE.txt +202 -0
- package/org-skills/theme-factory/SKILL.md +62 -0
- package/org-skills/theme-factory/themes/arctic-frost.md +19 -0
- package/org-skills/theme-factory/themes/botanical-garden.md +19 -0
- package/org-skills/theme-factory/themes/desert-rose.md +19 -0
- package/org-skills/theme-factory/themes/forest-canopy.md +19 -0
- package/org-skills/theme-factory/themes/golden-hour.md +19 -0
- package/org-skills/theme-factory/themes/midnight-galaxy.md +19 -0
- package/org-skills/theme-factory/themes/modern-minimalist.md +19 -0
- package/org-skills/theme-factory/themes/ocean-depths.md +19 -0
- package/org-skills/theme-factory/themes/sunset-boulevard.md +19 -0
- package/org-skills/theme-factory/themes/tech-innovation.md +19 -0
- package/{dist/src/orgrt/role-skills/threat-detection.md → org-skills/threat-detection/SKILL.md} +8 -0
- package/org-skills/threat-mitigation-mapping/LICENSE.txt +21 -0
- package/org-skills/threat-mitigation-mapping/SKILL.md +87 -0
- package/org-skills/threat-mitigation-mapping/references/details.md +664 -0
- package/{dist/src/orgrt/role-skills/trend-researcher.md → org-skills/trend-researcher/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/trial-director.md → org-skills/trial-director/SKILL.md} +8 -0
- package/org-skills/typescript-pro/LICENSE.txt +21 -0
- package/org-skills/typescript-pro/SKILL.md +142 -0
- package/org-skills/typescript-pro/references/advanced-types.md +259 -0
- package/org-skills/typescript-pro/references/configuration.md +445 -0
- package/org-skills/typescript-pro/references/patterns.md +484 -0
- package/org-skills/typescript-pro/references/type-guards.md +352 -0
- package/org-skills/typescript-pro/references/utility-types.md +329 -0
- package/{dist/src/orgrt/role-skills/unity-architect.md → org-skills/unity-architect/SKILL.md} +8 -0
- package/org-skills/using-git-worktrees/LICENSE.txt +21 -0
- package/org-skills/using-git-worktrees/SKILL.md +172 -0
- package/org-skills/ux-researcher-designer/LICENSE.txt +21 -0
- package/org-skills/ux-researcher-designer/SKILL.md +424 -0
- package/org-skills/ux-researcher-designer/assets/research_plan_template.md +162 -0
- package/org-skills/ux-researcher-designer/references/example-personas.md +411 -0
- package/org-skills/ux-researcher-designer/references/journey-mapping-guide.md +497 -0
- package/org-skills/ux-researcher-designer/references/persona-methodology.md +387 -0
- package/org-skills/ux-researcher-designer/references/usability-testing-frameworks.md +412 -0
- package/org-skills/verification-before-completion/LICENSE.txt +21 -0
- package/org-skills/verification-before-completion/SKILL.md +125 -0
- package/{dist/src/orgrt/role-skills/visionos-engineer.md → org-skills/visionos-engineer/SKILL.md} +8 -0
- package/org-skills/visual-design-foundations/LICENSE.txt +21 -0
- package/org-skills/visual-design-foundations/SKILL.md +323 -0
- package/org-skills/visual-design-foundations/references/color-systems.md +417 -0
- package/org-skills/visual-design-foundations/references/spacing-iconography.md +425 -0
- package/org-skills/visual-design-foundations/references/typography-systems.md +432 -0
- package/org-skills/vue-expert/LICENSE.txt +21 -0
- package/org-skills/vue-expert/SKILL.md +95 -0
- package/org-skills/vue-expert/references/build-tooling.md +480 -0
- package/org-skills/vue-expert/references/components.md +448 -0
- package/org-skills/vue-expert/references/composition-api.md +299 -0
- package/org-skills/vue-expert/references/mobile-hybrid.md +636 -0
- package/org-skills/vue-expert/references/nuxt.md +669 -0
- package/org-skills/vue-expert/references/state-management.md +449 -0
- package/org-skills/vue-expert/references/typescript.md +584 -0
- package/org-skills/vue-patterns/LICENSE.txt +21 -0
- package/org-skills/vue-patterns/SKILL.md +475 -0
- package/{dist/src/orgrt/role-skills/worker-specialist.md → org-skills/worker-specialist/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/workflow-architect.md → org-skills/workflow-architect/SKILL.md} +8 -0
- package/{dist/src/orgrt/role-skills/workflow-automation.md → org-skills/workflow-automation/SKILL.md} +8 -0
- package/org-skills/writing-plans/LICENSE.txt +21 -0
- package/org-skills/writing-plans/SKILL.md +197 -0
- package/{dist/src/orgrt/role-skills/zk-steward.md → org-skills/zk-steward/SKILL.md} +8 -0
- package/package.json +8 -7
- package/dist/src/orgrt/role-skills.d.ts +0 -9
- package/dist/src/orgrt/role-skills.d.ts.map +0 -1
- package/dist/src/orgrt/role-skills.js +0 -52
- package/dist/src/orgrt/role-skills.js.map +0 -1
|
@@ -0,0 +1,907 @@
|
|
|
1
|
+
# Pipeline Orchestration
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Pipeline orchestration automates the end-to-end ML workflow from data ingestion through model deployment. Orchestrators manage dependencies, handle failures, enable scheduling, and provide observability across complex multi-step pipelines.
|
|
8
|
+
|
|
9
|
+
## When to Use This Reference
|
|
10
|
+
|
|
11
|
+
- Building Kubeflow Pipelines for ML workflows
|
|
12
|
+
- Creating Airflow DAGs for data and ML pipelines
|
|
13
|
+
- Implementing Prefect flows for modern orchestration
|
|
14
|
+
- Designing pipeline DAGs and component dependencies
|
|
15
|
+
- Setting up scheduled retraining workflows
|
|
16
|
+
|
|
17
|
+
## When NOT to Use
|
|
18
|
+
|
|
19
|
+
- Simple linear scripts without dependencies
|
|
20
|
+
- One-off data processing tasks
|
|
21
|
+
- Interactive development and experimentation
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Kubeflow Pipelines
|
|
26
|
+
|
|
27
|
+
### Pipeline Definition (KFP v2)
|
|
28
|
+
|
|
29
|
+
```python
|
|
30
|
+
from kfp import dsl
|
|
31
|
+
from kfp.dsl import Input, Output, Artifact, Dataset, Model, Metrics
|
|
32
|
+
from kfp import compiler
|
|
33
|
+
from typing import NamedTuple
|
|
34
|
+
|
|
35
|
+
@dsl.component(
|
|
36
|
+
base_image="python:3.11-slim",
|
|
37
|
+
packages_to_install=["pandas", "scikit-learn"],
|
|
38
|
+
)
|
|
39
|
+
def load_data(
|
|
40
|
+
data_path: str,
|
|
41
|
+
output_dataset: Output[Dataset],
|
|
42
|
+
) -> None:
|
|
43
|
+
"""Load and validate raw data."""
|
|
44
|
+
import pandas as pd
|
|
45
|
+
|
|
46
|
+
df = pd.read_parquet(data_path)
|
|
47
|
+
|
|
48
|
+
# Basic validation
|
|
49
|
+
assert len(df) > 0, "Dataset is empty"
|
|
50
|
+
assert "target" in df.columns, "Missing target column"
|
|
51
|
+
|
|
52
|
+
df.to_parquet(output_dataset.path)
|
|
53
|
+
output_dataset.metadata["num_rows"] = len(df)
|
|
54
|
+
output_dataset.metadata["num_features"] = len(df.columns) - 1
|
|
55
|
+
|
|
56
|
+
@dsl.component(
|
|
57
|
+
base_image="python:3.11-slim",
|
|
58
|
+
packages_to_install=["pandas", "scikit-learn"],
|
|
59
|
+
)
|
|
60
|
+
def preprocess_data(
|
|
61
|
+
input_dataset: Input[Dataset],
|
|
62
|
+
train_dataset: Output[Dataset],
|
|
63
|
+
test_dataset: Output[Dataset],
|
|
64
|
+
test_size: float = 0.2,
|
|
65
|
+
random_state: int = 42,
|
|
66
|
+
) -> None:
|
|
67
|
+
"""Preprocess and split data."""
|
|
68
|
+
import pandas as pd
|
|
69
|
+
from sklearn.model_selection import train_test_split
|
|
70
|
+
from sklearn.preprocessing import StandardScaler
|
|
71
|
+
|
|
72
|
+
df = pd.read_parquet(input_dataset.path)
|
|
73
|
+
|
|
74
|
+
X = df.drop("target", axis=1)
|
|
75
|
+
y = df["target"]
|
|
76
|
+
|
|
77
|
+
X_train, X_test, y_train, y_test = train_test_split(
|
|
78
|
+
X, y, test_size=test_size, random_state=random_state
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
scaler = StandardScaler()
|
|
82
|
+
X_train_scaled = scaler.fit_transform(X_train)
|
|
83
|
+
X_test_scaled = scaler.transform(X_test)
|
|
84
|
+
|
|
85
|
+
train_df = pd.DataFrame(X_train_scaled, columns=X.columns)
|
|
86
|
+
train_df["target"] = y_train.values
|
|
87
|
+
train_df.to_parquet(train_dataset.path)
|
|
88
|
+
|
|
89
|
+
test_df = pd.DataFrame(X_test_scaled, columns=X.columns)
|
|
90
|
+
test_df["target"] = y_test.values
|
|
91
|
+
test_df.to_parquet(test_dataset.path)
|
|
92
|
+
|
|
93
|
+
@dsl.component(
|
|
94
|
+
base_image="python:3.11-slim",
|
|
95
|
+
packages_to_install=["pandas", "scikit-learn", "joblib"],
|
|
96
|
+
)
|
|
97
|
+
def train_model(
|
|
98
|
+
train_dataset: Input[Dataset],
|
|
99
|
+
model_artifact: Output[Model],
|
|
100
|
+
n_estimators: int = 100,
|
|
101
|
+
max_depth: int = 10,
|
|
102
|
+
) -> None:
|
|
103
|
+
"""Train RandomForest model."""
|
|
104
|
+
import pandas as pd
|
|
105
|
+
from sklearn.ensemble import RandomForestClassifier
|
|
106
|
+
import joblib
|
|
107
|
+
|
|
108
|
+
df = pd.read_parquet(train_dataset.path)
|
|
109
|
+
X = df.drop("target", axis=1)
|
|
110
|
+
y = df["target"]
|
|
111
|
+
|
|
112
|
+
model = RandomForestClassifier(
|
|
113
|
+
n_estimators=n_estimators,
|
|
114
|
+
max_depth=max_depth,
|
|
115
|
+
random_state=42,
|
|
116
|
+
)
|
|
117
|
+
model.fit(X, y)
|
|
118
|
+
|
|
119
|
+
joblib.dump(model, model_artifact.path)
|
|
120
|
+
model_artifact.metadata["n_estimators"] = n_estimators
|
|
121
|
+
model_artifact.metadata["max_depth"] = max_depth
|
|
122
|
+
|
|
123
|
+
@dsl.component(
|
|
124
|
+
base_image="python:3.11-slim",
|
|
125
|
+
packages_to_install=["pandas", "scikit-learn", "joblib"],
|
|
126
|
+
)
|
|
127
|
+
def evaluate_model(
|
|
128
|
+
model_artifact: Input[Model],
|
|
129
|
+
test_dataset: Input[Dataset],
|
|
130
|
+
metrics: Output[Metrics],
|
|
131
|
+
threshold: float = 0.8,
|
|
132
|
+
) -> NamedTuple("Outputs", [("passed", bool), ("accuracy", float)]):
|
|
133
|
+
"""Evaluate model and check threshold."""
|
|
134
|
+
import pandas as pd
|
|
135
|
+
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score
|
|
136
|
+
import joblib
|
|
137
|
+
from collections import namedtuple
|
|
138
|
+
|
|
139
|
+
model = joblib.load(model_artifact.path)
|
|
140
|
+
df = pd.read_parquet(test_dataset.path)
|
|
141
|
+
X = df.drop("target", axis=1)
|
|
142
|
+
y = df["target"]
|
|
143
|
+
|
|
144
|
+
predictions = model.predict(X)
|
|
145
|
+
|
|
146
|
+
accuracy = accuracy_score(y, predictions)
|
|
147
|
+
precision = precision_score(y, predictions, average="weighted")
|
|
148
|
+
recall = recall_score(y, predictions, average="weighted")
|
|
149
|
+
f1 = f1_score(y, predictions, average="weighted")
|
|
150
|
+
|
|
151
|
+
metrics.log_metric("accuracy", accuracy)
|
|
152
|
+
metrics.log_metric("precision", precision)
|
|
153
|
+
metrics.log_metric("recall", recall)
|
|
154
|
+
metrics.log_metric("f1_score", f1)
|
|
155
|
+
|
|
156
|
+
passed = accuracy >= threshold
|
|
157
|
+
|
|
158
|
+
Outputs = namedtuple("Outputs", ["passed", "accuracy"])
|
|
159
|
+
return Outputs(passed, accuracy)
|
|
160
|
+
|
|
161
|
+
@dsl.component(
|
|
162
|
+
base_image="python:3.11-slim",
|
|
163
|
+
packages_to_install=["google-cloud-storage"],
|
|
164
|
+
)
|
|
165
|
+
def deploy_model(
|
|
166
|
+
model_artifact: Input[Model],
|
|
167
|
+
model_name: str,
|
|
168
|
+
endpoint: str,
|
|
169
|
+
) -> str:
|
|
170
|
+
"""Deploy model to serving endpoint."""
|
|
171
|
+
from google.cloud import storage
|
|
172
|
+
import shutil
|
|
173
|
+
|
|
174
|
+
# Copy model to GCS
|
|
175
|
+
bucket_name = endpoint.split("/")[2]
|
|
176
|
+
model_path = f"models/{model_name}/model.joblib"
|
|
177
|
+
|
|
178
|
+
client = storage.Client()
|
|
179
|
+
bucket = client.bucket(bucket_name)
|
|
180
|
+
blob = bucket.blob(model_path)
|
|
181
|
+
blob.upload_from_filename(model_artifact.path)
|
|
182
|
+
|
|
183
|
+
return f"gs://{bucket_name}/{model_path}"
|
|
184
|
+
|
|
185
|
+
@dsl.pipeline(
|
|
186
|
+
name="ml-training-pipeline",
|
|
187
|
+
description="End-to-end ML training pipeline",
|
|
188
|
+
)
|
|
189
|
+
def ml_pipeline(
|
|
190
|
+
data_path: str,
|
|
191
|
+
n_estimators: int = 100,
|
|
192
|
+
max_depth: int = 10,
|
|
193
|
+
accuracy_threshold: float = 0.8,
|
|
194
|
+
model_name: str = "classifier",
|
|
195
|
+
endpoint: str = "gs://ml-models/serving",
|
|
196
|
+
) -> None:
|
|
197
|
+
"""Complete ML training pipeline."""
|
|
198
|
+
|
|
199
|
+
load_task = load_data(data_path=data_path)
|
|
200
|
+
|
|
201
|
+
preprocess_task = preprocess_data(
|
|
202
|
+
input_dataset=load_task.outputs["output_dataset"],
|
|
203
|
+
)
|
|
204
|
+
|
|
205
|
+
train_task = train_model(
|
|
206
|
+
train_dataset=preprocess_task.outputs["train_dataset"],
|
|
207
|
+
n_estimators=n_estimators,
|
|
208
|
+
max_depth=max_depth,
|
|
209
|
+
)
|
|
210
|
+
|
|
211
|
+
evaluate_task = evaluate_model(
|
|
212
|
+
model_artifact=train_task.outputs["model_artifact"],
|
|
213
|
+
test_dataset=preprocess_task.outputs["test_dataset"],
|
|
214
|
+
threshold=accuracy_threshold,
|
|
215
|
+
)
|
|
216
|
+
|
|
217
|
+
with dsl.If(evaluate_task.outputs["passed"] == True):
|
|
218
|
+
deploy_model(
|
|
219
|
+
model_artifact=train_task.outputs["model_artifact"],
|
|
220
|
+
model_name=model_name,
|
|
221
|
+
endpoint=endpoint,
|
|
222
|
+
)
|
|
223
|
+
|
|
224
|
+
# Compile pipeline
|
|
225
|
+
if __name__ == "__main__":
|
|
226
|
+
compiler.Compiler().compile(
|
|
227
|
+
ml_pipeline,
|
|
228
|
+
"ml_pipeline.yaml",
|
|
229
|
+
)
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
### Running Kubeflow Pipelines
|
|
233
|
+
|
|
234
|
+
```python
|
|
235
|
+
from kfp.client import Client
|
|
236
|
+
|
|
237
|
+
def run_pipeline(
|
|
238
|
+
pipeline_file: str,
|
|
239
|
+
experiment_name: str,
|
|
240
|
+
run_name: str,
|
|
241
|
+
parameters: dict,
|
|
242
|
+
) -> str:
|
|
243
|
+
"""Submit pipeline run to Kubeflow."""
|
|
244
|
+
client = Client(host="https://kubeflow.example.com/pipeline")
|
|
245
|
+
|
|
246
|
+
# Create or get experiment
|
|
247
|
+
experiment = client.create_experiment(name=experiment_name)
|
|
248
|
+
|
|
249
|
+
# Submit run
|
|
250
|
+
run = client.create_run_from_pipeline_package(
|
|
251
|
+
pipeline_file=pipeline_file,
|
|
252
|
+
experiment_id=experiment.experiment_id,
|
|
253
|
+
run_name=run_name,
|
|
254
|
+
arguments=parameters,
|
|
255
|
+
)
|
|
256
|
+
|
|
257
|
+
return run.run_id
|
|
258
|
+
|
|
259
|
+
def schedule_pipeline(
|
|
260
|
+
pipeline_file: str,
|
|
261
|
+
experiment_name: str,
|
|
262
|
+
schedule_name: str,
|
|
263
|
+
cron_expression: str,
|
|
264
|
+
parameters: dict,
|
|
265
|
+
) -> str:
|
|
266
|
+
"""Create recurring pipeline run."""
|
|
267
|
+
client = Client(host="https://kubeflow.example.com/pipeline")
|
|
268
|
+
|
|
269
|
+
experiment = client.create_experiment(name=experiment_name)
|
|
270
|
+
|
|
271
|
+
# Create recurring run
|
|
272
|
+
job = client.create_recurring_run(
|
|
273
|
+
experiment_id=experiment.experiment_id,
|
|
274
|
+
job_name=schedule_name,
|
|
275
|
+
pipeline_package_path=pipeline_file,
|
|
276
|
+
cron_expression=cron_expression,
|
|
277
|
+
enabled=True,
|
|
278
|
+
parameters=parameters,
|
|
279
|
+
)
|
|
280
|
+
|
|
281
|
+
return job.id
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
## Apache Airflow
|
|
287
|
+
|
|
288
|
+
### ML Pipeline DAG
|
|
289
|
+
|
|
290
|
+
```python
|
|
291
|
+
from airflow import DAG
|
|
292
|
+
from airflow.operators.python import PythonOperator, BranchPythonOperator
|
|
293
|
+
from airflow.operators.empty import EmptyOperator
|
|
294
|
+
from airflow.providers.amazon.aws.operators.s3 import S3CreateObjectOperator
|
|
295
|
+
from airflow.utils.trigger_rule import TriggerRule
|
|
296
|
+
from datetime import datetime, timedelta
|
|
297
|
+
import json
|
|
298
|
+
|
|
299
|
+
default_args = {
|
|
300
|
+
"owner": "ml-team",
|
|
301
|
+
"depends_on_past": False,
|
|
302
|
+
"email_on_failure": True,
|
|
303
|
+
"email_on_retry": False,
|
|
304
|
+
"retries": 2,
|
|
305
|
+
"retry_delay": timedelta(minutes=5),
|
|
306
|
+
"execution_timeout": timedelta(hours=2),
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
def load_data(**context):
|
|
310
|
+
"""Load data from source."""
|
|
311
|
+
import pandas as pd
|
|
312
|
+
|
|
313
|
+
data_path = context["params"]["data_path"]
|
|
314
|
+
df = pd.read_parquet(data_path)
|
|
315
|
+
|
|
316
|
+
# Push to XCom for downstream tasks
|
|
317
|
+
output_path = f"/tmp/data_{context['run_id']}.parquet"
|
|
318
|
+
df.to_parquet(output_path)
|
|
319
|
+
|
|
320
|
+
context["ti"].xcom_push(key="data_path", value=output_path)
|
|
321
|
+
context["ti"].xcom_push(key="num_rows", value=len(df))
|
|
322
|
+
|
|
323
|
+
return output_path
|
|
324
|
+
|
|
325
|
+
def preprocess_data(**context):
|
|
326
|
+
"""Preprocess and split data."""
|
|
327
|
+
import pandas as pd
|
|
328
|
+
from sklearn.model_selection import train_test_split
|
|
329
|
+
from sklearn.preprocessing import StandardScaler
|
|
330
|
+
|
|
331
|
+
input_path = context["ti"].xcom_pull(key="data_path", task_ids="load_data")
|
|
332
|
+
df = pd.read_parquet(input_path)
|
|
333
|
+
|
|
334
|
+
X = df.drop("target", axis=1)
|
|
335
|
+
y = df["target"]
|
|
336
|
+
|
|
337
|
+
X_train, X_test, y_train, y_test = train_test_split(
|
|
338
|
+
X, y, test_size=0.2, random_state=42
|
|
339
|
+
)
|
|
340
|
+
|
|
341
|
+
scaler = StandardScaler()
|
|
342
|
+
X_train_scaled = scaler.fit_transform(X_train)
|
|
343
|
+
X_test_scaled = scaler.transform(X_test)
|
|
344
|
+
|
|
345
|
+
# Save processed data
|
|
346
|
+
train_path = f"/tmp/train_{context['run_id']}.parquet"
|
|
347
|
+
test_path = f"/tmp/test_{context['run_id']}.parquet"
|
|
348
|
+
|
|
349
|
+
train_df = pd.DataFrame(X_train_scaled, columns=X.columns)
|
|
350
|
+
train_df["target"] = y_train.values
|
|
351
|
+
train_df.to_parquet(train_path)
|
|
352
|
+
|
|
353
|
+
test_df = pd.DataFrame(X_test_scaled, columns=X.columns)
|
|
354
|
+
test_df["target"] = y_test.values
|
|
355
|
+
test_df.to_parquet(test_path)
|
|
356
|
+
|
|
357
|
+
context["ti"].xcom_push(key="train_path", value=train_path)
|
|
358
|
+
context["ti"].xcom_push(key="test_path", value=test_path)
|
|
359
|
+
|
|
360
|
+
def train_model(**context):
|
|
361
|
+
"""Train ML model."""
|
|
362
|
+
import pandas as pd
|
|
363
|
+
from sklearn.ensemble import RandomForestClassifier
|
|
364
|
+
import joblib
|
|
365
|
+
|
|
366
|
+
train_path = context["ti"].xcom_pull(key="train_path", task_ids="preprocess_data")
|
|
367
|
+
df = pd.read_parquet(train_path)
|
|
368
|
+
|
|
369
|
+
X = df.drop("target", axis=1)
|
|
370
|
+
y = df["target"]
|
|
371
|
+
|
|
372
|
+
params = context["params"]
|
|
373
|
+
model = RandomForestClassifier(
|
|
374
|
+
n_estimators=params.get("n_estimators", 100),
|
|
375
|
+
max_depth=params.get("max_depth", 10),
|
|
376
|
+
random_state=42,
|
|
377
|
+
)
|
|
378
|
+
model.fit(X, y)
|
|
379
|
+
|
|
380
|
+
model_path = f"/tmp/model_{context['run_id']}.joblib"
|
|
381
|
+
joblib.dump(model, model_path)
|
|
382
|
+
|
|
383
|
+
context["ti"].xcom_push(key="model_path", value=model_path)
|
|
384
|
+
|
|
385
|
+
def evaluate_model(**context):
|
|
386
|
+
"""Evaluate model and return metrics."""
|
|
387
|
+
import pandas as pd
|
|
388
|
+
from sklearn.metrics import accuracy_score, precision_score, recall_score
|
|
389
|
+
import joblib
|
|
390
|
+
|
|
391
|
+
model_path = context["ti"].xcom_pull(key="model_path", task_ids="train_model")
|
|
392
|
+
test_path = context["ti"].xcom_pull(key="test_path", task_ids="preprocess_data")
|
|
393
|
+
|
|
394
|
+
model = joblib.load(model_path)
|
|
395
|
+
df = pd.read_parquet(test_path)
|
|
396
|
+
|
|
397
|
+
X = df.drop("target", axis=1)
|
|
398
|
+
y = df["target"]
|
|
399
|
+
|
|
400
|
+
predictions = model.predict(X)
|
|
401
|
+
|
|
402
|
+
metrics = {
|
|
403
|
+
"accuracy": accuracy_score(y, predictions),
|
|
404
|
+
"precision": precision_score(y, predictions, average="weighted"),
|
|
405
|
+
"recall": recall_score(y, predictions, average="weighted"),
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
context["ti"].xcom_push(key="metrics", value=metrics)
|
|
409
|
+
|
|
410
|
+
return metrics
|
|
411
|
+
|
|
412
|
+
def check_metrics_threshold(**context):
|
|
413
|
+
"""Branch based on model performance."""
|
|
414
|
+
metrics = context["ti"].xcom_pull(key="metrics", task_ids="evaluate_model")
|
|
415
|
+
threshold = context["params"].get("accuracy_threshold", 0.8)
|
|
416
|
+
|
|
417
|
+
if metrics["accuracy"] >= threshold:
|
|
418
|
+
return "deploy_model"
|
|
419
|
+
return "skip_deployment"
|
|
420
|
+
|
|
421
|
+
def deploy_model(**context):
|
|
422
|
+
"""Deploy model to production."""
|
|
423
|
+
import shutil
|
|
424
|
+
|
|
425
|
+
model_path = context["ti"].xcom_pull(key="model_path", task_ids="train_model")
|
|
426
|
+
metrics = context["ti"].xcom_pull(key="metrics", task_ids="evaluate_model")
|
|
427
|
+
|
|
428
|
+
# In production, this would upload to model registry/serving
|
|
429
|
+
deploy_path = f"/models/production/model_{context['run_id']}.joblib"
|
|
430
|
+
shutil.copy(model_path, deploy_path)
|
|
431
|
+
|
|
432
|
+
return {
|
|
433
|
+
"model_path": deploy_path,
|
|
434
|
+
"metrics": metrics,
|
|
435
|
+
"deployed_at": datetime.utcnow().isoformat(),
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
with DAG(
|
|
439
|
+
dag_id="ml_training_pipeline",
|
|
440
|
+
default_args=default_args,
|
|
441
|
+
description="End-to-end ML training pipeline",
|
|
442
|
+
schedule_interval="0 2 * * *", # Daily at 2 AM
|
|
443
|
+
start_date=datetime(2024, 1, 1),
|
|
444
|
+
catchup=False,
|
|
445
|
+
tags=["ml", "training", "production"],
|
|
446
|
+
params={
|
|
447
|
+
"data_path": "s3://data-bucket/training_data.parquet",
|
|
448
|
+
"n_estimators": 100,
|
|
449
|
+
"max_depth": 10,
|
|
450
|
+
"accuracy_threshold": 0.8,
|
|
451
|
+
},
|
|
452
|
+
) as dag:
|
|
453
|
+
|
|
454
|
+
start = EmptyOperator(task_id="start")
|
|
455
|
+
|
|
456
|
+
load = PythonOperator(
|
|
457
|
+
task_id="load_data",
|
|
458
|
+
python_callable=load_data,
|
|
459
|
+
)
|
|
460
|
+
|
|
461
|
+
preprocess = PythonOperator(
|
|
462
|
+
task_id="preprocess_data",
|
|
463
|
+
python_callable=preprocess_data,
|
|
464
|
+
)
|
|
465
|
+
|
|
466
|
+
train = PythonOperator(
|
|
467
|
+
task_id="train_model",
|
|
468
|
+
python_callable=train_model,
|
|
469
|
+
)
|
|
470
|
+
|
|
471
|
+
evaluate = PythonOperator(
|
|
472
|
+
task_id="evaluate_model",
|
|
473
|
+
python_callable=evaluate_model,
|
|
474
|
+
)
|
|
475
|
+
|
|
476
|
+
check_threshold = BranchPythonOperator(
|
|
477
|
+
task_id="check_metrics_threshold",
|
|
478
|
+
python_callable=check_metrics_threshold,
|
|
479
|
+
)
|
|
480
|
+
|
|
481
|
+
deploy = PythonOperator(
|
|
482
|
+
task_id="deploy_model",
|
|
483
|
+
python_callable=deploy_model,
|
|
484
|
+
)
|
|
485
|
+
|
|
486
|
+
skip = EmptyOperator(task_id="skip_deployment")
|
|
487
|
+
|
|
488
|
+
end = EmptyOperator(
|
|
489
|
+
task_id="end",
|
|
490
|
+
trigger_rule=TriggerRule.NONE_FAILED_MIN_ONE_SUCCESS,
|
|
491
|
+
)
|
|
492
|
+
|
|
493
|
+
start >> load >> preprocess >> train >> evaluate >> check_threshold
|
|
494
|
+
check_threshold >> [deploy, skip] >> end
|
|
495
|
+
```
|
|
496
|
+
|
|
497
|
+
---
|
|
498
|
+
|
|
499
|
+
## Prefect
|
|
500
|
+
|
|
501
|
+
### Modern Flow-Based Pipeline
|
|
502
|
+
|
|
503
|
+
```python
|
|
504
|
+
from prefect import flow, task, get_run_logger
|
|
505
|
+
from prefect.artifacts import create_markdown_artifact
|
|
506
|
+
from prefect.tasks import task_input_hash
|
|
507
|
+
from datetime import timedelta
|
|
508
|
+
import pandas as pd
|
|
509
|
+
|
|
510
|
+
@task(
|
|
511
|
+
retries=3,
|
|
512
|
+
retry_delay_seconds=60,
|
|
513
|
+
cache_key_fn=task_input_hash,
|
|
514
|
+
cache_expiration=timedelta(hours=1),
|
|
515
|
+
)
|
|
516
|
+
def load_data(data_path: str) -> pd.DataFrame:
|
|
517
|
+
"""Load data with caching."""
|
|
518
|
+
logger = get_run_logger()
|
|
519
|
+
logger.info(f"Loading data from {data_path}")
|
|
520
|
+
|
|
521
|
+
df = pd.read_parquet(data_path)
|
|
522
|
+
logger.info(f"Loaded {len(df)} rows")
|
|
523
|
+
|
|
524
|
+
return df
|
|
525
|
+
|
|
526
|
+
@task(retries=2)
|
|
527
|
+
def preprocess_data(
|
|
528
|
+
df: pd.DataFrame,
|
|
529
|
+
test_size: float = 0.2,
|
|
530
|
+
) -> tuple[pd.DataFrame, pd.DataFrame]:
|
|
531
|
+
"""Preprocess and split data."""
|
|
532
|
+
from sklearn.model_selection import train_test_split
|
|
533
|
+
from sklearn.preprocessing import StandardScaler
|
|
534
|
+
|
|
535
|
+
logger = get_run_logger()
|
|
536
|
+
|
|
537
|
+
X = df.drop("target", axis=1)
|
|
538
|
+
y = df["target"]
|
|
539
|
+
|
|
540
|
+
X_train, X_test, y_train, y_test = train_test_split(
|
|
541
|
+
X, y, test_size=test_size, random_state=42
|
|
542
|
+
)
|
|
543
|
+
|
|
544
|
+
scaler = StandardScaler()
|
|
545
|
+
X_train_scaled = scaler.fit_transform(X_train)
|
|
546
|
+
X_test_scaled = scaler.transform(X_test)
|
|
547
|
+
|
|
548
|
+
train_df = pd.DataFrame(X_train_scaled, columns=X.columns)
|
|
549
|
+
train_df["target"] = y_train.values
|
|
550
|
+
|
|
551
|
+
test_df = pd.DataFrame(X_test_scaled, columns=X.columns)
|
|
552
|
+
test_df["target"] = y_test.values
|
|
553
|
+
|
|
554
|
+
logger.info(f"Train: {len(train_df)}, Test: {len(test_df)}")
|
|
555
|
+
|
|
556
|
+
return train_df, test_df
|
|
557
|
+
|
|
558
|
+
@task
|
|
559
|
+
def train_model(
|
|
560
|
+
train_df: pd.DataFrame,
|
|
561
|
+
n_estimators: int = 100,
|
|
562
|
+
max_depth: int = 10,
|
|
563
|
+
):
|
|
564
|
+
"""Train RandomForest model."""
|
|
565
|
+
from sklearn.ensemble import RandomForestClassifier
|
|
566
|
+
|
|
567
|
+
logger = get_run_logger()
|
|
568
|
+
|
|
569
|
+
X = train_df.drop("target", axis=1)
|
|
570
|
+
y = train_df["target"]
|
|
571
|
+
|
|
572
|
+
model = RandomForestClassifier(
|
|
573
|
+
n_estimators=n_estimators,
|
|
574
|
+
max_depth=max_depth,
|
|
575
|
+
random_state=42,
|
|
576
|
+
n_jobs=-1,
|
|
577
|
+
)
|
|
578
|
+
|
|
579
|
+
logger.info("Training model...")
|
|
580
|
+
model.fit(X, y)
|
|
581
|
+
logger.info("Training complete")
|
|
582
|
+
|
|
583
|
+
return model
|
|
584
|
+
|
|
585
|
+
@task
|
|
586
|
+
def evaluate_model(model, test_df: pd.DataFrame) -> dict:
|
|
587
|
+
"""Evaluate model and create artifact."""
|
|
588
|
+
from sklearn.metrics import (
|
|
589
|
+
accuracy_score, precision_score, recall_score,
|
|
590
|
+
f1_score, classification_report
|
|
591
|
+
)
|
|
592
|
+
|
|
593
|
+
logger = get_run_logger()
|
|
594
|
+
|
|
595
|
+
X = test_df.drop("target", axis=1)
|
|
596
|
+
y = test_df["target"]
|
|
597
|
+
|
|
598
|
+
predictions = model.predict(X)
|
|
599
|
+
|
|
600
|
+
metrics = {
|
|
601
|
+
"accuracy": accuracy_score(y, predictions),
|
|
602
|
+
"precision": precision_score(y, predictions, average="weighted"),
|
|
603
|
+
"recall": recall_score(y, predictions, average="weighted"),
|
|
604
|
+
"f1_score": f1_score(y, predictions, average="weighted"),
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
logger.info(f"Metrics: {metrics}")
|
|
608
|
+
|
|
609
|
+
# Create markdown artifact for Prefect UI
|
|
610
|
+
report = classification_report(y, predictions)
|
|
611
|
+
markdown = f"""
|
|
612
|
+
# Model Evaluation Report
|
|
613
|
+
|
|
614
|
+
## Metrics
|
|
615
|
+
| Metric | Value |
|
|
616
|
+
|--------|-------|
|
|
617
|
+
| Accuracy | {metrics['accuracy']:.4f} |
|
|
618
|
+
| Precision | {metrics['precision']:.4f} |
|
|
619
|
+
| Recall | {metrics['recall']:.4f} |
|
|
620
|
+
| F1 Score | {metrics['f1_score']:.4f} |
|
|
621
|
+
|
|
622
|
+
## Classification Report
|
|
623
|
+
```
|
|
624
|
+
{report}
|
|
625
|
+
```
|
|
626
|
+
"""
|
|
627
|
+
create_markdown_artifact(
|
|
628
|
+
key="model-evaluation",
|
|
629
|
+
markdown=markdown,
|
|
630
|
+
description="Model evaluation metrics",
|
|
631
|
+
)
|
|
632
|
+
|
|
633
|
+
return metrics
|
|
634
|
+
|
|
635
|
+
@task
|
|
636
|
+
def deploy_model(model, metrics: dict, threshold: float) -> bool:
|
|
637
|
+
"""Deploy model if metrics pass threshold."""
|
|
638
|
+
import joblib
|
|
639
|
+
from datetime import datetime
|
|
640
|
+
|
|
641
|
+
logger = get_run_logger()
|
|
642
|
+
|
|
643
|
+
if metrics["accuracy"] < threshold:
|
|
644
|
+
logger.warning(
|
|
645
|
+
f"Model accuracy {metrics['accuracy']:.4f} below threshold {threshold}"
|
|
646
|
+
)
|
|
647
|
+
return False
|
|
648
|
+
|
|
649
|
+
# Save model
|
|
650
|
+
model_path = f"/models/model_{datetime.utcnow().strftime('%Y%m%d_%H%M%S')}.joblib"
|
|
651
|
+
joblib.dump(model, model_path)
|
|
652
|
+
logger.info(f"Model deployed to {model_path}")
|
|
653
|
+
|
|
654
|
+
return True
|
|
655
|
+
|
|
656
|
+
@flow(
|
|
657
|
+
name="ml-training-pipeline",
|
|
658
|
+
description="End-to-end ML training pipeline",
|
|
659
|
+
retries=1,
|
|
660
|
+
retry_delay_seconds=300,
|
|
661
|
+
)
|
|
662
|
+
def ml_training_flow(
|
|
663
|
+
data_path: str,
|
|
664
|
+
n_estimators: int = 100,
|
|
665
|
+
max_depth: int = 10,
|
|
666
|
+
accuracy_threshold: float = 0.8,
|
|
667
|
+
) -> dict:
|
|
668
|
+
"""Main ML training flow."""
|
|
669
|
+
logger = get_run_logger()
|
|
670
|
+
logger.info("Starting ML training pipeline")
|
|
671
|
+
|
|
672
|
+
# Load and preprocess
|
|
673
|
+
df = load_data(data_path)
|
|
674
|
+
train_df, test_df = preprocess_data(df)
|
|
675
|
+
|
|
676
|
+
# Train and evaluate
|
|
677
|
+
model = train_model(train_df, n_estimators, max_depth)
|
|
678
|
+
metrics = evaluate_model(model, test_df)
|
|
679
|
+
|
|
680
|
+
# Deploy if threshold met
|
|
681
|
+
deployed = deploy_model(model, metrics, accuracy_threshold)
|
|
682
|
+
|
|
683
|
+
return {
|
|
684
|
+
"metrics": metrics,
|
|
685
|
+
"deployed": deployed,
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
# Deployment configuration
|
|
689
|
+
if __name__ == "__main__":
|
|
690
|
+
from prefect.deployments import Deployment
|
|
691
|
+
from prefect.server.schemas.schedules import CronSchedule
|
|
692
|
+
|
|
693
|
+
deployment = Deployment.build_from_flow(
|
|
694
|
+
flow=ml_training_flow,
|
|
695
|
+
name="daily-training",
|
|
696
|
+
schedule=CronSchedule(cron="0 2 * * *"),
|
|
697
|
+
parameters={
|
|
698
|
+
"data_path": "s3://data/training.parquet",
|
|
699
|
+
"n_estimators": 100,
|
|
700
|
+
"max_depth": 10,
|
|
701
|
+
"accuracy_threshold": 0.8,
|
|
702
|
+
},
|
|
703
|
+
tags=["ml", "production"],
|
|
704
|
+
work_queue_name="ml-queue",
|
|
705
|
+
)
|
|
706
|
+
|
|
707
|
+
deployment.apply()
|
|
708
|
+
```
|
|
709
|
+
|
|
710
|
+
---
|
|
711
|
+
|
|
712
|
+
## DAG Design Patterns
|
|
713
|
+
|
|
714
|
+
### Parallel Processing Pattern
|
|
715
|
+
|
|
716
|
+
```python
|
|
717
|
+
from prefect import flow, task, unmapped
|
|
718
|
+
from typing import List
|
|
719
|
+
|
|
720
|
+
@task
|
|
721
|
+
def process_partition(partition_id: int, data_path: str) -> dict:
|
|
722
|
+
"""Process single data partition."""
|
|
723
|
+
# Process partition
|
|
724
|
+
return {"partition_id": partition_id, "records_processed": 1000}
|
|
725
|
+
|
|
726
|
+
@task
|
|
727
|
+
def aggregate_results(results: List[dict]) -> dict:
|
|
728
|
+
"""Aggregate parallel processing results."""
|
|
729
|
+
total_records = sum(r["records_processed"] for r in results)
|
|
730
|
+
return {"total_records": total_records}
|
|
731
|
+
|
|
732
|
+
@flow
|
|
733
|
+
def parallel_processing_flow(data_path: str, num_partitions: int = 4):
|
|
734
|
+
"""Process data in parallel partitions."""
|
|
735
|
+
|
|
736
|
+
# Map over partitions
|
|
737
|
+
partition_results = process_partition.map(
|
|
738
|
+
partition_id=range(num_partitions),
|
|
739
|
+
data_path=unmapped(data_path),
|
|
740
|
+
)
|
|
741
|
+
|
|
742
|
+
# Aggregate results
|
|
743
|
+
final_result = aggregate_results(partition_results)
|
|
744
|
+
|
|
745
|
+
return final_result
|
|
746
|
+
```
|
|
747
|
+
|
|
748
|
+
### Conditional Branching Pattern
|
|
749
|
+
|
|
750
|
+
```python
|
|
751
|
+
from prefect import flow, task
|
|
752
|
+
|
|
753
|
+
@task
|
|
754
|
+
def check_data_quality(df) -> bool:
|
|
755
|
+
"""Check if data meets quality standards."""
|
|
756
|
+
null_ratio = df.isnull().sum().sum() / df.size
|
|
757
|
+
return null_ratio < 0.1
|
|
758
|
+
|
|
759
|
+
@task
|
|
760
|
+
def handle_poor_quality(df):
|
|
761
|
+
"""Handle data that fails quality checks."""
|
|
762
|
+
# Impute, clean, or alert
|
|
763
|
+
pass
|
|
764
|
+
|
|
765
|
+
@task
|
|
766
|
+
def process_good_quality(df):
|
|
767
|
+
"""Process data that passes quality checks."""
|
|
768
|
+
pass
|
|
769
|
+
|
|
770
|
+
@flow
|
|
771
|
+
def conditional_flow(data_path: str):
|
|
772
|
+
"""Flow with conditional branching."""
|
|
773
|
+
df = load_data(data_path)
|
|
774
|
+
quality_ok = check_data_quality(df)
|
|
775
|
+
|
|
776
|
+
if quality_ok:
|
|
777
|
+
result = process_good_quality(df)
|
|
778
|
+
else:
|
|
779
|
+
result = handle_poor_quality(df)
|
|
780
|
+
|
|
781
|
+
return result
|
|
782
|
+
```
|
|
783
|
+
|
|
784
|
+
### Error Handling Pattern
|
|
785
|
+
|
|
786
|
+
```python
|
|
787
|
+
from prefect import flow, task
|
|
788
|
+
from prefect.states import Failed
|
|
789
|
+
|
|
790
|
+
@task
|
|
791
|
+
def risky_operation():
|
|
792
|
+
"""Operation that might fail."""
|
|
793
|
+
import random
|
|
794
|
+
if random.random() < 0.3:
|
|
795
|
+
raise ValueError("Random failure")
|
|
796
|
+
return "success"
|
|
797
|
+
|
|
798
|
+
@task
|
|
799
|
+
def fallback_operation():
|
|
800
|
+
"""Fallback when primary fails."""
|
|
801
|
+
return "fallback_result"
|
|
802
|
+
|
|
803
|
+
@task
|
|
804
|
+
def send_alert(error: Exception):
|
|
805
|
+
"""Send alert on failure."""
|
|
806
|
+
# Send to Slack, PagerDuty, etc.
|
|
807
|
+
pass
|
|
808
|
+
|
|
809
|
+
@flow
|
|
810
|
+
def resilient_flow():
|
|
811
|
+
"""Flow with error handling."""
|
|
812
|
+
try:
|
|
813
|
+
result = risky_operation()
|
|
814
|
+
except Exception as e:
|
|
815
|
+
send_alert(e)
|
|
816
|
+
result = fallback_operation()
|
|
817
|
+
|
|
818
|
+
return result
|
|
819
|
+
```
|
|
820
|
+
|
|
821
|
+
---
|
|
822
|
+
|
|
823
|
+
## Best Practices
|
|
824
|
+
|
|
825
|
+
### Pipeline Configuration
|
|
826
|
+
|
|
827
|
+
```yaml
|
|
828
|
+
# pipeline_config.yaml
|
|
829
|
+
pipeline:
|
|
830
|
+
name: ml-training
|
|
831
|
+
version: "1.0.0"
|
|
832
|
+
description: "Production ML training pipeline"
|
|
833
|
+
|
|
834
|
+
stages:
|
|
835
|
+
- name: load_data
|
|
836
|
+
timeout: 300
|
|
837
|
+
retries: 3
|
|
838
|
+
|
|
839
|
+
- name: preprocess
|
|
840
|
+
timeout: 600
|
|
841
|
+
retries: 2
|
|
842
|
+
depends_on: [load_data]
|
|
843
|
+
|
|
844
|
+
- name: train
|
|
845
|
+
timeout: 3600
|
|
846
|
+
retries: 1
|
|
847
|
+
depends_on: [preprocess]
|
|
848
|
+
resources:
|
|
849
|
+
cpu: 4
|
|
850
|
+
memory: 16Gi
|
|
851
|
+
gpu: 1
|
|
852
|
+
|
|
853
|
+
- name: evaluate
|
|
854
|
+
timeout: 300
|
|
855
|
+
depends_on: [train]
|
|
856
|
+
|
|
857
|
+
- name: deploy
|
|
858
|
+
timeout: 300
|
|
859
|
+
depends_on: [evaluate]
|
|
860
|
+
condition: "evaluate.metrics.accuracy >= 0.8"
|
|
861
|
+
|
|
862
|
+
schedule:
|
|
863
|
+
cron: "0 2 * * *"
|
|
864
|
+
timezone: "UTC"
|
|
865
|
+
|
|
866
|
+
notifications:
|
|
867
|
+
on_failure:
|
|
868
|
+
- slack: "#ml-alerts"
|
|
869
|
+
- email: ml-team@company.com
|
|
870
|
+
on_success:
|
|
871
|
+
- slack: "#ml-notifications"
|
|
872
|
+
```
|
|
873
|
+
|
|
874
|
+
### Idempotency Guidelines
|
|
875
|
+
|
|
876
|
+
```python
|
|
877
|
+
# Good: Idempotent operations
|
|
878
|
+
def process_data(run_id: str, data_path: str):
|
|
879
|
+
"""Idempotent data processing."""
|
|
880
|
+
output_path = f"s3://processed/{run_id}/data.parquet"
|
|
881
|
+
|
|
882
|
+
# Check if already processed
|
|
883
|
+
if file_exists(output_path):
|
|
884
|
+
return output_path
|
|
885
|
+
|
|
886
|
+
# Process and save
|
|
887
|
+
df = pd.read_parquet(data_path)
|
|
888
|
+
processed = transform(df)
|
|
889
|
+
processed.to_parquet(output_path)
|
|
890
|
+
|
|
891
|
+
return output_path
|
|
892
|
+
```
|
|
893
|
+
|
|
894
|
+
---
|
|
895
|
+
|
|
896
|
+
## Related References
|
|
897
|
+
|
|
898
|
+
- `training-pipelines.md` - Training components for pipelines
|
|
899
|
+
- `experiment-tracking.md` - Logging pipeline runs
|
|
900
|
+
- `feature-engineering.md` - Feature pipeline components
|
|
901
|
+
- `model-validation.md` - Validation stages in pipelines
|
|
902
|
+
|
|
903
|
+
## Cross-Reference Skills
|
|
904
|
+
|
|
905
|
+
- **DevOps Engineer** - CI/CD for pipeline deployment
|
|
906
|
+
- **Kubernetes Specialist** - Running pipelines on K8s
|
|
907
|
+
- **Cloud Architect** - Cloud infrastructure for orchestration
|