@heyai-rules/pilo-masterkit 1.2.2 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/agents/PILO_MASTER.md +77 -77
- package/.agent/agents/backend-specialist.md +263 -263
- package/.agent/agents/code-archaeologist.md +106 -106
- package/.agent/agents/csharp-reviewer.md +101 -0
- package/.agent/agents/dart-build-resolver.md +201 -0
- package/.agent/agents/database-architect.md +226 -226
- package/.agent/agents/debugger.md +225 -225
- package/.agent/agents/devops-engineer.md +242 -242
- package/.agent/agents/documentation-writer.md +104 -104
- package/.agent/agents/explorer-agent.md +73 -73
- package/.agent/agents/frontend-specialist.md +593 -593
- package/.agent/agents/game-developer.md +162 -162
- package/.agent/agents/gan-evaluator.md +209 -0
- package/.agent/agents/gan-generator.md +131 -0
- package/.agent/agents/gan-planner.md +99 -0
- package/.agent/agents/healthcare-reviewer.md +83 -0
- package/.agent/agents/mobile-developer.md +377 -377
- package/.agent/agents/opensource-forker.md +198 -0
- package/.agent/agents/opensource-packager.md +249 -0
- package/.agent/agents/opensource-sanitizer.md +188 -0
- package/.agent/agents/orchestrator.md +416 -416
- package/.agent/agents/penetration-tester.md +188 -188
- package/.agent/agents/performance-optimizer.md +446 -187
- package/.agent/agents/personas/athena-agent/agent.json +10 -0
- package/.agent/agents/personas/athena-agent/athena-backend-logic-architecture-profile.md +189 -0
- package/.agent/agents/personas/athena-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/athena-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/athena-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/athena-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/athena-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/athena-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/da-vinci-agent/agent.json +10 -0
- package/.agent/agents/personas/da-vinci-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/da-vinci-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/da-vinci-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/da-vinci-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/da-vinci-agent/da-vinci-frontend-ui-ux-design-profile.md +189 -0
- package/.agent/agents/personas/da-vinci-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/da-vinci-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/duong-tang-agent/agent.json +10 -0
- package/.agent/agents/personas/duong-tang-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/duong-tang-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/duong-tang-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/duong-tang-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/duong-tang-agent/tang-monk-quality-testing-documentation-profile.md +189 -0
- package/.agent/agents/personas/duong-tang-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/duong-tang-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/gia-cat-luong-agent/agent.json +10 -0
- package/.agent/agents/personas/gia-cat-luong-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/gia-cat-luong-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/gia-cat-luong-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/gia-cat-luong-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/gia-cat-luong-agent/kongming-research-strategy-analysis-profile.md +189 -0
- package/.agent/agents/personas/gia-cat-luong-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/gia-cat-luong-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/mihata-agent/agent.json +10 -0
- package/.agent/agents/personas/mihata-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/mihata-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/mihata-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/mihata-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/mihata-agent/mihata-multi-agent-orchestration-profile.md +189 -0
- package/.agent/agents/personas/mihata-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/mihata-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/tesla-agent/agent.json +10 -0
- package/.agent/agents/personas/tesla-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/tesla-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/tesla-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/tesla-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/tesla-agent/tesla-fullstack-system-optimization-profile.md +189 -0
- package/.agent/agents/personas/tesla-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/tesla-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/tu-ma-y-agent/agent.json +10 -0
- package/.agent/agents/personas/tu-ma-y-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/tu-ma-y-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/tu-ma-y-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/tu-ma-y-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/tu-ma-y-agent/simayi-feasibility-risk-control-profile.md +189 -0
- package/.agent/agents/personas/tu-ma-y-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/tu-ma-y-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/venti-agent/agent.json +10 -0
- package/.agent/agents/personas/venti-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/venti-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/venti-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/venti-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/venti-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/venti-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/venti-agent/venti-learning-communication-mentoring-profile.md +189 -0
- package/.agent/agents/product-manager.md +112 -112
- package/.agent/agents/product-owner.md +95 -95
- package/.agent/agents/project-planner.md +406 -406
- package/.agent/agents/qa-automation-engineer.md +103 -103
- package/.agent/agents/security-auditor.md +170 -170
- package/.agent/agents/seo-specialist.md +111 -111
- package/.agent/agents/test-engineer.md +158 -158
- package/.agent/contexts/dev.md +20 -0
- package/.agent/contexts/research.md +26 -0
- package/.agent/contexts/review.md +22 -0
- package/.agent/hooks/hooks.json +395 -0
- package/.agent/hooks/readme.md +222 -0
- package/.agent/mcp-configs/mcp-servers.json +181 -0
- package/.agent/rules/ARCHITECTURAL_BLUEPRINTS.md +62 -62
- package/.agent/rules/CODE_CRAFTSMANSHIP.md +69 -69
- package/.agent/rules/CORE_RULES.md +72 -72
- package/.agent/rules/PROJECT_MAP.md +58 -58
- package/.agent/rules/QUALITY_ASSURANCE.md +54 -54
- package/.agent/rules/SECURITY_ARMOR.md +44 -44
- package/.agent/rules/VERSION_ORCHESTRATION.md +64 -64
- package/.agent/rules/WORKFLOW_ORCHESTRATION.md +55 -55
- package/.agent/rules/common/agents.md +50 -0
- package/.agent/rules/common/code-review.md +124 -0
- package/.agent/rules/common/coding-style.md +48 -0
- package/.agent/rules/common/development-workflow.md +44 -0
- package/.agent/rules/common/git-workflow.md +24 -0
- package/.agent/rules/common/hooks.md +30 -0
- package/.agent/rules/common/patterns.md +31 -0
- package/.agent/rules/common/performance.md +55 -0
- package/.agent/rules/common/security.md +29 -0
- package/.agent/rules/common/testing.md +29 -0
- package/.agent/rules/cpp/coding-style.md +44 -0
- package/.agent/rules/cpp/hooks.md +39 -0
- package/.agent/rules/cpp/patterns.md +51 -0
- package/.agent/rules/cpp/security.md +51 -0
- package/.agent/rules/cpp/testing.md +44 -0
- package/.agent/rules/csharp/coding-style.md +72 -0
- package/.agent/rules/csharp/hooks.md +25 -0
- package/.agent/rules/csharp/patterns.md +50 -0
- package/.agent/rules/csharp/security.md +58 -0
- package/.agent/rules/csharp/testing.md +46 -0
- package/.agent/rules/dart/coding-style.md +159 -0
- package/.agent/rules/dart/hooks.md +66 -0
- package/.agent/rules/dart/patterns.md +261 -0
- package/.agent/rules/dart/security.md +135 -0
- package/.agent/rules/dart/testing.md +215 -0
- package/.agent/rules/golang/coding-style.md +32 -0
- package/.agent/rules/golang/hooks.md +17 -0
- package/.agent/rules/golang/patterns.md +45 -0
- package/.agent/rules/golang/security.md +34 -0
- package/.agent/rules/golang/testing.md +31 -0
- package/.agent/rules/java/coding-style.md +114 -0
- package/.agent/rules/java/hooks.md +18 -0
- package/.agent/rules/java/patterns.md +146 -0
- package/.agent/rules/java/security.md +100 -0
- package/.agent/rules/java/testing.md +131 -0
- package/.agent/rules/kotlin/coding-style.md +86 -0
- package/.agent/rules/kotlin/hooks.md +17 -0
- package/.agent/rules/kotlin/patterns.md +146 -0
- package/.agent/rules/kotlin/security.md +82 -0
- package/.agent/rules/kotlin/testing.md +128 -0
- package/.agent/rules/perl/coding-style.md +46 -0
- package/.agent/rules/perl/hooks.md +22 -0
- package/.agent/rules/perl/patterns.md +76 -0
- package/.agent/rules/perl/security.md +69 -0
- package/.agent/rules/perl/testing.md +54 -0
- package/.agent/rules/php/coding-style.md +40 -0
- package/.agent/rules/php/hooks.md +24 -0
- package/.agent/rules/php/patterns.md +33 -0
- package/.agent/rules/php/security.md +37 -0
- package/.agent/rules/php/testing.md +39 -0
- package/.agent/rules/python/coding-style.md +42 -0
- package/.agent/rules/python/hooks.md +19 -0
- package/.agent/rules/python/patterns.md +39 -0
- package/.agent/rules/python/security.md +30 -0
- package/.agent/rules/python/testing.md +38 -0
- package/.agent/rules/readme.md +111 -0
- package/.agent/rules/rust/coding-style.md +151 -0
- package/.agent/rules/rust/hooks.md +16 -0
- package/.agent/rules/rust/patterns.md +168 -0
- package/.agent/rules/rust/security.md +141 -0
- package/.agent/rules/rust/testing.md +154 -0
- package/.agent/rules/swift/coding-style.md +47 -0
- package/.agent/rules/swift/hooks.md +20 -0
- package/.agent/rules/swift/patterns.md +66 -0
- package/.agent/rules/swift/security.md +33 -0
- package/.agent/rules/swift/testing.md +45 -0
- package/.agent/rules/typescript/coding-style.md +199 -0
- package/.agent/rules/typescript/hooks.md +22 -0
- package/.agent/rules/typescript/patterns.md +52 -0
- package/.agent/rules/typescript/security.md +28 -0
- package/.agent/rules/typescript/testing.md +18 -0
- package/.agent/rules/web/coding-style.md +96 -0
- package/.agent/rules/web/design-quality.md +63 -0
- package/.agent/rules/web/hooks.md +120 -0
- package/.agent/rules/web/patterns.md +79 -0
- package/.agent/rules/web/performance.md +64 -0
- package/.agent/rules/web/security.md +57 -0
- package/.agent/rules/web/testing.md +55 -0
- package/.agent/rules/zh/agents.md +50 -0
- package/.agent/rules/zh/code-review.md +124 -0
- package/.agent/rules/zh/coding-style.md +48 -0
- package/.agent/rules/zh/development-workflow.md +44 -0
- package/.agent/rules/zh/git-workflow.md +24 -0
- package/.agent/rules/zh/hooks.md +30 -0
- package/.agent/rules/zh/patterns.md +31 -0
- package/.agent/rules/zh/performance.md +55 -0
- package/.agent/rules/zh/readme.md +108 -0
- package/.agent/rules/zh/security.md +29 -0
- package/.agent/rules/zh/testing.md +29 -0
- package/.agent/scripts/auto_preview.py +148 -148
- package/.agent/scripts/checklist.py +217 -217
- package/.agent/scripts/session_manager.py +120 -120
- package/.agent/scripts/verify_all.py +327 -327
- package/.agent/skills/agent-eval/SKILL.md +145 -0
- package/.agent/skills/agent-harness-construction/SKILL.md +73 -0
- package/.agent/skills/agent-payment-x402/SKILL.md +178 -0
- package/.agent/skills/agentic-engineering/SKILL.md +63 -0
- package/.agent/skills/ai-first-engineering/SKILL.md +51 -0
- package/.agent/skills/ai-regression-testing/SKILL.md +385 -0
- package/.agent/skills/android-clean-architecture/SKILL.md +339 -0
- package/.agent/skills/api-design/SKILL.md +523 -0
- package/.agent/skills/api-patterns/SKILL.md +81 -81
- package/.agent/skills/api-patterns/api-style.md +42 -42
- package/.agent/skills/api-patterns/auth.md +24 -24
- package/.agent/skills/api-patterns/documentation.md +26 -26
- package/.agent/skills/api-patterns/graphql.md +41 -41
- package/.agent/skills/api-patterns/rate-limiting.md +31 -31
- package/.agent/skills/api-patterns/response.md +37 -37
- package/.agent/skills/api-patterns/rest.md +40 -40
- package/.agent/skills/api-patterns/scripts/api_validator.py +211 -211
- package/.agent/skills/api-patterns/security-testing.md +122 -122
- package/.agent/skills/api-patterns/trpc.md +41 -41
- package/.agent/skills/api-patterns/versioning.md +22 -22
- package/.agent/skills/app-builder/SKILL.md +75 -75
- package/.agent/skills/app-builder/agent-coordination.md +71 -71
- package/.agent/skills/app-builder/feature-building.md +53 -53
- package/.agent/skills/app-builder/project-detection.md +34 -34
- package/.agent/skills/app-builder/scaffolding.md +118 -118
- package/.agent/skills/app-builder/tech-stack.md +41 -41
- package/.agent/skills/app-builder/templates/SKILL.md +39 -39
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -122
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -122
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -169
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -134
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -119
- package/.agent/skills/architecture/SKILL.md +55 -55
- package/.agent/skills/architecture/context-discovery.md +43 -43
- package/.agent/skills/architecture/examples.md +94 -94
- package/.agent/skills/architecture/pattern-selection.md +68 -68
- package/.agent/skills/architecture/patterns-reference.md +50 -50
- package/.agent/skills/architecture/trade-off-analysis.md +77 -77
- package/.agent/skills/architecture-decision-records/SKILL.md +179 -0
- package/.agent/skills/article-writing/SKILL.md +79 -0
- package/.agent/skills/autonomous-agent-harness/SKILL.md +267 -0
- package/.agent/skills/autonomous-loops/SKILL.md +610 -0
- package/.agent/skills/backend-patterns/SKILL.md +598 -0
- package/.agent/skills/bash-linux/SKILL.md +199 -199
- package/.agent/skills/behavioral-modes/SKILL.md +242 -242
- package/.agent/skills/benchmark/SKILL.md +93 -0
- package/.agent/skills/blueprint/SKILL.md +105 -0
- package/.agent/skills/brainstorming/SKILL.md +163 -163
- package/.agent/skills/brainstorming/dynamic-questioning.md +350 -350
- package/.agent/skills/brand-voice/SKILL.md +97 -0
- package/.agent/skills/brand-voice/references/voice-profile-schema.md +55 -0
- package/.agent/skills/browser-qa/SKILL.md +87 -0
- package/.agent/skills/bun-runtime/SKILL.md +84 -0
- package/.agent/skills/canary-watch/SKILL.md +99 -0
- package/.agent/skills/carrier-relationship-management/SKILL.md +212 -0
- package/.agent/skills/ck/SKILL.md +147 -0
- package/.agent/skills/ck/commands/forget.mjs +44 -0
- package/.agent/skills/ck/commands/info.mjs +24 -0
- package/.agent/skills/ck/commands/init.mjs +143 -0
- package/.agent/skills/ck/commands/list.mjs +40 -0
- package/.agent/skills/ck/commands/migrate.mjs +202 -0
- package/.agent/skills/ck/commands/resume.mjs +36 -0
- package/.agent/skills/ck/commands/save.mjs +210 -0
- package/.agent/skills/ck/commands/shared.mjs +387 -0
- package/.agent/skills/ck/hooks/session-start.mjs +224 -0
- package/.agent/skills/claude-api/SKILL.md +337 -0
- package/.agent/skills/claude-devfleet/SKILL.md +103 -0
- package/.agent/skills/clean-code/SKILL.md +201 -201
- package/.agent/skills/click-path-audit/SKILL.md +244 -0
- package/.agent/skills/clickhouse-io/SKILL.md +439 -0
- package/.agent/skills/code-review-checklist/SKILL.md +109 -109
- package/.agent/skills/codebase-onboarding/SKILL.md +233 -0
- package/.agent/skills/coding-standards/SKILL.md +530 -0
- package/.agent/skills/compose-multiplatform-patterns/SKILL.md +299 -0
- package/.agent/skills/configure-ecc/SKILL.md +367 -0
- package/.agent/skills/connections-optimizer/SKILL.md +189 -0
- package/.agent/skills/content-engine/SKILL.md +131 -0
- package/.agent/skills/content-hash-cache-pattern/SKILL.md +161 -0
- package/.agent/skills/context-budget/SKILL.md +135 -0
- package/.agent/skills/continuous-agent-loop/SKILL.md +45 -0
- package/.agent/skills/continuous-learning/SKILL.md +119 -0
- package/.agent/skills/continuous-learning/config.json +18 -0
- package/.agent/skills/continuous-learning/evaluate-session.sh +69 -0
- package/.agent/skills/continuous-learning-v2/SKILL.md +365 -0
- package/.agent/skills/continuous-learning-v2/agents/observer-loop.sh +271 -0
- package/.agent/skills/continuous-learning-v2/agents/observer.md +198 -0
- package/.agent/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
- package/.agent/skills/continuous-learning-v2/agents/start-observer.sh +244 -0
- package/.agent/skills/continuous-learning-v2/config.json +8 -0
- package/.agent/skills/continuous-learning-v2/hooks/observe.sh +428 -0
- package/.agent/skills/continuous-learning-v2/scripts/detect-project.sh +228 -0
- package/.agent/skills/continuous-learning-v2/scripts/instinct-cli.py +1426 -0
- package/.agent/skills/continuous-learning-v2/scripts/test-parse-instinct.py +984 -0
- package/.agent/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
- package/.agent/skills/cpp-coding-standards/SKILL.md +723 -0
- package/.agent/skills/cpp-testing/SKILL.md +324 -0
- package/.agent/skills/crosspost/SKILL.md +111 -0
- package/.agent/skills/csharp-testing/SKILL.md +321 -0
- package/.agent/skills/customer-billing-ops/SKILL.md +140 -0
- package/.agent/skills/customs-trade-compliance/SKILL.md +263 -0
- package/.agent/skills/dart-flutter-patterns/SKILL.md +563 -0
- package/.agent/skills/data-scraper-agent/SKILL.md +764 -0
- package/.agent/skills/database-design/SKILL.md +52 -52
- package/.agent/skills/database-design/database-selection.md +43 -43
- package/.agent/skills/database-design/indexing.md +39 -39
- package/.agent/skills/database-design/migrations.md +48 -48
- package/.agent/skills/database-design/optimization.md +36 -36
- package/.agent/skills/database-design/orm-selection.md +30 -30
- package/.agent/skills/database-design/schema-design.md +56 -56
- package/.agent/skills/database-design/scripts/schema_validator.py +172 -172
- package/.agent/skills/database-migrations/SKILL.md +429 -0
- package/.agent/skills/deep-research/SKILL.md +155 -0
- package/.agent/skills/deployment-patterns/SKILL.md +427 -0
- package/.agent/skills/deployment-procedures/SKILL.md +241 -241
- package/.agent/skills/design-system/SKILL.md +82 -0
- package/.agent/skills/django-patterns/SKILL.md +734 -0
- package/.agent/skills/django-security/SKILL.md +593 -0
- package/.agent/skills/django-tdd/SKILL.md +729 -0
- package/.agent/skills/django-verification/SKILL.md +469 -0
- package/.agent/skills/dmux-workflows/SKILL.md +191 -0
- package/.agent/skills/doc.md +177 -177
- package/.agent/skills/docker-patterns/SKILL.md +364 -0
- package/.agent/skills/documentation-lookup/SKILL.md +90 -0
- package/.agent/skills/documentation-templates/SKILL.md +194 -194
- package/.agent/skills/dotnet-patterns/SKILL.md +321 -0
- package/.agent/skills/e2e-testing/SKILL.md +326 -0
- package/.agent/skills/energy-procurement/SKILL.md +228 -0
- package/.agent/skills/enterprise-agent-ops/SKILL.md +50 -0
- package/.agent/skills/eval-harness/SKILL.md +270 -0
- package/.agent/skills/exa-search/SKILL.md +103 -0
- package/.agent/skills/fal-ai-media/SKILL.md +284 -0
- package/.agent/skills/flutter-dart-code-review/SKILL.md +435 -0
- package/.agent/skills/foundation-models-on-device/SKILL.md +243 -0
- package/.agent/skills/frontend-design/SKILL.md +452 -452
- package/.agent/skills/frontend-design/animation-guide.md +331 -331
- package/.agent/skills/frontend-design/color-system.md +311 -311
- package/.agent/skills/frontend-design/decision-trees.md +418 -418
- package/.agent/skills/frontend-design/motion-graphics.md +306 -306
- package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -183
- package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -722
- package/.agent/skills/frontend-design/typography-system.md +345 -345
- package/.agent/skills/frontend-design/ux-psychology.md +1116 -1116
- package/.agent/skills/frontend-design/visual-effects.md +383 -383
- package/.agent/skills/frontend-patterns/SKILL.md +642 -0
- package/.agent/skills/frontend-slides/SKILL.md +184 -0
- package/.agent/skills/frontend-slides/style-presets.md +330 -0
- package/.agent/skills/game-development/2d-games/SKILL.md +119 -119
- package/.agent/skills/game-development/3d-games/SKILL.md +135 -135
- package/.agent/skills/game-development/SKILL.md +167 -167
- package/.agent/skills/game-development/game-art/SKILL.md +185 -185
- package/.agent/skills/game-development/game-audio/SKILL.md +190 -190
- package/.agent/skills/game-development/game-design/SKILL.md +129 -129
- package/.agent/skills/game-development/mobile-games/SKILL.md +108 -108
- package/.agent/skills/game-development/multiplayer/SKILL.md +132 -132
- package/.agent/skills/game-development/pc-games/SKILL.md +144 -144
- package/.agent/skills/game-development/vr-ar/SKILL.md +123 -123
- package/.agent/skills/game-development/web-games/SKILL.md +150 -150
- package/.agent/skills/gan-style-harness/SKILL.md +278 -0
- package/.agent/skills/geo-fundamentals/SKILL.md +156 -156
- package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -289
- package/.agent/skills/git-workflow/SKILL.md +715 -0
- package/.agent/skills/golang-patterns/SKILL.md +674 -0
- package/.agent/skills/golang-testing/SKILL.md +720 -0
- package/.agent/skills/google-workspace-ops/SKILL.md +95 -0
- package/.agent/skills/healthcare-cdss-patterns/SKILL.md +245 -0
- package/.agent/skills/healthcare-emr-patterns/SKILL.md +159 -0
- package/.agent/skills/healthcare-eval-harness/SKILL.md +207 -0
- package/.agent/skills/healthcare-phi-compliance/SKILL.md +145 -0
- package/.agent/skills/hexagonal-architecture/SKILL.md +276 -0
- package/.agent/skills/i18n-localization/SKILL.md +154 -154
- package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -241
- package/.agent/skills/intelligent-routing/SKILL.md +335 -335
- package/.agent/skills/inventory-demand-planning/SKILL.md +247 -0
- package/.agent/skills/investor-materials/SKILL.md +96 -0
- package/.agent/skills/investor-outreach/SKILL.md +91 -0
- package/.agent/skills/iterative-retrieval/SKILL.md +211 -0
- package/.agent/skills/java-coding-standards/SKILL.md +147 -0
- package/.agent/skills/jira-integration/SKILL.md +293 -0
- package/.agent/skills/jpa-patterns/SKILL.md +151 -0
- package/.agent/skills/kotlin-coroutines-flows/SKILL.md +284 -0
- package/.agent/skills/kotlin-exposed-patterns/SKILL.md +719 -0
- package/.agent/skills/kotlin-ktor-patterns/SKILL.md +689 -0
- package/.agent/skills/kotlin-patterns/SKILL.md +711 -0
- package/.agent/skills/kotlin-testing/SKILL.md +824 -0
- package/.agent/skills/laravel-patterns/SKILL.md +415 -0
- package/.agent/skills/laravel-plugin-discovery/SKILL.md +229 -0
- package/.agent/skills/laravel-security/SKILL.md +285 -0
- package/.agent/skills/laravel-tdd/SKILL.md +283 -0
- package/.agent/skills/laravel-verification/SKILL.md +179 -0
- package/.agent/skills/lead-intelligence/SKILL.md +321 -0
- package/.agent/skills/lead-intelligence/agents/enrichment-agent.md +85 -0
- package/.agent/skills/lead-intelligence/agents/mutual-mapper.md +75 -0
- package/.agent/skills/lead-intelligence/agents/outreach-drafter.md +98 -0
- package/.agent/skills/lead-intelligence/agents/signal-scorer.md +60 -0
- package/.agent/skills/lint-and-validate/SKILL.md +45 -45
- package/.agent/skills/lint-and-validate/scripts/lint_runner.py +184 -184
- package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -173
- package/.agent/skills/liquid-glass-design/SKILL.md +279 -0
- package/.agent/skills/logistics-exception-management/SKILL.md +222 -0
- package/.agent/skills/manim-video/SKILL.md +89 -0
- package/.agent/skills/manim-video/assets/network-graph-scene.py +52 -0
- package/.agent/skills/market-research/SKILL.md +75 -0
- package/.agent/skills/mcp-builder/SKILL.md +173 -113
- package/.agent/skills/mcp-builder/license.txt +202 -0
- package/.agent/skills/mcp-builder/reference/evaluation.md +602 -0
- package/.agent/skills/mcp-builder/reference/mcp-best-practices.md +249 -0
- package/.agent/skills/mcp-builder/reference/node-mcp-server.md +970 -0
- package/.agent/skills/mcp-builder/reference/python-mcp-server.md +719 -0
- package/.agent/skills/mcp-builder/scripts/connections.py +151 -0
- package/.agent/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/.agent/skills/mcp-builder/scripts/example-evaluation.xml +22 -0
- package/.agent/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/.agent/skills/mcp-server-patterns/SKILL.md +67 -0
- package/.agent/skills/mobile-design/SKILL.md +394 -394
- package/.agent/skills/mobile-design/decision-trees.md +516 -516
- package/.agent/skills/mobile-design/mobile-backend.md +491 -491
- package/.agent/skills/mobile-design/mobile-color-system.md +420 -420
- package/.agent/skills/mobile-design/mobile-debugging.md +122 -122
- package/.agent/skills/mobile-design/mobile-design-thinking.md +357 -357
- package/.agent/skills/mobile-design/mobile-navigation.md +458 -458
- package/.agent/skills/mobile-design/mobile-performance.md +767 -767
- package/.agent/skills/mobile-design/mobile-testing.md +356 -356
- package/.agent/skills/mobile-design/mobile-typography.md +433 -433
- package/.agent/skills/mobile-design/platform-android.md +666 -666
- package/.agent/skills/mobile-design/platform-ios.md +561 -561
- package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -670
- package/.agent/skills/mobile-design/touch-psychology.md +537 -537
- package/.agent/skills/nanoclaw-repl/SKILL.md +33 -0
- package/.agent/skills/nestjs-patterns/SKILL.md +230 -0
- package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +351 -351
- package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -240
- package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -490
- package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -264
- package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -581
- package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -432
- package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -684
- package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -150
- package/.agent/skills/nextjs-react-expert/9-cache-components.md +103 -103
- package/.agent/skills/nextjs-react-expert/SKILL.md +293 -293
- package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +222 -222
- package/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -252
- package/.agent/skills/nextjs-turbopack/SKILL.md +44 -0
- package/.agent/skills/nodejs-best-practices/SKILL.md +333 -333
- package/.agent/skills/nutrient-document-processing/SKILL.md +167 -0
- package/.agent/skills/nuxt4-patterns/SKILL.md +100 -0
- package/.agent/skills/openclaw-persona-forge/SKILL.md +296 -0
- package/.agent/skills/openclaw-persona-forge/gacha.py +224 -0
- package/.agent/skills/openclaw-persona-forge/gacha.sh +5 -0
- package/.agent/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
- package/.agent/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
- package/.agent/skills/openclaw-persona-forge/references/error-handling.md +53 -0
- package/.agent/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
- package/.agent/skills/openclaw-persona-forge/references/naming-system.md +39 -0
- package/.agent/skills/openclaw-persona-forge/references/output-template.md +166 -0
- package/.agent/skills/opensource-pipeline/SKILL.md +255 -0
- package/.agent/skills/parallel-agents/SKILL.md +175 -175
- package/.agent/skills/performance-profiling/SKILL.md +143 -143
- package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -76
- package/.agent/skills/perl-patterns/SKILL.md +504 -0
- package/.agent/skills/perl-security/SKILL.md +503 -0
- package/.agent/skills/perl-testing/SKILL.md +475 -0
- package/.agent/skills/plan-writing/SKILL.md +152 -152
- package/.agent/skills/plankton-code-quality/SKILL.md +236 -0
- package/.agent/skills/postgres-patterns/SKILL.md +147 -0
- package/.agent/skills/powershell-windows/SKILL.md +167 -167
- package/.agent/skills/product-lens/SKILL.md +85 -0
- package/.agent/skills/production-scheduling/SKILL.md +238 -0
- package/.agent/skills/project-flow-ops/SKILL.md +111 -0
- package/.agent/skills/project-guidelines-example/SKILL.md +349 -0
- package/.agent/skills/prompt-optimizer/SKILL.md +397 -0
- package/.agent/skills/python-patterns/SKILL.md +750 -441
- package/.agent/skills/python-testing/SKILL.md +816 -0
- package/.agent/skills/pytorch-patterns/SKILL.md +396 -0
- package/.agent/skills/quality-nonconformance/SKILL.md +260 -0
- package/.agent/skills/ralphinho-rfc-pipeline/SKILL.md +67 -0
- package/.agent/skills/red-team-tactics/SKILL.md +199 -199
- package/.agent/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
- package/.agent/skills/remotion-video-creation/SKILL.md +43 -0
- package/.agent/skills/remotion-video-creation/rules/3d.md +86 -0
- package/.agent/skills/remotion-video-creation/rules/animations.md +29 -0
- package/.agent/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -0
- package/.agent/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -0
- package/.agent/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/.agent/skills/remotion-video-creation/rules/assets.md +78 -0
- package/.agent/skills/remotion-video-creation/rules/audio.md +172 -0
- package/.agent/skills/remotion-video-creation/rules/calculate-metadata.md +104 -0
- package/.agent/skills/remotion-video-creation/rules/can-decode.md +75 -0
- package/.agent/skills/remotion-video-creation/rules/charts.md +58 -0
- package/.agent/skills/remotion-video-creation/rules/compositions.md +146 -0
- package/.agent/skills/remotion-video-creation/rules/display-captions.md +126 -0
- package/.agent/skills/remotion-video-creation/rules/extract-frames.md +229 -0
- package/.agent/skills/remotion-video-creation/rules/fonts.md +152 -0
- package/.agent/skills/remotion-video-creation/rules/get-audio-duration.md +58 -0
- package/.agent/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -0
- package/.agent/skills/remotion-video-creation/rules/get-video-duration.md +58 -0
- package/.agent/skills/remotion-video-creation/rules/gifs.md +138 -0
- package/.agent/skills/remotion-video-creation/rules/images.md +130 -0
- package/.agent/skills/remotion-video-creation/rules/import-srt-captions.md +67 -0
- package/.agent/skills/remotion-video-creation/rules/lottie.md +67 -0
- package/.agent/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -0
- package/.agent/skills/remotion-video-creation/rules/measuring-text.md +143 -0
- package/.agent/skills/remotion-video-creation/rules/sequencing.md +106 -0
- package/.agent/skills/remotion-video-creation/rules/tailwind.md +11 -0
- package/.agent/skills/remotion-video-creation/rules/text-animations.md +20 -0
- package/.agent/skills/remotion-video-creation/rules/timing.md +179 -0
- package/.agent/skills/remotion-video-creation/rules/transcribe-captions.md +19 -0
- package/.agent/skills/remotion-video-creation/rules/transitions.md +122 -0
- package/.agent/skills/remotion-video-creation/rules/trimming.md +52 -0
- package/.agent/skills/remotion-video-creation/rules/videos.md +171 -0
- package/.agent/skills/repo-scan/SKILL.md +78 -0
- package/.agent/skills/returns-reverse-logistics/SKILL.md +240 -0
- package/.agent/skills/rules-distill/SKILL.md +264 -0
- package/.agent/skills/rules-distill/scripts/scan-rules.sh +58 -0
- package/.agent/skills/rules-distill/scripts/scan-skills.sh +129 -0
- package/.agent/skills/rust-patterns/SKILL.md +499 -0
- package/.agent/skills/rust-pro/SKILL.md +175 -175
- package/.agent/skills/rust-testing/SKILL.md +500 -0
- package/.agent/skills/safety-guard/SKILL.md +75 -0
- package/.agent/skills/santa-method/SKILL.md +306 -0
- package/.agent/skills/search-first/SKILL.md +161 -0
- package/.agent/skills/security-review/SKILL.md +495 -0
- package/.agent/skills/security-review/cloud-infrastructure-security.md +361 -0
- package/.agent/skills/security-scan/SKILL.md +165 -0
- package/.agent/skills/seo-fundamentals/SKILL.md +129 -129
- package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -219
- package/.agent/skills/server-management/SKILL.md +161 -161
- package/.agent/skills/skill-comply/SKILL.md +58 -0
- package/.agent/skills/skill-comply/fixtures/compliant-trace.jsonl +5 -0
- package/.agent/skills/skill-comply/fixtures/noncompliant-trace.jsonl +3 -0
- package/.agent/skills/skill-comply/fixtures/tdd-spec.yaml +44 -0
- package/.agent/skills/skill-comply/prompts/classifier.md +24 -0
- package/.agent/skills/skill-comply/prompts/scenario-generator.md +62 -0
- package/.agent/skills/skill-comply/prompts/spec-generator.md +42 -0
- package/.agent/skills/skill-comply/pyproject.toml +15 -0
- package/.agent/skills/skill-comply/scripts/classifier.py +85 -0
- package/.agent/skills/skill-comply/scripts/grader.py +122 -0
- package/.agent/skills/skill-comply/scripts/init.py +0 -0
- package/.agent/skills/skill-comply/scripts/parser.py +107 -0
- package/.agent/skills/skill-comply/scripts/report.py +170 -0
- package/.agent/skills/skill-comply/scripts/run.py +127 -0
- package/.agent/skills/skill-comply/scripts/runner.py +161 -0
- package/.agent/skills/skill-comply/scripts/scenario-generator.py +70 -0
- package/.agent/skills/skill-comply/scripts/spec-generator.py +72 -0
- package/.agent/skills/skill-comply/scripts/utils.py +13 -0
- package/.agent/skills/skill-comply/tests/test-grader.py +137 -0
- package/.agent/skills/skill-comply/tests/test-parser.py +90 -0
- package/.agent/skills/skill-creator/SKILL.md +485 -0
- package/.agent/skills/skill-creator/agents/analyzer.md +274 -0
- package/.agent/skills/skill-creator/agents/comparator.md +202 -0
- package/.agent/skills/skill-creator/agents/grader.md +223 -0
- package/.agent/skills/skill-creator/assets/eval-review.html +146 -0
- package/.agent/skills/skill-creator/eval-viewer/generate-review.py +471 -0
- package/.agent/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/.agent/skills/skill-creator/license.txt +202 -0
- package/.agent/skills/skill-creator/references/schemas.md +430 -0
- package/.agent/skills/skill-creator/scripts/aggregate-benchmark.py +401 -0
- package/.agent/skills/skill-creator/scripts/generate-report.py +326 -0
- package/.agent/skills/skill-creator/scripts/improve-description.py +247 -0
- package/.agent/skills/skill-creator/scripts/init.py +0 -0
- package/.agent/skills/skill-creator/scripts/package-skill.py +136 -0
- package/.agent/skills/skill-creator/scripts/quick-validate.py +103 -0
- package/.agent/skills/skill-creator/scripts/run-eval.py +310 -0
- package/.agent/skills/skill-creator/scripts/run-loop.py +328 -0
- package/.agent/skills/skill-creator/scripts/utils.py +47 -0
- package/.agent/skills/skill-stocktake/SKILL.md +193 -0
- package/.agent/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
- package/.agent/skills/skill-stocktake/scripts/save-results.sh +56 -0
- package/.agent/skills/skill-stocktake/scripts/scan.sh +170 -0
- package/.agent/skills/social-graph-ranker/SKILL.md +154 -0
- package/.agent/skills/springboot-patterns/SKILL.md +314 -0
- package/.agent/skills/springboot-security/SKILL.md +272 -0
- package/.agent/skills/springboot-tdd/SKILL.md +158 -0
- package/.agent/skills/springboot-verification/SKILL.md +231 -0
- package/.agent/skills/strategic-compact/SKILL.md +131 -0
- package/.agent/skills/strategic-compact/suggest-compact.sh +54 -0
- package/.agent/skills/swift-actor-persistence/SKILL.md +143 -0
- package/.agent/skills/swift-concurrency-6-2/SKILL.md +216 -0
- package/.agent/skills/swift-protocol-di-testing/SKILL.md +190 -0
- package/.agent/skills/swiftui-patterns/SKILL.md +259 -0
- package/.agent/skills/systematic-debugging/SKILL.md +109 -109
- package/.agent/skills/tailwind-patterns/SKILL.md +269 -269
- package/.agent/skills/tdd-workflow/SKILL.md +463 -149
- package/.agent/skills/team-builder/SKILL.md +168 -0
- package/.agent/skills/testing-patterns/SKILL.md +178 -178
- package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -219
- package/.agent/skills/token-budget-advisor/SKILL.md +133 -0
- package/.agent/skills/ui-demo/SKILL.md +465 -0
- package/.agent/skills/ui-ux-pro-max/SKILL.md +292 -292
- package/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -101
- package/.agent/skills/ui-ux-pro-max/data/landing.csv +3 -3
- package/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -45
- package/.agent/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -54
- package/.agent/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
- package/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
- package/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
- package/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
- package/.agent/skills/ui-ux-pro-max/data/typography.csv +57 -57
- package/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -101
- package/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -31
- package/.agent/skills/ui-ux-pro-max/scripts/core.py +253 -253
- package/.agent/skills/ui-ux-pro-max/scripts/design_system.py +1067 -1067
- package/.agent/skills/verification-loop/SKILL.md +126 -0
- package/.agent/skills/video-editing/SKILL.md +310 -0
- package/.agent/skills/videodb/SKILL.md +374 -0
- package/.agent/skills/videodb/reference/api-reference.md +550 -0
- package/.agent/skills/videodb/reference/capture-reference.md +407 -0
- package/.agent/skills/videodb/reference/capture.md +101 -0
- package/.agent/skills/videodb/reference/editor.md +443 -0
- package/.agent/skills/videodb/reference/generative.md +331 -0
- package/.agent/skills/videodb/reference/rtstream-reference.md +564 -0
- package/.agent/skills/videodb/reference/rtstream.md +65 -0
- package/.agent/skills/videodb/reference/search.md +230 -0
- package/.agent/skills/videodb/reference/streaming.md +406 -0
- package/.agent/skills/videodb/reference/use-cases.md +118 -0
- package/.agent/skills/videodb/scripts/ws-listener.py +282 -0
- package/.agent/skills/visa-doc-translate/SKILL.md +117 -0
- package/.agent/skills/visa-doc-translate/readme.md +86 -0
- package/.agent/skills/vulnerability-scanner/SKILL.md +276 -276
- package/.agent/skills/vulnerability-scanner/checklists.md +121 -121
- package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -458
- package/.agent/skills/web-design-guidelines/SKILL.md +57 -57
- package/.agent/skills/webapp-testing/SKILL.md +187 -187
- package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -173
- package/.agent/skills/workspace-surface-audit/SKILL.md +125 -0
- package/.agent/skills/x-api/SKILL.md +230 -0
- package/.agent/tasks/lessons.md +40 -40
- package/.agent/tasks/todo.md +33 -33
- package/.agent/tasks/two-track-merge-contract.md +29 -0
- package/.agent/workflows/aside.md +3 -3
- package/.agent/workflows/brainstorm.md +113 -113
- package/.agent/workflows/claw.md +13 -41
- package/.agent/workflows/clean-memory.md +34 -0
- package/.agent/workflows/code-review.md +260 -11
- package/.agent/workflows/context-budget.md +12 -18
- package/.agent/workflows/cpp-build.md +1 -1
- package/.agent/workflows/cpp-review.md +4 -4
- package/.agent/workflows/create.md +59 -59
- package/.agent/workflows/debug.md +103 -103
- package/.agent/workflows/deploy.md +176 -176
- package/.agent/workflows/devfleet.md +13 -82
- package/.agent/workflows/docs.md +13 -21
- package/.agent/workflows/e2e.md +38 -135
- package/.agent/workflows/enhance.md +63 -63
- package/.agent/workflows/eval.md +15 -112
- package/.agent/workflows/flutter-build.md +164 -0
- package/.agent/workflows/flutter-review.md +116 -0
- package/.agent/workflows/flutter-test.md +144 -0
- package/.agent/workflows/gan-build.md +99 -0
- package/.agent/workflows/gan-design.md +35 -0
- package/.agent/workflows/go-build.md +1 -1
- package/.agent/workflows/go-review.md +4 -4
- package/.agent/workflows/harness-audit.md +5 -3
- package/.agent/workflows/init-docs.md +46 -46
- package/.agent/workflows/instinct-import.md +4 -4
- package/.agent/workflows/jira.md +106 -0
- package/.agent/workflows/kotlin-build.md +1 -1
- package/.agent/workflows/kotlin-review.md +5 -5
- package/.agent/workflows/learn-eval.md +9 -9
- package/.agent/workflows/multi-plan.md +10 -10
- package/.agent/workflows/orchestrate.md +23 -119
- package/.agent/workflows/plan.md +2 -0
- package/.agent/workflows/preview.md +81 -81
- package/.agent/workflows/prompt-optimize.md +13 -28
- package/.agent/workflows/prp-commit.md +112 -0
- package/.agent/workflows/prp-implement.md +385 -0
- package/.agent/workflows/prp-plan.md +502 -0
- package/.agent/workflows/prp-pr.md +184 -0
- package/.agent/workflows/prp-prd.md +447 -0
- package/.agent/workflows/python-review.md +5 -5
- package/.agent/workflows/refactor-clean.md +1 -1
- package/.agent/workflows/resume-session.md +10 -10
- package/.agent/workflows/rules-distill.md +14 -5
- package/.agent/workflows/santa-loop.md +175 -0
- package/.agent/workflows/save-session.md +9 -9
- package/.agent/workflows/status.md +86 -86
- package/.agent/workflows/tdd.md +30 -127
- package/.agent/workflows/test-coverage.md +1 -1
- package/.agent/workflows/test.md +144 -144
- package/.agent/workflows/ui-ux-pro-max.md +295 -295
- package/.agent/workflows/verify.md +15 -51
- package/README.md +144 -136
- package/RELEASE.md +32 -36
- package/package.json +87 -79
- package/scripts/release-check.js +1 -1
- package/src/bin/cli.js +354 -78
- package/src/lib/installer.js +151 -117
- package/src/lib/manifests/stacks.js +122 -0
- package/src/lib/slash-commands.js +28 -0
- package/src/templates/claude/CLAUDE.en.md +42 -0
- package/src/templates/claude/CLAUDE.md +42 -0
- package/src/templates/claude/CLAUDE.vi.md +42 -0
- package/src/templates/codex/AGENTS.en.md +40 -0
- package/src/templates/codex/AGENTS.md +40 -0
- package/src/templates/codex/AGENTS.vi.md +40 -0
- package/src/templates/cursor/pilo-masterkit.mdc +20 -0
- package/src/templates/gemini/GEMINI.en.md +56 -0
- package/src/templates/gemini/GEMINI.md +56 -0
- package/src/templates/gemini/GEMINI.vi.md +56 -0
- package/src/templates/github/copilot-instructions.md +16 -0
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: timing
|
|
3
|
+
description: Interpolation curves in Remotion - linear, easing, spring animations
|
|
4
|
+
metadata:
|
|
5
|
+
tags: spring, bounce, easing, interpolation
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
A simple linear interpolation is done using the `interpolate` function.
|
|
9
|
+
|
|
10
|
+
```ts title="Going from 0 to 1 over 100 frames"
|
|
11
|
+
import {interpolate} from 'remotion';
|
|
12
|
+
|
|
13
|
+
const opacity = interpolate(frame, [0, 100], [0, 1]);
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
By default, the values are not clamped, so the value can go outside the range [0, 1].
|
|
17
|
+
Here is how they can be clamped:
|
|
18
|
+
|
|
19
|
+
```ts title="Going from 0 to 1 over 100 frames with extrapolation"
|
|
20
|
+
const opacity = interpolate(frame, [0, 100], [0, 1], {
|
|
21
|
+
extrapolateRight: 'clamp',
|
|
22
|
+
extrapolateLeft: 'clamp',
|
|
23
|
+
});
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Spring animations
|
|
27
|
+
|
|
28
|
+
Spring animations have a more natural motion.
|
|
29
|
+
They go from 0 to 1 over time.
|
|
30
|
+
|
|
31
|
+
```ts title="Spring animation from 0 to 1 over 100 frames"
|
|
32
|
+
import {spring, useCurrentFrame, useVideoConfig} from 'remotion';
|
|
33
|
+
|
|
34
|
+
const frame = useCurrentFrame();
|
|
35
|
+
const {fps} = useVideoConfig();
|
|
36
|
+
|
|
37
|
+
const scale = spring({
|
|
38
|
+
frame,
|
|
39
|
+
fps,
|
|
40
|
+
});
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Physical properties
|
|
44
|
+
|
|
45
|
+
The default configuration is: `mass: 1, damping: 10, stiffness: 100`.
|
|
46
|
+
This leads to the animation having a bit of bounce before it settles.
|
|
47
|
+
|
|
48
|
+
The config can be overwritten like this:
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
const scale = spring({
|
|
52
|
+
frame,
|
|
53
|
+
fps,
|
|
54
|
+
config: {damping: 200},
|
|
55
|
+
});
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
The recommended configuration for a natural motion without a bounce is: `{ damping: 200 }`.
|
|
59
|
+
|
|
60
|
+
Here are some common configurations:
|
|
61
|
+
|
|
62
|
+
```tsx
|
|
63
|
+
const smooth = {damping: 200}; // Smooth, no bounce (subtle reveals)
|
|
64
|
+
const snappy = {damping: 20, stiffness: 200}; // Snappy, minimal bounce (UI elements)
|
|
65
|
+
const bouncy = {damping: 8}; // Bouncy entrance (playful animations)
|
|
66
|
+
const heavy = {damping: 15, stiffness: 80, mass: 2}; // Heavy, slow, small bounce
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Delay
|
|
70
|
+
|
|
71
|
+
The animation starts immediately by default.
|
|
72
|
+
Use the `delay` parameter to delay the animation by a number of frames.
|
|
73
|
+
|
|
74
|
+
```tsx
|
|
75
|
+
const entrance = spring({
|
|
76
|
+
frame: frame - ENTRANCE_DELAY,
|
|
77
|
+
fps,
|
|
78
|
+
delay: 20,
|
|
79
|
+
});
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Duration
|
|
83
|
+
|
|
84
|
+
A `spring()` has a natural duration based on the physical properties.
|
|
85
|
+
To stretch the animation to a specific duration, use the `durationInFrames` parameter.
|
|
86
|
+
|
|
87
|
+
```tsx
|
|
88
|
+
const spring = spring({
|
|
89
|
+
frame,
|
|
90
|
+
fps,
|
|
91
|
+
durationInFrames: 40,
|
|
92
|
+
});
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Combining spring() with interpolate()
|
|
96
|
+
|
|
97
|
+
Map spring output (0-1) to custom ranges:
|
|
98
|
+
|
|
99
|
+
```tsx
|
|
100
|
+
const springProgress = spring({
|
|
101
|
+
frame,
|
|
102
|
+
fps,
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
// Map to rotation
|
|
106
|
+
const rotation = interpolate(springProgress, [0, 1], [0, 360]);
|
|
107
|
+
|
|
108
|
+
<div style={{rotate: rotation + 'deg'}} />;
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Adding springs
|
|
112
|
+
|
|
113
|
+
Springs return just numbers, so math can be performed:
|
|
114
|
+
|
|
115
|
+
```tsx
|
|
116
|
+
const frame = useCurrentFrame();
|
|
117
|
+
const {fps, durationInFrames} = useVideoConfig();
|
|
118
|
+
|
|
119
|
+
const inAnimation = spring({
|
|
120
|
+
frame,
|
|
121
|
+
fps,
|
|
122
|
+
});
|
|
123
|
+
const outAnimation = spring({
|
|
124
|
+
frame,
|
|
125
|
+
fps,
|
|
126
|
+
durationInFrames: 1 * fps,
|
|
127
|
+
delay: durationInFrames - 1 * fps,
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
const scale = inAnimation - outAnimation;
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Easing
|
|
134
|
+
|
|
135
|
+
Easing can be added to the `interpolate` function:
|
|
136
|
+
|
|
137
|
+
```ts
|
|
138
|
+
import {interpolate, Easing} from 'remotion';
|
|
139
|
+
|
|
140
|
+
const value1 = interpolate(frame, [0, 100], [0, 1], {
|
|
141
|
+
easing: Easing.inOut(Easing.quad),
|
|
142
|
+
extrapolateLeft: 'clamp',
|
|
143
|
+
extrapolateRight: 'clamp',
|
|
144
|
+
});
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
The default easing is `Easing.linear`.
|
|
148
|
+
There are various other convexities:
|
|
149
|
+
|
|
150
|
+
- `Easing.in` for starting slow and accelerating
|
|
151
|
+
- `Easing.out` for starting fast and slowing down
|
|
152
|
+
- `Easing.inOut`
|
|
153
|
+
|
|
154
|
+
and curves (sorted from most linear to most curved):
|
|
155
|
+
|
|
156
|
+
- `Easing.quad`
|
|
157
|
+
- `Easing.sin`
|
|
158
|
+
- `Easing.exp`
|
|
159
|
+
- `Easing.circle`
|
|
160
|
+
|
|
161
|
+
Convexities and curves need be combined for an easing function:
|
|
162
|
+
|
|
163
|
+
```ts
|
|
164
|
+
const value1 = interpolate(frame, [0, 100], [0, 1], {
|
|
165
|
+
easing: Easing.inOut(Easing.quad),
|
|
166
|
+
extrapolateLeft: 'clamp',
|
|
167
|
+
extrapolateRight: 'clamp',
|
|
168
|
+
});
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Cubic bezier curves are also supported:
|
|
172
|
+
|
|
173
|
+
```ts
|
|
174
|
+
const value1 = interpolate(frame, [0, 100], [0, 1], {
|
|
175
|
+
easing: Easing.bezier(0.8, 0.22, 0.96, 0.65),
|
|
176
|
+
extrapolateLeft: 'clamp',
|
|
177
|
+
extrapolateRight: 'clamp',
|
|
178
|
+
});
|
|
179
|
+
```
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: transcribe-captions
|
|
3
|
+
description: Transcribing audio to generate captions in Remotion
|
|
4
|
+
metadata:
|
|
5
|
+
tags: captions, transcribe, whisper, audio, speech-to-text
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Transcribing audio
|
|
9
|
+
|
|
10
|
+
Remotion provides several built-in options for transcribing audio to generate captions:
|
|
11
|
+
|
|
12
|
+
- `@remotion/install-whisper-cpp` - Transcribe locally on a server using Whisper.cpp. Fast and free, but requires server infrastructure.
|
|
13
|
+
<https://remotion.dev/docs/install-whisper-cpp>
|
|
14
|
+
|
|
15
|
+
- `@remotion/whisper-web` - Transcribe in the browser using WebAssembly. No server needed and free, but slower due to WASM overhead.
|
|
16
|
+
<https://remotion.dev/docs/whisper-web>
|
|
17
|
+
|
|
18
|
+
- `@remotion/openai-whisper` - Use OpenAI Whisper API for cloud-based transcription. Fast and no server needed, but requires payment.
|
|
19
|
+
<https://remotion.dev/docs/openai-whisper/openai-whisper-api-to-captions>
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: transitions
|
|
3
|
+
description: Fullscreen scene transitions for Remotion.
|
|
4
|
+
metadata:
|
|
5
|
+
tags: transitions, fade, slide, wipe, scenes
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Fullscreen transitions
|
|
9
|
+
|
|
10
|
+
Using `<TransitionSeries>` to animate between multiple scenes or clips.
|
|
11
|
+
This will absolutely position the children.
|
|
12
|
+
|
|
13
|
+
## Prerequisites
|
|
14
|
+
|
|
15
|
+
First, the @remotion/transitions package needs to be installed.
|
|
16
|
+
If it is not, use the following command:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npx remotion add @remotion/transitions # If project uses npm
|
|
20
|
+
bunx remotion add @remotion/transitions # If project uses bun
|
|
21
|
+
yarn remotion add @remotion/transitions # If project uses yarn
|
|
22
|
+
pnpm exec remotion add @remotion/transitions # If project uses pnpm
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Example usage
|
|
26
|
+
|
|
27
|
+
```tsx
|
|
28
|
+
import {TransitionSeries, linearTiming} from '@remotion/transitions';
|
|
29
|
+
import {fade} from '@remotion/transitions/fade';
|
|
30
|
+
|
|
31
|
+
<TransitionSeries>
|
|
32
|
+
<TransitionSeries.Sequence durationInFrames={60}>
|
|
33
|
+
<SceneA />
|
|
34
|
+
</TransitionSeries.Sequence>
|
|
35
|
+
<TransitionSeries.Transition presentation={fade()} timing={linearTiming({durationInFrames: 15})} />
|
|
36
|
+
<TransitionSeries.Sequence durationInFrames={60}>
|
|
37
|
+
<SceneB />
|
|
38
|
+
</TransitionSeries.Sequence>
|
|
39
|
+
</TransitionSeries>;
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Available Transition Types
|
|
43
|
+
|
|
44
|
+
Import transitions from their respective modules:
|
|
45
|
+
|
|
46
|
+
```tsx
|
|
47
|
+
import {fade} from '@remotion/transitions/fade';
|
|
48
|
+
import {slide} from '@remotion/transitions/slide';
|
|
49
|
+
import {wipe} from '@remotion/transitions/wipe';
|
|
50
|
+
import {flip} from '@remotion/transitions/flip';
|
|
51
|
+
import {clockWipe} from '@remotion/transitions/clock-wipe';
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Slide Transition with Direction
|
|
55
|
+
|
|
56
|
+
Specify slide direction for enter/exit animations.
|
|
57
|
+
|
|
58
|
+
```tsx
|
|
59
|
+
import {slide} from '@remotion/transitions/slide';
|
|
60
|
+
|
|
61
|
+
<TransitionSeries.Transition presentation={slide({direction: 'from-left'})} timing={linearTiming({durationInFrames: 20})} />;
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Directions: `"from-left"`, `"from-right"`, `"from-top"`, `"from-bottom"`
|
|
65
|
+
|
|
66
|
+
## Timing Options
|
|
67
|
+
|
|
68
|
+
```tsx
|
|
69
|
+
import {linearTiming, springTiming} from '@remotion/transitions';
|
|
70
|
+
|
|
71
|
+
// Linear timing - constant speed
|
|
72
|
+
linearTiming({durationInFrames: 20});
|
|
73
|
+
|
|
74
|
+
// Spring timing - organic motion
|
|
75
|
+
springTiming({config: {damping: 200}, durationInFrames: 25});
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Duration calculation
|
|
79
|
+
|
|
80
|
+
Transitions overlap adjacent scenes, so the total composition length is **shorter** than the sum of all sequence durations.
|
|
81
|
+
|
|
82
|
+
For example, with two 60-frame sequences and a 15-frame transition:
|
|
83
|
+
|
|
84
|
+
- Without transitions: `60 + 60 = 120` frames
|
|
85
|
+
- With transition: `60 + 60 - 15 = 105` frames
|
|
86
|
+
|
|
87
|
+
The transition duration is subtracted because both scenes play simultaneously during the transition.
|
|
88
|
+
|
|
89
|
+
### Getting the duration of a transition
|
|
90
|
+
|
|
91
|
+
Use the `getDurationInFrames()` method on the timing object:
|
|
92
|
+
|
|
93
|
+
```tsx
|
|
94
|
+
import {linearTiming, springTiming} from '@remotion/transitions';
|
|
95
|
+
|
|
96
|
+
const linearDuration = linearTiming({durationInFrames: 20}).getDurationInFrames({fps: 30});
|
|
97
|
+
// Returns 20
|
|
98
|
+
|
|
99
|
+
const springDuration = springTiming({config: {damping: 200}}).getDurationInFrames({fps: 30});
|
|
100
|
+
// Returns calculated duration based on spring physics
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
For `springTiming` without an explicit `durationInFrames`, the duration depends on `fps` because it calculates when the spring animation settles.
|
|
104
|
+
|
|
105
|
+
### Calculating total composition duration
|
|
106
|
+
|
|
107
|
+
```tsx
|
|
108
|
+
import {linearTiming} from '@remotion/transitions';
|
|
109
|
+
|
|
110
|
+
const scene1Duration = 60;
|
|
111
|
+
const scene2Duration = 60;
|
|
112
|
+
const scene3Duration = 60;
|
|
113
|
+
|
|
114
|
+
const timing1 = linearTiming({durationInFrames: 15});
|
|
115
|
+
const timing2 = linearTiming({durationInFrames: 20});
|
|
116
|
+
|
|
117
|
+
const transition1Duration = timing1.getDurationInFrames({fps: 30});
|
|
118
|
+
const transition2Duration = timing2.getDurationInFrames({fps: 30});
|
|
119
|
+
|
|
120
|
+
const totalDuration = scene1Duration + scene2Duration + scene3Duration - transition1Duration - transition2Duration;
|
|
121
|
+
// 60 + 60 + 60 - 15 - 20 = 145 frames
|
|
122
|
+
```
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: trimming
|
|
3
|
+
description: Trimming patterns for Remotion - cut the beginning or end of animations
|
|
4
|
+
metadata:
|
|
5
|
+
tags: sequence, trim, clip, cut, offset
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Use `<Sequence>` with a negative `from` value to trim the start of an animation.
|
|
9
|
+
|
|
10
|
+
## Trim the Beginning
|
|
11
|
+
|
|
12
|
+
A negative `from` value shifts time backwards, making the animation start partway through:
|
|
13
|
+
|
|
14
|
+
```tsx
|
|
15
|
+
import { Sequence, useVideoConfig } from "remotion";
|
|
16
|
+
|
|
17
|
+
const fps = useVideoConfig();
|
|
18
|
+
|
|
19
|
+
<Sequence from={-0.5 * fps}>
|
|
20
|
+
<MyAnimation />
|
|
21
|
+
</Sequence>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The animation appears 15 frames into its progress - the first 15 frames are trimmed off.
|
|
25
|
+
Inside `<MyAnimation>`, `useCurrentFrame()` starts at 15 instead of 0.
|
|
26
|
+
|
|
27
|
+
## Trim the End
|
|
28
|
+
|
|
29
|
+
Use `durationInFrames` to unmount content after a specified duration:
|
|
30
|
+
|
|
31
|
+
```tsx
|
|
32
|
+
|
|
33
|
+
<Sequence durationInFrames={1.5 * fps}>
|
|
34
|
+
<MyAnimation />
|
|
35
|
+
</Sequence>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
The animation plays for 45 frames, then the component unmounts.
|
|
39
|
+
|
|
40
|
+
## Trim and Delay
|
|
41
|
+
|
|
42
|
+
Nest sequences to both trim the beginning and delay when it appears:
|
|
43
|
+
|
|
44
|
+
```tsx
|
|
45
|
+
<Sequence from={30}>
|
|
46
|
+
<Sequence from={-15}>
|
|
47
|
+
<MyAnimation />
|
|
48
|
+
</Sequence>
|
|
49
|
+
</Sequence>
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
The inner sequence trims 15 frames from the start, and the outer sequence delays the result by 30 frames.
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: videos
|
|
3
|
+
description: Embedding videos in Remotion - trimming, volume, speed, looping, pitch
|
|
4
|
+
metadata:
|
|
5
|
+
tags: video, media, trim, volume, speed, loop, pitch
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Using videos in Remotion
|
|
9
|
+
|
|
10
|
+
## Prerequisites
|
|
11
|
+
|
|
12
|
+
First, the @remotion/media package needs to be installed.
|
|
13
|
+
If it is not, use the following command:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npx remotion add @remotion/media # If project uses npm
|
|
17
|
+
bunx remotion add @remotion/media # If project uses bun
|
|
18
|
+
yarn remotion add @remotion/media # If project uses yarn
|
|
19
|
+
pnpm exec remotion add @remotion/media # If project uses pnpm
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Use `<Video>` from `@remotion/media` to embed videos into your composition.
|
|
23
|
+
|
|
24
|
+
```tsx
|
|
25
|
+
import { Video } from "@remotion/media";
|
|
26
|
+
import { staticFile } from "remotion";
|
|
27
|
+
|
|
28
|
+
export const MyComposition = () => {
|
|
29
|
+
return <Video src={staticFile("video.mp4")} />;
|
|
30
|
+
};
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Remote URLs are also supported:
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
<Video src="https://remotion.media/video.mp4" />
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Trimming
|
|
40
|
+
|
|
41
|
+
Use `trimBefore` and `trimAfter` to remove portions of the video. Values are in seconds.
|
|
42
|
+
|
|
43
|
+
```tsx
|
|
44
|
+
const { fps } = useVideoConfig();
|
|
45
|
+
|
|
46
|
+
return (
|
|
47
|
+
<Video
|
|
48
|
+
src={staticFile("video.mp4")}
|
|
49
|
+
trimBefore={2 * fps} // Skip the first 2 seconds
|
|
50
|
+
trimAfter={10 * fps} // End at the 10 second mark
|
|
51
|
+
/>
|
|
52
|
+
);
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Delaying
|
|
56
|
+
|
|
57
|
+
Wrap the video in a `<Sequence>` to delay when it appears:
|
|
58
|
+
|
|
59
|
+
```tsx
|
|
60
|
+
import { Sequence, staticFile } from "remotion";
|
|
61
|
+
import { Video } from "@remotion/media";
|
|
62
|
+
|
|
63
|
+
const { fps } = useVideoConfig();
|
|
64
|
+
|
|
65
|
+
return (
|
|
66
|
+
<Sequence from={1 * fps}>
|
|
67
|
+
<Video src={staticFile("video.mp4")} />
|
|
68
|
+
</Sequence>
|
|
69
|
+
);
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
The video will appear after 1 second.
|
|
73
|
+
|
|
74
|
+
## Sizing and Position
|
|
75
|
+
|
|
76
|
+
Use the `style` prop to control size and position:
|
|
77
|
+
|
|
78
|
+
```tsx
|
|
79
|
+
<Video
|
|
80
|
+
src={staticFile("video.mp4")}
|
|
81
|
+
style={{
|
|
82
|
+
width: 500,
|
|
83
|
+
height: 300,
|
|
84
|
+
position: "absolute",
|
|
85
|
+
top: 100,
|
|
86
|
+
left: 50,
|
|
87
|
+
objectFit: "cover",
|
|
88
|
+
}}
|
|
89
|
+
/>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Volume
|
|
93
|
+
|
|
94
|
+
Set a static volume (0 to 1):
|
|
95
|
+
|
|
96
|
+
```tsx
|
|
97
|
+
<Video src={staticFile("video.mp4")} volume={0.5} />
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Or use a callback for dynamic volume based on the current frame:
|
|
101
|
+
|
|
102
|
+
```tsx
|
|
103
|
+
import { interpolate } from "remotion";
|
|
104
|
+
|
|
105
|
+
const { fps } = useVideoConfig();
|
|
106
|
+
|
|
107
|
+
return (
|
|
108
|
+
<Video
|
|
109
|
+
src={staticFile("video.mp4")}
|
|
110
|
+
volume={(f) =>
|
|
111
|
+
interpolate(f, [0, 1 * fps], [0, 1], { extrapolateRight: "clamp" })
|
|
112
|
+
}
|
|
113
|
+
/>
|
|
114
|
+
);
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Use `muted` to silence the video entirely:
|
|
118
|
+
|
|
119
|
+
```tsx
|
|
120
|
+
<Video src={staticFile("video.mp4")} muted />
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Speed
|
|
124
|
+
|
|
125
|
+
Use `playbackRate` to change the playback speed:
|
|
126
|
+
|
|
127
|
+
```tsx
|
|
128
|
+
<Video src={staticFile("video.mp4")} playbackRate={2} /> {/* 2x speed */}
|
|
129
|
+
<Video src={staticFile("video.mp4")} playbackRate={0.5} /> {/* Half speed */}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Reverse playback is not supported.
|
|
133
|
+
|
|
134
|
+
## Looping
|
|
135
|
+
|
|
136
|
+
Use `loop` to loop the video indefinitely:
|
|
137
|
+
|
|
138
|
+
```tsx
|
|
139
|
+
<Video src={staticFile("video.mp4")} loop />
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Use `loopVolumeCurveBehavior` to control how the frame count behaves when looping:
|
|
143
|
+
|
|
144
|
+
- `"repeat"`: Frame count resets to 0 each loop (for `volume` callback)
|
|
145
|
+
- `"extend"`: Frame count continues incrementing
|
|
146
|
+
|
|
147
|
+
```tsx
|
|
148
|
+
<Video
|
|
149
|
+
src={staticFile("video.mp4")}
|
|
150
|
+
loop
|
|
151
|
+
loopVolumeCurveBehavior="extend"
|
|
152
|
+
volume={(f) => interpolate(f, [0, 300], [1, 0])} // Fade out over multiple loops
|
|
153
|
+
/>
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## Pitch
|
|
157
|
+
|
|
158
|
+
Use `toneFrequency` to adjust the pitch without affecting speed. Values range from 0.01 to 2:
|
|
159
|
+
|
|
160
|
+
```tsx
|
|
161
|
+
<Video
|
|
162
|
+
src={staticFile("video.mp4")}
|
|
163
|
+
toneFrequency={1.5} // Higher pitch
|
|
164
|
+
/>
|
|
165
|
+
<Video
|
|
166
|
+
src={staticFile("video.mp4")}
|
|
167
|
+
toneFrequency={0.8} // Lower pitch
|
|
168
|
+
/>
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Pitch shifting only works during server-side rendering, not in the Remotion Studio preview or in the `<Player />`.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: repo-scan
|
|
3
|
+
description: Cross-stack source code asset audit — classifies every file, detects embedded third-party libraries, and delivers actionable four-level verdicts per module with interactive HTML reports.
|
|
4
|
+
origin: community
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# repo-scan
|
|
8
|
+
|
|
9
|
+
> Every ecosystem has its own dependency manager, but no tool looks across C++, Android, iOS, and Web to tell you: how much code is actually yours, what's third-party, and what's dead weight.
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- Taking over a large legacy codebase and need a structural overview
|
|
14
|
+
- Before major refactoring — identify what's core, what's duplicate, what's dead
|
|
15
|
+
- Auditing third-party dependencies embedded directly in source (not declared in package managers)
|
|
16
|
+
- Preparing architecture decision records for monorepo reorganization
|
|
17
|
+
|
|
18
|
+
## Installation
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# Fetch only the pinned commit for reproducibility
|
|
22
|
+
mkdir -p ~/.claude/skills/repo-scan
|
|
23
|
+
git init repo-scan
|
|
24
|
+
cd repo-scan
|
|
25
|
+
git remote add origin https://github.com/haibindev/repo-scan.git
|
|
26
|
+
git fetch --depth 1 origin 2742664
|
|
27
|
+
git checkout --detach FETCH_HEAD
|
|
28
|
+
cp -r . ~/.claude/skills/repo-scan
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
> Review the source before installing any agent skill.
|
|
32
|
+
|
|
33
|
+
## Core Capabilities
|
|
34
|
+
|
|
35
|
+
| Capability | Description |
|
|
36
|
+
|---|---|
|
|
37
|
+
| **Cross-stack scanning** | C/C++, Java/Android, iOS (OC/Swift), Web (TS/JS/Vue) in one pass |
|
|
38
|
+
| **File classification** | Every file tagged as project code, third-party, or build artifact |
|
|
39
|
+
| **Library detection** | 50+ known libraries (FFmpeg, Boost, OpenSSL…) with version extraction |
|
|
40
|
+
| **Four-level verdicts** | Core Asset / Extract & Merge / Rebuild / Deprecate |
|
|
41
|
+
| **HTML reports** | Interactive dark-theme pages with drill-down navigation |
|
|
42
|
+
| **Monorepo support** | Hierarchical scanning with summary + sub-project reports |
|
|
43
|
+
|
|
44
|
+
## Analysis Depth Levels
|
|
45
|
+
|
|
46
|
+
| Level | Files Read | Use Case |
|
|
47
|
+
|---|---|---|
|
|
48
|
+
| `fast` | 1-2 per module | Quick inventory of huge directories |
|
|
49
|
+
| `standard` | 2-5 per module | Default audit with full dependency + architecture checks |
|
|
50
|
+
| `deep` | 5-10 per module | Adds thread safety, memory management, API consistency |
|
|
51
|
+
| `full` | All files | Pre-merge comprehensive review |
|
|
52
|
+
|
|
53
|
+
## How It Works
|
|
54
|
+
|
|
55
|
+
1. **Classify the repo surface**: enumerate files, then tag each as project code, embedded third-party code, or build artifact.
|
|
56
|
+
2. **Detect embedded libraries**: inspect directory names, headers, license files, and version markers to identify bundled dependencies and likely versions.
|
|
57
|
+
3. **Score each module**: group files by module or subsystem, then assign one of the four verdicts based on ownership, duplication, and maintenance cost.
|
|
58
|
+
4. **Highlight structural risks**: call out dead-weight artifacts, duplicated wrappers, outdated vendored code, and modules that should be extracted, rebuilt, or deprecated.
|
|
59
|
+
5. **Produce the report**: return a concise summary plus the interactive HTML output with per-module drill-down so the audit can be reviewed asynchronously.
|
|
60
|
+
|
|
61
|
+
## Examples
|
|
62
|
+
|
|
63
|
+
On a 50,000-file C++ monorepo:
|
|
64
|
+
- Found FFmpeg 2.x (2015 vintage) still in production
|
|
65
|
+
- Discovered the same SDK wrapper duplicated 3 times
|
|
66
|
+
- Identified 636 MB of committed Debug/ipch/obj build artifacts
|
|
67
|
+
- Classified: 3 MB project code vs 596 MB third-party
|
|
68
|
+
|
|
69
|
+
## Best Practices
|
|
70
|
+
|
|
71
|
+
- Start with `standard` depth for first-time audits
|
|
72
|
+
- Use `fast` for monorepos with 100+ modules to get a quick inventory
|
|
73
|
+
- Run `deep` incrementally on modules flagged for refactoring
|
|
74
|
+
- Review the cross-module analysis for duplicate detection across sub-projects
|
|
75
|
+
|
|
76
|
+
## Links
|
|
77
|
+
|
|
78
|
+
- [GitHub Repository](https://github.com/haibindev/repo-scan)
|