claude-code-arcane 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +100 -0
- package/LICENSE +26 -0
- package/README.md +372 -0
- package/agents/ai/ai-architect.md +80 -0
- package/agents/ai/data-engineer.md +66 -0
- package/agents/ai/data-scientist.md +58 -0
- package/agents/ai/ml-engineer.md +61 -0
- package/agents/business/business-ops-lead.md +64 -0
- package/agents/business/financial-analyst.md +62 -0
- package/agents/business/sales-engineer.md +74 -0
- package/agents/clevel/ceo-advisor.md +64 -0
- package/agents/clevel/cfo-advisor.md +63 -0
- package/agents/clevel/chief-of-staff.md +60 -0
- package/agents/clevel/cmo-advisor.md +67 -0
- package/agents/clevel/coo-advisor.md +79 -0
- package/agents/clevel/cto-advisor.md +72 -0
- package/agents/devops/cloud-architect.md +52 -0
- package/agents/devops/platform-lead.md +72 -0
- package/agents/devops/sre-lead.md +100 -0
- package/agents/engineering/android-engineer.md +78 -0
- package/agents/engineering/backend-architect.md +127 -0
- package/agents/engineering/database-architect.md +138 -0
- package/agents/engineering/flutter-engineer.md +75 -0
- package/agents/engineering/frontend-architect.md +138 -0
- package/agents/engineering/go-engineer.md +102 -0
- package/agents/engineering/ios-engineer.md +76 -0
- package/agents/engineering/node-engineer.md +107 -0
- package/agents/engineering/react-engineer.md +109 -0
- package/agents/engineering/react-native-engineer.md +112 -0
- package/agents/engineering/sql-specialist.md +106 -0
- package/agents/game/accessibility-specialist.md +150 -0
- package/agents/game/ai-programmer.md +95 -0
- package/agents/game/analytics-engineer.md +101 -0
- package/agents/game/art-director.md +64 -0
- package/agents/game/economy-designer.md +143 -0
- package/agents/game/game-designer.md +70 -0
- package/agents/game/gameplay-programmer.md +133 -0
- package/agents/game/lead-programmer.md +62 -0
- package/agents/game/level-designer.md +115 -0
- package/agents/game/live-ops-designer.md +184 -0
- package/agents/game/narrative-director.md +60 -0
- package/agents/game/network-programmer.md +98 -0
- package/agents/game/performance-analyst.md +112 -0
- package/agents/game/qa-lead.md +65 -0
- package/agents/game/qa-tester-gamedev.md +230 -0
- package/agents/game/release-manager.md +65 -0
- package/agents/game/sound-designer.md +85 -0
- package/agents/game/systems-designer.md +157 -0
- package/agents/game/technical-artist.md +108 -0
- package/agents/game/technical-director.md +74 -0
- package/agents/game/ue-replication-specialist.md +143 -0
- package/agents/game/unity-shader-specialist.md +178 -0
- package/agents/game/unity-specialist.md +184 -0
- package/agents/game/unreal-specialist.md +172 -0
- package/agents/game/ux-designer.md +112 -0
- package/agents/game/world-builder.md +111 -0
- package/agents/game/writer.md +104 -0
- package/agents/integrations/api-tools-specialist.md +209 -0
- package/agents/integrations/comms-tools-specialist.md +159 -0
- package/agents/integrations/design-tools-specialist.md +129 -0
- package/agents/integrations/docs-tools-specialist.md +116 -0
- package/agents/integrations/integrations-architect.md +144 -0
- package/agents/integrations/project-tools-specialist.md +129 -0
- package/agents/management/delivery-manager.md +105 -0
- package/agents/management/program-director.md +55 -0
- package/agents/management/project-manager.md +126 -0
- package/agents/management/scrum-master.md +96 -0
- package/agents/marketing/content-lead.md +74 -0
- package/agents/marketing/growth-lead.md +72 -0
- package/agents/marketing/marketing-analyst.md +89 -0
- package/agents/marketing/marketing-director.md +75 -0
- package/agents/marketing/seo-lead.md +80 -0
- package/agents/product/chief-product-officer.md +79 -0
- package/agents/product/design-system-lead.md +76 -0
- package/agents/product/product-manager.md +132 -0
- package/agents/product/ui-lead.md +73 -0
- package/agents/product/ux-lead.md +103 -0
- package/agents/quality/qa-director.md +121 -0
- package/agents/quality/qa-engineer.md +92 -0
- package/agents/quality/security-architect.md +144 -0
- package/agents/regulatory/compliance-officer.md +88 -0
- package/agents/regulatory/quality-manager.md +90 -0
- package/agents/regulatory/regulatory-director.md +92 -0
- package/agents/visualnovel/vn-comfyui-artist.md +91 -0
- package/agents/visualnovel/vn-narrative-director.md +86 -0
- package/agents/visualnovel/vn-producer.md +108 -0
- package/agents/visualnovel/vn-renpy-developer.md +118 -0
- package/agents/visualnovel/vn-scene-director.md +98 -0
- package/agents/visualnovel/vn-ui-designer.md +97 -0
- package/dist/cli.js +2352 -0
- package/docs/SKILLS-CATALOG.md +457 -0
- package/docs/USER-GUIDE.md +543 -0
- package/docs/agent-hierarchy.md +133 -0
- package/docs/coding-standards.md +135 -0
- package/docs/collaborative-design.md +439 -0
- package/docs/context-management.md +200 -0
- package/docs/coordination-rules.md +164 -0
- package/docs/directory-structure.md +156 -0
- package/docs/division-structure.md +135 -0
- package/docs/gamedev/coding-standards.md +184 -0
- package/docs/gates/README.md +169 -0
- package/docs/gates/gamedev-gates.md +509 -0
- package/docs/gates/software-gates.md +449 -0
- package/docs/software/coding-standards.md +165 -0
- package/docs/technical-preferences.md +61 -0
- package/docs/templates/accessibility-requirements.md +331 -0
- package/docs/templates/architecture-decision-record.md +177 -0
- package/docs/templates/architecture-doc-from-code.md +266 -0
- package/docs/templates/architecture-traceability.md +101 -0
- package/docs/templates/changelog-template.md +62 -0
- package/docs/templates/collaborative-protocols/design-agent-protocol.md +157 -0
- package/docs/templates/collaborative-protocols/implementation-agent-protocol.md +160 -0
- package/docs/templates/collaborative-protocols/leadership-agent-protocol.md +181 -0
- package/docs/templates/design-doc-from-implementation.md +204 -0
- package/docs/templates/incident-response.md +135 -0
- package/docs/templates/interaction-pattern-library.md +1089 -0
- package/docs/templates/milestone-definition.md +79 -0
- package/docs/templates/post-mortem.md +69 -0
- package/docs/templates/prd.md +222 -0
- package/docs/templates/project-stage-report.md +218 -0
- package/docs/templates/release-checklist-template.md +125 -0
- package/docs/templates/release-notes.md +103 -0
- package/docs/templates/rfc.md +256 -0
- package/docs/templates/risk-register-entry.md +58 -0
- package/docs/templates/skill-test-spec.md +96 -0
- package/docs/templates/sprint-plan.md +75 -0
- package/docs/templates/technical-design-document.md +98 -0
- package/docs/templates/test-evidence.md +86 -0
- package/docs/templates/test-plan.md +151 -0
- package/docs/templates/ux-spec.md +544 -0
- package/hooks/check-update.sh +82 -0
- package/hooks/detect-division.sh +28 -0
- package/hooks/detect-gaps.sh +230 -0
- package/hooks/log-agent-stop.sh +7 -0
- package/hooks/log-agent.sh +7 -0
- package/hooks/notify.sh +7 -0
- package/hooks/post-compact.sh +7 -0
- package/hooks/pre-compact.sh +7 -0
- package/hooks/session-start.sh +78 -0
- package/hooks/session-stop.sh +7 -0
- package/hooks/statusline.sh +98 -0
- package/hooks/validate-assets.sh +10 -0
- package/hooks/validate-commit.sh +24 -0
- package/hooks/validate-push.sh +21 -0
- package/hooks/validate-secrets.sh +23 -0
- package/hooks/validate-skill-change.sh +19 -0
- package/package.json +63 -0
- package/profiles/agile.yaml +60 -0
- package/profiles/ai.yaml +27 -0
- package/profiles/android-native.yaml +36 -0
- package/profiles/backend-go.yaml +56 -0
- package/profiles/backend-ts.yaml +59 -0
- package/profiles/business.yaml +24 -0
- package/profiles/clevel.yaml +48 -0
- package/profiles/clickup.yaml +21 -0
- package/profiles/core.yaml +83 -0
- package/profiles/database.yaml +28 -0
- package/profiles/design.yaml +30 -0
- package/profiles/docs.yaml +31 -0
- package/profiles/finance.yaml +23 -0
- package/profiles/flutter.yaml +37 -0
- package/profiles/frontend.yaml +39 -0
- package/profiles/infra.yaml +47 -0
- package/profiles/integrations.yaml +23 -0
- package/profiles/ios-native.yaml +37 -0
- package/profiles/jira.yaml +21 -0
- package/profiles/marketing.yaml +64 -0
- package/profiles/mobile.yaml +39 -0
- package/profiles/regulatory.yaml +33 -0
- package/profiles/security.yaml +30 -0
- package/profiles/self-improving.yaml +22 -0
- package/profiles/statusline.yaml +21 -0
- package/profiles/testing.yaml +32 -0
- package/profiles/unity-design.yaml +37 -0
- package/profiles/unity-dev.yaml +44 -0
- package/profiles/visual-novel.yaml +54 -0
- package/rules/ai-code.md +60 -0
- package/rules/api-code.md +41 -0
- package/rules/backend-code.md +35 -0
- package/rules/data-files.md +58 -0
- package/rules/frontend-code.md +35 -0
- package/rules/gamedev/ai-code.md +15 -0
- package/rules/gamedev/design-docs.md +18 -0
- package/rules/gamedev/engine-code.md +41 -0
- package/rules/gamedev/gameplay-code.md +31 -0
- package/rules/gamedev/narrative.md +15 -0
- package/rules/gamedev/network-code.md +15 -0
- package/rules/gamedev/shader-code.md +43 -0
- package/rules/gamedev/ui-code.md +15 -0
- package/rules/gamedev/vn-code.md +37 -0
- package/rules/implementation-workflow.md +48 -0
- package/rules/infra-code.md +47 -0
- package/rules/migration-code.md +41 -0
- package/rules/prototype-code.md +40 -0
- package/rules/test-standards.md +55 -0
- package/skills/ab-test-setup/SKILL.md +99 -0
- package/skills/ab-test-setup/references/sample-size-guide.md +252 -0
- package/skills/ab-test-setup/references/test-templates.md +268 -0
- package/skills/ab-test-setup/scripts/sample_size_calculator.py +337 -0
- package/skills/accessibility/SKILL.md +32 -0
- package/skills/accessibility/references/anti-patterns.md +9 -0
- package/skills/accessibility/references/component-requirements.md +15 -0
- package/skills/accessibility/references/focus-forms-testing.md +31 -0
- package/skills/accessibility/references/wcag-criteria.md +17 -0
- package/skills/ad-creative/SKILL.md +85 -0
- package/skills/ad-creative/references/creative-frameworks.md +253 -0
- package/skills/ad-creative/references/platform-specs.md +170 -0
- package/skills/ad-creative/scripts/ad_copy_validator.py +490 -0
- package/skills/agent-designer/README.md +430 -0
- package/skills/agent-designer/SKILL.md +64 -0
- package/skills/agent-designer/agent_evaluator.py +1223 -0
- package/skills/agent-designer/agent_planner.py +911 -0
- package/skills/agent-designer/assets/sample_execution_logs.json +543 -0
- package/skills/agent-designer/assets/sample_system_requirements.json +57 -0
- package/skills/agent-designer/assets/sample_tool_descriptions.json +545 -0
- package/skills/agent-designer/expected_outputs/sample_agent_architecture.json +488 -0
- package/skills/agent-designer/expected_outputs/sample_evaluation_report.json +570 -0
- package/skills/agent-designer/expected_outputs/sample_tool_schemas.json +416 -0
- package/skills/agent-designer/references/agent_architecture_patterns.md +445 -0
- package/skills/agent-designer/references/evaluation_methodology.md +749 -0
- package/skills/agent-designer/references/tool_design_best_practices.md +470 -0
- package/skills/agent-designer/tool_schema_generator.py +978 -0
- package/skills/agent-protocol/SKILL.md +102 -0
- package/skills/agent-protocol/references/communication-standard.md +115 -0
- package/skills/agent-protocol/references/invocation-patterns.md +247 -0
- package/skills/agent-protocol/references/quality-loop.md +123 -0
- package/skills/agent-workflow-designer/SKILL.md +59 -0
- package/skills/agent-workflow-designer/references/workflow-patterns.md +82 -0
- package/skills/agent-workflow-designer/scripts/workflow_scaffolder.py +113 -0
- package/skills/ai-security/SKILL.md +113 -0
- package/skills/ai-security/references/atlas-coverage.md +150 -0
- package/skills/ai-security/scripts/ai_threat_scanner.py +564 -0
- package/skills/ai-seo/SKILL.md +172 -0
- package/skills/ai-seo/references/ai-search-landscape.md +191 -0
- package/skills/ai-seo/references/content-patterns.md +276 -0
- package/skills/ai-seo/references/monitoring-guide.md +208 -0
- package/skills/ai-seo/references/optimization-playbook.md +58 -0
- package/skills/analytics-tracking/SKILL.md +105 -0
- package/skills/analytics-tracking/references/debugging-playbook.md +224 -0
- package/skills/analytics-tracking/references/event-taxonomy-guide.md +203 -0
- package/skills/analytics-tracking/references/gtm-patterns.md +298 -0
- package/skills/analytics-tracking/scripts/tracking_plan_generator.py +386 -0
- package/skills/android-native-dev/SKILL.md +878 -0
- package/skills/android-native-dev/references/accessibility.md +209 -0
- package/skills/android-native-dev/references/adaptive-screens.md +231 -0
- package/skills/android-native-dev/references/design-style-guide.md +365 -0
- package/skills/android-native-dev/references/functional-requirements.md +229 -0
- package/skills/android-native-dev/references/motion-system.md +203 -0
- package/skills/android-native-dev/references/performance-stability.md +223 -0
- package/skills/android-native-dev/references/privacy-security.md +244 -0
- package/skills/android-native-dev/references/testing.md +554 -0
- package/skills/android-native-dev/references/visual-design.md +246 -0
- package/skills/api-design/SKILL.md +88 -0
- package/skills/api-design/references/anti-patterns.md +14 -0
- package/skills/api-design/references/versioning-deprecation.md +23 -0
- package/skills/api-docs/SKILL.md +101 -0
- package/skills/api-versioning/SKILL.md +51 -0
- package/skills/api-versioning/references/anti-patterns-and-checklist.md +27 -0
- package/skills/api-versioning/references/implementation-by-framework.md +31 -0
- package/skills/app-store-optimization/HOW_TO_USE.md +281 -0
- package/skills/app-store-optimization/SKILL.md +150 -0
- package/skills/app-store-optimization/assets/aso-audit-template.md +268 -0
- package/skills/app-store-optimization/expected_output.json +170 -0
- package/skills/app-store-optimization/references/ab-testing-guide.md +72 -0
- package/skills/app-store-optimization/references/aso-best-practices.md +403 -0
- package/skills/app-store-optimization/references/before-after-examples.md +73 -0
- package/skills/app-store-optimization/references/keyword-research-guide.md +419 -0
- package/skills/app-store-optimization/references/metadata-optimization.md +65 -0
- package/skills/app-store-optimization/references/platform-requirements.md +324 -0
- package/skills/app-store-optimization/sample_input.json +30 -0
- package/skills/app-store-optimization/scripts/ab_test_planner.py +662 -0
- package/skills/app-store-optimization/scripts/aso_scorer.py +482 -0
- package/skills/app-store-optimization/scripts/competitor_analyzer.py +577 -0
- package/skills/app-store-optimization/scripts/keyword_analyzer.py +406 -0
- package/skills/app-store-optimization/scripts/launch_checklist.py +739 -0
- package/skills/app-store-optimization/scripts/localization_helper.py +588 -0
- package/skills/app-store-optimization/scripts/metadata_optimizer.py +581 -0
- package/skills/app-store-optimization/scripts/review_analyzer.py +714 -0
- package/skills/arcane-add/SKILL.md +47 -0
- package/skills/arcane-clean/SKILL.md +45 -0
- package/skills/arcane-list/SKILL.md +46 -0
- package/skills/arcane-remove/SKILL.md +68 -0
- package/skills/arcane-status/SKILL.md +42 -0
- package/skills/architecture-decision/SKILL.md +75 -0
- package/skills/architecture-decision/templates/adr.md +101 -0
- package/skills/architecture-review/SKILL.md +90 -0
- package/skills/art-bible/SKILL.md +88 -0
- package/skills/art-bible/references/anti-patterns.md +8 -0
- package/skills/art-bible/references/checklist.md +17 -0
- package/skills/asset-audit/SKILL.md +95 -0
- package/skills/asset-spec/SKILL.md +72 -0
- package/skills/asset-spec/references/anti-patterns-checklist.md +19 -0
- package/skills/asset-spec/references/spec-output-format.md +34 -0
- package/skills/async-ops/SKILL.md +59 -0
- package/skills/async-ops/references/anti-patterns.md +16 -0
- package/skills/async-ops/references/checklist.md +10 -0
- package/skills/async-ops/references/job-scheduling.md +37 -0
- package/skills/async-ops/references/outbound-webhooks.md +19 -0
- package/skills/atlassian-admin/SKILL.md +121 -0
- package/skills/atlassian-admin/assets/permission_scheme_template.json +173 -0
- package/skills/atlassian-admin/references/security-hardening-guide.md +214 -0
- package/skills/atlassian-admin/references/user-provisioning-checklist.md +177 -0
- package/skills/atlassian-admin/scripts/permission_audit_tool.py +469 -0
- package/skills/atlassian-templates/SKILL.md +128 -0
- package/skills/atlassian-templates/references/governance-framework.md +234 -0
- package/skills/atlassian-templates/references/template-design-patterns.md +252 -0
- package/skills/atlassian-templates/scripts/template_scaffolder.py +418 -0
- package/skills/audit-dev/SKILL.md +43 -0
- package/skills/audit-game/SKILL.md +54 -0
- package/skills/audit-game/references/cross-reference-criteria.md +42 -0
- package/skills/audit-game/references/output-template.md +48 -0
- package/skills/audit-log/SKILL.md +75 -0
- package/skills/auth-strategy/SKILL.md +120 -0
- package/skills/auth-strategy/references/anti-patterns.md +21 -0
- package/skills/aws-solution-architect/SKILL.md +125 -0
- package/skills/aws-solution-architect/assets/expected_output.json +55 -0
- package/skills/aws-solution-architect/assets/sample_input.json +18 -0
- package/skills/aws-solution-architect/references/architecture_patterns.md +535 -0
- package/skills/aws-solution-architect/references/best_practices.md +631 -0
- package/skills/aws-solution-architect/references/service_selection.md +484 -0
- package/skills/aws-solution-architect/scripts/architecture_designer.py +808 -0
- package/skills/aws-solution-architect/scripts/cost_optimizer.py +346 -0
- package/skills/aws-solution-architect/scripts/serverless_stack.py +663 -0
- package/skills/azure-cloud-architect/SKILL.md +128 -0
- package/skills/azure-cloud-architect/references/architecture_patterns.md +413 -0
- package/skills/azure-cloud-architect/references/best_practices.md +337 -0
- package/skills/azure-cloud-architect/references/service_selection.md +250 -0
- package/skills/azure-cloud-architect/scripts/architecture_designer.py +592 -0
- package/skills/azure-cloud-architect/scripts/bicep_generator.py +775 -0
- package/skills/azure-cloud-architect/scripts/cost_optimizer.py +492 -0
- package/skills/backup-strategy/SKILL.md +101 -0
- package/skills/balance-check/SKILL.md +119 -0
- package/skills/board-deck-builder/SKILL.md +64 -0
- package/skills/board-deck-builder/references/deck-frameworks.md +184 -0
- package/skills/board-deck-builder/templates/board-deck-template.md +210 -0
- package/skills/board-meeting/SKILL.md +58 -0
- package/skills/board-meeting/references/meeting-facilitation.md +167 -0
- package/skills/board-meeting/templates/meeting-agenda.md +81 -0
- package/skills/board-meeting/templates/meeting-minutes.md +91 -0
- package/skills/brainstorm/SKILL.md +94 -0
- package/skills/brainstorm/references/next-steps-pipeline.md +13 -0
- package/skills/brainstorm/references/review-mode-gates.md +13 -0
- package/skills/brand-guidelines/SKILL.md +91 -0
- package/skills/brand-guidelines/references/brand-identity-and-framework.md +262 -0
- package/skills/bug-report/SKILL.md +53 -0
- package/skills/bug-triage/SKILL.md +74 -0
- package/skills/business-investment-advisor/SKILL.md +83 -0
- package/skills/business-investment-advisor/references/analysis-frameworks.md +113 -0
- package/skills/caching-strategy/SKILL.md +81 -0
- package/skills/caching-strategy/references/http-headers.md +9 -0
- package/skills/caching-strategy/references/patterns-and-invalidation.md +25 -0
- package/skills/caching-strategy/references/redis-and-client.md +13 -0
- package/skills/caching-strategy/references/ttl-defaults.md +11 -0
- package/skills/campaign-analytics/SKILL.md +93 -0
- package/skills/campaign-analytics/assets/ab_test_template.md +130 -0
- package/skills/campaign-analytics/assets/campaign_report_template.md +141 -0
- package/skills/campaign-analytics/assets/channel_comparison_template.md +158 -0
- package/skills/campaign-analytics/assets/expected_output.json +110 -0
- package/skills/campaign-analytics/assets/sample_campaign_data.json +151 -0
- package/skills/campaign-analytics/references/attribution-models-guide.md +285 -0
- package/skills/campaign-analytics/references/campaign-metrics-benchmarks.md +259 -0
- package/skills/campaign-analytics/references/funnel-optimization-framework.md +302 -0
- package/skills/campaign-analytics/scripts/attribution_analyzer.py +347 -0
- package/skills/campaign-analytics/scripts/campaign_roi_calculator.py +459 -0
- package/skills/campaign-analytics/scripts/funnel_analyzer.py +305 -0
- package/skills/capa-officer/SKILL.md +125 -0
- package/skills/capa-officer/references/effectiveness-verification-guide.md +462 -0
- package/skills/capa-officer/references/rca-methodologies.md +455 -0
- package/skills/capa-officer/scripts/capa_tracker.py +638 -0
- package/skills/capa-officer/scripts/root_cause_analyzer.py +486 -0
- package/skills/cdn-setup/SKILL.md +33 -0
- package/skills/cdn-setup/references/cache-strategy-and-invalidation.md +30 -0
- package/skills/cdn-setup/references/security-and-anti-patterns.md +26 -0
- package/skills/ceo-advisor/SKILL.md +110 -0
- package/skills/ceo-advisor/references/board_governance_investor_relations.md +599 -0
- package/skills/ceo-advisor/references/executive_decision_framework.md +475 -0
- package/skills/ceo-advisor/references/leadership_organizational_culture.md +682 -0
- package/skills/ceo-advisor/scripts/financial_scenario_analyzer.py +451 -0
- package/skills/ceo-advisor/scripts/strategy_analyzer.py +609 -0
- package/skills/cfo-advisor/SKILL.md +81 -0
- package/skills/cfo-advisor/references/cash_management.md +374 -0
- package/skills/cfo-advisor/references/financial_planning.md +500 -0
- package/skills/cfo-advisor/references/fundraising_playbook.md +419 -0
- package/skills/cfo-advisor/scripts/burn_rate_calculator.py +402 -0
- package/skills/cfo-advisor/scripts/fundraising_model.py +490 -0
- package/skills/cfo-advisor/scripts/unit_economics_analyzer.py +529 -0
- package/skills/change-management/SKILL.md +53 -0
- package/skills/change-management/references/adkar-details.md +110 -0
- package/skills/change-management/references/change-playbook.md +308 -0
- package/skills/changelog/SKILL.md +111 -0
- package/skills/check/SKILL.md +22 -0
- package/skills/chief-of-staff/SKILL.md +70 -0
- package/skills/chief-of-staff/references/routing-matrix.md +212 -0
- package/skills/chief-of-staff/references/synthesis-framework.md +201 -0
- package/skills/chro-advisor/SKILL.md +86 -0
- package/skills/chro-advisor/references/comp_frameworks.md +320 -0
- package/skills/chro-advisor/references/org_design.md +333 -0
- package/skills/chro-advisor/references/people_strategy.md +320 -0
- package/skills/chro-advisor/scripts/comp_benchmarker.py +613 -0
- package/skills/chro-advisor/scripts/hiring_plan_modeler.py +572 -0
- package/skills/churn-prevention/SKILL.md +200 -0
- package/skills/churn-prevention/references/cancel-flow-playbook.md +254 -0
- package/skills/churn-prevention/references/dunning-guide.md +276 -0
- package/skills/churn-prevention/references/exit-survey-and-save-offers.md +42 -0
- package/skills/churn-prevention/scripts/churn_impact_calculator.py +199 -0
- package/skills/ci-cd-setup/SKILL.md +66 -0
- package/skills/ci-cd-setup/references/anti-patterns.md +10 -0
- package/skills/ci-cd-setup/references/checklist.md +14 -0
- package/skills/ci-cd-setup/references/secret-and-deploy.md +30 -0
- package/skills/ciso-advisor/SKILL.md +86 -0
- package/skills/ciso-advisor/references/compliance_roadmap.md +370 -0
- package/skills/ciso-advisor/references/incident_response.md +350 -0
- package/skills/ciso-advisor/references/security_strategy.md +321 -0
- package/skills/ciso-advisor/scripts/compliance_tracker.py +781 -0
- package/skills/ciso-advisor/scripts/risk_quantifier.py +690 -0
- package/skills/clickup/SKILL.md +134 -0
- package/skills/cloud-security/SKILL.md +107 -0
- package/skills/cloud-security/references/cspm-checks.md +109 -0
- package/skills/cloud-security/scripts/cloud_posture_check.py +1180 -0
- package/skills/cmo-advisor/SKILL.md +82 -0
- package/skills/cmo-advisor/references/brand_positioning.md +374 -0
- package/skills/cmo-advisor/references/growth_frameworks.md +456 -0
- package/skills/cmo-advisor/references/marketing_org.md +281 -0
- package/skills/cmo-advisor/scripts/growth_model_simulator.py +416 -0
- package/skills/cmo-advisor/scripts/marketing_budget_modeler.py +440 -0
- package/skills/code-review/SKILL.md +66 -0
- package/skills/cold-email/SKILL.md +178 -0
- package/skills/cold-email/references/deliverability-guide.md +225 -0
- package/skills/cold-email/references/follow-up-playbook.md +225 -0
- package/skills/cold-email/references/frameworks.md +217 -0
- package/skills/cold-email/references/voice-and-subject-lines.md +41 -0
- package/skills/cold-email/scripts/email_sequence_analyzer.py +517 -0
- package/skills/commit/SKILL.md +25 -0
- package/skills/company-os/SKILL.md +66 -0
- package/skills/company-os/references/implementation-guide.md +249 -0
- package/skills/company-os/references/os-comparison.md +242 -0
- package/skills/company-os/references/six-components.md +129 -0
- package/skills/competitive-intel/SKILL.md +62 -0
- package/skills/competitive-intel/references/ci-playbook.md +237 -0
- package/skills/competitive-intel/templates/battlecard-template.md +99 -0
- package/skills/competitive-teardown/SKILL.md +169 -0
- package/skills/competitive-teardown/references/analysis-templates.md +203 -0
- package/skills/competitive-teardown/references/competitive-analysis-frameworks.md +107 -0
- package/skills/competitive-teardown/references/data-collection-guide.md +104 -0
- package/skills/competitive-teardown/references/scoring-rubric.md +116 -0
- package/skills/competitive-teardown/scripts/competitive_matrix_builder.py +299 -0
- package/skills/competitor-alternatives/SKILL.md +92 -0
- package/skills/competitor-alternatives/references/content-architecture.md +263 -0
- package/skills/competitor-alternatives/references/templates.md +212 -0
- package/skills/competitor-alternatives/scripts/comparison_matrix_builder.py +365 -0
- package/skills/confluence-expert/SKILL.md +129 -0
- package/skills/confluence-expert/references/macro-cheat-sheet.md +144 -0
- package/skills/confluence-expert/references/space-architecture-patterns.md +246 -0
- package/skills/confluence-expert/references/templates.md +725 -0
- package/skills/confluence-expert/scripts/content_audit_analyzer.py +457 -0
- package/skills/confluence-expert/scripts/space_structure_generator.py +517 -0
- package/skills/consistency-check/SKILL.md +68 -0
- package/skills/content-creator/SKILL.md +52 -0
- package/skills/content-creator/assets/content_calendar_template.md +99 -0
- package/skills/content-creator/examples/brand_voice_analysis_example.md +180 -0
- package/skills/content-creator/examples/seo_optimization_example.md +259 -0
- package/skills/content-creator/references/analytics_guide.md +352 -0
- package/skills/content-creator/references/brand_guidelines.md +219 -0
- package/skills/content-creator/references/content_frameworks.md +551 -0
- package/skills/content-creator/references/social_media_optimization.md +342 -0
- package/skills/content-humanizer/SKILL.md +193 -0
- package/skills/content-humanizer/references/ai-tells-checklist.md +157 -0
- package/skills/content-humanizer/references/voice-techniques.md +168 -0
- package/skills/content-humanizer/scripts/humanizer_scorer.py +504 -0
- package/skills/content-production/SKILL.md +192 -0
- package/skills/content-production/references/content-brief-guide.md +146 -0
- package/skills/content-production/references/optimization-checklist.md +139 -0
- package/skills/content-production/scripts/brand_voice_analyzer.py +197 -0
- package/skills/content-production/scripts/content_scorer.py +464 -0
- package/skills/content-production/scripts/seo_optimizer.py +433 -0
- package/skills/content-production/templates/content-brief-template.md +126 -0
- package/skills/content-strategy/SKILL.md +125 -0
- package/skills/content-strategy/references/content-strategy-reference.md +278 -0
- package/skills/content-strategy/scripts/topic_cluster_mapper.py +243 -0
- package/skills/context-engine/SKILL.md +50 -0
- package/skills/context-engine/references/anonymization-protocol.md +173 -0
- package/skills/context-prime/SKILL.md +25 -0
- package/skills/contract-and-proposal-writer/SKILL.md +126 -0
- package/skills/contract-and-proposal-writer/references/contract-templates.md +276 -0
- package/skills/contract-testing/SKILL.md +42 -0
- package/skills/contract-testing/references/anti-patterns-and-checklist.md +28 -0
- package/skills/contract-testing/references/implementation-details.md +29 -0
- package/skills/coo-advisor/SKILL.md +92 -0
- package/skills/coo-advisor/references/ops_cadence.md +606 -0
- package/skills/coo-advisor/references/process_frameworks.md +459 -0
- package/skills/coo-advisor/references/scaling_playbook.md +465 -0
- package/skills/coo-advisor/scripts/okr_tracker.py +1100 -0
- package/skills/coo-advisor/scripts/ops_efficiency_analyzer.py +1071 -0
- package/skills/copy-editing/SKILL.md +124 -0
- package/skills/copy-editing/references/copy-editing-checklist.md +134 -0
- package/skills/copy-editing/references/plain-english-alternatives.md +376 -0
- package/skills/copy-editing/references/seven-sweeps-framework.md +228 -0
- package/skills/copy-editing/scripts/readability_scorer.py +285 -0
- package/skills/copywriting/SKILL.md +192 -0
- package/skills/copywriting/references/copy-frameworks.md +338 -0
- package/skills/copywriting/references/natural-transitions.md +252 -0
- package/skills/copywriting/references/writing-style-rules.md +63 -0
- package/skills/copywriting/scripts/headline_scorer.py +256 -0
- package/skills/cpo-advisor/SKILL.md +102 -0
- package/skills/cpo-advisor/references/pmf_playbook.md +307 -0
- package/skills/cpo-advisor/references/product_org_design.md +407 -0
- package/skills/cpo-advisor/references/product_strategy.md +454 -0
- package/skills/cpo-advisor/scripts/pmf_scorer.py +600 -0
- package/skills/cpo-advisor/scripts/portfolio_analyzer.py +547 -0
- package/skills/create-epics/SKILL.md +65 -0
- package/skills/create-pr/SKILL.md +26 -0
- package/skills/create-stories/SKILL.md +85 -0
- package/skills/create-test-user/SKILL.md +37 -0
- package/skills/create-ticket/SKILL.md +50 -0
- package/skills/cro-advisor/SKILL.md +86 -0
- package/skills/cro-advisor/references/nrr_playbook.md +380 -0
- package/skills/cro-advisor/references/pricing_strategy.md +417 -0
- package/skills/cro-advisor/references/sales_playbook.md +461 -0
- package/skills/cro-advisor/scripts/churn_analyzer.py +742 -0
- package/skills/cro-advisor/scripts/revenue_forecast_model.py +571 -0
- package/skills/cs-onboard/SKILL.md +60 -0
- package/skills/cs-onboard/references/interview-guide.md +173 -0
- package/skills/cs-onboard/templates/company-context-template.md +144 -0
- package/skills/csp-headers/SKILL.md +53 -0
- package/skills/csp-headers/references/anti-patterns-checklist.md +26 -0
- package/skills/csp-headers/references/implementation.md +18 -0
- package/skills/cto-advisor/SKILL.md +95 -0
- package/skills/cto-advisor/references/architecture_decision_records.md +294 -0
- package/skills/cto-advisor/references/engineering_metrics.md +393 -0
- package/skills/cto-advisor/references/technology_evaluation_framework.md +370 -0
- package/skills/cto-advisor/references/workflows.md +84 -0
- package/skills/cto-advisor/scripts/team_scaling_calculator.py +562 -0
- package/skills/cto-advisor/scripts/tech_debt_analyzer.py +450 -0
- package/skills/culture-architect/SKILL.md +66 -0
- package/skills/culture-architect/references/culture-playbook.md +243 -0
- package/skills/culture-architect/templates/culture-code-template.md +137 -0
- package/skills/customer-success-manager/SKILL.md +97 -0
- package/skills/customer-success-manager/assets/executive_business_review_template.md +209 -0
- package/skills/customer-success-manager/assets/expected_output.json +170 -0
- package/skills/customer-success-manager/assets/onboarding_checklist_template.md +215 -0
- package/skills/customer-success-manager/assets/qbr_template.md +163 -0
- package/skills/customer-success-manager/assets/sample_customer_data.json +314 -0
- package/skills/customer-success-manager/assets/success_plan_template.md +167 -0
- package/skills/customer-success-manager/references/cs-metrics-benchmarks.md +259 -0
- package/skills/customer-success-manager/references/cs-playbooks.md +290 -0
- package/skills/customer-success-manager/references/health-scoring-framework.md +184 -0
- package/skills/customer-success-manager/scripts/churn_risk_analyzer.py +487 -0
- package/skills/customer-success-manager/scripts/expansion_opportunity_scorer.py +414 -0
- package/skills/customer-success-manager/scripts/health_score_calculator.py +438 -0
- package/skills/data-migrations/SKILL.md +113 -0
- package/skills/data-migrations/references/anti-patterns.md +14 -0
- package/skills/data-migrations/references/batching.md +9 -0
- package/skills/data-migrations/references/checklist.md +14 -0
- package/skills/data-migrations/references/expand-contract.md +19 -0
- package/skills/data-operations/SKILL.md +59 -0
- package/skills/data-operations/references/anti-patterns.md +17 -0
- package/skills/data-operations/references/query-optimization.md +37 -0
- package/skills/data-operations/references/seeding.md +38 -0
- package/skills/data-seeding/SKILL.md +96 -0
- package/skills/database/SKILL.md +74 -0
- package/skills/database/references/anti-patterns.md +20 -0
- package/skills/database/references/query-patterns.md +32 -0
- package/skills/database-indexing/SKILL.md +85 -0
- package/skills/database-indexing/references/anti-patterns.md +14 -0
- package/skills/database-indexing/references/checklists.md +23 -0
- package/skills/database-indexing/references/index-types.md +18 -0
- package/skills/database-setup/SKILL.md +109 -0
- package/skills/database-setup/references/indexing-guide.md +126 -0
- package/skills/db-diagram/SKILL.md +87 -0
- package/skills/decision-logger/SKILL.md +59 -0
- package/skills/decision-logger/references/entry-format.md +55 -0
- package/skills/decision-logger/scripts/decision_tracker.py +620 -0
- package/skills/decision-logger/templates/decision-entry.md +63 -0
- package/skills/deploy-check/SKILL.md +87 -0
- package/skills/deploy-staging/SKILL.md +44 -0
- package/skills/deps-audit/SKILL.md +92 -0
- package/skills/design-handoff/SKILL.md +49 -0
- package/skills/design-system/SKILL.md +56 -0
- package/skills/design-system/references/post-design-validation.md +8 -0
- package/skills/design-system/references/section-guidance.md +29 -0
- package/skills/distributed-tracing/SKILL.md +86 -0
- package/skills/doc-gdd/SKILL.md +56 -0
- package/skills/doc-pas/SKILL.md +41 -0
- package/skills/doc-pas/references/examples-and-usage.md +27 -0
- package/skills/doc-pas/references/output-format-template.md +63 -0
- package/skills/doc-rfc/SKILL.md +55 -0
- package/skills/doc-rfc/templates/decision.md +38 -0
- package/skills/doc-rfc/templates/epica.md +68 -0
- package/skills/doc-rfc/templates/hu.md +52 -0
- package/skills/doc-rfc/templates/tarea.md +37 -0
- package/skills/docker-setup/SKILL.md +78 -0
- package/skills/docker-setup/references/anti-patterns.md +10 -0
- package/skills/docker-setup/references/checklists.md +34 -0
- package/skills/docker-setup/references/size-optimization.md +7 -0
- package/skills/docx-generator/SKILL.md +249 -0
- package/skills/docx-generator/assets/styles/academic_styles.xml +250 -0
- package/skills/docx-generator/assets/styles/corporate_styles.xml +284 -0
- package/skills/docx-generator/assets/styles/default_styles.xml +449 -0
- package/skills/docx-generator/assets/xsd/aesthetic-rules.xsd +470 -0
- package/skills/docx-generator/assets/xsd/business-rules.xsd +130 -0
- package/skills/docx-generator/assets/xsd/common-types.xsd +159 -0
- package/skills/docx-generator/assets/xsd/wml-subset.xsd +589 -0
- package/skills/docx-generator/references/cjk_typography.md +357 -0
- package/skills/docx-generator/references/cjk_university_template_guide.md +184 -0
- package/skills/docx-generator/references/comments_guide.md +191 -0
- package/skills/docx-generator/references/design_good_bad_examples.md +829 -0
- package/skills/docx-generator/references/design_principles.md +819 -0
- package/skills/docx-generator/references/openxml_element_order.md +308 -0
- package/skills/docx-generator/references/openxml_encyclopedia_part1.md +4061 -0
- package/skills/docx-generator/references/openxml_encyclopedia_part2.md +2820 -0
- package/skills/docx-generator/references/openxml_encyclopedia_part3.md +3381 -0
- package/skills/docx-generator/references/openxml_namespaces.md +82 -0
- package/skills/docx-generator/references/openxml_units.md +72 -0
- package/skills/docx-generator/references/scenario_a_create.md +284 -0
- package/skills/docx-generator/references/scenario_b_edit_content.md +295 -0
- package/skills/docx-generator/references/scenario_c_apply_template.md +456 -0
- package/skills/docx-generator/references/track_changes_guide.md +200 -0
- package/skills/docx-generator/references/troubleshooting.md +506 -0
- package/skills/docx-generator/references/typography_guide.md +294 -0
- package/skills/docx-generator/references/xsd_validation_guide.md +158 -0
- package/skills/docx-generator/scripts/doc_to_docx.sh +40 -0
- package/skills/docx-generator/scripts/docx_preview.sh +37 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Cli/Program.cs +18 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Commands/AnalyzeCommand.cs +147 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ApplyTemplateCommand.cs +322 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Commands/CreateCommand.cs +324 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Commands/DiffCommand.cs +155 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Commands/EditContentCommand.cs +487 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Commands/FixOrderCommand.cs +108 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Commands/MergeRunsCommand.cs +122 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ValidateCommand.cs +107 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/CommentSynchronizer.cs +169 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/ElementOrder.cs +80 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/NamespaceConstants.cs +42 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/RunMerger.cs +81 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/StyleAnalyzer.cs +81 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/TrackChangesHelper.cs +99 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/UnitConverter.cs +23 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples.cs +1832 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch1.cs +910 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch2.cs +999 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch3.cs +1048 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch4.cs +1038 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/CharacterFormattingSamples.cs +1020 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/DocumentCreationSamples.cs +1121 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FieldAndTocSamples.cs +624 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FootnoteAndCommentSamples.cs +675 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/HeaderFooterSamples.cs +838 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ImageSamples.cs +917 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ListAndNumberingSamples.cs +826 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ParagraphFormattingSamples.cs +1199 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/StyleSystemSamples.cs +1487 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TableSamples.cs +1163 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TrackChangesSamples.cs +595 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Typography/CjkHelper.cs +39 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Typography/FontDefaults.cs +24 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Typography/PageSizes.cs +20 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Validation/BusinessRuleValidator.cs +224 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Validation/GateCheckValidator.cs +148 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Validation/ValidationResult.cs +23 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Validation/XsdValidator.cs +69 -0
- package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.slnx +4 -0
- package/skills/docx-generator/scripts/env_check.sh +196 -0
- package/skills/docx-generator/scripts/setup.ps1 +274 -0
- package/skills/docx-generator/scripts/setup.sh +504 -0
- package/skills/email-sequence/SKILL.md +119 -0
- package/skills/email-sequence/references/email-sequence-playbook.md +209 -0
- package/skills/email-sequence/scripts/sequence_analyzer.py +354 -0
- package/skills/email-template-builder/SKILL.md +93 -0
- package/skills/email-template-builder/references/react-email-templates.md +323 -0
- package/skills/env-sync/SKILL.md +102 -0
- package/skills/error-tracking/SKILL.md +25 -0
- package/skills/error-tracking/references/anti-patterns-and-checklist.md +23 -0
- package/skills/error-tracking/references/operational-details.md +38 -0
- package/skills/error-tracking/references/setup-per-stack.md +24 -0
- package/skills/estimate/SKILL.md +51 -0
- package/skills/estimate/references/complexity-factors.md +30 -0
- package/skills/estimate/references/estimate-template.md +60 -0
- package/skills/executive-mentor/.claude-plugin/plugin.json +13 -0
- package/skills/executive-mentor/SKILL.md +90 -0
- package/skills/executive-mentor/agents/devils-advocate.md +139 -0
- package/skills/executive-mentor/references/board_dynamics.md +263 -0
- package/skills/executive-mentor/references/crisis_playbook.md +173 -0
- package/skills/executive-mentor/references/hard_things.md +256 -0
- package/skills/executive-mentor/scripts/decision_matrix_scorer.py +491 -0
- package/skills/executive-mentor/scripts/stakeholder_mapper.py +547 -0
- package/skills/executive-mentor/skills/board-prep/SKILL.md +76 -0
- package/skills/executive-mentor/skills/challenge/SKILL.md +80 -0
- package/skills/executive-mentor/skills/hard-call/SKILL.md +64 -0
- package/skills/executive-mentor/skills/postmortem/SKILL.md +78 -0
- package/skills/executive-mentor/skills/stress-test/SKILL.md +74 -0
- package/skills/executive-mentor/skills/stress-test/references/patterns-by-type.md +73 -0
- package/skills/experiment-designer/SKILL.md +108 -0
- package/skills/experiment-designer/references/experiment-playbook.md +70 -0
- package/skills/experiment-designer/references/statistics-reference.md +56 -0
- package/skills/experiment-designer/scripts/sample_size_calculator.py +100 -0
- package/skills/fda-consultant-specialist/SKILL.md +102 -0
- package/skills/fda-consultant-specialist/references/device_cybersecurity_guidance.md +695 -0
- package/skills/fda-consultant-specialist/references/fda_capa_requirements.md +718 -0
- package/skills/fda-consultant-specialist/references/fda_submission_guide.md +400 -0
- package/skills/fda-consultant-specialist/references/hipaa_compliance_framework.md +721 -0
- package/skills/fda-consultant-specialist/references/qsr_compliance_requirements.md +753 -0
- package/skills/fda-consultant-specialist/scripts/fda_submission_tracker.py +493 -0
- package/skills/fda-consultant-specialist/scripts/hipaa_risk_assessment.py +626 -0
- package/skills/fda-consultant-specialist/scripts/qsr_compliance_checker.py +618 -0
- package/skills/feature-flags/SKILL.md +98 -0
- package/skills/figma/SKILL.md +124 -0
- package/skills/figma-to-code/SKILL.md +80 -0
- package/skills/figma-to-code/references/checklist-and-output.md +32 -0
- package/skills/figma-to-code/references/stack-detection.md +34 -0
- package/skills/figma-tokens/SKILL.md +55 -0
- package/skills/file-uploads/SKILL.md +95 -0
- package/skills/financial-analyst/SKILL.md +152 -0
- package/skills/financial-analyst/assets/dcf_analysis_template.md +184 -0
- package/skills/financial-analyst/assets/expected_output.json +161 -0
- package/skills/financial-analyst/assets/forecast_report_template.md +177 -0
- package/skills/financial-analyst/assets/sample_financial_data.json +219 -0
- package/skills/financial-analyst/assets/variance_report_template.md +122 -0
- package/skills/financial-analyst/references/financial-ratios-guide.md +376 -0
- package/skills/financial-analyst/references/forecasting-best-practices.md +279 -0
- package/skills/financial-analyst/references/industry-adaptations.md +103 -0
- package/skills/financial-analyst/references/valuation-methodology.md +246 -0
- package/skills/financial-analyst/scripts/budget_variance_analyzer.py +406 -0
- package/skills/financial-analyst/scripts/dcf_valuation.py +449 -0
- package/skills/financial-analyst/scripts/forecast_builder.py +494 -0
- package/skills/financial-analyst/scripts/ratio_calculator.py +432 -0
- package/skills/fix-issue/SKILL.md +19 -0
- package/skills/flutter-dev/SKILL.md +122 -0
- package/skills/flutter-dev/references/animations.md +497 -0
- package/skills/flutter-dev/references/bloc-state.md +281 -0
- package/skills/flutter-dev/references/forms.md +656 -0
- package/skills/flutter-dev/references/gorouter-navigation.md +257 -0
- package/skills/flutter-dev/references/localization.md +510 -0
- package/skills/flutter-dev/references/networking.md +566 -0
- package/skills/flutter-dev/references/performance.md +306 -0
- package/skills/flutter-dev/references/platform-specific.md +417 -0
- package/skills/flutter-dev/references/project-structure.md +274 -0
- package/skills/flutter-dev/references/riverpod-state.md +232 -0
- package/skills/flutter-dev/references/testing.md +364 -0
- package/skills/flutter-dev/references/widget-patterns.md +233 -0
- package/skills/form-cro/SKILL.md +128 -0
- package/skills/form-cro/references/experiments.md +77 -0
- package/skills/form-cro/references/form-cro-playbook.md +271 -0
- package/skills/form-cro/scripts/form_field_analyzer.py +291 -0
- package/skills/form-validation/SKILL.md +75 -0
- package/skills/founder-coach/SKILL.md +57 -0
- package/skills/founder-coach/references/delegation-energy.md +124 -0
- package/skills/founder-coach/references/founder-toolkit.md +296 -0
- package/skills/founder-coach/references/leadership-evolution.md +112 -0
- package/skills/founder-coach/references/leadership-growth.md +178 -0
- package/skills/free-tool-strategy/SKILL.md +167 -0
- package/skills/free-tool-strategy/references/design-and-lead-capture.md +58 -0
- package/skills/free-tool-strategy/references/launch-playbook.md +182 -0
- package/skills/free-tool-strategy/references/tool-types-guide.md +253 -0
- package/skills/free-tool-strategy/scripts/tool_roi_estimator.py +401 -0
- package/skills/frontend-dev/SKILL.md +555 -0
- package/skills/frontend-dev/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/DMMono-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/skills/frontend-dev/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Gloock-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Italiana-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Jura-Light.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Jura-Medium.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Jura-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Lora-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Lora-Italic.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Lora-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/Lora-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Outfit-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/Tektur-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/skills/frontend-dev/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/skills/frontend-dev/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/skills/frontend-dev/references/asset-prompt-guide.md +43 -0
- package/skills/frontend-dev/references/env-setup.md +33 -0
- package/skills/frontend-dev/references/minimax-cli-reference.md +133 -0
- package/skills/frontend-dev/references/minimax-image-guide.md +65 -0
- package/skills/frontend-dev/references/minimax-music-guide.md +216 -0
- package/skills/frontend-dev/references/minimax-tts-guide.md +78 -0
- package/skills/frontend-dev/references/minimax-video-guide.md +82 -0
- package/skills/frontend-dev/references/minimax-voice-catalog.md +686 -0
- package/skills/frontend-dev/references/motion-recipes.md +407 -0
- package/skills/frontend-dev/references/troubleshooting.md +85 -0
- package/skills/frontend-dev/scripts/minimax_image.py +137 -0
- package/skills/frontend-dev/scripts/minimax_music.py +157 -0
- package/skills/frontend-dev/scripts/minimax_tts.py +127 -0
- package/skills/frontend-dev/scripts/minimax_video.py +187 -0
- package/skills/frontend-dev/templates/generator_template.js +223 -0
- package/skills/frontend-dev/templates/viewer.html +599 -0
- package/skills/game-analysis/SKILL.md +51 -0
- package/skills/game-analysis/references/anti-patterns-checklist.md +25 -0
- package/skills/game-analysis/references/balance-report-format.md +21 -0
- package/skills/game-analysis/references/playtest-template.md +28 -0
- package/skills/game-audit/SKILL.md +66 -0
- package/skills/game-docs/SKILL.md +58 -0
- package/skills/game-docs/references/gdd-structure.md +24 -0
- package/skills/game-docs/references/pas-format.md +49 -0
- package/skills/game-docs/references/writing-rules.md +17 -0
- package/skills/gate-check/SKILL.md +93 -0
- package/skills/gcp-cloud-architect/SKILL.md +127 -0
- package/skills/gcp-cloud-architect/references/architecture_patterns.md +512 -0
- package/skills/gcp-cloud-architect/references/best_practices.md +467 -0
- package/skills/gcp-cloud-architect/references/service_selection.md +547 -0
- package/skills/gcp-cloud-architect/scripts/architecture_designer.py +805 -0
- package/skills/gcp-cloud-architect/scripts/cost_optimizer.py +465 -0
- package/skills/gcp-cloud-architect/scripts/deployment_manager.py +835 -0
- package/skills/gdocs/SKILL.md +128 -0
- package/skills/gdpr-dsgvo-expert/SKILL.md +97 -0
- package/skills/gdpr-dsgvo-expert/references/dpia_methodology.md +412 -0
- package/skills/gdpr-dsgvo-expert/references/gdpr_compliance_guide.md +336 -0
- package/skills/gdpr-dsgvo-expert/references/german_bdsg_requirements.md +327 -0
- package/skills/gdpr-dsgvo-expert/scripts/data_subject_rights_tracker.py +541 -0
- package/skills/gdpr-dsgvo-expert/scripts/dpia_generator.py +670 -0
- package/skills/gdpr-dsgvo-expert/scripts/gdpr_compliance_checker.py +443 -0
- package/skills/gdrive/SKILL.md +46 -0
- package/skills/gh-projects/SKILL.md +103 -0
- package/skills/gh-projects/references/graphql-queries.md +207 -0
- package/skills/git-worktree-manager/SKILL.md +86 -0
- package/skills/git-worktree-manager/references/docker-compose-patterns.md +62 -0
- package/skills/git-worktree-manager/references/port-allocation-strategy.md +46 -0
- package/skills/git-worktree-manager/scripts/worktree_cleanup.py +196 -0
- package/skills/git-worktree-manager/scripts/worktree_manager.py +240 -0
- package/skills/go-clean-architecture/SKILL.md +95 -0
- package/skills/go-clean-architecture/references/anti-patterns.md +7 -0
- package/skills/go-clean-architecture/references/checklist.md +13 -0
- package/skills/gsheets/SKILL.md +46 -0
- package/skills/helm-chart-builder/.claude-plugin/plugin.json +13 -0
- package/skills/helm-chart-builder/SKILL.md +122 -0
- package/skills/helm-chart-builder/references/chart-patterns.md +435 -0
- package/skills/helm-chart-builder/references/values-design.md +462 -0
- package/skills/helm-chart-builder/scripts/chart_analyzer.py +542 -0
- package/skills/helm-chart-builder/scripts/values_validator.py +442 -0
- package/skills/help/SKILL.md +75 -0
- package/skills/hotfix/SKILL.md +63 -0
- package/skills/i18n-setup/SKILL.md +79 -0
- package/skills/incident/SKILL.md +107 -0
- package/skills/incident-commander/SKILL.md +133 -0
- package/skills/incident-commander/assets/incident_report_template.md +171 -0
- package/skills/incident-commander/assets/runbook_template.md +289 -0
- package/skills/incident-commander/assets/sample_incident_classification.json +14 -0
- package/skills/incident-commander/assets/sample_incident_data.json +276 -0
- package/skills/incident-commander/assets/sample_incident_pir_data.json +74 -0
- package/skills/incident-commander/assets/sample_timeline_events.json +263 -0
- package/skills/incident-commander/assets/simple_incident.json +6 -0
- package/skills/incident-commander/assets/simple_timeline_events.json +30 -0
- package/skills/incident-commander/expected_outputs/incident_classification_text_output.txt +44 -0
- package/skills/incident-commander/expected_outputs/pir_markdown_output.md +88 -0
- package/skills/incident-commander/expected_outputs/simple_incident_classification.txt +44 -0
- package/skills/incident-commander/expected_outputs/timeline_reconstruction_text_output.txt +110 -0
- package/skills/incident-commander/references/communication_templates.md +591 -0
- package/skills/incident-commander/references/incident-response-framework.md +372 -0
- package/skills/incident-commander/references/incident_severity_matrix.md +292 -0
- package/skills/incident-commander/references/rca_frameworks_guide.md +562 -0
- package/skills/incident-commander/references/reference-information.md +201 -0
- package/skills/incident-commander/references/sla-management-guide.md +566 -0
- package/skills/incident-commander/scripts/incident_classifier.py +914 -0
- package/skills/incident-commander/scripts/incident_timeline_builder.py +742 -0
- package/skills/incident-commander/scripts/pir_generator.py +1638 -0
- package/skills/incident-commander/scripts/postmortem_generator.py +804 -0
- package/skills/incident-commander/scripts/severity_classifier.py +1228 -0
- package/skills/incident-commander/scripts/timeline_reconstructor.py +1007 -0
- package/skills/incident-response/SKILL.md +103 -0
- package/skills/incident-response/references/regulatory-deadlines.md +125 -0
- package/skills/incident-response/scripts/incident_triage.py +768 -0
- package/skills/information-security-manager-iso27001/SKILL.md +120 -0
- package/skills/information-security-manager-iso27001/references/incident-response.md +420 -0
- package/skills/information-security-manager-iso27001/references/iso27001-controls.md +381 -0
- package/skills/information-security-manager-iso27001/references/risk-assessment-guide.md +262 -0
- package/skills/information-security-manager-iso27001/scripts/compliance_checker.py +398 -0
- package/skills/information-security-manager-iso27001/scripts/risk_assessment.py +403 -0
- package/skills/internal-narrative/SKILL.md +68 -0
- package/skills/internal-narrative/references/narrative-frameworks.md +211 -0
- package/skills/internal-narrative/templates/all-hands-template.md +103 -0
- package/skills/intl-expansion/SKILL.md +72 -0
- package/skills/intl-expansion/references/market-entry-playbook.md +138 -0
- package/skills/intl-expansion/references/regional-guide.md +144 -0
- package/skills/ios-application-dev/SKILL.md +172 -0
- package/skills/ios-application-dev/references/accessibility.md +259 -0
- package/skills/ios-application-dev/references/graphics-animation.md +350 -0
- package/skills/ios-application-dev/references/layout-system.md +199 -0
- package/skills/ios-application-dev/references/metal-shader.md +178 -0
- package/skills/ios-application-dev/references/navigation-patterns.md +175 -0
- package/skills/ios-application-dev/references/swift-coding-standards.md +757 -0
- package/skills/ios-application-dev/references/swiftui-design-guidelines.md +1167 -0
- package/skills/ios-application-dev/references/system-integration.md +401 -0
- package/skills/ios-application-dev/references/uikit-components.md +297 -0
- package/skills/isms-audit-expert/SKILL.md +108 -0
- package/skills/isms-audit-expert/references/cloud-security-audit.md +226 -0
- package/skills/isms-audit-expert/references/iso27001-audit-methodology.md +260 -0
- package/skills/isms-audit-expert/references/security-control-testing.md +276 -0
- package/skills/isms-audit-expert/scripts/isms_audit_scheduler.py +279 -0
- package/skills/jira-tickets/SKILL.md +52 -0
- package/skills/jira-tickets/references/states-epics-sprints.md +43 -0
- package/skills/jira-tickets/references/team-data.md +51 -0
- package/skills/job-scheduling/SKILL.md +107 -0
- package/skills/jwt-strategy/SKILL.md +74 -0
- package/skills/jwt-strategy/references/anti-patterns.md +16 -0
- package/skills/jwt-strategy/references/checklist.md +13 -0
- package/skills/jwt-strategy/references/implementation.md +21 -0
- package/skills/kickoff/SKILL.md +180 -0
- package/skills/launch-strategy/SKILL.md +72 -0
- package/skills/launch-strategy/references/launch-frameworks-and-checklists.md +317 -0
- package/skills/launch-strategy/scripts/launch_readiness_scorer.py +301 -0
- package/skills/llm-cost-optimizer/SKILL.md +194 -0
- package/skills/local-database-setup/SKILL.md +48 -0
- package/skills/logging-setup/SKILL.md +79 -0
- package/skills/logging-setup/references/anti-patterns.md +7 -0
- package/skills/logging-setup/references/checklist.md +14 -0
- package/skills/logging-setup/references/pii-audit-access.md +25 -0
- package/skills/ma-playbook/SKILL.md +72 -0
- package/skills/ma-playbook/references/due-diligence-checklist.md +148 -0
- package/skills/ma-playbook/references/integration-playbook.md +145 -0
- package/skills/map-systems/SKILL.md +82 -0
- package/skills/map-systems/references/dependency-layers-priorities.md +36 -0
- package/skills/map-systems/references/implicit-systems.md +13 -0
- package/skills/marketing-context/SKILL.md +167 -0
- package/skills/marketing-context/references/context-template.md +64 -0
- package/skills/marketing-context/scripts/context_validator.py +219 -0
- package/skills/marketing-context/templates/marketing-context-template.md +133 -0
- package/skills/marketing-demand-acquisition/SKILL.md +124 -0
- package/skills/marketing-demand-acquisition/references/attribution-guide.md +217 -0
- package/skills/marketing-demand-acquisition/references/campaign-templates.md +221 -0
- package/skills/marketing-demand-acquisition/references/hubspot-workflows.md +168 -0
- package/skills/marketing-demand-acquisition/references/international-playbooks.md +200 -0
- package/skills/marketing-demand-acquisition/scripts/calculate_cac.py +101 -0
- package/skills/marketing-ideas/SKILL.md +83 -0
- package/skills/marketing-ideas/references/ideas-by-category.md +347 -0
- package/skills/marketing-ops/SKILL.md +188 -0
- package/skills/marketing-ops/references/routing-matrix.md +37 -0
- package/skills/marketing-ops/scripts/campaign_tracker.py +156 -0
- package/skills/marketing-psychology/SKILL.md +121 -0
- package/skills/marketing-psychology/references/mental-models-catalog.md +397 -0
- package/skills/marketing-strategy-pmm/SKILL.md +130 -0
- package/skills/marketing-strategy-pmm/references/international-gtm.md +401 -0
- package/skills/marketing-strategy-pmm/references/launch-checklists.md +333 -0
- package/skills/marketing-strategy-pmm/references/messaging-templates.md +446 -0
- package/skills/marketing-strategy-pmm/references/positioning-frameworks.md +279 -0
- package/skills/mcp-server-builder/SKILL.md +109 -0
- package/skills/mcp-server-builder/references/openapi-extraction-guide.md +34 -0
- package/skills/mcp-server-builder/references/python-server-template.md +22 -0
- package/skills/mcp-server-builder/references/typescript-server-template.md +19 -0
- package/skills/mcp-server-builder/references/validation-checklist.md +30 -0
- package/skills/mcp-server-builder/scripts/mcp_validator.py +186 -0
- package/skills/mcp-server-builder/scripts/openapi_to_mcp.py +284 -0
- package/skills/mdr-745-specialist/SKILL.md +110 -0
- package/skills/mdr-745-specialist/references/clinical-evidence-requirements.md +303 -0
- package/skills/mdr-745-specialist/references/mdr-classification-guide.md +289 -0
- package/skills/mdr-745-specialist/references/technical-documentation-templates.md +355 -0
- package/skills/mdr-745-specialist/scripts/mdr_gap_analyzer.py +511 -0
- package/skills/meeting-analyzer/SKILL.md +99 -0
- package/skills/meeting-analyzer/references/analysis-modules.md +92 -0
- package/skills/meeting-to-tasks/SKILL.md +63 -0
- package/skills/mfa-setup/SKILL.md +111 -0
- package/skills/mfa-setup/references/anti-patterns.md +15 -0
- package/skills/mfa-setup/references/checklist.md +17 -0
- package/skills/mfa-setup/references/rate-limiting.md +10 -0
- package/skills/mfa-setup/references/role-rules.md +9 -0
- package/skills/mfa-setup/references/schema-db.md +5 -0
- package/skills/milestone-review/SKILL.md +46 -0
- package/skills/monorepo-setup/SKILL.md +66 -0
- package/skills/monorepo-setup/references/anti-patterns-and-checklist.md +27 -0
- package/skills/ms365-tenant-manager/SKILL.md +104 -0
- package/skills/ms365-tenant-manager/expected_output.json +86 -0
- package/skills/ms365-tenant-manager/references/powershell-templates.md +704 -0
- package/skills/ms365-tenant-manager/references/security-policies.md +357 -0
- package/skills/ms365-tenant-manager/references/troubleshooting.md +411 -0
- package/skills/ms365-tenant-manager/references/workflow-scripts.md +145 -0
- package/skills/ms365-tenant-manager/sample_input.json +21 -0
- package/skills/ms365-tenant-manager/scripts/powershell_generator.py +430 -0
- package/skills/ms365-tenant-manager/scripts/tenant_setup.py +447 -0
- package/skills/ms365-tenant-manager/scripts/user_management.py +447 -0
- package/skills/oauth-setup/SKILL.md +92 -0
- package/skills/observability/SKILL.md +88 -0
- package/skills/observability-ops/SKILL.md +42 -0
- package/skills/observability-ops/references/anti-patterns.md +14 -0
- package/skills/observability-ops/references/slo-sli-framework.md +44 -0
- package/skills/observability-ops/references/tracing-setup.md +35 -0
- package/skills/observability-setup/SKILL.md +43 -0
- package/skills/observability-setup/references/conventions-and-anti-patterns.md +32 -0
- package/skills/observability-setup/references/stack-setup-details.md +23 -0
- package/skills/onboard/SKILL.md +123 -0
- package/skills/onboarding-cro/SKILL.md +149 -0
- package/skills/onboarding-cro/references/experiments.md +89 -0
- package/skills/onboarding-cro/scripts/activation_funnel_analyzer.py +217 -0
- package/skills/optimize/SKILL.md +27 -0
- package/skills/org-health-diagnostic/SKILL.md +79 -0
- package/skills/org-health-diagnostic/references/health-benchmarks.md +217 -0
- package/skills/org-health-diagnostic/scripts/health_scorer.py +585 -0
- package/skills/owasp-top10-check/SKILL.md +110 -0
- package/skills/owasp-top10-check/references/anti-patterns.md +19 -0
- package/skills/owasp-top10-check/references/educabot-specifics.md +6 -0
- package/skills/owasp-top10-check/references/tools.md +9 -0
- package/skills/page-cro/SKILL.md +160 -0
- package/skills/page-cro/references/experiments.md +71 -0
- package/skills/page-cro/scripts/conversion_audit.py +427 -0
- package/skills/paid-ads/SKILL.md +162 -0
- package/skills/paid-ads/references/ad-copy-templates.md +200 -0
- package/skills/paid-ads/references/audience-targeting.md +234 -0
- package/skills/paid-ads/references/campaign-structure.md +103 -0
- package/skills/paid-ads/references/platform-setup-checklists.md +269 -0
- package/skills/paid-ads/scripts/roas_calculator.py +304 -0
- package/skills/patch-notes/SKILL.md +51 -0
- package/skills/paywall-upgrade-cro/SKILL.md +189 -0
- package/skills/paywall-upgrade-cro/references/experiments.md +78 -0
- package/skills/pdf-generator/SKILL.md +181 -0
- package/skills/pdf-generator/design/design.md +381 -0
- package/skills/pdf-generator/scripts/cover.py +1579 -0
- package/skills/pdf-generator/scripts/fill_inspect.py +200 -0
- package/skills/pdf-generator/scripts/fill_write.py +242 -0
- package/skills/pdf-generator/scripts/make.sh +491 -0
- package/skills/pdf-generator/scripts/merge.py +112 -0
- package/skills/pdf-generator/scripts/palette.py +521 -0
- package/skills/pdf-generator/scripts/reformat_parse.py +374 -0
- package/skills/pdf-generator/scripts/render_body.py +1052 -0
- package/skills/pdf-generator/scripts/render_cover.js +111 -0
- package/skills/perf-profile/SKILL.md +82 -0
- package/skills/performance/SKILL.md +37 -0
- package/skills/performance/references/anti-patterns.md +25 -0
- package/skills/performance/references/cache-strategy.md +48 -0
- package/skills/performance/references/rate-limit-config.md +48 -0
- package/skills/performance-test/SKILL.md +87 -0
- package/skills/playtest-report/SKILL.md +45 -0
- package/skills/playwright-pro/.mcp.json +27 -0
- package/skills/playwright-pro/CLAUDE.md +84 -0
- package/skills/playwright-pro/LICENSE +21 -0
- package/skills/playwright-pro/SKILL.md +91 -0
- package/skills/playwright-pro/agents/migration-planner.md +121 -0
- package/skills/playwright-pro/agents/test-architect.md +105 -0
- package/skills/playwright-pro/agents/test-debugger.md +117 -0
- package/skills/playwright-pro/hooks/detect-playwright.sh +23 -0
- package/skills/playwright-pro/hooks/hooks.json +25 -0
- package/skills/playwright-pro/hooks/validate-test.sh +58 -0
- package/skills/playwright-pro/references/assertions.md +89 -0
- package/skills/playwright-pro/references/common-pitfalls.md +137 -0
- package/skills/playwright-pro/references/fixtures.md +121 -0
- package/skills/playwright-pro/references/flaky-tests.md +56 -0
- package/skills/playwright-pro/references/golden-rules.md +12 -0
- package/skills/playwright-pro/references/locators.md +77 -0
- package/skills/playwright-pro/settings.json +8 -0
- package/skills/playwright-pro/skills/browserstack/SKILL.md +169 -0
- package/skills/playwright-pro/skills/fix/SKILL.md +114 -0
- package/skills/playwright-pro/skills/fix/flaky-taxonomy.md +134 -0
- package/skills/playwright-pro/skills/generate/SKILL.md +145 -0
- package/skills/playwright-pro/skills/generate/patterns.md +163 -0
- package/skills/playwright-pro/skills/init/SKILL.md +168 -0
- package/skills/playwright-pro/skills/migrate/SKILL.md +136 -0
- package/skills/playwright-pro/skills/migrate/cypress-mapping.md +79 -0
- package/skills/playwright-pro/skills/migrate/selenium-mapping.md +94 -0
- package/skills/playwright-pro/skills/report/SKILL.md +127 -0
- package/skills/playwright-pro/skills/review/SKILL.md +103 -0
- package/skills/playwright-pro/skills/review/anti-patterns.md +182 -0
- package/skills/playwright-pro/skills/testrail/SKILL.md +130 -0
- package/skills/playwright-pro/templates/README.md +123 -0
- package/skills/playwright-pro/templates/accessibility/color-contrast.md +162 -0
- package/skills/playwright-pro/templates/accessibility/keyboard-navigation.md +149 -0
- package/skills/playwright-pro/templates/accessibility/screen-reader.md +159 -0
- package/skills/playwright-pro/templates/api/auth-headers.md +148 -0
- package/skills/playwright-pro/templates/api/error-responses.md +157 -0
- package/skills/playwright-pro/templates/api/graphql.md +174 -0
- package/skills/playwright-pro/templates/api/rate-limiting.md +152 -0
- package/skills/playwright-pro/templates/api/rest-crud.md +152 -0
- package/skills/playwright-pro/templates/auth/login.md +119 -0
- package/skills/playwright-pro/templates/auth/logout.md +112 -0
- package/skills/playwright-pro/templates/auth/mfa.md +125 -0
- package/skills/playwright-pro/templates/auth/password-reset.md +129 -0
- package/skills/playwright-pro/templates/auth/rbac.md +132 -0
- package/skills/playwright-pro/templates/auth/remember-me.md +127 -0
- package/skills/playwright-pro/templates/auth/session-timeout.md +113 -0
- package/skills/playwright-pro/templates/auth/sso.md +115 -0
- package/skills/playwright-pro/templates/checkout/add-to-cart.md +112 -0
- package/skills/playwright-pro/templates/checkout/apply-coupon.md +123 -0
- package/skills/playwright-pro/templates/checkout/order-confirm.md +108 -0
- package/skills/playwright-pro/templates/checkout/order-history.md +119 -0
- package/skills/playwright-pro/templates/checkout/payment.md +148 -0
- package/skills/playwright-pro/templates/checkout/update-quantity.md +125 -0
- package/skills/playwright-pro/templates/crud/bulk-operations.md +129 -0
- package/skills/playwright-pro/templates/crud/create.md +118 -0
- package/skills/playwright-pro/templates/crud/delete.md +116 -0
- package/skills/playwright-pro/templates/crud/read.md +117 -0
- package/skills/playwright-pro/templates/crud/soft-delete.md +113 -0
- package/skills/playwright-pro/templates/crud/update.md +129 -0
- package/skills/playwright-pro/templates/dashboard/chart-rendering.md +131 -0
- package/skills/playwright-pro/templates/dashboard/data-loading.md +128 -0
- package/skills/playwright-pro/templates/dashboard/date-range-filter.md +136 -0
- package/skills/playwright-pro/templates/dashboard/export.md +146 -0
- package/skills/playwright-pro/templates/dashboard/realtime-updates.md +143 -0
- package/skills/playwright-pro/templates/forms/autosave.md +135 -0
- package/skills/playwright-pro/templates/forms/conditional-fields.md +120 -0
- package/skills/playwright-pro/templates/forms/file-upload.md +136 -0
- package/skills/playwright-pro/templates/forms/multi-step.md +137 -0
- package/skills/playwright-pro/templates/forms/single-step.md +124 -0
- package/skills/playwright-pro/templates/forms/validation.md +141 -0
- package/skills/playwright-pro/templates/notifications/in-app.md +125 -0
- package/skills/playwright-pro/templates/notifications/notification-center.md +128 -0
- package/skills/playwright-pro/templates/notifications/toast-messages.md +139 -0
- package/skills/playwright-pro/templates/onboarding/email-verification.md +118 -0
- package/skills/playwright-pro/templates/onboarding/first-time-setup.md +130 -0
- package/skills/playwright-pro/templates/onboarding/registration.md +131 -0
- package/skills/playwright-pro/templates/onboarding/welcome-tour.md +128 -0
- package/skills/playwright-pro/templates/search/basic-search.md +118 -0
- package/skills/playwright-pro/templates/search/empty-state.md +109 -0
- package/skills/playwright-pro/templates/search/filters.md +128 -0
- package/skills/playwright-pro/templates/search/pagination.md +123 -0
- package/skills/playwright-pro/templates/search/sorting.md +131 -0
- package/skills/playwright-pro/templates/settings/account-delete.md +136 -0
- package/skills/playwright-pro/templates/settings/notification-prefs.md +139 -0
- package/skills/playwright-pro/templates/settings/password-change.md +143 -0
- package/skills/playwright-pro/templates/settings/profile-update.md +130 -0
- package/skills/popup-cro/SKILL.md +142 -0
- package/skills/popup-cro/references/experiments.md +88 -0
- package/skills/popup-cro/references/popup-cro-playbook.md +261 -0
- package/skills/postman/SKILL.md +79 -0
- package/skills/pptx-generator/SKILL.md +246 -0
- package/skills/pptx-generator/references/design-system.md +392 -0
- package/skills/pptx-generator/references/editing.md +162 -0
- package/skills/pptx-generator/references/pitfalls.md +112 -0
- package/skills/pptx-generator/references/pptxgenjs.md +420 -0
- package/skills/pptx-generator/references/slide-types.md +413 -0
- package/skills/pricing-strategy/SKILL.md +101 -0
- package/skills/pricing-strategy/references/pricing-models.md +194 -0
- package/skills/pricing-strategy/references/pricing-page-playbook.md +221 -0
- package/skills/pricing-strategy/scripts/pricing_modeler.py +283 -0
- package/skills/product-analytics/SKILL.md +151 -0
- package/skills/product-analytics/references/dashboard-templates.md +66 -0
- package/skills/product-analytics/references/metrics-frameworks.md +84 -0
- package/skills/product-analytics/scripts/metrics_calculator.py +195 -0
- package/skills/product-discovery/SKILL.md +118 -0
- package/skills/product-discovery/references/discovery-frameworks.md +72 -0
- package/skills/product-discovery/scripts/assumption_mapper.py +123 -0
- package/skills/product-manager-toolkit/SKILL.md +121 -0
- package/skills/product-manager-toolkit/assets/prd_template.md +132 -0
- package/skills/product-manager-toolkit/assets/rice_input_template.csv +4 -0
- package/skills/product-manager-toolkit/references/frameworks.md +559 -0
- package/skills/product-manager-toolkit/references/input-output-examples.md +156 -0
- package/skills/product-manager-toolkit/references/prd_templates.md +317 -0
- package/skills/product-manager-toolkit/scripts/customer_interview_analyzer.py +452 -0
- package/skills/product-manager-toolkit/scripts/rice_prioritizer.py +296 -0
- package/skills/product-spec/SKILL.md +65 -0
- package/skills/product-strategist/SKILL.md +122 -0
- package/skills/product-strategist/assets/okr_template.md +106 -0
- package/skills/product-strategist/references/examples/sample_growth_okrs.json +366 -0
- package/skills/product-strategist/references/okr_framework.md +328 -0
- package/skills/product-strategist/references/strategy_types.md +320 -0
- package/skills/product-strategist/scripts/okr_cascade_generator.py +592 -0
- package/skills/programmatic-seo/SKILL.md +156 -0
- package/skills/programmatic-seo/references/playbooks.md +72 -0
- package/skills/programmatic-seo/scripts/url_pattern_generator.py +194 -0
- package/skills/prompt-engineer-toolkit/README.md +51 -0
- package/skills/prompt-engineer-toolkit/SKILL.md +136 -0
- package/skills/prompt-engineer-toolkit/references/evaluation-rubric.md +14 -0
- package/skills/prompt-engineer-toolkit/references/prompt-templates.md +105 -0
- package/skills/prompt-engineer-toolkit/references/technique-guide.md +25 -0
- package/skills/prompt-engineer-toolkit/scripts/prompt_tester.py +239 -0
- package/skills/prompt-engineer-toolkit/scripts/prompt_versioner.py +235 -0
- package/skills/prototype/SKILL.md +54 -0
- package/skills/qa-plan/SKILL.md +77 -0
- package/skills/qms-audit-expert/SKILL.md +116 -0
- package/skills/qms-audit-expert/references/iso13485-audit-guide.md +388 -0
- package/skills/qms-audit-expert/references/nonconformity-classification.md +221 -0
- package/skills/qms-audit-expert/scripts/audit_schedule_optimizer.py +420 -0
- package/skills/quality-documentation-manager/SKILL.md +140 -0
- package/skills/quality-documentation-manager/references/21cfr11-compliance-guide.md +398 -0
- package/skills/quality-documentation-manager/references/document-control-procedures.md +340 -0
- package/skills/quality-documentation-manager/scripts/document_validator.py +646 -0
- package/skills/quality-documentation-manager/scripts/document_version_control.py +466 -0
- package/skills/quality-manager-qmr/SKILL.md +129 -0
- package/skills/quality-manager-qmr/references/management-review-guide.md +378 -0
- package/skills/quality-manager-qmr/references/quality-kpi-framework.md +296 -0
- package/skills/quality-manager-qmr/scripts/management_review_tracker.py +580 -0
- package/skills/quality-manager-qmr/scripts/quality_effectiveness_monitor.py +481 -0
- package/skills/quality-manager-qms-iso13485/SKILL.md +129 -0
- package/skills/quality-manager-qms-iso13485/references/iso13485-clause-requirements.md +726 -0
- package/skills/quality-manager-qms-iso13485/references/qms-process-templates.md +876 -0
- package/skills/quality-manager-qms-iso13485/scripts/qms_audit_checklist.py +886 -0
- package/skills/query-optimization/SKILL.md +107 -0
- package/skills/quick-design/SKILL.md +47 -0
- package/skills/rag-architect/SKILL.md +117 -0
- package/skills/rag-architect/references/chunking_strategies_comparison.md +287 -0
- package/skills/rag-architect/references/embedding_model_benchmark.md +338 -0
- package/skills/rag-architect/references/rag_evaluation_framework.md +431 -0
- package/skills/rag-architect/scripts/chunking_optimizer.py +787 -0
- package/skills/rag-architect/scripts/rag_pipeline_designer.py +680 -0
- package/skills/rag-architect/scripts/retrieval_evaluator.py +578 -0
- package/skills/rate-limiting/SKILL.md +114 -0
- package/skills/rbac-abac/SKILL.md +70 -0
- package/skills/rbac-abac/references/anti-patterns.md +14 -0
- package/skills/rbac-abac/references/checklist.md +13 -0
- package/skills/rbac-abac/references/schema-jwt-cache.md +27 -0
- package/skills/react-native-dev/SKILL.md +139 -0
- package/skills/react-native-dev/references/animations.md +254 -0
- package/skills/react-native-dev/references/components.md +124 -0
- package/skills/react-native-dev/references/engineering.md +527 -0
- package/skills/react-native-dev/references/forms.md +300 -0
- package/skills/react-native-dev/references/native-capabilities.md +163 -0
- package/skills/react-native-dev/references/navigation.md +271 -0
- package/skills/react-native-dev/references/networking.md +346 -0
- package/skills/react-native-dev/references/performance.md +215 -0
- package/skills/react-native-dev/references/state-management.md +230 -0
- package/skills/react-native-dev/references/styling.md +117 -0
- package/skills/react-native-dev/references/testing.md +342 -0
- package/skills/read-replicas/SKILL.md +46 -0
- package/skills/read-replicas/references/anti-patterns-checklist.md +26 -0
- package/skills/read-replicas/references/consistency-connection.md +24 -0
- package/skills/read-replicas/references/ha-dr.md +18 -0
- package/skills/red-team/SKILL.md +120 -0
- package/skills/red-team/references/attack-path-methodology.md +135 -0
- package/skills/red-team/scripts/engagement_planner.py +420 -0
- package/skills/referral-program/SKILL.md +189 -0
- package/skills/referral-program/references/loop-and-incentives.md +81 -0
- package/skills/referral-program/references/measurement-framework.md +199 -0
- package/skills/referral-program/references/program-mechanics.md +212 -0
- package/skills/referral-program/scripts/referral_roi_calculator.py +420 -0
- package/skills/regression-suite/SKILL.md +89 -0
- package/skills/regulatory-affairs-head/SKILL.md +117 -0
- package/skills/regulatory-affairs-head/references/eu-mdr-submission-guide.md +95 -0
- package/skills/regulatory-affairs-head/references/fda-submission-guide.md +127 -0
- package/skills/regulatory-affairs-head/references/global-regulatory-pathways.md +283 -0
- package/skills/regulatory-affairs-head/references/iso-regulatory-requirements.md +363 -0
- package/skills/regulatory-affairs-head/scripts/regulatory_pathway_analyzer.py +557 -0
- package/skills/regulatory-affairs-head/scripts/regulatory_tracker.py +199 -0
- package/skills/release/SKILL.md +89 -0
- package/skills/release-announce/SKILL.md +64 -0
- package/skills/release-checklist/SKILL.md +63 -0
- package/skills/research-summarizer/SKILL.md +94 -0
- package/skills/research-summarizer/references/citation-formats.md +105 -0
- package/skills/research-summarizer/references/summary-templates.md +120 -0
- package/skills/research-summarizer/scripts/extract_citations.py +309 -0
- package/skills/research-summarizer/scripts/format_summary.py +244 -0
- package/skills/retrospective/SKILL.md +72 -0
- package/skills/revenue-operations/SKILL.md +101 -0
- package/skills/revenue-operations/assets/expected_output.json +117 -0
- package/skills/revenue-operations/assets/forecast_report_template.md +149 -0
- package/skills/revenue-operations/assets/gtm_dashboard_template.md +215 -0
- package/skills/revenue-operations/assets/pipeline_review_template.md +138 -0
- package/skills/revenue-operations/assets/sample_forecast_data.json +23 -0
- package/skills/revenue-operations/assets/sample_gtm_data.json +24 -0
- package/skills/revenue-operations/assets/sample_pipeline_data.json +160 -0
- package/skills/revenue-operations/references/gtm-efficiency-benchmarks.md +257 -0
- package/skills/revenue-operations/references/pipeline-management-framework.md +292 -0
- package/skills/revenue-operations/references/revops-metrics-guide.md +304 -0
- package/skills/revenue-operations/scripts/forecast_accuracy_tracker.py +531 -0
- package/skills/revenue-operations/scripts/gtm_efficiency_calculator.py +658 -0
- package/skills/revenue-operations/scripts/pipeline_analyzer.py +496 -0
- package/skills/reverse-document/SKILL.md +70 -0
- package/skills/risk-management-specialist/SKILL.md +125 -0
- package/skills/risk-management-specialist/references/iso14971-implementation-guide.md +468 -0
- package/skills/risk-management-specialist/references/risk-analysis-methods.md +415 -0
- package/skills/risk-management-specialist/references/risk-assessment-templates.md +77 -0
- package/skills/risk-management-specialist/scripts/fmea_analyzer.py +442 -0
- package/skills/risk-management-specialist/scripts/risk_matrix_calculator.py +419 -0
- package/skills/roadmap-communicator/SKILL.md +96 -0
- package/skills/roadmap-communicator/references/communication-templates.md +63 -0
- package/skills/roadmap-communicator/references/roadmap-templates.md +44 -0
- package/skills/roadmap-communicator/scripts/changelog_generator.py +151 -0
- package/skills/rollback-strategy/SKILL.md +80 -0
- package/skills/rollback-strategy/references/anti-patterns.md +14 -0
- package/skills/rollback-strategy/references/canary-auto-rollback.md +17 -0
- package/skills/rollback-strategy/references/communication-protocol.md +6 -0
- package/skills/rollback-strategy/references/mobile-rollback.md +10 -0
- package/skills/rollback-strategy/references/pre-deploy-checklist.md +15 -0
- package/skills/rollback-strategy/references/runbook-commands.md +147 -0
- package/skills/run-migrations/SKILL.md +67 -0
- package/skills/runbooks/SKILL.md +57 -0
- package/skills/runbooks/references/anti-patterns.md +6 -0
- package/skills/runbooks/references/checklist.md +13 -0
- package/skills/runbooks/references/lifecycle.md +14 -0
- package/skills/runbooks/references/writing-principles.md +9 -0
- package/skills/runbooks/templates/runbook.md +80 -0
- package/skills/saas-metrics-coach/SKILL.md +156 -0
- package/skills/saas-metrics-coach/assets/input-template.md +29 -0
- package/skills/saas-metrics-coach/references/benchmarks.md +101 -0
- package/skills/saas-metrics-coach/references/formulas.md +103 -0
- package/skills/saas-metrics-coach/scripts/metrics_calculator.py +217 -0
- package/skills/saas-metrics-coach/scripts/quick_ratio_calculator.py +173 -0
- package/skills/saas-metrics-coach/scripts/unit_economics_simulator.py +205 -0
- package/skills/sales-engineer/SKILL.md +104 -0
- package/skills/sales-engineer/assets/demo_script_template.md +232 -0
- package/skills/sales-engineer/assets/expected_output.json +474 -0
- package/skills/sales-engineer/assets/poc_scorecard_template.md +213 -0
- package/skills/sales-engineer/assets/sample_rfp_data.json +219 -0
- package/skills/sales-engineer/assets/technical_proposal_template.md +231 -0
- package/skills/sales-engineer/references/competitive-positioning-framework.md +226 -0
- package/skills/sales-engineer/references/poc-best-practices.md +277 -0
- package/skills/sales-engineer/references/rfp-response-guide.md +189 -0
- package/skills/sales-engineer/scripts/competitive_matrix_builder.py +525 -0
- package/skills/sales-engineer/scripts/poc_planner.py +765 -0
- package/skills/sales-engineer/scripts/rfp_response_analyzer.py +557 -0
- package/skills/scaffold-fastify-ts/SKILL.md +77 -0
- package/skills/scaffold-fastify-ts/references/anti-patterns.md +10 -0
- package/skills/scaffold-fastify-ts/references/key-decisions.md +27 -0
- package/skills/scaffold-go/SKILL.md +77 -0
- package/skills/scaffold-go/references/patterns.md +22 -0
- package/skills/scaffold-go/references/project-structure.md +15 -0
- package/skills/scaffold-react-native/SKILL.md +69 -0
- package/skills/scaffold-react-native/references/conventions.md +26 -0
- package/skills/scaffold-react-native/references/workflow-and-navigation.md +22 -0
- package/skills/scaffold-react-vite/SKILL.md +76 -0
- package/skills/scaffold-react-vite/references/anti-patterns.md +9 -0
- package/skills/scaffold-react-vite/references/dependency-baseline.md +22 -0
- package/skills/scaffold-unity/SKILL.md +52 -0
- package/skills/scaffold-unity/references/folder-structure-and-files.md +43 -0
- package/skills/scaffold-unity/references/naming-conventions.md +11 -0
- package/skills/scenario-war-room/SKILL.md +81 -0
- package/skills/scenario-war-room/references/cascade-model.md +103 -0
- package/skills/scenario-war-room/references/scenario-planning.md +212 -0
- package/skills/scenario-war-room/scripts/scenario_modeler.py +486 -0
- package/skills/schema-markup/SKILL.md +184 -0
- package/skills/schema-markup/references/implementation-patterns.md +437 -0
- package/skills/schema-markup/references/schema-types-guide.md +285 -0
- package/skills/schema-markup/references/testing-and-mistakes.md +43 -0
- package/skills/schema-markup/scripts/schema_validator.py +442 -0
- package/skills/scope-check/SKILL.md +67 -0
- package/skills/scope-check/references/report-template.md +56 -0
- package/skills/scrum-master/SKILL.md +128 -0
- package/skills/scrum-master/assets/expected_output.json +131 -0
- package/skills/scrum-master/assets/expected_velocity_output.json +85 -0
- package/skills/scrum-master/assets/sample_sprint_data.json +821 -0
- package/skills/scrum-master/assets/sprint_report_template.md +214 -0
- package/skills/scrum-master/assets/team_health_check_template.md +380 -0
- package/skills/scrum-master/references/retro-formats.md +336 -0
- package/skills/scrum-master/references/team-dynamics-framework.md +561 -0
- package/skills/scrum-master/references/velocity-forecasting-guide.md +386 -0
- package/skills/scrum-master/scripts/retrospective_analyzer.py +914 -0
- package/skills/scrum-master/scripts/sprint_health_scorer.py +744 -0
- package/skills/scrum-master/scripts/velocity_analyzer.py +580 -0
- package/skills/search-setup/SKILL.md +49 -0
- package/skills/search-setup/references/anti-patterns-checklist.md +24 -0
- package/skills/search-setup/references/engine-details.md +15 -0
- package/skills/search-setup/references/indexing-pipeline.md +11 -0
- package/skills/search-setup/references/observability.md +6 -0
- package/skills/secret-management/SKILL.md +49 -0
- package/skills/secret-management/references/anti-patterns.md +7 -0
- package/skills/secret-management/references/checklist.md +13 -0
- package/skills/secret-management/references/implementation-details.md +37 -0
- package/skills/security-audit/SKILL.md +86 -0
- package/skills/security-pen-testing/SKILL.md +114 -0
- package/skills/security-pen-testing/references/attack_patterns.md +629 -0
- package/skills/security-pen-testing/references/owasp_top_10_checklist.md +440 -0
- package/skills/security-pen-testing/references/responsible_disclosure.md +317 -0
- package/skills/security-pen-testing/scripts/dependency_auditor.py +455 -0
- package/skills/security-pen-testing/scripts/pentest_report_generator.py +462 -0
- package/skills/security-pen-testing/scripts/vulnerability_scanner.py +545 -0
- package/skills/self-improving-agent/.claude-plugin/plugin.json +13 -0
- package/skills/self-improving-agent/CLAUDE.md +79 -0
- package/skills/self-improving-agent/LICENSE +21 -0
- package/skills/self-improving-agent/SKILL.md +112 -0
- package/skills/self-improving-agent/agents/memory-analyst.md +74 -0
- package/skills/self-improving-agent/agents/skill-extractor.md +110 -0
- package/skills/self-improving-agent/hooks/error-capture.sh +110 -0
- package/skills/self-improving-agent/hooks/hooks.json +15 -0
- package/skills/self-improving-agent/reference/memory-architecture.md +131 -0
- package/skills/self-improving-agent/reference/promotion-rules.md +83 -0
- package/skills/self-improving-agent/reference/rules-directory-patterns.md +137 -0
- package/skills/self-improving-agent/settings.json +28 -0
- package/skills/self-improving-agent/skills/extract/SKILL.md +182 -0
- package/skills/self-improving-agent/skills/promote/SKILL.md +148 -0
- package/skills/self-improving-agent/skills/remember/SKILL.md +102 -0
- package/skills/self-improving-agent/skills/review/SKILL.md +130 -0
- package/skills/self-improving-agent/skills/status/SKILL.md +107 -0
- package/skills/self-improving-agent/templates/rule-template.md +17 -0
- package/skills/self-improving-agent/templates/skill-template.md +53 -0
- package/skills/senior-computer-vision/SKILL.md +125 -0
- package/skills/senior-computer-vision/references/computer_vision_architectures.md +683 -0
- package/skills/senior-computer-vision/references/object_detection_optimization.md +885 -0
- package/skills/senior-computer-vision/references/production_vision_systems.md +1226 -0
- package/skills/senior-computer-vision/references/reference-docs-and-commands.md +96 -0
- package/skills/senior-computer-vision/scripts/dataset_pipeline_builder.py +1699 -0
- package/skills/senior-computer-vision/scripts/inference_optimizer.py +557 -0
- package/skills/senior-computer-vision/scripts/vision_model_trainer.py +576 -0
- package/skills/senior-data-engineer/SKILL.md +198 -0
- package/skills/senior-data-engineer/references/data_modeling_patterns.md +1058 -0
- package/skills/senior-data-engineer/references/data_pipeline_architecture.md +1100 -0
- package/skills/senior-data-engineer/references/dataops_best_practices.md +1502 -0
- package/skills/senior-data-engineer/references/troubleshooting.md +183 -0
- package/skills/senior-data-engineer/references/workflows.md +624 -0
- package/skills/senior-data-engineer/scripts/data_quality_validator.py +1636 -0
- package/skills/senior-data-engineer/scripts/etl_performance_optimizer.py +1685 -0
- package/skills/senior-data-engineer/scripts/pipeline_orchestrator.py +883 -0
- package/skills/senior-data-scientist/SKILL.md +117 -0
- package/skills/senior-data-scientist/references/experiment_design_frameworks.md +80 -0
- package/skills/senior-data-scientist/references/feature_engineering_patterns.md +80 -0
- package/skills/senior-data-scientist/references/statistical_methods_advanced.md +80 -0
- package/skills/senior-data-scientist/scripts/experiment_designer.py +100 -0
- package/skills/senior-data-scientist/scripts/feature_engineering_pipeline.py +100 -0
- package/skills/senior-data-scientist/scripts/model_evaluation_suite.py +100 -0
- package/skills/senior-ml-engineer/SKILL.md +121 -0
- package/skills/senior-ml-engineer/references/llm_integration_guide.md +317 -0
- package/skills/senior-ml-engineer/references/mlops_production_patterns.md +265 -0
- package/skills/senior-ml-engineer/references/rag_system_architecture.md +371 -0
- package/skills/senior-ml-engineer/scripts/ml_monitoring_suite.py +100 -0
- package/skills/senior-ml-engineer/scripts/model_deployment_pipeline.py +100 -0
- package/skills/senior-ml-engineer/scripts/rag_system_builder.py +100 -0
- package/skills/senior-pm/SKILL.md +109 -0
- package/skills/senior-pm/assets/executive_report_template.md +267 -0
- package/skills/senior-pm/assets/expected_output.json +150 -0
- package/skills/senior-pm/assets/project_charter_template.md +274 -0
- package/skills/senior-pm/assets/raci_matrix_template.md +265 -0
- package/skills/senior-pm/assets/sample_project_data.json +458 -0
- package/skills/senior-pm/references/portfolio-kpis.md +32 -0
- package/skills/senior-pm/references/portfolio-prioritization-models.md +645 -0
- package/skills/senior-pm/references/risk-management-framework.md +485 -0
- package/skills/senior-pm/scripts/project_health_dashboard.py +814 -0
- package/skills/senior-pm/scripts/resource_capacity_planner.py +846 -0
- package/skills/senior-pm/scripts/risk_matrix_analyzer.py +698 -0
- package/skills/senior-prompt-engineer/SKILL.md +108 -0
- package/skills/senior-prompt-engineer/references/agentic_system_design.md +646 -0
- package/skills/senior-prompt-engineer/references/llm_evaluation_frameworks.md +524 -0
- package/skills/senior-prompt-engineer/references/prompt_engineering_patterns.md +572 -0
- package/skills/senior-prompt-engineer/scripts/agent_orchestrator.py +560 -0
- package/skills/senior-prompt-engineer/scripts/prompt_optimizer.py +519 -0
- package/skills/senior-prompt-engineer/scripts/rag_evaluator.py +574 -0
- package/skills/seo-audit/SKILL.md +150 -0
- package/skills/seo-audit/references/aeo-geo-patterns.md +110 -0
- package/skills/seo-audit/references/ai-writing-detection.md +63 -0
- package/skills/seo-audit/references/seo-audit-reference.md +289 -0
- package/skills/seo-audit/scripts/seo_checker.py +361 -0
- package/skills/shader-dev/SKILL.md +299 -0
- package/skills/shader-dev/reference/ambient-occlusion.md +382 -0
- package/skills/shader-dev/reference/analytic-ray-tracing.md +651 -0
- package/skills/shader-dev/reference/anti-aliasing.md +71 -0
- package/skills/shader-dev/reference/atmospheric-scattering.md +571 -0
- package/skills/shader-dev/reference/camera-effects.md +80 -0
- package/skills/shader-dev/reference/cellular-automata.md +635 -0
- package/skills/shader-dev/reference/color-palette.md +481 -0
- package/skills/shader-dev/reference/csg-boolean-operations.md +466 -0
- package/skills/shader-dev/reference/domain-repetition.md +436 -0
- package/skills/shader-dev/reference/domain-warping.md +419 -0
- package/skills/shader-dev/reference/fluid-simulation.md +425 -0
- package/skills/shader-dev/reference/fractal-rendering.md +525 -0
- package/skills/shader-dev/reference/lighting-model.md +639 -0
- package/skills/shader-dev/reference/matrix-transform.md +535 -0
- package/skills/shader-dev/reference/multipass-buffer.md +571 -0
- package/skills/shader-dev/reference/normal-estimation.md +418 -0
- package/skills/shader-dev/reference/particle-system.md +589 -0
- package/skills/shader-dev/reference/path-tracing-gi.md +602 -0
- package/skills/shader-dev/reference/polar-uv-manipulation.md +521 -0
- package/skills/shader-dev/reference/post-processing.md +375 -0
- package/skills/shader-dev/reference/procedural-2d-pattern.md +439 -0
- package/skills/shader-dev/reference/procedural-noise.md +551 -0
- package/skills/shader-dev/reference/ray-marching.md +396 -0
- package/skills/shader-dev/reference/sdf-2d.md +724 -0
- package/skills/shader-dev/reference/sdf-3d.md +805 -0
- package/skills/shader-dev/reference/sdf-tricks.md +63 -0
- package/skills/shader-dev/reference/shadow-techniques.md +476 -0
- package/skills/shader-dev/reference/simulation-physics.md +644 -0
- package/skills/shader-dev/reference/sound-synthesis.md +578 -0
- package/skills/shader-dev/reference/terrain-rendering.md +839 -0
- package/skills/shader-dev/reference/texture-mapping-advanced.md +87 -0
- package/skills/shader-dev/reference/texture-sampling.md +553 -0
- package/skills/shader-dev/reference/volumetric-rendering.md +608 -0
- package/skills/shader-dev/reference/voronoi-cellular-noise.md +486 -0
- package/skills/shader-dev/reference/voxel-rendering.md +701 -0
- package/skills/shader-dev/reference/water-ocean.md +445 -0
- package/skills/shader-dev/reference/webgl-pitfalls.md +41 -0
- package/skills/shader-dev/techniques/ambient-occlusion.md +364 -0
- package/skills/shader-dev/techniques/analytic-ray-tracing.md +542 -0
- package/skills/shader-dev/techniques/anti-aliasing.md +124 -0
- package/skills/shader-dev/techniques/atmospheric-scattering.md +522 -0
- package/skills/shader-dev/techniques/camera-effects.md +115 -0
- package/skills/shader-dev/techniques/cellular-automata.md +531 -0
- package/skills/shader-dev/techniques/color-palette.md +380 -0
- package/skills/shader-dev/techniques/csg-boolean-operations.md +491 -0
- package/skills/shader-dev/techniques/domain-repetition.md +333 -0
- package/skills/shader-dev/techniques/domain-warping.md +414 -0
- package/skills/shader-dev/techniques/fluid-simulation.md +1175 -0
- package/skills/shader-dev/techniques/fractal-rendering.md +436 -0
- package/skills/shader-dev/techniques/lighting-model.md +527 -0
- package/skills/shader-dev/techniques/matrix-transform.md +455 -0
- package/skills/shader-dev/techniques/multipass-buffer.md +922 -0
- package/skills/shader-dev/techniques/normal-estimation.md +318 -0
- package/skills/shader-dev/techniques/particle-system.md +1203 -0
- package/skills/shader-dev/techniques/path-tracing-gi.md +623 -0
- package/skills/shader-dev/techniques/polar-uv-manipulation.md +373 -0
- package/skills/shader-dev/techniques/post-processing.md +788 -0
- package/skills/shader-dev/techniques/procedural-2d-pattern.md +346 -0
- package/skills/shader-dev/techniques/procedural-noise.md +554 -0
- package/skills/shader-dev/techniques/ray-marching.md +467 -0
- package/skills/shader-dev/techniques/sdf-2d.md +631 -0
- package/skills/shader-dev/techniques/sdf-3d.md +589 -0
- package/skills/shader-dev/techniques/sdf-tricks.md +100 -0
- package/skills/shader-dev/techniques/shadow-techniques.md +776 -0
- package/skills/shader-dev/techniques/simulation-physics.md +1542 -0
- package/skills/shader-dev/techniques/sound-synthesis.md +490 -0
- package/skills/shader-dev/techniques/terrain-rendering.md +408 -0
- package/skills/shader-dev/techniques/texture-mapping-advanced.md +121 -0
- package/skills/shader-dev/techniques/texture-sampling.md +382 -0
- package/skills/shader-dev/techniques/volumetric-rendering.md +375 -0
- package/skills/shader-dev/techniques/voronoi-cellular-noise.md +458 -0
- package/skills/shader-dev/techniques/voxel-rendering.md +985 -0
- package/skills/shader-dev/techniques/water-ocean.md +490 -0
- package/skills/shader-dev/techniques/webgl-pitfalls.md +170 -0
- package/skills/signup-flow-cro/SKILL.md +150 -0
- package/skills/signup-flow-cro/references/experiments.md +76 -0
- package/skills/signup-flow-cro/references/signup-cro-playbook.md +180 -0
- package/skills/signup-flow-cro/scripts/funnel_drop_analyzer.py +320 -0
- package/skills/site-architecture/SKILL.md +167 -0
- package/skills/site-architecture/references/internal-linking-playbook.md +216 -0
- package/skills/site-architecture/references/navigation-design.md +32 -0
- package/skills/site-architecture/references/silo-and-linking-guide.md +80 -0
- package/skills/site-architecture/references/url-design-guide.md +220 -0
- package/skills/site-architecture/scripts/sitemap_analyzer.py +375 -0
- package/skills/skill-auditor/SKILL.md +159 -0
- package/skills/skill-auditor/references/frontmatter-spec.md +113 -0
- package/skills/skill-auditor/references/lazy-loading-guide.md +98 -0
- package/skills/skill-improve/SKILL.md +59 -0
- package/skills/skill-test/SKILL.md +45 -0
- package/skills/skill-test/references/audit-mode-procedure.md +7 -0
- package/skills/skill-test/references/category-mode-procedure.md +7 -0
- package/skills/skill-test/references/next-steps-guide.md +9 -0
- package/skills/skill-test/references/spec-mode-procedure.md +8 -0
- package/skills/skill-test/references/static-checks.md +13 -0
- package/skills/slack/SKILL.md +45 -0
- package/skills/slo-sli/SKILL.md +92 -0
- package/skills/slo-sli/references/alerting-burn-rate.md +22 -0
- package/skills/slo-sli/references/anti-patterns.md +12 -0
- package/skills/slo-sli/references/checklist.md +14 -0
- package/skills/smoke-check/SKILL.md +77 -0
- package/skills/snowflake-development/SKILL.md +119 -0
- package/skills/snowflake-development/references/cortex_ai_and_agents.md +280 -0
- package/skills/snowflake-development/references/snowflake_sql_and_pipelines.md +281 -0
- package/skills/snowflake-development/references/troubleshooting.md +155 -0
- package/skills/snowflake-development/scripts/snowflake_query_helper.py +233 -0
- package/skills/soc2-compliance/SKILL.md +132 -0
- package/skills/soc2-compliance/references/evidence_collection_guide.md +227 -0
- package/skills/soc2-compliance/references/trust_service_criteria.md +273 -0
- package/skills/soc2-compliance/references/type1_vs_type2.md +273 -0
- package/skills/soc2-compliance/scripts/control_matrix_builder.py +679 -0
- package/skills/soc2-compliance/scripts/evidence_tracker.py +240 -0
- package/skills/soc2-compliance/scripts/gap_analyzer.py +479 -0
- package/skills/social-content/SKILL.md +155 -0
- package/skills/social-content/references/hooks-and-repurposing.md +74 -0
- package/skills/social-content/references/platforms.md +163 -0
- package/skills/social-content/references/post-templates.md +171 -0
- package/skills/social-content/references/reverse-engineering.md +190 -0
- package/skills/social-media-analyzer/HOW_TO_USE.md +39 -0
- package/skills/social-media-analyzer/SKILL.md +190 -0
- package/skills/social-media-analyzer/assets/expected_output.json +61 -0
- package/skills/social-media-analyzer/assets/sample_input.json +42 -0
- package/skills/social-media-analyzer/references/platform-benchmarks.md +226 -0
- package/skills/social-media-analyzer/scripts/analyze_performance.py +180 -0
- package/skills/social-media-analyzer/scripts/calculate_metrics.py +147 -0
- package/skills/social-media-manager/SKILL.md +195 -0
- package/skills/social-media-manager/scripts/social_calendar_generator.py +399 -0
- package/skills/sprint-ceremony/SKILL.md +75 -0
- package/skills/sprint-plan/SKILL.md +47 -0
- package/skills/sprint-report/SKILL.md +124 -0
- package/skills/standup-report/SKILL.md +51 -0
- package/skills/start/SKILL.md +67 -0
- package/skills/start-service/SKILL.md +45 -0
- package/skills/state-management/SKILL.md +75 -0
- package/skills/story-done/SKILL.md +69 -0
- package/skills/story-done/references/review-gates.md +9 -0
- package/skills/story-done/references/test-evidence-traceability.md +17 -0
- package/skills/story-readiness/SKILL.md +57 -0
- package/skills/story-readiness/references/context-loading.md +9 -0
- package/skills/story-readiness/references/output-format.md +7 -0
- package/skills/story-readiness/references/readiness-checklist.md +33 -0
- package/skills/strategic-alignment/SKILL.md +79 -0
- package/skills/strategic-alignment/references/alignment-playbook.md +205 -0
- package/skills/strategic-alignment/scripts/alignment_checker.py +455 -0
- package/skills/stripe-integration-expert/SKILL.md +65 -0
- package/skills/stripe-integration-expert/references/stripe-code-examples.md +372 -0
- package/skills/tdd-guide/HOW_TO_USE.md +313 -0
- package/skills/tdd-guide/SKILL.md +114 -0
- package/skills/tdd-guide/assets/expected_output.json +77 -0
- package/skills/tdd-guide/assets/sample_coverage_report.lcov +56 -0
- package/skills/tdd-guide/assets/sample_input_python.json +39 -0
- package/skills/tdd-guide/assets/sample_input_typescript.json +36 -0
- package/skills/tdd-guide/references/ci-integration.md +195 -0
- package/skills/tdd-guide/references/framework-guide.md +206 -0
- package/skills/tdd-guide/references/tdd-best-practices.md +128 -0
- package/skills/tdd-guide/references/tdd-code-examples.md +229 -0
- package/skills/tdd-guide/scripts/coverage_analyzer.py +434 -0
- package/skills/tdd-guide/scripts/fixture_generator.py +440 -0
- package/skills/tdd-guide/scripts/format_detector.py +384 -0
- package/skills/tdd-guide/scripts/framework_adapter.py +428 -0
- package/skills/tdd-guide/scripts/metrics_calculator.py +456 -0
- package/skills/tdd-guide/scripts/output_formatter.py +354 -0
- package/skills/tdd-guide/scripts/tdd_workflow.py +474 -0
- package/skills/tdd-guide/scripts/test_generator.py +438 -0
- package/skills/team-communications/SKILL.md +69 -0
- package/skills/team-communications/references/3p-updates.md +47 -0
- package/skills/team-communications/references/company-newsletter.md +65 -0
- package/skills/team-communications/references/faq-answers.md +30 -0
- package/skills/team-communications/references/general-comms.md +16 -0
- package/skills/team-vn/SKILL.md +187 -0
- package/skills/tech-debt/SKILL.md +91 -0
- package/skills/tech-debt/references/register-format.md +20 -0
- package/skills/tech-debt/references/scan-indicators.md +22 -0
- package/skills/tech-stack-evaluator/SKILL.md +111 -0
- package/skills/tech-stack-evaluator/assets/expected_output_comparison.json +82 -0
- package/skills/tech-stack-evaluator/assets/sample_input_structured.json +39 -0
- package/skills/tech-stack-evaluator/assets/sample_input_tco.json +42 -0
- package/skills/tech-stack-evaluator/assets/sample_input_text.json +4 -0
- package/skills/tech-stack-evaluator/references/examples.md +383 -0
- package/skills/tech-stack-evaluator/references/metrics.md +242 -0
- package/skills/tech-stack-evaluator/references/workflows.md +362 -0
- package/skills/tech-stack-evaluator/scripts/ecosystem_analyzer.py +501 -0
- package/skills/tech-stack-evaluator/scripts/format_detector.py +430 -0
- package/skills/tech-stack-evaluator/scripts/migration_analyzer.py +587 -0
- package/skills/tech-stack-evaluator/scripts/report_generator.py +460 -0
- package/skills/tech-stack-evaluator/scripts/security_assessor.py +518 -0
- package/skills/tech-stack-evaluator/scripts/stack_comparator.py +389 -0
- package/skills/tech-stack-evaluator/scripts/tco_calculator.py +458 -0
- package/skills/terraform-init/SKILL.md +80 -0
- package/skills/terraform-init/references/anti-patterns.md +11 -0
- package/skills/terraform-init/references/security-checklist.md +10 -0
- package/skills/test-flakiness/SKILL.md +90 -0
- package/skills/test-helpers/SKILL.md +50 -0
- package/skills/test-setup/SKILL.md +58 -0
- package/skills/testing/SKILL.md +32 -0
- package/skills/testing/references/anti-patterns.md +11 -0
- package/skills/testing/references/coverage-strategy.md +11 -0
- package/skills/testing/references/framework-setup.md +25 -0
- package/skills/testing/references/helper-patterns.md +9 -0
- package/skills/threat-detection/SKILL.md +114 -0
- package/skills/threat-detection/references/hunt-playbooks.md +131 -0
- package/skills/threat-detection/scripts/threat_signal_analyzer.py +571 -0
- package/skills/unity-game-architecture/SKILL.md +45 -0
- package/skills/unity-game-architecture/references/anti-patterns.md +15 -0
- package/skills/unity-game-architecture/references/checklist.md +16 -0
- package/skills/unity-game-architecture/references/performance-and-systems.md +29 -0
- package/skills/user-persona/SKILL.md +65 -0
- package/skills/user-persona/references/persona-template.md +27 -0
- package/skills/ux-design/SKILL.md +60 -0
- package/skills/ux-design/references/cross-reference-and-routing.md +19 -0
- package/skills/ux-design/references/spec-sections.md +19 -0
- package/skills/ux-review/SKILL.md +70 -0
- package/skills/video-content-strategist/SKILL.md +181 -0
- package/skills/video-content-strategist/references/scripts-and-anti-patterns.md +48 -0
- package/skills/visual-regression/SKILL.md +86 -0
- package/skills/vn-asset-pipeline/SKILL.md +166 -0
- package/skills/vn-character-design/SKILL.md +220 -0
- package/skills/vn-comfyui-gen/SKILL.md +235 -0
- package/skills/vn-comfyui-gen/references/comfyui-vn-workflows.md +197 -0
- package/skills/vn-dialogue-tree/SKILL.md +126 -0
- package/skills/vn-gdd/SKILL.md +133 -0
- package/skills/vn-narrative-design/SKILL.md +185 -0
- package/skills/vn-renpy-setup/SKILL.md +136 -0
- package/skills/vn-scene-compose/SKILL.md +234 -0
- package/skills/vn-script/SKILL.md +140 -0
- package/skills/vn-script/references/renpy-cheatsheet.md +169 -0
- package/skills/vn-testing/SKILL.md +178 -0
- package/skills/vn-ui-design/SKILL.md +220 -0
- package/skills/web-security/SKILL.md +92 -0
- package/skills/web-security/references/csp-and-frontend.md +36 -0
- package/skills/webhooks/SKILL.md +102 -0
- package/skills/websocket-realtime-rooms/SKILL.md +46 -0
- package/skills/websocket-realtime-rooms/references/anti-patterns-checklist.md +27 -0
- package/skills/websocket-realtime-rooms/references/auth-security.md +9 -0
- package/skills/websocket-realtime-rooms/references/client-implementation.md +15 -0
- package/skills/websocket-realtime-rooms/references/heartbeat-reconnect-backpressure.md +17 -0
- package/skills/weekly-digest/SKILL.md +51 -0
- package/skills/worktree-isolation/README.md +193 -0
- package/skills/worktree-isolation/SKILL.md +87 -0
- package/skills/worktree-isolation/scripts/apply.py +178 -0
- package/skills/worktree-isolation/scripts/lib.py +371 -0
- package/skills/worktree-isolation-setup/README.md +137 -0
- package/skills/worktree-isolation-setup/SKILL.md +192 -0
- package/skills/worktree-isolation-setup/scripts/apply.py +178 -0
- package/skills/worktree-isolation-setup/scripts/install_hook.py +118 -0
- package/skills/worktree-isolation-setup/scripts/lib.py +371 -0
- package/skills/x-twitter-growth/SKILL.md +91 -0
- package/skills/x-twitter-growth/references/algorithm-signals.md +70 -0
- package/skills/x-twitter-growth/scripts/competitor_analyzer.py +235 -0
- package/skills/x-twitter-growth/scripts/content_planner.py +210 -0
- package/skills/x-twitter-growth/scripts/growth_tracker.py +259 -0
- package/skills/x-twitter-growth/scripts/profile_auditor.py +294 -0
- package/skills/x-twitter-growth/scripts/tweet_composer.py +290 -0
- package/skills/xlsx-generator/SKILL.md +135 -0
- package/skills/xlsx-generator/references/create.md +691 -0
- package/skills/xlsx-generator/references/edit.md +684 -0
- package/skills/xlsx-generator/references/fix.md +37 -0
- package/skills/xlsx-generator/references/format.md +768 -0
- package/skills/xlsx-generator/references/ooxml-cheatsheet.md +231 -0
- package/skills/xlsx-generator/references/read-analyze.md +97 -0
- package/skills/xlsx-generator/references/validate.md +772 -0
- package/skills/xlsx-generator/scripts/formula_check.py +422 -0
- package/skills/xlsx-generator/scripts/libreoffice_recalc.py +248 -0
- package/skills/xlsx-generator/scripts/shared_strings_builder.py +163 -0
- package/skills/xlsx-generator/scripts/style_audit.py +575 -0
- package/skills/xlsx-generator/scripts/xlsx_add_column.py +395 -0
- package/skills/xlsx-generator/scripts/xlsx_insert_row.py +274 -0
- package/skills/xlsx-generator/scripts/xlsx_pack.py +87 -0
- package/skills/xlsx-generator/scripts/xlsx_reader.py +362 -0
- package/skills/xlsx-generator/scripts/xlsx_shift_rows.py +396 -0
- package/skills/xlsx-generator/scripts/xlsx_unpack.py +130 -0
- package/skills/xlsx-generator/templates/minimal_xlsx/[Content_Types].xml +9 -0
- package/skills/xlsx-generator/templates/minimal_xlsx/_rels/.rels +6 -0
- package/skills/xlsx-generator/templates/minimal_xlsx/xl/_rels/workbook.xml.rels +19 -0
- package/skills/xlsx-generator/templates/minimal_xlsx/xl/sharedStrings.xml +33 -0
- package/skills/xlsx-generator/templates/minimal_xlsx/xl/styles.xml +160 -0
- package/skills/xlsx-generator/templates/minimal_xlsx/xl/workbook.xml +30 -0
- package/skills/xlsx-generator/templates/minimal_xlsx/xl/worksheets/sheet1.xml +70 -0
- package/templates/gamedev/architecture-decision-record.md +176 -0
- package/templates/gamedev/art-bible.md +80 -0
- package/templates/gamedev/concept-doc-from-prototype.md +304 -0
- package/templates/gamedev/difficulty-curve.md +330 -0
- package/templates/gamedev/economy-model.md +130 -0
- package/templates/gamedev/faction-design.md +166 -0
- package/templates/gamedev/game-concept.md +316 -0
- package/templates/gamedev/game-design-document.md +219 -0
- package/templates/gamedev/game-pillars.md +313 -0
- package/templates/gamedev/hud-design.md +505 -0
- package/templates/gamedev/level-design-document.md +111 -0
- package/templates/gamedev/narrative-character-sheet.md +111 -0
- package/templates/gamedev/pitch-document.md +140 -0
- package/templates/gamedev/player-journey.md +357 -0
- package/templates/gamedev/project-stage-report.md +199 -0
- package/templates/gamedev/sound-bible.md +130 -0
- package/templates/gamedev/systems-index.md +146 -0
- package/templates/gamedev/technical-design-document.md +96 -0
- package/templates/gamedev/test-evidence.md +86 -0
- package/templates/gamedev/test-plan.md +144 -0
|
@@ -0,0 +1,1167 @@
|
|
|
1
|
+
# SwiftUI Design Guidelines
|
|
2
|
+
|
|
3
|
+
Design rules based on Apple Human Interface Guidelines for building native iOS interfaces with SwiftUI.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Design Philosophy
|
|
8
|
+
|
|
9
|
+
iOS design prioritizes **content over chrome**. The interface should feel invisible—users focus on their tasks, not the UI.
|
|
10
|
+
|
|
11
|
+
**Key mindsets:**
|
|
12
|
+
|
|
13
|
+
1. **Let content breathe** — Use full-screen layouts, minimize borders and boxes, let images and text take center stage
|
|
14
|
+
|
|
15
|
+
2. **Leverage system conventions** — Users already know how iOS works; don't reinvent navigation, gestures, or controls
|
|
16
|
+
|
|
17
|
+
3. **Design for fingers** — Touch is imprecise; generous tap targets and forgiving gesture recognition matter more than pixel-perfect layouts
|
|
18
|
+
|
|
19
|
+
4. **Respect user choices** — Honor Dynamic Type, Dark Mode, Reduce Motion, and other accessibility settings as first-class requirements
|
|
20
|
+
|
|
21
|
+
**iOS 26+ Liquid Glass:**
|
|
22
|
+
The latest iOS introduces translucent UI elements that respond to lighting and content behind them. Typography is bolder, text tends left-aligned for easier scanning.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 1. Layout & Safe Areas
|
|
27
|
+
|
|
28
|
+
**Impact:** CRITICAL
|
|
29
|
+
|
|
30
|
+
### 1.1 Minimum 44pt Touch Targets
|
|
31
|
+
|
|
32
|
+
All interactive elements must have minimum 44x44 **points** (not pixels—points scale with screen density).
|
|
33
|
+
|
|
34
|
+
```swift
|
|
35
|
+
Button(action: handleTap) {
|
|
36
|
+
Image(systemName: "heart.fill")
|
|
37
|
+
}
|
|
38
|
+
.frame(minWidth: 44, minHeight: 44)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Avoid placing critical interactions near screen edges where system gestures operate.
|
|
42
|
+
|
|
43
|
+
### 1.2 Respect Safe Areas
|
|
44
|
+
|
|
45
|
+
Never place interactive or essential content under the status bar, Dynamic Island, or home indicator. SwiftUI respects safe areas by default. Use `.ignoresSafeArea()` only for background fills, images, or decorative elements—never for text or interactive controls.
|
|
46
|
+
|
|
47
|
+
```swift
|
|
48
|
+
ZStack {
|
|
49
|
+
LinearGradient(colors: [.blue, .purple], startPoint: .top, endPoint: .bottom)
|
|
50
|
+
.ignoresSafeArea()
|
|
51
|
+
|
|
52
|
+
VStack {
|
|
53
|
+
Text("Welcome")
|
|
54
|
+
.font(.largeTitle)
|
|
55
|
+
Button("Get Started") { }
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 1.3 Primary Actions in Thumb Zone
|
|
61
|
+
|
|
62
|
+
Place primary actions at the bottom of the screen where the user's thumb naturally rests. Secondary actions and navigation belong at the top.
|
|
63
|
+
|
|
64
|
+
```swift
|
|
65
|
+
VStack {
|
|
66
|
+
ScrollView {
|
|
67
|
+
// Content
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
Spacer()
|
|
71
|
+
|
|
72
|
+
Button("Submit") { submit() }
|
|
73
|
+
.buttonStyle(.borderedProminent)
|
|
74
|
+
.padding(.horizontal)
|
|
75
|
+
.padding(.bottom)
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 1.4 Support All Screen Sizes
|
|
80
|
+
|
|
81
|
+
Design for iPhone SE (375pt) through iPad Pro (1024pt+). Use Size Classes to adapt:
|
|
82
|
+
|
|
83
|
+
```swift
|
|
84
|
+
@Environment(\.horizontalSizeClass) private var sizeClass
|
|
85
|
+
|
|
86
|
+
var body: some View {
|
|
87
|
+
if sizeClass == .compact {
|
|
88
|
+
VStack { content }
|
|
89
|
+
} else {
|
|
90
|
+
HStack { content }
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
| Size Class | Devices |
|
|
96
|
+
|------------|---------|
|
|
97
|
+
| Compact width | iPhone portrait, small iPhone landscape |
|
|
98
|
+
| Regular width | iPad, large iPhone landscape |
|
|
99
|
+
|
|
100
|
+
Use flexible layouts, avoid hardcoded widths:
|
|
101
|
+
|
|
102
|
+
```swift
|
|
103
|
+
HStack(spacing: 16) {
|
|
104
|
+
ForEach(categories) { category in
|
|
105
|
+
CategoryCard(category: category)
|
|
106
|
+
.frame(maxWidth: .infinity)
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### 1.5 8pt Grid Alignment
|
|
112
|
+
|
|
113
|
+
Align spacing, padding, and element sizes to multiples of 8 points (8, 16, 24, 32, 40, 48). Use 4pt for fine adjustments.
|
|
114
|
+
|
|
115
|
+
### 1.6 Landscape Support
|
|
116
|
+
|
|
117
|
+
Support landscape orientation unless the app is task-specific (e.g., camera). Use `ViewThatFits` or `GeometryReader` for adaptive layouts.
|
|
118
|
+
|
|
119
|
+
```swift
|
|
120
|
+
ViewThatFits {
|
|
121
|
+
HStack { contentViews }
|
|
122
|
+
VStack { contentViews }
|
|
123
|
+
}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## 2. Navigation
|
|
129
|
+
|
|
130
|
+
**Impact:** CRITICAL
|
|
131
|
+
|
|
132
|
+
### 2.1 Tab Bar for Top-Level Sections
|
|
133
|
+
|
|
134
|
+
Use a tab bar at the bottom of the screen for 3 to 5 top-level sections. Each tab should represent a distinct category of content or functionality.
|
|
135
|
+
|
|
136
|
+
```swift
|
|
137
|
+
TabView(selection: $selectedTab) {
|
|
138
|
+
HomeView()
|
|
139
|
+
.tabItem {
|
|
140
|
+
Label("Home", systemImage: "house")
|
|
141
|
+
}
|
|
142
|
+
.tag(Tab.home)
|
|
143
|
+
|
|
144
|
+
DiscoverView()
|
|
145
|
+
.tabItem {
|
|
146
|
+
Label("Discover", systemImage: "magnifyingglass")
|
|
147
|
+
}
|
|
148
|
+
.tag(Tab.discover)
|
|
149
|
+
|
|
150
|
+
AccountView()
|
|
151
|
+
.tabItem {
|
|
152
|
+
Label("Account", systemImage: "person")
|
|
153
|
+
}
|
|
154
|
+
.tag(Tab.account)
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### 2.2 Navigation Architecture
|
|
159
|
+
|
|
160
|
+
**Tab Bar (Flat)** — For 3-5 equal-importance sections
|
|
161
|
+
- Always visible except when covered by modals
|
|
162
|
+
- Each tab maintains its own navigation stack
|
|
163
|
+
- Most important content leftmost (easier thumb access)
|
|
164
|
+
|
|
165
|
+
**Hierarchical (Drill-Down)** — For tree-structured info
|
|
166
|
+
- Push/pop navigation with back button
|
|
167
|
+
- Minimize depth (3-4 levels max)
|
|
168
|
+
- Provide search as escape hatch for deep trees
|
|
169
|
+
|
|
170
|
+
**Modal (Focused Tasks)** — For self-contained workflows
|
|
171
|
+
- Full-screen for critical tasks
|
|
172
|
+
- Page sheet for dismissible tasks (swipe-down)
|
|
173
|
+
- Clear Done/Cancel with confirmation if data loss possible
|
|
174
|
+
|
|
175
|
+
Never use hamburger menus—they reduce feature discoverability significantly.
|
|
176
|
+
|
|
177
|
+
### 2.3 Large Titles in Primary Views
|
|
178
|
+
|
|
179
|
+
Use `.navigationBarTitleDisplayMode(.large)` for top-level views. Titles transition to inline when the user scrolls.
|
|
180
|
+
|
|
181
|
+
```swift
|
|
182
|
+
NavigationStack {
|
|
183
|
+
List(conversations) { conversation in
|
|
184
|
+
ConversationRow(conversation: conversation)
|
|
185
|
+
}
|
|
186
|
+
.navigationTitle("Inbox")
|
|
187
|
+
.navigationBarTitleDisplayMode(.large)
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### 2.4 Never Override Back Swipe
|
|
192
|
+
|
|
193
|
+
The swipe-from-left-edge gesture for back navigation is a system-level expectation. Never attach custom gesture recognizers that interfere with it.
|
|
194
|
+
|
|
195
|
+
### 2.5 Use NavigationStack for Hierarchical Content
|
|
196
|
+
|
|
197
|
+
Use `NavigationStack` (not the deprecated `NavigationView`) for drill-down content. Use `NavigationPath` for programmatic navigation.
|
|
198
|
+
|
|
199
|
+
```swift
|
|
200
|
+
@State private var navPath = NavigationPath()
|
|
201
|
+
|
|
202
|
+
NavigationStack(path: $navPath) {
|
|
203
|
+
List(products) { product in
|
|
204
|
+
NavigationLink(value: product) {
|
|
205
|
+
ProductRow(product: product)
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
.navigationDestination(for: Product.self) { product in
|
|
209
|
+
ProductDetailView(product: product)
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### 2.6 Preserve State Across Navigation
|
|
215
|
+
|
|
216
|
+
When users navigate back and then forward, or switch tabs, restore the previous scroll position and input state.
|
|
217
|
+
|
|
218
|
+
```swift
|
|
219
|
+
@SceneStorage("selectedTab") private var selectedTab = Tab.home
|
|
220
|
+
@SceneStorage("scrollPosition") private var scrollPosition: String?
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## 3. Typography & Dynamic Type
|
|
226
|
+
|
|
227
|
+
**Impact:** HIGH
|
|
228
|
+
|
|
229
|
+
### 3.1 Use Built-in Text Styles
|
|
230
|
+
|
|
231
|
+
Always use semantic text styles—they scale with Dynamic Type automatically:
|
|
232
|
+
|
|
233
|
+
| Style | Usage |
|
|
234
|
+
|-------|-------|
|
|
235
|
+
| `.largeTitle` | Screen titles |
|
|
236
|
+
| `.title`, `.title2`, `.title3` | Section headers |
|
|
237
|
+
| `.headline` | Emphasized body text |
|
|
238
|
+
| `.body` | Primary content (17pt default) |
|
|
239
|
+
| `.callout` | Secondary emphasized |
|
|
240
|
+
| `.subheadline` | Supporting labels |
|
|
241
|
+
| `.footnote`, `.caption` | Tertiary info |
|
|
242
|
+
| `.caption2` | Minimum size (11pt) |
|
|
243
|
+
|
|
244
|
+
```swift
|
|
245
|
+
VStack(alignment: .leading, spacing: 8) {
|
|
246
|
+
Text("Article Title")
|
|
247
|
+
.font(.headline)
|
|
248
|
+
|
|
249
|
+
Text("Published by Author Name")
|
|
250
|
+
.font(.subheadline)
|
|
251
|
+
.foregroundStyle(.secondary)
|
|
252
|
+
|
|
253
|
+
Text(articleBody)
|
|
254
|
+
.font(.body)
|
|
255
|
+
}
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### 3.2 Support Dynamic Type Including Accessibility Sizes
|
|
259
|
+
|
|
260
|
+
Dynamic Type can scale text up to approximately 200% at the largest accessibility sizes. Layouts must reflow—never truncate or clip essential text.
|
|
261
|
+
|
|
262
|
+
```swift
|
|
263
|
+
@Environment(\.dynamicTypeSize) private var typeSize
|
|
264
|
+
|
|
265
|
+
var body: some View {
|
|
266
|
+
if typeSize.isAccessibilitySize {
|
|
267
|
+
VStack(alignment: .leading) { content }
|
|
268
|
+
} else {
|
|
269
|
+
HStack { content }
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
### 3.3 Custom Fonts Must Scale
|
|
275
|
+
|
|
276
|
+
If you use a custom typeface, scale it with `Font.custom(_:size:relativeTo:)` so it responds to Dynamic Type.
|
|
277
|
+
|
|
278
|
+
```swift
|
|
279
|
+
Text("Brand Text")
|
|
280
|
+
.font(.custom("Avenir-Medium", size: 17, relativeTo: .body))
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
### 3.4 SF Pro as System Font
|
|
284
|
+
|
|
285
|
+
Use the system font (SF Pro) unless brand requirements dictate otherwise. SF Pro is optimized for legibility on Apple displays.
|
|
286
|
+
|
|
287
|
+
### 3.5 Minimum 11pt Text
|
|
288
|
+
|
|
289
|
+
Never display text smaller than 11pt. Prefer 17pt for body text. Use the `caption2` style (11pt) as the absolute minimum.
|
|
290
|
+
|
|
291
|
+
### 3.6 Hierarchy Through Weight and Size
|
|
292
|
+
|
|
293
|
+
Establish visual hierarchy through font weight and size. Do not rely solely on color to differentiate text levels.
|
|
294
|
+
|
|
295
|
+
### 3.7 SF Symbols
|
|
296
|
+
|
|
297
|
+
Use SF Symbols (6,900+ icons) instead of custom image assets:
|
|
298
|
+
|
|
299
|
+
```swift
|
|
300
|
+
// Basic usage with automatic text alignment
|
|
301
|
+
Label("Favorites", systemImage: "star.fill")
|
|
302
|
+
|
|
303
|
+
// Rendering modes
|
|
304
|
+
Image(systemName: "cloud.sun.rain")
|
|
305
|
+
.symbolRenderingMode(.hierarchical) // or .multicolor, .palette
|
|
306
|
+
.imageScale(.large) // .small, .medium, .large
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
SF Symbols automatically match text weight, scale with Dynamic Type, and align to text baselines. Let them size naturally—don't force them into fixed-dimension containers.
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## 4. Color & Dark Mode
|
|
314
|
+
|
|
315
|
+
**Impact:** HIGH
|
|
316
|
+
|
|
317
|
+
### 4.1 Use Semantic System Colors
|
|
318
|
+
|
|
319
|
+
Never use hard-coded RGB, hex, or `.black`/`.white` directly. Use semantic colors:
|
|
320
|
+
|
|
321
|
+
**Labels:**
|
|
322
|
+
- `.primary`, `.secondary`, `.tertiary`, `.quaternary`
|
|
323
|
+
|
|
324
|
+
**Backgrounds:**
|
|
325
|
+
- `Color(.systemBackground)` — primary surface
|
|
326
|
+
- `Color(.secondarySystemBackground)` — cards, grouped
|
|
327
|
+
- `Color(.tertiarySystemBackground)` — nested elements
|
|
328
|
+
|
|
329
|
+
**System Colors (adapt to appearance):**
|
|
330
|
+
- `.blue`, `.red`, `.green`, `.orange`, `.yellow`, `.purple`, `.pink`, `.cyan`, `.mint`, `.teal`, `.indigo`, `.brown`, `.gray`
|
|
331
|
+
|
|
332
|
+
```swift
|
|
333
|
+
VStack {
|
|
334
|
+
Text("Primary content")
|
|
335
|
+
.foregroundStyle(.primary)
|
|
336
|
+
|
|
337
|
+
Text("Supporting info")
|
|
338
|
+
.foregroundStyle(.secondary)
|
|
339
|
+
}
|
|
340
|
+
.background(Color(.systemBackground))
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
### 4.2 Custom Colors Need 4 Variants
|
|
344
|
+
|
|
345
|
+
For custom colors, define in asset catalog with all appearance combinations:
|
|
346
|
+
1. Light mode
|
|
347
|
+
2. Dark mode
|
|
348
|
+
3. Light mode + High Contrast
|
|
349
|
+
4. Dark mode + High Contrast
|
|
350
|
+
|
|
351
|
+
```swift
|
|
352
|
+
Text("Branded element")
|
|
353
|
+
.foregroundStyle(Color("AccentBrand"))
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
For dynamic colors in code:
|
|
357
|
+
|
|
358
|
+
```swift
|
|
359
|
+
let dynamicColor = UIColor { traits in
|
|
360
|
+
traits.userInterfaceStyle == .dark
|
|
361
|
+
? UIColor(red: 0.9, green: 0.9, blue: 1.0, alpha: 1.0)
|
|
362
|
+
: UIColor(red: 0.1, green: 0.1, blue: 0.2, alpha: 1.0)
|
|
363
|
+
}
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
### 4.3 Never Rely on Color Alone
|
|
367
|
+
|
|
368
|
+
Always pair color with text, icons, or shapes to convey meaning. Approximately 8% of men have some form of color vision deficiency.
|
|
369
|
+
|
|
370
|
+
```swift
|
|
371
|
+
HStack(spacing: 6) {
|
|
372
|
+
Image(systemName: "exclamationmark.triangle.fill")
|
|
373
|
+
Text("Connection failed")
|
|
374
|
+
}
|
|
375
|
+
.foregroundStyle(.red)
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
### 4.4 4.5:1 Contrast Ratio Minimum
|
|
379
|
+
|
|
380
|
+
All text must meet WCAG AA contrast ratios: 4.5:1 for normal text, 3:1 for large text (18pt+ or 14pt+ bold).
|
|
381
|
+
|
|
382
|
+
### 4.5 Support Display P3 Wide Gamut
|
|
383
|
+
|
|
384
|
+
Use Display P3 color space for vibrant, accurate colors on modern iPhones. Define colors in the asset catalog with the Display P3 gamut.
|
|
385
|
+
|
|
386
|
+
### 4.6 Background Hierarchy
|
|
387
|
+
|
|
388
|
+
Layer backgrounds to create visual depth:
|
|
389
|
+
|
|
390
|
+
```swift
|
|
391
|
+
// Level 1: Main view background
|
|
392
|
+
Color(.systemBackground)
|
|
393
|
+
|
|
394
|
+
// Level 2: Cards, grouped sections
|
|
395
|
+
Color(.secondarySystemBackground)
|
|
396
|
+
|
|
397
|
+
// Level 3: Nested elements within cards
|
|
398
|
+
Color(.tertiarySystemBackground)
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
### 4.7 One Accent Color for Interactive Elements
|
|
402
|
+
|
|
403
|
+
Choose a single tint/accent color for all interactive elements (buttons, links, toggles). This creates a consistent, learnable visual language.
|
|
404
|
+
|
|
405
|
+
```swift
|
|
406
|
+
@main
|
|
407
|
+
struct MyApp: App {
|
|
408
|
+
var body: some Scene {
|
|
409
|
+
WindowGroup {
|
|
410
|
+
ContentView()
|
|
411
|
+
.tint(.orange)
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
---
|
|
418
|
+
|
|
419
|
+
## 5. Accessibility
|
|
420
|
+
|
|
421
|
+
**Impact:** CRITICAL
|
|
422
|
+
|
|
423
|
+
### 5.1 VoiceOver Labels on All Interactive Elements
|
|
424
|
+
|
|
425
|
+
Every button, control, and interactive element must have a meaningful accessibility label.
|
|
426
|
+
|
|
427
|
+
```swift
|
|
428
|
+
Button(action: toggleFavorite) {
|
|
429
|
+
Image(systemName: isFavorite ? "heart.fill" : "heart")
|
|
430
|
+
}
|
|
431
|
+
.accessibilityLabel(isFavorite ? "Remove from favorites" : "Add to favorites")
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
### 5.2 Logical VoiceOver Navigation Order
|
|
435
|
+
|
|
436
|
+
Ensure VoiceOver reads elements in a logical order. Use `.accessibilitySortPriority()` to adjust when the visual layout doesn't match the reading order.
|
|
437
|
+
|
|
438
|
+
```swift
|
|
439
|
+
HStack {
|
|
440
|
+
Text("$49.99")
|
|
441
|
+
.accessibilitySortPriority(2)
|
|
442
|
+
Text("Premium Plan")
|
|
443
|
+
.accessibilitySortPriority(1)
|
|
444
|
+
}
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
### 5.3 Support Bold Text
|
|
448
|
+
|
|
449
|
+
When the user enables Bold Text in Settings, SwiftUI text styles handle this automatically. Custom text must respond to `UIAccessibility.isBoldTextEnabled`.
|
|
450
|
+
|
|
451
|
+
### 5.4 Support Reduce Motion
|
|
452
|
+
|
|
453
|
+
Disable decorative animations and parallax when Reduce Motion is enabled.
|
|
454
|
+
|
|
455
|
+
```swift
|
|
456
|
+
@Environment(\.accessibilityReduceMotion) private var reduceMotion
|
|
457
|
+
|
|
458
|
+
var body: some View {
|
|
459
|
+
CardView()
|
|
460
|
+
.animation(reduceMotion ? nil : .spring(duration: 0.4), value: expanded)
|
|
461
|
+
}
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
### 5.5 Support Increase Contrast
|
|
465
|
+
|
|
466
|
+
When the user enables Increase Contrast, ensure custom colors have higher-contrast variants. Use `@Environment(\.colorSchemeContrast)` to detect.
|
|
467
|
+
|
|
468
|
+
### 5.6 Don't Convey Info Only by Color, Shape, or Position
|
|
469
|
+
|
|
470
|
+
Information must be available through multiple channels. Pair visual indicators with text or accessibility descriptions.
|
|
471
|
+
|
|
472
|
+
### 5.7 Alternative Interactions for All Gestures
|
|
473
|
+
|
|
474
|
+
Every custom gesture must have an equivalent tap-based or menu-based alternative for users who cannot perform complex gestures.
|
|
475
|
+
|
|
476
|
+
### 5.8 Support Switch Control and Full Keyboard Access
|
|
477
|
+
|
|
478
|
+
Ensure all interactions work with Switch Control (external switches) and Full Keyboard Access (Bluetooth keyboards). Test navigation order and focus behavior.
|
|
479
|
+
|
|
480
|
+
---
|
|
481
|
+
|
|
482
|
+
## 6. Gestures & Input
|
|
483
|
+
|
|
484
|
+
**Impact:** HIGH
|
|
485
|
+
|
|
486
|
+
### 6.1 Use Standard Gestures
|
|
487
|
+
|
|
488
|
+
Stick to gestures users already know:
|
|
489
|
+
|
|
490
|
+
- **Tap** — Select items, trigger buttons
|
|
491
|
+
- **Long press** — Show context menus, enter edit mode
|
|
492
|
+
- **Horizontal swipe** — List row actions (delete/archive), back navigation
|
|
493
|
+
- **Vertical swipe** — Scroll content, dismiss sheets
|
|
494
|
+
- **Pinch** — Scale images/maps
|
|
495
|
+
- **Rotate** — Adjust angle (photos, maps)
|
|
496
|
+
|
|
497
|
+
### 6.2 Never Override System Gestures
|
|
498
|
+
|
|
499
|
+
iOS reserves these edge gestures—do not intercept:
|
|
500
|
+
|
|
501
|
+
- Left edge swipe → back navigation
|
|
502
|
+
- Top-left pull → Notification Center
|
|
503
|
+
- Top-right pull → Control Center
|
|
504
|
+
- Bottom edge swipe → home/app switcher
|
|
505
|
+
|
|
506
|
+
### 6.3 Custom Gestures Must Be Discoverable
|
|
507
|
+
|
|
508
|
+
If you add a custom gesture, provide visual hints (e.g., a grabber handle) and ensure the action is also available through a visible button or menu item.
|
|
509
|
+
|
|
510
|
+
### 6.4 Support All Input Methods
|
|
511
|
+
|
|
512
|
+
Design for touch first, but also support hardware keyboards, assistive devices (Switch Control, head tracking), and pointer input.
|
|
513
|
+
|
|
514
|
+
---
|
|
515
|
+
|
|
516
|
+
## 7. Components
|
|
517
|
+
|
|
518
|
+
**Impact:** HIGH
|
|
519
|
+
|
|
520
|
+
### 7.1 Button Styles
|
|
521
|
+
|
|
522
|
+
Use the built-in button styles appropriately:
|
|
523
|
+
|
|
524
|
+
```swift
|
|
525
|
+
VStack(spacing: 16) {
|
|
526
|
+
Button("Checkout") { checkout() }
|
|
527
|
+
.buttonStyle(.borderedProminent)
|
|
528
|
+
|
|
529
|
+
Button("Add to Wishlist") { addToWishlist() }
|
|
530
|
+
.buttonStyle(.bordered)
|
|
531
|
+
|
|
532
|
+
Button("Remove Item", role: .destructive) { removeItem() }
|
|
533
|
+
}
|
|
534
|
+
```
|
|
535
|
+
|
|
536
|
+
### 7.2 Alerts — Critical Info Only
|
|
537
|
+
|
|
538
|
+
Use alerts sparingly for critical information that requires a decision. Prefer 2 buttons; maximum 3.
|
|
539
|
+
|
|
540
|
+
```swift
|
|
541
|
+
.alert("Discard Draft?", isPresented: $showDiscardAlert) {
|
|
542
|
+
Button("Discard", role: .destructive) { discardDraft() }
|
|
543
|
+
Button("Keep Editing", role: .cancel) { }
|
|
544
|
+
} message: {
|
|
545
|
+
Text("Your unsaved changes will be lost.")
|
|
546
|
+
}
|
|
547
|
+
```
|
|
548
|
+
|
|
549
|
+
### 7.3 Sheets for Scoped Tasks
|
|
550
|
+
|
|
551
|
+
Present sheets for self-contained tasks. Always provide a way to dismiss (close button or swipe down).
|
|
552
|
+
|
|
553
|
+
```swift
|
|
554
|
+
.sheet(isPresented: $showEditor) {
|
|
555
|
+
NavigationStack {
|
|
556
|
+
EditorView()
|
|
557
|
+
.navigationTitle("Edit Profile")
|
|
558
|
+
.toolbar {
|
|
559
|
+
ToolbarItem(placement: .cancellationAction) {
|
|
560
|
+
Button("Cancel") { showEditor = false }
|
|
561
|
+
}
|
|
562
|
+
ToolbarItem(placement: .confirmationAction) {
|
|
563
|
+
Button("Save") { saveProfile() }
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
.presentationDetents([.medium, .large])
|
|
568
|
+
.presentationDragIndicator(.visible)
|
|
569
|
+
}
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
### 7.4 Lists — The Foundation of iOS Apps
|
|
573
|
+
|
|
574
|
+
Most iOS apps are lists ("90% of mobile design is list design").
|
|
575
|
+
|
|
576
|
+
**List Styles:**
|
|
577
|
+
- `.insetGrouped` — Modern default (rounded corners, margins)
|
|
578
|
+
- `.grouped` — Traditional grouped sections
|
|
579
|
+
- `.plain` — Edge-to-edge rows
|
|
580
|
+
- `.sidebar` — Three-column iPad layout
|
|
581
|
+
|
|
582
|
+
**Swipe Actions:**
|
|
583
|
+
- Leading swipe → Positive actions (mark read, archive)
|
|
584
|
+
- Trailing swipe → Destructive actions (delete at far right)
|
|
585
|
+
- Maximum 3-4 actions per side
|
|
586
|
+
|
|
587
|
+
**Row Accessories:**
|
|
588
|
+
- Chevron → Indicates navigation
|
|
589
|
+
- Checkmark → Shows selection
|
|
590
|
+
- Detail button → Additional info without navigation
|
|
591
|
+
|
|
592
|
+
```swift
|
|
593
|
+
List {
|
|
594
|
+
Section("Notifications") {
|
|
595
|
+
ForEach(notifications) { notification in
|
|
596
|
+
NotificationRow(notification: notification)
|
|
597
|
+
.swipeActions(edge: .trailing, allowsFullSwipe: true) {
|
|
598
|
+
Button(role: .destructive) {
|
|
599
|
+
delete(notification)
|
|
600
|
+
} label: {
|
|
601
|
+
Label("Delete", systemImage: "trash")
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
Button {
|
|
605
|
+
markRead(notification)
|
|
606
|
+
} label: {
|
|
607
|
+
Label("Read", systemImage: "envelope.open")
|
|
608
|
+
}
|
|
609
|
+
.tint(.blue)
|
|
610
|
+
}
|
|
611
|
+
.swipeActions(edge: .leading) {
|
|
612
|
+
Button {
|
|
613
|
+
pin(notification)
|
|
614
|
+
} label: {
|
|
615
|
+
Label("Pin", systemImage: "pin")
|
|
616
|
+
}
|
|
617
|
+
.tint(.orange)
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
.listStyle(.insetGrouped)
|
|
623
|
+
```
|
|
624
|
+
|
|
625
|
+
### 7.5 Tab Bar Behavior
|
|
626
|
+
|
|
627
|
+
- Use SF Symbols for tab icons — filled variant for the selected tab, outline for unselected
|
|
628
|
+
- Never hide the tab bar when navigating deeper within a tab
|
|
629
|
+
- Badge important counts with `.badge()`
|
|
630
|
+
|
|
631
|
+
```swift
|
|
632
|
+
NotificationsView()
|
|
633
|
+
.tabItem {
|
|
634
|
+
Label("Notifications", systemImage: "bell")
|
|
635
|
+
}
|
|
636
|
+
.badge(unreadCount)
|
|
637
|
+
```
|
|
638
|
+
|
|
639
|
+
### 7.6 Search
|
|
640
|
+
|
|
641
|
+
Place search using `.searchable()`. Provide search suggestions and support recent searches.
|
|
642
|
+
|
|
643
|
+
```swift
|
|
644
|
+
NavigationStack {
|
|
645
|
+
List(searchResults) { item in
|
|
646
|
+
ItemRow(item: item)
|
|
647
|
+
}
|
|
648
|
+
.searchable(text: $query, prompt: "Search products")
|
|
649
|
+
.searchSuggestions {
|
|
650
|
+
ForEach(recentSearches, id: \.self) { term in
|
|
651
|
+
Text(term)
|
|
652
|
+
.searchCompletion(term)
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
```
|
|
657
|
+
|
|
658
|
+
### 7.7 Context Menus
|
|
659
|
+
|
|
660
|
+
Use context menus (long press) for secondary actions. Never use a context menu as the only way to access an action.
|
|
661
|
+
|
|
662
|
+
```swift
|
|
663
|
+
ImageThumbnail(image: image)
|
|
664
|
+
.contextMenu {
|
|
665
|
+
Button { shareImage(image) } label: {
|
|
666
|
+
Label("Share", systemImage: "square.and.arrow.up")
|
|
667
|
+
}
|
|
668
|
+
Button { copyImage(image) } label: {
|
|
669
|
+
Label("Copy", systemImage: "doc.on.doc")
|
|
670
|
+
}
|
|
671
|
+
Divider()
|
|
672
|
+
Button(role: .destructive) { deleteImage(image) } label: {
|
|
673
|
+
Label("Delete", systemImage: "trash")
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
```
|
|
677
|
+
|
|
678
|
+
### 7.8 Forms and Input
|
|
679
|
+
|
|
680
|
+
**Text Fields:**
|
|
681
|
+
- 44pt minimum height
|
|
682
|
+
- Match keyboard type to input (`.emailAddress`, `.numberPad`, `.URL`)
|
|
683
|
+
- Clear button when text entered
|
|
684
|
+
- Placeholder uses `.quaternary` label color
|
|
685
|
+
|
|
686
|
+
```swift
|
|
687
|
+
Form {
|
|
688
|
+
Section("Account") {
|
|
689
|
+
TextField("Email", text: $email)
|
|
690
|
+
.textContentType(.emailAddress)
|
|
691
|
+
.keyboardType(.emailAddress)
|
|
692
|
+
.autocapitalization(.none)
|
|
693
|
+
|
|
694
|
+
SecureField("Password", text: $password)
|
|
695
|
+
.textContentType(.password)
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
Section {
|
|
699
|
+
Button("Sign In") { signIn() }
|
|
700
|
+
.disabled(email.isEmpty || password.isEmpty)
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
```
|
|
704
|
+
|
|
705
|
+
**Pickers:**
|
|
706
|
+
- Inline → 3-7 options
|
|
707
|
+
- Menu → 2-5 options (iOS 14+)
|
|
708
|
+
- Wheel → Date/time or long lists
|
|
709
|
+
|
|
710
|
+
### 7.9 Progress Indicators
|
|
711
|
+
|
|
712
|
+
- Determinate `ProgressView(value:total:)` for operations with known duration
|
|
713
|
+
- Indeterminate `ProgressView()` for unknown duration
|
|
714
|
+
- Never block the entire screen with a spinner
|
|
715
|
+
|
|
716
|
+
```swift
|
|
717
|
+
VStack {
|
|
718
|
+
ProgressView(value: uploadProgress, total: 1.0)
|
|
719
|
+
.progressViewStyle(.linear)
|
|
720
|
+
|
|
721
|
+
Text("\(Int(uploadProgress * 100))% uploaded")
|
|
722
|
+
.font(.caption)
|
|
723
|
+
.foregroundStyle(.secondary)
|
|
724
|
+
}
|
|
725
|
+
```
|
|
726
|
+
|
|
727
|
+
---
|
|
728
|
+
|
|
729
|
+
## 8. Patterns
|
|
730
|
+
|
|
731
|
+
**Impact:** MEDIUM
|
|
732
|
+
|
|
733
|
+
### 8.1 Onboarding — Max 3 Pages, Skippable
|
|
734
|
+
|
|
735
|
+
Keep onboarding to 3 or fewer pages. Always provide a skip option. Defer sign-in until the user needs authenticated features.
|
|
736
|
+
|
|
737
|
+
```swift
|
|
738
|
+
TabView(selection: $currentPage) {
|
|
739
|
+
OnboardingPage(icon: "sparkles", title: "Smart Features", description: "...")
|
|
740
|
+
.tag(0)
|
|
741
|
+
OnboardingPage(icon: "bell.badge", title: "Stay Notified", description: "...")
|
|
742
|
+
.tag(1)
|
|
743
|
+
OnboardingPage(icon: "lock.shield", title: "Private & Secure", description: "...")
|
|
744
|
+
.tag(2)
|
|
745
|
+
}
|
|
746
|
+
.tabViewStyle(.page)
|
|
747
|
+
.overlay(alignment: .topTrailing) {
|
|
748
|
+
Button("Skip") { finishOnboarding() }
|
|
749
|
+
.padding()
|
|
750
|
+
}
|
|
751
|
+
```
|
|
752
|
+
|
|
753
|
+
### 8.2 Loading — Skeleton Views, No Blocking Spinners
|
|
754
|
+
|
|
755
|
+
Use skeleton/placeholder views that match the layout of the content being loaded. Never show a full-screen blocking spinner.
|
|
756
|
+
|
|
757
|
+
```swift
|
|
758
|
+
if isLoading {
|
|
759
|
+
ForEach(0..<5, id: \.self) { _ in
|
|
760
|
+
ArticleRowPlaceholder()
|
|
761
|
+
.redacted(reason: .placeholder)
|
|
762
|
+
}
|
|
763
|
+
} else {
|
|
764
|
+
ForEach(articles) { article in
|
|
765
|
+
ArticleRow(article: article)
|
|
766
|
+
}
|
|
767
|
+
}
|
|
768
|
+
```
|
|
769
|
+
|
|
770
|
+
### 8.3 Launch Screen — Match First Screen
|
|
771
|
+
|
|
772
|
+
The launch storyboard must visually match the initial screen of the app. No splash logos, no branding screens. This creates the perception of instant launch.
|
|
773
|
+
|
|
774
|
+
### 8.4 Modality — Use Sparingly
|
|
775
|
+
|
|
776
|
+
Present modal views only when the user must complete or abandon a focused task. Always provide a clear dismiss action. Never stack modals on top of modals.
|
|
777
|
+
|
|
778
|
+
### 8.5 Notifications — High Value Only
|
|
779
|
+
|
|
780
|
+
Only send notifications for content the user genuinely cares about. Support actionable notifications. Categorize notifications so users can control them granularly.
|
|
781
|
+
|
|
782
|
+
### 8.6 Settings Placement
|
|
783
|
+
|
|
784
|
+
- Frequent settings: In-app settings screen accessible from a profile or gear icon
|
|
785
|
+
- Privacy/permission settings: Defer to the system Settings app via URL scheme
|
|
786
|
+
- Never duplicate system-level controls in-app
|
|
787
|
+
|
|
788
|
+
### 8.7 Action Sheets
|
|
789
|
+
|
|
790
|
+
For destructive or multiple-choice actions:
|
|
791
|
+
|
|
792
|
+
```swift
|
|
793
|
+
.confirmationDialog("Delete Photo?", isPresented: $showDelete, titleVisibility: .visible) {
|
|
794
|
+
Button("Delete", role: .destructive) { deletePhoto() }
|
|
795
|
+
Button("Cancel", role: .cancel) { }
|
|
796
|
+
} message: {
|
|
797
|
+
Text("This action cannot be undone.")
|
|
798
|
+
}
|
|
799
|
+
```
|
|
800
|
+
|
|
801
|
+
- Destructive action at top (red)
|
|
802
|
+
- Cancel at bottom
|
|
803
|
+
- Dismiss by tapping outside
|
|
804
|
+
|
|
805
|
+
### 8.8 Pull-to-Refresh
|
|
806
|
+
|
|
807
|
+
Standard pattern for content updates:
|
|
808
|
+
|
|
809
|
+
```swift
|
|
810
|
+
List(items) { item in
|
|
811
|
+
ItemRow(item: item)
|
|
812
|
+
}
|
|
813
|
+
.refreshable {
|
|
814
|
+
await loadNewItems()
|
|
815
|
+
}
|
|
816
|
+
```
|
|
817
|
+
|
|
818
|
+
### 8.9 Haptic Feedback
|
|
819
|
+
|
|
820
|
+
Provide tactile response for significant actions:
|
|
821
|
+
|
|
822
|
+
| Generator | Usage |
|
|
823
|
+
|-----------|-------|
|
|
824
|
+
| `UIImpactFeedbackGenerator` | Physical impacts (.light, .medium, .heavy) |
|
|
825
|
+
| `UINotificationFeedbackGenerator` | Success, warning, error |
|
|
826
|
+
| `UISelectionFeedbackGenerator` | Selection changes |
|
|
827
|
+
|
|
828
|
+
```swift
|
|
829
|
+
Button("Complete") {
|
|
830
|
+
let feedback = UINotificationFeedbackGenerator()
|
|
831
|
+
feedback.notificationOccurred(.success)
|
|
832
|
+
markComplete()
|
|
833
|
+
}
|
|
834
|
+
```
|
|
835
|
+
|
|
836
|
+
---
|
|
837
|
+
|
|
838
|
+
## 9. Privacy & Permissions
|
|
839
|
+
|
|
840
|
+
**Impact:** HIGH
|
|
841
|
+
|
|
842
|
+
### 9.1 Request Permissions in Context
|
|
843
|
+
|
|
844
|
+
Request a permission at the moment the user takes an action that needs it—never at app launch.
|
|
845
|
+
|
|
846
|
+
```swift
|
|
847
|
+
Button("Take Photo") {
|
|
848
|
+
AVCaptureDevice.requestAccess(for: .video) { granted in
|
|
849
|
+
if granted {
|
|
850
|
+
showCamera = true
|
|
851
|
+
}
|
|
852
|
+
}
|
|
853
|
+
}
|
|
854
|
+
```
|
|
855
|
+
|
|
856
|
+
### 9.2 Explain Before System Prompt
|
|
857
|
+
|
|
858
|
+
Show a custom explanation screen before triggering the system permission dialog. The system dialog only appears once—if the user denies, the app must direct them to Settings.
|
|
859
|
+
|
|
860
|
+
```swift
|
|
861
|
+
struct LocationPermissionView: View {
|
|
862
|
+
var body: some View {
|
|
863
|
+
VStack(spacing: 20) {
|
|
864
|
+
Image(systemName: "location.fill")
|
|
865
|
+
.font(.system(size: 48))
|
|
866
|
+
.foregroundStyle(.blue)
|
|
867
|
+
|
|
868
|
+
Text("Find Nearby Places")
|
|
869
|
+
.font(.title2.bold())
|
|
870
|
+
|
|
871
|
+
Text("We use your location to show relevant results. Your location is never stored or shared.")
|
|
872
|
+
.multilineTextAlignment(.center)
|
|
873
|
+
.foregroundStyle(.secondary)
|
|
874
|
+
|
|
875
|
+
Button("Enable Location") {
|
|
876
|
+
locationManager.requestWhenInUseAuthorization()
|
|
877
|
+
}
|
|
878
|
+
.buttonStyle(.borderedProminent)
|
|
879
|
+
|
|
880
|
+
Button("Not Now") { dismiss() }
|
|
881
|
+
.foregroundStyle(.secondary)
|
|
882
|
+
}
|
|
883
|
+
.padding()
|
|
884
|
+
}
|
|
885
|
+
}
|
|
886
|
+
```
|
|
887
|
+
|
|
888
|
+
### 9.3 Support Sign in with Apple
|
|
889
|
+
|
|
890
|
+
If the app offers any third-party sign-in (Google, Facebook), it must also offer Sign in with Apple. Present it as the first option.
|
|
891
|
+
|
|
892
|
+
### 9.4 Don't Require Accounts Unless Necessary
|
|
893
|
+
|
|
894
|
+
Let users explore the app before requiring sign-in. Gate only features that genuinely need authentication (purchases, sync, social features).
|
|
895
|
+
|
|
896
|
+
### 9.5 App Tracking Transparency
|
|
897
|
+
|
|
898
|
+
If you track users across apps or websites, display the ATT prompt. Respect denial—do not degrade the experience for users who opt out.
|
|
899
|
+
|
|
900
|
+
### 9.6 Location Button for One-Time Access
|
|
901
|
+
|
|
902
|
+
Use `LocationButton` for actions that need location once without requesting ongoing permission.
|
|
903
|
+
|
|
904
|
+
```swift
|
|
905
|
+
LocationButton(.currentLocation) {
|
|
906
|
+
fetchNearbyResults()
|
|
907
|
+
}
|
|
908
|
+
.symbolVariant(.fill)
|
|
909
|
+
.labelStyle(.titleAndIcon)
|
|
910
|
+
```
|
|
911
|
+
|
|
912
|
+
---
|
|
913
|
+
|
|
914
|
+
## 10. System Integration
|
|
915
|
+
|
|
916
|
+
**Impact:** MEDIUM
|
|
917
|
+
|
|
918
|
+
### 10.1 Widgets for Glanceable Data
|
|
919
|
+
|
|
920
|
+
Provide widgets using WidgetKit for information users check frequently. Widgets are not interactive (beyond tapping to open the app), so show the most useful snapshot.
|
|
921
|
+
|
|
922
|
+
### 10.2 App Shortcuts for Key Actions
|
|
923
|
+
|
|
924
|
+
Define App Shortcuts so users can trigger key actions from Siri, Spotlight, and the Shortcuts app.
|
|
925
|
+
|
|
926
|
+
```swift
|
|
927
|
+
struct MyAppShortcuts: AppShortcutsProvider {
|
|
928
|
+
static var appShortcuts: [AppShortcut] {
|
|
929
|
+
AppShortcut(
|
|
930
|
+
intent: QuickAddIntent(),
|
|
931
|
+
phrases: ["Add item in \(.applicationName)"],
|
|
932
|
+
shortTitle: "Quick Add",
|
|
933
|
+
systemImageName: "plus.circle"
|
|
934
|
+
)
|
|
935
|
+
}
|
|
936
|
+
}
|
|
937
|
+
```
|
|
938
|
+
|
|
939
|
+
### 10.3 Spotlight Indexing
|
|
940
|
+
|
|
941
|
+
Index app content with `CSSearchableItem` so users can find it from Spotlight search.
|
|
942
|
+
|
|
943
|
+
### 10.4 Share Sheet Integration
|
|
944
|
+
|
|
945
|
+
Support the system share sheet for content that users might want to send elsewhere.
|
|
946
|
+
|
|
947
|
+
```swift
|
|
948
|
+
ShareLink(item: article.url, subject: Text(article.title)) {
|
|
949
|
+
Label("Share Article", systemImage: "square.and.arrow.up")
|
|
950
|
+
}
|
|
951
|
+
```
|
|
952
|
+
|
|
953
|
+
### 10.5 Live Activities
|
|
954
|
+
|
|
955
|
+
Use Live Activities and the Dynamic Island for real-time, time-bound events (delivery tracking, sports scores, workouts).
|
|
956
|
+
|
|
957
|
+
### 10.6 Handle Interruptions Gracefully
|
|
958
|
+
|
|
959
|
+
Save state and pause gracefully when interrupted by phone calls, Siri invocations, notifications, app switcher, or FaceTime SharePlay.
|
|
960
|
+
|
|
961
|
+
```swift
|
|
962
|
+
@Environment(\.scenePhase) private var scenePhase
|
|
963
|
+
|
|
964
|
+
var body: some View {
|
|
965
|
+
ContentView()
|
|
966
|
+
.onChange(of: scenePhase) { _, newPhase in
|
|
967
|
+
switch newPhase {
|
|
968
|
+
case .active:
|
|
969
|
+
resumeActivity()
|
|
970
|
+
case .inactive:
|
|
971
|
+
pauseActivity()
|
|
972
|
+
case .background:
|
|
973
|
+
saveState()
|
|
974
|
+
@unknown default:
|
|
975
|
+
break
|
|
976
|
+
}
|
|
977
|
+
}
|
|
978
|
+
}
|
|
979
|
+
```
|
|
980
|
+
|
|
981
|
+
---
|
|
982
|
+
|
|
983
|
+
## Quick Reference
|
|
984
|
+
|
|
985
|
+
### Navigation & Structure
|
|
986
|
+
|
|
987
|
+
| Component | When to Use |
|
|
988
|
+
|-----------|-------------|
|
|
989
|
+
| `TabView` | 3-5 main app sections |
|
|
990
|
+
| `NavigationStack` | Hierarchical content drill-down |
|
|
991
|
+
| `.sheet` | Focused tasks requiring user completion |
|
|
992
|
+
| `.alert` | Decisions that block workflow |
|
|
993
|
+
| `.contextMenu` | Additional actions (always provide alternatives) |
|
|
994
|
+
|
|
995
|
+
### Data Display
|
|
996
|
+
|
|
997
|
+
| Component | When to Use |
|
|
998
|
+
|-----------|-------------|
|
|
999
|
+
| `List` | Scrollable rows with sections |
|
|
1000
|
+
| `LazyVGrid` / `LazyHGrid` | Grid layouts |
|
|
1001
|
+
| `.searchable` | Filterable content |
|
|
1002
|
+
| `ProgressView` | Loading or task progress |
|
|
1003
|
+
|
|
1004
|
+
### User Input
|
|
1005
|
+
|
|
1006
|
+
| Component | When to Use |
|
|
1007
|
+
|-----------|-------------|
|
|
1008
|
+
| `TextField` | Single-line text |
|
|
1009
|
+
| `TextEditor` | Multi-line text |
|
|
1010
|
+
| `Picker` | Selection from options |
|
|
1011
|
+
| `Toggle` | Binary on/off choice |
|
|
1012
|
+
| `Stepper` | Numeric increment/decrement |
|
|
1013
|
+
|
|
1014
|
+
### System Features
|
|
1015
|
+
|
|
1016
|
+
| Component | When to Use |
|
|
1017
|
+
|-----------|-------------|
|
|
1018
|
+
| `ShareLink` | Content sharing |
|
|
1019
|
+
| `LocationButton` | One-time location access |
|
|
1020
|
+
| `PhotosPicker` | Image selection |
|
|
1021
|
+
| `UIImpactFeedbackGenerator` | Tactile response |
|
|
1022
|
+
|
|
1023
|
+
---
|
|
1024
|
+
|
|
1025
|
+
## Anti-Patterns
|
|
1026
|
+
|
|
1027
|
+
Avoid these common HIG violations:
|
|
1028
|
+
|
|
1029
|
+
| Pattern | Problem | Solution |
|
|
1030
|
+
|---------|---------|----------|
|
|
1031
|
+
| Hamburger/drawer menu | Hides navigation, users miss features | Use TabView with 3-5 tabs |
|
|
1032
|
+
| Broken back swipe | Custom gestures block system navigation | Keep NavigationStack default behavior |
|
|
1033
|
+
| Full-screen spinner | App feels frozen, no progress indication | Use skeleton views with `.redacted()` |
|
|
1034
|
+
| Logo splash screen | Artificial delay, wastes user time | Match launch screen to first view |
|
|
1035
|
+
| Permissions at launch | Users deny without context | Request when action requires it |
|
|
1036
|
+
| Fixed font sizes | Breaks Dynamic Type, accessibility issues | Use `.font(.body)` semantic styles |
|
|
1037
|
+
| Color-only status | Colorblind users miss information | Add icons or text labels |
|
|
1038
|
+
| Alert overuse | Interrupts flow for minor info | Use inline messages or banners |
|
|
1039
|
+
| Hidden tab bar | Users lose navigation context | Keep tab bar visible on push |
|
|
1040
|
+
| Content in unsafe areas | Text hidden under notch/Dynamic Island | Only ignore safe area for backgrounds |
|
|
1041
|
+
| No modal dismiss | Users trapped in view | Add cancel button and swipe dismiss |
|
|
1042
|
+
| Gesture-only actions | Accessibility users blocked | Provide button/menu alternatives |
|
|
1043
|
+
| Small tap targets | Frequent mis-taps | Minimum 44x44pt hit area |
|
|
1044
|
+
| Nested modals | Navigation confusion | Use NavigationStack within single sheet |
|
|
1045
|
+
| Hardcoded colors | Broken in Dark Mode | Use semantic colors or asset variants |
|
|
1046
|
+
|
|
1047
|
+
---
|
|
1048
|
+
|
|
1049
|
+
## Review Checklist
|
|
1050
|
+
|
|
1051
|
+
Code review checklist for SwiftUI apps:
|
|
1052
|
+
|
|
1053
|
+
### Layout
|
|
1054
|
+
- [ ] Interactive elements have 44pt minimum touch area
|
|
1055
|
+
- [ ] Essential content stays within safe area bounds
|
|
1056
|
+
- [ ] Main actions positioned for one-handed use (bottom)
|
|
1057
|
+
- [ ] UI works across iPhone SE to Pro Max screen sizes
|
|
1058
|
+
- [ ] Spacing uses 8pt increments
|
|
1059
|
+
|
|
1060
|
+
### Navigation
|
|
1061
|
+
- [ ] Main sections use bottom TabView (3-5 tabs)
|
|
1062
|
+
- [ ] No drawer/hamburger navigation
|
|
1063
|
+
- [ ] Root views show large navigation titles
|
|
1064
|
+
- [ ] System back gesture not blocked
|
|
1065
|
+
- [ ] Tab state persists when switching
|
|
1066
|
+
|
|
1067
|
+
### Text & Fonts
|
|
1068
|
+
- [ ] Text uses semantic styles (`.body`, `.headline`, etc.)
|
|
1069
|
+
- [ ] Dynamic Type works at all sizes including accessibility
|
|
1070
|
+
- [ ] Content reflows without truncation at large sizes
|
|
1071
|
+
- [ ] No text below 11pt
|
|
1072
|
+
|
|
1073
|
+
### Colors
|
|
1074
|
+
- [ ] Uses `.primary`, `.secondary`, `Color(.systemBackground)`
|
|
1075
|
+
- [ ] Custom colors have light/dark variants in assets
|
|
1076
|
+
- [ ] Status indicators combine color with icon/text
|
|
1077
|
+
- [ ] Text contrast ratio meets WCAG AA
|
|
1078
|
+
|
|
1079
|
+
### Accessibility
|
|
1080
|
+
- [ ] Icon buttons have `.accessibilityLabel()`
|
|
1081
|
+
- [ ] VoiceOver order matches logical flow
|
|
1082
|
+
- [ ] Animations respect `accessibilityReduceMotion`
|
|
1083
|
+
- [ ] All actions have non-gesture alternatives
|
|
1084
|
+
|
|
1085
|
+
### Modals & Alerts
|
|
1086
|
+
- [ ] Alerts reserved for critical decisions only
|
|
1087
|
+
- [ ] Sheets provide clear dismiss mechanism
|
|
1088
|
+
- [ ] No stacked modal presentations
|
|
1089
|
+
|
|
1090
|
+
### Permissions
|
|
1091
|
+
- [ ] Permissions requested at point of use
|
|
1092
|
+
- [ ] Pre-permission explanation screens used
|
|
1093
|
+
- [ ] Core features work without sign-in
|
|
1094
|
+
|
|
1095
|
+
---
|
|
1096
|
+
|
|
1097
|
+
## iPad Adaptation
|
|
1098
|
+
|
|
1099
|
+
iPad users expect different interaction patterns:
|
|
1100
|
+
|
|
1101
|
+
**Layout:** Use `NavigationSplitView` for master-detail:
|
|
1102
|
+
|
|
1103
|
+
```swift
|
|
1104
|
+
NavigationSplitView(columnVisibility: $columnVisibility) {
|
|
1105
|
+
SidebarView()
|
|
1106
|
+
} content: {
|
|
1107
|
+
ListContentView()
|
|
1108
|
+
} detail: {
|
|
1109
|
+
DetailView()
|
|
1110
|
+
}
|
|
1111
|
+
.navigationSplitViewStyle(.balanced)
|
|
1112
|
+
```
|
|
1113
|
+
|
|
1114
|
+
**Presentation:** Action sheets become popovers automatically, but you can force popover:
|
|
1115
|
+
|
|
1116
|
+
```swift
|
|
1117
|
+
.popover(isPresented: $showOptions) {
|
|
1118
|
+
OptionsView()
|
|
1119
|
+
}
|
|
1120
|
+
```
|
|
1121
|
+
|
|
1122
|
+
**Keyboard:** Add shortcuts for power users:
|
|
1123
|
+
|
|
1124
|
+
```swift
|
|
1125
|
+
.keyboardShortcut("n", modifiers: .command) // Cmd+N
|
|
1126
|
+
```
|
|
1127
|
+
|
|
1128
|
+
**Drag & Drop:** Enable cross-app data transfer:
|
|
1129
|
+
|
|
1130
|
+
```swift
|
|
1131
|
+
.draggable(item)
|
|
1132
|
+
.dropDestination(for: Item.self) { items, location in
|
|
1133
|
+
handleDrop(items)
|
|
1134
|
+
return true
|
|
1135
|
+
}
|
|
1136
|
+
```
|
|
1137
|
+
|
|
1138
|
+
---
|
|
1139
|
+
|
|
1140
|
+
## Pre-Release Verification
|
|
1141
|
+
|
|
1142
|
+
Run through these scenarios before shipping:
|
|
1143
|
+
|
|
1144
|
+
**Visual consistency:**
|
|
1145
|
+
- Switch between Light/Dark mode—does everything remain readable?
|
|
1146
|
+
- Crank Dynamic Type to maximum—does layout adapt or break?
|
|
1147
|
+
- Enable Bold Text—do custom fonts respond?
|
|
1148
|
+
|
|
1149
|
+
**Interaction quality:**
|
|
1150
|
+
- Can you complete every action using only VoiceOver?
|
|
1151
|
+
- Do all buttons feel tappable on first try (no mis-taps)?
|
|
1152
|
+
- Does back-swipe work everywhere in navigation?
|
|
1153
|
+
|
|
1154
|
+
**Edge cases:**
|
|
1155
|
+
- What happens on iPhone SE's small screen?
|
|
1156
|
+
- What happens on iPad with keyboard attached?
|
|
1157
|
+
- What shows when network fails mid-operation?
|
|
1158
|
+
- What happens if user denies permissions?
|
|
1159
|
+
|
|
1160
|
+
**Platform compliance:**
|
|
1161
|
+
- Are you using SF Symbols instead of custom icon PNGs?
|
|
1162
|
+
- Are all colors from semantic palette or asset catalog with variants?
|
|
1163
|
+
- Do destructive actions require explicit confirmation?
|
|
1164
|
+
|
|
1165
|
+
---
|
|
1166
|
+
|
|
1167
|
+
*SwiftUI, SF Symbols, Dynamic Island, and Apple are trademarks of Apple Inc.*
|