@vodailoc/kilo-kit-mcp 1.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/.mcp/kilo-kit.example.json +8 -0
- package/LICENSE +190 -0
- package/QUICKSTART.md +298 -0
- package/README.md +395 -0
- package/mcp/README.md +132 -0
- package/mcp/dist/formatters.js +77 -0
- package/mcp/dist/frontmatter.js +54 -0
- package/mcp/dist/paths.js +22 -0
- package/mcp/dist/registry.js +185 -0
- package/mcp/dist/router.js +98 -0
- package/mcp/dist/server.js +223 -0
- package/mcp/dist/smoke.js +57 -0
- package/mcp/dist/types.js +1 -0
- package/mcp/dist/validator.js +35 -0
- package/mcp/package.json +30 -0
- package/package.json +57 -0
- package/skills/README.md +647 -0
- package/skills/SKILLS_INDEX.md +139 -0
- package/skills/agent-frameworks/claukit/SKILL.md +61 -0
- package/skills/agent-frameworks/claukit/references/guardrails.md +42 -0
- package/skills/agent-frameworks/claukit/references/integration-hints.md +67 -0
- package/skills/agent-frameworks/claukit/references/mission-briefs.md +38 -0
- package/skills/agent-frameworks/claukit/references/skills-directory.md +70 -0
- package/skills/ai-media/ai-multimodal/.env.example +97 -0
- package/skills/ai-media/ai-multimodal/SKILL.md +357 -0
- package/skills/ai-media/ai-multimodal/references/audio-processing.md +373 -0
- package/skills/ai-media/ai-multimodal/references/image-generation.md +558 -0
- package/skills/ai-media/ai-multimodal/references/video-analysis.md +502 -0
- package/skills/ai-media/ai-multimodal/references/vision-understanding.md +483 -0
- package/skills/ai-media/ai-multimodal/scripts/document_converter.py +395 -0
- package/skills/ai-media/ai-multimodal/scripts/gemini_batch_process.py +480 -0
- package/skills/ai-media/ai-multimodal/scripts/media_optimizer.py +506 -0
- package/skills/ai-media/ai-multimodal/scripts/requirements.txt +26 -0
- package/skills/ai-media/ai-multimodal/scripts/tests/requirements.txt +20 -0
- package/skills/ai-media/ai-multimodal/scripts/tests/test_document_converter.py +299 -0
- package/skills/ai-media/ai-multimodal/scripts/tests/test_gemini_batch_process.py +362 -0
- package/skills/ai-media/ai-multimodal/scripts/tests/test_media_optimizer.py +373 -0
- package/skills/ai-media/geo-fundamentals/SKILL.md +156 -0
- package/skills/ai-media/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/skills/ai-media/media-processing/SKILL.md +358 -0
- package/skills/ai-media/media-processing/references/ffmpeg-encoding.md +358 -0
- package/skills/ai-media/media-processing/references/ffmpeg-filters.md +503 -0
- package/skills/ai-media/media-processing/references/ffmpeg-streaming.md +403 -0
- package/skills/ai-media/media-processing/references/format-compatibility.md +375 -0
- package/skills/ai-media/media-processing/references/imagemagick-batch.md +612 -0
- package/skills/ai-media/media-processing/references/imagemagick-editing.md +623 -0
- package/skills/ai-media/media-processing/scripts/batch_resize.py +342 -0
- package/skills/ai-media/media-processing/scripts/media_convert.py +311 -0
- package/skills/ai-media/media-processing/scripts/requirements.txt +24 -0
- package/skills/ai-media/media-processing/scripts/tests/requirements.txt +2 -0
- package/skills/ai-media/media-processing/scripts/tests/test_batch_resize.py +372 -0
- package/skills/ai-media/media-processing/scripts/tests/test_media_convert.py +259 -0
- package/skills/ai-media/media-processing/scripts/tests/test_video_optimize.py +397 -0
- package/skills/ai-media/media-processing/scripts/video_optimize.py +414 -0
- package/skills/ai-media/screenshot/LICENSE.txt +201 -0
- package/skills/ai-media/screenshot/SKILL.md +267 -0
- package/skills/ai-media/screenshot/agents/openai.yaml +6 -0
- package/skills/ai-media/screenshot/assets/screenshot-small.svg +5 -0
- package/skills/ai-media/screenshot/assets/screenshot.png +0 -0
- package/skills/ai-media/screenshot/scripts/ensure_macos_permissions.sh +54 -0
- package/skills/ai-media/screenshot/scripts/macos_display_info.swift +22 -0
- package/skills/ai-media/screenshot/scripts/macos_permissions.swift +40 -0
- package/skills/ai-media/screenshot/scripts/macos_window_info.swift +126 -0
- package/skills/ai-media/screenshot/scripts/take_screenshot.ps1 +163 -0
- package/skills/ai-media/screenshot/scripts/take_screenshot.py +585 -0
- package/skills/ai-media/seo-fundamentals/SKILL.md +129 -0
- package/skills/ai-media/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/skills/ai-media/sora/LICENSE.txt +201 -0
- package/skills/ai-media/sora/SKILL.md +153 -0
- package/skills/ai-media/sora/agents/openai.yaml +6 -0
- package/skills/ai-media/sora/assets/sora-small.svg +4 -0
- package/skills/ai-media/sora/assets/sora.png +0 -0
- package/skills/ai-media/sora/references/cinematic-shots.md +53 -0
- package/skills/ai-media/sora/references/cli.md +248 -0
- package/skills/ai-media/sora/references/codex-network.md +28 -0
- package/skills/ai-media/sora/references/prompting.md +137 -0
- package/skills/ai-media/sora/references/sample-prompts.md +95 -0
- package/skills/ai-media/sora/references/social-ads.md +42 -0
- package/skills/ai-media/sora/references/troubleshooting.md +58 -0
- package/skills/ai-media/sora/references/video-api.md +45 -0
- package/skills/ai-media/sora/scripts/sora.py +970 -0
- package/skills/design/aesthetic/SKILL.md +121 -0
- package/skills/design/aesthetic/assets/design-guideline-template.md +163 -0
- package/skills/design/aesthetic/assets/design-story-template.md +135 -0
- package/skills/design/aesthetic/references/design-principles.md +62 -0
- package/skills/design/aesthetic/references/design-resources.md +75 -0
- package/skills/design/aesthetic/references/micro-interactions.md +53 -0
- package/skills/design/aesthetic/references/storytelling-design.md +50 -0
- package/skills/design/figma/LICENSE.txt +202 -0
- package/skills/design/figma/SKILL.md +42 -0
- package/skills/design/figma/agents/openai.yaml +14 -0
- package/skills/design/figma/assets/figma-small.svg +3 -0
- package/skills/design/figma/assets/figma.png +0 -0
- package/skills/design/figma/assets/icon.svg +28 -0
- package/skills/design/figma/references/figma-mcp-config.md +35 -0
- package/skills/design/figma/references/figma-tools-and-prompts.md +34 -0
- package/skills/design/figma-implement-design/LICENSE.txt +202 -0
- package/skills/design/figma-implement-design/SKILL.md +264 -0
- package/skills/design/figma-implement-design/agents/openai.yaml +14 -0
- package/skills/design/figma-implement-design/assets/figma-small.svg +3 -0
- package/skills/design/figma-implement-design/assets/figma.png +0 -0
- package/skills/design/figma-implement-design/assets/icon.svg +28 -0
- package/skills/design/frontend-design/SKILL.md +42 -0
- package/skills/design/frontend-design/references/animejs.md +396 -0
- package/skills/design/mobile-design/SKILL.md +394 -0
- package/skills/design/mobile-design/decision-trees.md +516 -0
- package/skills/design/mobile-design/mobile-backend.md +491 -0
- package/skills/design/mobile-design/mobile-color-system.md +420 -0
- package/skills/design/mobile-design/mobile-debugging.md +122 -0
- package/skills/design/mobile-design/mobile-design-thinking.md +357 -0
- package/skills/design/mobile-design/mobile-navigation.md +458 -0
- package/skills/design/mobile-design/mobile-performance.md +767 -0
- package/skills/design/mobile-design/mobile-testing.md +356 -0
- package/skills/design/mobile-design/mobile-typography.md +433 -0
- package/skills/design/mobile-design/platform-android.md +666 -0
- package/skills/design/mobile-design/platform-ios.md +561 -0
- package/skills/design/mobile-design/scripts/mobile_audit.py +670 -0
- package/skills/design/mobile-design/touch-psychology.md +537 -0
- package/skills/design/tailwind-patterns/SKILL.md +269 -0
- package/skills/design/ui-styling/LICENSE.txt +202 -0
- package/skills/design/ui-styling/SKILL.md +321 -0
- package/skills/design/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/skills/design/ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/skills/design/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/skills/design/ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/skills/design/ui-styling/references/canvas-design-system.md +320 -0
- package/skills/design/ui-styling/references/shadcn-accessibility.md +471 -0
- package/skills/design/ui-styling/references/shadcn-components.md +424 -0
- package/skills/design/ui-styling/references/shadcn-theming.md +373 -0
- package/skills/design/ui-styling/references/tailwind-customization.md +483 -0
- package/skills/design/ui-styling/references/tailwind-responsive.md +382 -0
- package/skills/design/ui-styling/references/tailwind-utilities.md +455 -0
- package/skills/design/ui-styling/scripts/requirements.txt +17 -0
- package/skills/design/ui-styling/scripts/shadcn_add.py +292 -0
- package/skills/design/ui-styling/scripts/tailwind_config_gen.py +456 -0
- package/skills/design/ui-styling/scripts/tests/coverage-ui.json +1 -0
- package/skills/design/ui-styling/scripts/tests/requirements.txt +3 -0
- package/skills/design/ui-styling/scripts/tests/test_shadcn_add.py +266 -0
- package/skills/design/ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
- package/skills/engineering/api-patterns/SKILL.md +81 -0
- package/skills/engineering/api-patterns/api-style.md +42 -0
- package/skills/engineering/api-patterns/auth.md +24 -0
- package/skills/engineering/api-patterns/documentation.md +26 -0
- package/skills/engineering/api-patterns/graphql.md +41 -0
- package/skills/engineering/api-patterns/rate-limiting.md +31 -0
- package/skills/engineering/api-patterns/response.md +37 -0
- package/skills/engineering/api-patterns/rest.md +40 -0
- package/skills/engineering/api-patterns/scripts/api_validator.py +211 -0
- package/skills/engineering/api-patterns/security-testing.md +122 -0
- package/skills/engineering/api-patterns/trpc.md +41 -0
- package/skills/engineering/api-patterns/versioning.md +22 -0
- package/skills/engineering/app-builder/SKILL.md +75 -0
- package/skills/engineering/app-builder/agent-coordination.md +71 -0
- package/skills/engineering/app-builder/feature-building.md +53 -0
- package/skills/engineering/app-builder/project-detection.md +34 -0
- package/skills/engineering/app-builder/scaffolding.md +118 -0
- package/skills/engineering/app-builder/tech-stack.md +40 -0
- package/skills/engineering/app-builder/templates/SKILL.md +39 -0
- package/skills/engineering/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/skills/engineering/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/skills/engineering/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/skills/engineering/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/skills/engineering/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/skills/engineering/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/skills/engineering/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/skills/engineering/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
- package/skills/engineering/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
- package/skills/engineering/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
- package/skills/engineering/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
- package/skills/engineering/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/skills/engineering/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
- package/skills/engineering/architecture/SKILL.md +55 -0
- package/skills/engineering/architecture/context-discovery.md +43 -0
- package/skills/engineering/architecture/examples.md +94 -0
- package/skills/engineering/architecture/pattern-selection.md +68 -0
- package/skills/engineering/architecture/patterns-reference.md +50 -0
- package/skills/engineering/architecture/trade-off-analysis.md +77 -0
- package/skills/engineering/aspnet-core/LICENSE.txt +202 -0
- package/skills/engineering/aspnet-core/SKILL.md +61 -0
- package/skills/engineering/aspnet-core/agents/openai.yaml +5 -0
- package/skills/engineering/aspnet-core/assets/dotnet-logo.png +0 -0
- package/skills/engineering/aspnet-core/references/_sections.md +40 -0
- package/skills/engineering/aspnet-core/references/apis-minimal-and-controllers.md +81 -0
- package/skills/engineering/aspnet-core/references/data-state-and-services.md +69 -0
- package/skills/engineering/aspnet-core/references/program-and-pipeline.md +103 -0
- package/skills/engineering/aspnet-core/references/realtime-grpc-and-background-work.md +58 -0
- package/skills/engineering/aspnet-core/references/security-and-identity.md +75 -0
- package/skills/engineering/aspnet-core/references/source-map.md +43 -0
- package/skills/engineering/aspnet-core/references/stack-selection.md +63 -0
- package/skills/engineering/aspnet-core/references/testing-performance-and-operations.md +92 -0
- package/skills/engineering/aspnet-core/references/ui-blazor.md +53 -0
- package/skills/engineering/aspnet-core/references/ui-mvc.md +56 -0
- package/skills/engineering/aspnet-core/references/ui-razor-pages.md +55 -0
- package/skills/engineering/aspnet-core/references/versioning-and-upgrades.md +51 -0
- package/skills/engineering/backend-development/SKILL.md +95 -0
- package/skills/engineering/backend-development/references/backend-api-design.md +495 -0
- package/skills/engineering/backend-development/references/backend-architecture.md +454 -0
- package/skills/engineering/backend-development/references/backend-authentication.md +338 -0
- package/skills/engineering/backend-development/references/backend-code-quality.md +659 -0
- package/skills/engineering/backend-development/references/backend-debugging.md +904 -0
- package/skills/engineering/backend-development/references/backend-devops.md +494 -0
- package/skills/engineering/backend-development/references/backend-mindset.md +387 -0
- package/skills/engineering/backend-development/references/backend-performance.md +397 -0
- package/skills/engineering/backend-development/references/backend-security.md +290 -0
- package/skills/engineering/backend-development/references/backend-technologies.md +256 -0
- package/skills/engineering/backend-development/references/backend-testing.md +429 -0
- package/skills/engineering/better-auth/SKILL.md +204 -0
- package/skills/engineering/better-auth/references/advanced-features.md +553 -0
- package/skills/engineering/better-auth/references/database-integration.md +577 -0
- package/skills/engineering/better-auth/references/email-password-auth.md +416 -0
- package/skills/engineering/better-auth/references/oauth-providers.md +430 -0
- package/skills/engineering/better-auth/scripts/better_auth_init.py +521 -0
- package/skills/engineering/better-auth/scripts/requirements.txt +15 -0
- package/skills/engineering/better-auth/scripts/tests/test_better_auth_init.py +421 -0
- package/skills/engineering/clean-code/SKILL.md +201 -0
- package/skills/engineering/code-review/SKILL.md +140 -0
- package/skills/engineering/code-review/references/code-review-reception.md +209 -0
- package/skills/engineering/code-review/references/requesting-code-review.md +105 -0
- package/skills/engineering/code-review/references/verification-before-completion.md +139 -0
- package/skills/engineering/code-review-checklist/SKILL.md +109 -0
- package/skills/engineering/context-engineering/SKILL.md +86 -0
- package/skills/engineering/context-engineering/references/context-compression.md +84 -0
- package/skills/engineering/context-engineering/references/context-degradation.md +93 -0
- package/skills/engineering/context-engineering/references/context-fundamentals.md +75 -0
- package/skills/engineering/context-engineering/references/context-optimization.md +82 -0
- package/skills/engineering/context-engineering/references/evaluation.md +89 -0
- package/skills/engineering/context-engineering/references/memory-systems.md +88 -0
- package/skills/engineering/context-engineering/references/multi-agent-patterns.md +90 -0
- package/skills/engineering/context-engineering/references/project-development.md +97 -0
- package/skills/engineering/context-engineering/references/tool-design.md +86 -0
- package/skills/engineering/context-engineering/scripts/compression_evaluator.py +329 -0
- package/skills/engineering/context-engineering/scripts/context_analyzer.py +294 -0
- package/skills/engineering/database-design/SKILL.md +52 -0
- package/skills/engineering/database-design/database-selection.md +43 -0
- package/skills/engineering/database-design/indexing.md +39 -0
- package/skills/engineering/database-design/migrations.md +48 -0
- package/skills/engineering/database-design/optimization.md +36 -0
- package/skills/engineering/database-design/orm-selection.md +30 -0
- package/skills/engineering/database-design/schema-design.md +56 -0
- package/skills/engineering/database-design/scripts/schema_validator.py +172 -0
- package/skills/engineering/databases/SKILL.md +232 -0
- package/skills/engineering/databases/references/mongodb-aggregation.md +447 -0
- package/skills/engineering/databases/references/mongodb-atlas.md +465 -0
- package/skills/engineering/databases/references/mongodb-crud.md +408 -0
- package/skills/engineering/databases/references/mongodb-indexing.md +442 -0
- package/skills/engineering/databases/references/postgresql-administration.md +594 -0
- package/skills/engineering/databases/references/postgresql-performance.md +527 -0
- package/skills/engineering/databases/references/postgresql-psql-cli.md +467 -0
- package/skills/engineering/databases/references/postgresql-queries.md +475 -0
- package/skills/engineering/databases/scripts/db_backup.py +502 -0
- package/skills/engineering/databases/scripts/db_migrate.py +414 -0
- package/skills/engineering/databases/scripts/db_performance_check.py +444 -0
- package/skills/engineering/databases/scripts/requirements.txt +20 -0
- package/skills/engineering/databases/scripts/tests/coverage-db.json +1 -0
- package/skills/engineering/databases/scripts/tests/requirements.txt +4 -0
- package/skills/engineering/databases/scripts/tests/test_db_backup.py +340 -0
- package/skills/engineering/databases/scripts/tests/test_db_migrate.py +277 -0
- package/skills/engineering/databases/scripts/tests/test_db_performance_check.py +370 -0
- package/skills/engineering/diagnose/SKILL.md +117 -0
- package/skills/engineering/diagnose/scripts/hitl-loop.template.sh +41 -0
- package/skills/engineering/docs-seeker/SKILL.md +207 -0
- package/skills/engineering/docs-seeker/WORKFLOWS.md +505 -0
- package/skills/engineering/docs-seeker/references/best-practices.md +632 -0
- package/skills/engineering/docs-seeker/references/documentation-sources.md +461 -0
- package/skills/engineering/docs-seeker/references/error-handling.md +621 -0
- package/skills/engineering/docs-seeker/references/limitations.md +821 -0
- package/skills/engineering/docs-seeker/references/performance.md +574 -0
- package/skills/engineering/docs-seeker/references/tool-selection.md +262 -0
- package/skills/engineering/frontend-development/SKILL.md +399 -0
- package/skills/engineering/frontend-development/resources/common-patterns.md +331 -0
- package/skills/engineering/frontend-development/resources/complete-examples.md +872 -0
- package/skills/engineering/frontend-development/resources/component-patterns.md +502 -0
- package/skills/engineering/frontend-development/resources/data-fetching.md +767 -0
- package/skills/engineering/frontend-development/resources/file-organization.md +502 -0
- package/skills/engineering/frontend-development/resources/loading-and-error-states.md +501 -0
- package/skills/engineering/frontend-development/resources/performance.md +406 -0
- package/skills/engineering/frontend-development/resources/routing-guide.md +364 -0
- package/skills/engineering/frontend-development/resources/styling-guide.md +428 -0
- package/skills/engineering/frontend-development/resources/typescript-standards.md +418 -0
- package/skills/engineering/i18n-localization/SKILL.md +154 -0
- package/skills/engineering/i18n-localization/scripts/i18n_checker.py +241 -0
- package/skills/engineering/improve-codebase-architecture/DEEPENING.md +37 -0
- package/skills/engineering/improve-codebase-architecture/INTERFACE-DESIGN.md +44 -0
- package/skills/engineering/improve-codebase-architecture/LANGUAGE.md +53 -0
- package/skills/engineering/improve-codebase-architecture/SKILL.md +71 -0
- package/skills/engineering/lint-and-validate/SKILL.md +45 -0
- package/skills/engineering/lint-and-validate/scripts/lint_runner.py +172 -0
- package/skills/engineering/lint-and-validate/scripts/type_coverage.py +173 -0
- package/skills/engineering/nextjs-best-practices/SKILL.md +203 -0
- package/skills/engineering/nodejs-best-practices/SKILL.md +333 -0
- package/skills/engineering/openai-docs/LICENSE.txt +201 -0
- package/skills/engineering/openai-docs/SKILL.md +69 -0
- package/skills/engineering/openai-docs/agents/openai.yaml +14 -0
- package/skills/engineering/openai-docs/assets/openai-small.svg +3 -0
- package/skills/engineering/openai-docs/assets/openai.png +0 -0
- package/skills/engineering/openai-docs/references/gpt-5p4-prompting-guide.md +433 -0
- package/skills/engineering/openai-docs/references/latest-model.md +35 -0
- package/skills/engineering/openai-docs/references/upgrading-to-gpt-5p4.md +164 -0
- package/skills/engineering/performance-profiling/SKILL.md +143 -0
- package/skills/engineering/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/skills/engineering/playwright/LICENSE.txt +201 -0
- package/skills/engineering/playwright/NOTICE.txt +14 -0
- package/skills/engineering/playwright/SKILL.md +147 -0
- package/skills/engineering/playwright/agents/openai.yaml +6 -0
- package/skills/engineering/playwright/assets/playwright-small.svg +3 -0
- package/skills/engineering/playwright/assets/playwright.png +0 -0
- package/skills/engineering/playwright/references/cli.md +116 -0
- package/skills/engineering/playwright/references/workflows.md +95 -0
- package/skills/engineering/playwright/scripts/playwright_cli.sh +25 -0
- package/skills/engineering/playwright-interactive/LICENSE.txt +201 -0
- package/skills/engineering/playwright-interactive/NOTICE.txt +13 -0
- package/skills/engineering/playwright-interactive/SKILL.md +689 -0
- package/skills/engineering/playwright-interactive/agents/openai.yaml +6 -0
- package/skills/engineering/playwright-interactive/assets/playwright-small.svg +3 -0
- package/skills/engineering/playwright-interactive/assets/playwright.png +0 -0
- package/skills/engineering/python-patterns/SKILL.md +441 -0
- package/skills/engineering/react-patterns/SKILL.md +198 -0
- package/skills/engineering/render-deploy/LICENSE.txt +201 -0
- package/skills/engineering/render-deploy/SKILL.md +479 -0
- package/skills/engineering/render-deploy/agents/openai.yaml +14 -0
- package/skills/engineering/render-deploy/assets/docker.yaml +62 -0
- package/skills/engineering/render-deploy/assets/go-api.yaml +35 -0
- package/skills/engineering/render-deploy/assets/nextjs-postgres.yaml +35 -0
- package/skills/engineering/render-deploy/assets/node-express.yaml +25 -0
- package/skills/engineering/render-deploy/assets/python-django.yaml +89 -0
- package/skills/engineering/render-deploy/assets/render-small.svg +3 -0
- package/skills/engineering/render-deploy/assets/render.png +0 -0
- package/skills/engineering/render-deploy/assets/static-site.yaml +54 -0
- package/skills/engineering/render-deploy/references/blueprint-spec.md +718 -0
- package/skills/engineering/render-deploy/references/codebase-analysis.md +49 -0
- package/skills/engineering/render-deploy/references/configuration-guide.md +603 -0
- package/skills/engineering/render-deploy/references/deployment-details.md +224 -0
- package/skills/engineering/render-deploy/references/direct-creation.md +113 -0
- package/skills/engineering/render-deploy/references/error-patterns.md +13 -0
- package/skills/engineering/render-deploy/references/post-deploy-checks.md +36 -0
- package/skills/engineering/render-deploy/references/runtimes.md +473 -0
- package/skills/engineering/render-deploy/references/service-types.md +450 -0
- package/skills/engineering/render-deploy/references/troubleshooting-basics.md +36 -0
- package/skills/engineering/repomix/SKILL.md +215 -0
- package/skills/engineering/repomix/references/configuration.md +211 -0
- package/skills/engineering/repomix/references/usage-patterns.md +232 -0
- package/skills/engineering/repomix/scripts/README.md +179 -0
- package/skills/engineering/repomix/scripts/repomix_batch.py +455 -0
- package/skills/engineering/repomix/scripts/repos.example.json +15 -0
- package/skills/engineering/repomix/scripts/requirements.txt +15 -0
- package/skills/engineering/repomix/scripts/tests/test_repomix_batch.py +531 -0
- package/skills/engineering/setup-matt-pocock-skills/SKILL.md +121 -0
- package/skills/engineering/setup-matt-pocock-skills/domain.md +51 -0
- package/skills/engineering/setup-matt-pocock-skills/issue-tracker-github.md +22 -0
- package/skills/engineering/setup-matt-pocock-skills/issue-tracker-gitlab.md +23 -0
- package/skills/engineering/setup-matt-pocock-skills/issue-tracker-local.md +19 -0
- package/skills/engineering/setup-matt-pocock-skills/triage-labels.md +15 -0
- package/skills/engineering/shopify/README.md +66 -0
- package/skills/engineering/shopify/SKILL.md +319 -0
- package/skills/engineering/shopify/references/app-development.md +470 -0
- package/skills/engineering/shopify/references/extensions.md +493 -0
- package/skills/engineering/shopify/references/themes.md +498 -0
- package/skills/engineering/shopify/scripts/requirements.txt +19 -0
- package/skills/engineering/shopify/scripts/shopify_init.py +423 -0
- package/skills/engineering/shopify/scripts/tests/test_shopify_init.py +385 -0
- package/skills/engineering/tdd/SKILL.md +109 -0
- package/skills/engineering/tdd/deep-modules.md +33 -0
- package/skills/engineering/tdd/interface-design.md +31 -0
- package/skills/engineering/tdd/mocking.md +59 -0
- package/skills/engineering/tdd/refactoring.md +10 -0
- package/skills/engineering/tdd/tests.md +61 -0
- package/skills/engineering/tdd-workflow/SKILL.md +149 -0
- package/skills/engineering/testing-patterns/SKILL.md +178 -0
- package/skills/engineering/testing-patterns/scripts/test_runner.py +219 -0
- package/skills/engineering/to-issues/SKILL.md +81 -0
- package/skills/engineering/to-prd/SKILL.md +74 -0
- package/skills/engineering/triage/AGENT-BRIEF.md +168 -0
- package/skills/engineering/triage/OUT-OF-SCOPE.md +101 -0
- package/skills/engineering/triage/SKILL.md +103 -0
- package/skills/engineering/vulnerability-scanner/SKILL.md +276 -0
- package/skills/engineering/vulnerability-scanner/checklists.md +121 -0
- package/skills/engineering/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/skills/engineering/web-frameworks/SKILL.md +324 -0
- package/skills/engineering/web-frameworks/references/nextjs-app-router.md +465 -0
- package/skills/engineering/web-frameworks/references/nextjs-data-fetching.md +459 -0
- package/skills/engineering/web-frameworks/references/nextjs-optimization.md +511 -0
- package/skills/engineering/web-frameworks/references/nextjs-server-components.md +495 -0
- package/skills/engineering/web-frameworks/references/remix-icon-integration.md +603 -0
- package/skills/engineering/web-frameworks/references/turborepo-caching.md +551 -0
- package/skills/engineering/web-frameworks/references/turborepo-pipelines.md +517 -0
- package/skills/engineering/web-frameworks/references/turborepo-setup.md +542 -0
- package/skills/engineering/web-frameworks/scripts/__init__.py +0 -0
- package/skills/engineering/web-frameworks/scripts/nextjs_init.py +547 -0
- package/skills/engineering/web-frameworks/scripts/requirements.txt +16 -0
- package/skills/engineering/web-frameworks/scripts/tests/coverage-web.json +1 -0
- package/skills/engineering/web-frameworks/scripts/tests/requirements.txt +3 -0
- package/skills/engineering/web-frameworks/scripts/tests/test_nextjs_init.py +319 -0
- package/skills/engineering/web-frameworks/scripts/tests/test_turborepo_migrate.py +374 -0
- package/skills/engineering/web-frameworks/scripts/turborepo_migrate.py +394 -0
- package/skills/engineering/webapp-testing/SKILL.md +187 -0
- package/skills/engineering/webapp-testing/scripts/playwright_runner.py +173 -0
- package/skills/engineering/write-a-skill/SKILL.md +117 -0
- package/skills/games/2d-games/SKILL.md +119 -0
- package/skills/games/3d-games/SKILL.md +135 -0
- package/skills/games/game-art/SKILL.md +185 -0
- package/skills/games/game-audio/SKILL.md +190 -0
- package/skills/games/game-design/SKILL.md +129 -0
- package/skills/games/game-development/2d-games/SKILL.md +119 -0
- package/skills/games/game-development/3d-games/SKILL.md +135 -0
- package/skills/games/game-development/SKILL.md +167 -0
- package/skills/games/game-development/game-art/SKILL.md +185 -0
- package/skills/games/game-development/game-audio/SKILL.md +190 -0
- package/skills/games/game-development/game-design/SKILL.md +129 -0
- package/skills/games/game-development/mobile-games/SKILL.md +108 -0
- package/skills/games/game-development/multiplayer/SKILL.md +132 -0
- package/skills/games/game-development/pc-games/SKILL.md +144 -0
- package/skills/games/game-development/vr-ar/SKILL.md +123 -0
- package/skills/games/game-development/web-games/SKILL.md +150 -0
- package/skills/games/mobile-games/SKILL.md +108 -0
- package/skills/games/multiplayer/SKILL.md +132 -0
- package/skills/games/pc-games/SKILL.md +144 -0
- package/skills/games/vr-ar/SKILL.md +123 -0
- package/skills/games/web-games/SKILL.md +150 -0
- package/skills/kilo-kit/SKILL.md +346 -0
- package/skills/kilo-kit/_template/SKILL.md +185 -0
- package/skills/kilo-kit/debugging/root-cause/SKILL.md +360 -0
- package/skills/kilo-kit/debugging/systematic/SKILL.md +339 -0
- package/skills/kilo-kit/debugging/verification/SKILL.md +424 -0
- package/skills/kilo-kit/development/backend/SKILL.md +540 -0
- package/skills/kilo-kit/development/security/SKILL.md +529 -0
- package/skills/kilo-kit/quality/code-review/SKILL.md +297 -0
- package/skills/kilo-kit/quality/testing/SKILL.md +540 -0
- package/skills/kilo-kit/references/output-formats.md +204 -0
- package/skills/kilo-kit/references/patterns.md +156 -0
- package/skills/kilo-kit/references/performance-benchmarks.md +90 -0
- package/skills/operations/bash-linux/SKILL.md +199 -0
- package/skills/operations/chrome-devtools/SKILL.md +392 -0
- package/skills/operations/chrome-devtools/references/cdp-domains.md +694 -0
- package/skills/operations/chrome-devtools/references/performance-guide.md +940 -0
- package/skills/operations/chrome-devtools/references/puppeteer-reference.md +953 -0
- package/skills/operations/chrome-devtools/scripts/PERSISTENT-BROWSER.md +107 -0
- package/skills/operations/chrome-devtools/scripts/README.md +213 -0
- package/skills/operations/chrome-devtools/scripts/__tests__/selector.test.js +210 -0
- package/skills/operations/chrome-devtools/scripts/click.js +79 -0
- package/skills/operations/chrome-devtools/scripts/close-persistent.js +36 -0
- package/skills/operations/chrome-devtools/scripts/console.js +75 -0
- package/skills/operations/chrome-devtools/scripts/evaluate.js +49 -0
- package/skills/operations/chrome-devtools/scripts/fill.js +72 -0
- package/skills/operations/chrome-devtools/scripts/install-deps.sh +181 -0
- package/skills/operations/chrome-devtools/scripts/install.sh +83 -0
- package/skills/operations/chrome-devtools/scripts/launch-persistent.js +71 -0
- package/skills/operations/chrome-devtools/scripts/lib/browser.js +144 -0
- package/skills/operations/chrome-devtools/scripts/lib/selector.js +178 -0
- package/skills/operations/chrome-devtools/scripts/navigate.js +46 -0
- package/skills/operations/chrome-devtools/scripts/network.js +102 -0
- package/skills/operations/chrome-devtools/scripts/package-lock.json +1206 -0
- package/skills/operations/chrome-devtools/scripts/package.json +15 -0
- package/skills/operations/chrome-devtools/scripts/performance.js +145 -0
- package/skills/operations/chrome-devtools/scripts/screenshot.js +180 -0
- package/skills/operations/chrome-devtools/scripts/snapshot.js +131 -0
- package/skills/operations/deployment-procedures/SKILL.md +241 -0
- package/skills/operations/devops/.env.example +76 -0
- package/skills/operations/devops/SKILL.md +285 -0
- package/skills/operations/devops/references/browser-rendering.md +305 -0
- package/skills/operations/devops/references/cloudflare-d1-kv.md +123 -0
- package/skills/operations/devops/references/cloudflare-platform.md +271 -0
- package/skills/operations/devops/references/cloudflare-r2-storage.md +280 -0
- package/skills/operations/devops/references/cloudflare-workers-advanced.md +312 -0
- package/skills/operations/devops/references/cloudflare-workers-apis.md +309 -0
- package/skills/operations/devops/references/cloudflare-workers-basics.md +418 -0
- package/skills/operations/devops/references/docker-basics.md +297 -0
- package/skills/operations/devops/references/docker-compose.md +292 -0
- package/skills/operations/devops/references/gcloud-platform.md +297 -0
- package/skills/operations/devops/references/gcloud-services.md +304 -0
- package/skills/operations/devops/scripts/cloudflare_deploy.py +269 -0
- package/skills/operations/devops/scripts/docker_optimize.py +320 -0
- package/skills/operations/devops/scripts/requirements.txt +20 -0
- package/skills/operations/devops/scripts/tests/requirements.txt +3 -0
- package/skills/operations/devops/scripts/tests/test_cloudflare_deploy.py +285 -0
- package/skills/operations/devops/scripts/tests/test_docker_optimize.py +436 -0
- package/skills/operations/mcp-builder/LICENSE.txt +202 -0
- package/skills/operations/mcp-builder/SKILL.md +328 -0
- package/skills/operations/mcp-builder/reference/evaluation.md +602 -0
- package/skills/operations/mcp-builder/reference/mcp_best_practices.md +915 -0
- package/skills/operations/mcp-builder/reference/node_mcp_server.md +916 -0
- package/skills/operations/mcp-builder/reference/python_mcp_server.md +752 -0
- package/skills/operations/mcp-builder/scripts/connections.py +151 -0
- package/skills/operations/mcp-builder/scripts/evaluation.py +373 -0
- package/skills/operations/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/skills/operations/mcp-builder/scripts/requirements.txt +2 -0
- package/skills/operations/mcp-management/README.md +219 -0
- package/skills/operations/mcp-management/SKILL.md +176 -0
- package/skills/operations/mcp-management/assets/tools.json +3044 -0
- package/skills/operations/mcp-management/references/configuration.md +114 -0
- package/skills/operations/mcp-management/references/gemini-cli-integration.md +201 -0
- package/skills/operations/mcp-management/references/mcp-protocol.md +116 -0
- package/skills/operations/mcp-management/scripts/.env.example +10 -0
- package/skills/operations/mcp-management/scripts/cli.ts +155 -0
- package/skills/operations/mcp-management/scripts/dist/analyze-tools.js +70 -0
- package/skills/operations/mcp-management/scripts/dist/cli.js +131 -0
- package/skills/operations/mcp-management/scripts/dist/mcp-client.js +115 -0
- package/skills/operations/mcp-management/scripts/mcp-client.ts +163 -0
- package/skills/operations/mcp-management/scripts/package.json +18 -0
- package/skills/operations/mcp-management/scripts/tsconfig.json +15 -0
- package/skills/operations/powershell-windows/SKILL.md +167 -0
- package/skills/operations/server-management/SKILL.md +161 -0
- package/skills/problem-solving/collision-zone-thinking/SKILL.md +62 -0
- package/skills/problem-solving/defense-in-depth/SKILL.md +130 -0
- package/skills/problem-solving/inversion-exercise/SKILL.md +58 -0
- package/skills/problem-solving/meta-pattern-recognition/SKILL.md +54 -0
- package/skills/problem-solving/root-cause-tracing/SKILL.md +177 -0
- package/skills/problem-solving/root-cause-tracing/find-polluter.sh +63 -0
- package/skills/problem-solving/scale-game/SKILL.md +63 -0
- package/skills/problem-solving/sequential-thinking/README.md +118 -0
- package/skills/problem-solving/sequential-thinking/SKILL.md +93 -0
- package/skills/problem-solving/sequential-thinking/references/advanced.md +122 -0
- package/skills/problem-solving/sequential-thinking/references/examples.md +274 -0
- package/skills/problem-solving/simplification-cascades/SKILL.md +76 -0
- package/skills/problem-solving/systematic-debugging/CREATION-LOG.md +119 -0
- package/skills/problem-solving/systematic-debugging/SKILL.md +296 -0
- package/skills/problem-solving/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/skills/problem-solving/systematic-debugging/condition-based-waiting.md +115 -0
- package/skills/problem-solving/systematic-debugging/defense-in-depth.md +122 -0
- package/skills/problem-solving/systematic-debugging/find-polluter.sh +63 -0
- package/skills/problem-solving/systematic-debugging/root-cause-tracing.md +169 -0
- package/skills/problem-solving/systematic-debugging/test-academic.md +14 -0
- package/skills/problem-solving/systematic-debugging/test-pressure-1.md +58 -0
- package/skills/problem-solving/systematic-debugging/test-pressure-2.md +68 -0
- package/skills/problem-solving/systematic-debugging/test-pressure-3.md +69 -0
- package/skills/problem-solving/when-stuck/SKILL.md +88 -0
- package/skills/productivity/brainstorming/SKILL.md +54 -0
- package/skills/productivity/caveman/SKILL.md +49 -0
- package/skills/productivity/dispatching-parallel-agents/SKILL.md +180 -0
- package/skills/productivity/executing-plans/SKILL.md +85 -0
- package/skills/productivity/finishing-a-development-branch/SKILL.md +200 -0
- package/skills/productivity/grill-me/SKILL.md +10 -0
- package/skills/productivity/grill-with-docs/ADR-FORMAT.md +47 -0
- package/skills/productivity/grill-with-docs/CONTEXT-FORMAT.md +77 -0
- package/skills/productivity/grill-with-docs/SKILL.md +88 -0
- package/skills/productivity/parallel-agents/SKILL.md +175 -0
- package/skills/productivity/plan-writing/SKILL.md +152 -0
- package/skills/productivity/receiving-code-review/SKILL.md +213 -0
- package/skills/productivity/requesting-code-review/SKILL.md +105 -0
- package/skills/productivity/requesting-code-review/code-reviewer.md +146 -0
- package/skills/productivity/subagent-driven-development/SKILL.md +242 -0
- package/skills/productivity/subagent-driven-development/code-quality-reviewer-prompt.md +20 -0
- package/skills/productivity/subagent-driven-development/implementer-prompt.md +78 -0
- package/skills/productivity/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/skills/productivity/test-driven-development/SKILL.md +371 -0
- package/skills/productivity/test-driven-development/testing-anti-patterns.md +299 -0
- package/skills/productivity/using-git-worktrees/SKILL.md +218 -0
- package/skills/productivity/using-superpowers/SKILL.md +114 -0
- package/skills/productivity/verification-before-completion/SKILL.md +139 -0
- package/skills/productivity/writing-plans/SKILL.md +116 -0
- package/skills/productivity/writing-skills/SKILL.md +655 -0
- package/skills/productivity/writing-skills/anthropic-best-practices.md +1150 -0
- package/skills/productivity/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
- package/skills/productivity/writing-skills/graphviz-conventions.dot +172 -0
- package/skills/productivity/writing-skills/persuasion-principles.md +187 -0
- package/skills/productivity/writing-skills/render-graphs.js +168 -0
- package/skills/productivity/writing-skills/testing-skills-with-subagents.md +384 -0
- package/skills/productivity/zoom-out/SKILL.md +7 -0
- package/skills/security/red-team-tactics/SKILL.md +199 -0
- package/skills/writing-docs/behavioral-modes/SKILL.md +242 -0
- package/skills/writing-docs/doc/LICENSE.txt +201 -0
- package/skills/writing-docs/doc/SKILL.md +80 -0
- package/skills/writing-docs/doc/agents/openai.yaml +6 -0
- package/skills/writing-docs/doc/assets/doc-small.svg +3 -0
- package/skills/writing-docs/doc/assets/doc.png +0 -0
- package/skills/writing-docs/doc/scripts/render_docx.py +296 -0
- package/skills/writing-docs/documentation-templates/SKILL.md +194 -0
- package/skills/writing-docs/docx/LICENSE.txt +30 -0
- package/skills/writing-docs/docx/SKILL.md +197 -0
- package/skills/writing-docs/docx/docx-js.md +350 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/skills/writing-docs/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/skills/writing-docs/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/skills/writing-docs/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/skills/writing-docs/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/skills/writing-docs/docx/ooxml/schemas/mce/mc.xsd +75 -0
- package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/skills/writing-docs/docx/ooxml/scripts/pack.py +159 -0
- package/skills/writing-docs/docx/ooxml/scripts/unpack.py +29 -0
- package/skills/writing-docs/docx/ooxml/scripts/validate.py +69 -0
- package/skills/writing-docs/docx/ooxml/scripts/validation/__init__.py +15 -0
- package/skills/writing-docs/docx/ooxml/scripts/validation/base.py +951 -0
- package/skills/writing-docs/docx/ooxml/scripts/validation/docx.py +274 -0
- package/skills/writing-docs/docx/ooxml/scripts/validation/pptx.py +315 -0
- package/skills/writing-docs/docx/ooxml/scripts/validation/redlining.py +279 -0
- package/skills/writing-docs/docx/ooxml.md +610 -0
- package/skills/writing-docs/docx/scripts/__init__.py +1 -0
- package/skills/writing-docs/docx/scripts/document.py +1276 -0
- package/skills/writing-docs/docx/scripts/templates/comments.xml +3 -0
- package/skills/writing-docs/docx/scripts/templates/commentsExtended.xml +3 -0
- package/skills/writing-docs/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/skills/writing-docs/docx/scripts/templates/commentsIds.xml +3 -0
- package/skills/writing-docs/docx/scripts/templates/people.xml +3 -0
- package/skills/writing-docs/docx/scripts/utilities.py +374 -0
- package/skills/writing-docs/mermaidjs-v11/SKILL.md +115 -0
- package/skills/writing-docs/mermaidjs-v11/references/cli-usage.md +228 -0
- package/skills/writing-docs/mermaidjs-v11/references/configuration.md +232 -0
- package/skills/writing-docs/mermaidjs-v11/references/diagram-types.md +315 -0
- package/skills/writing-docs/mermaidjs-v11/references/examples.md +344 -0
- package/skills/writing-docs/mermaidjs-v11/references/integration.md +310 -0
- package/skills/writing-docs/pdf/LICENSE.txt +30 -0
- package/skills/writing-docs/pdf/SKILL.md +294 -0
- package/skills/writing-docs/pdf/forms.md +205 -0
- package/skills/writing-docs/pdf/reference.md +612 -0
- package/skills/writing-docs/pdf/scripts/check_bounding_boxes.py +70 -0
- package/skills/writing-docs/pdf/scripts/check_bounding_boxes_test.py +226 -0
- package/skills/writing-docs/pdf/scripts/check_fillable_fields.py +12 -0
- package/skills/writing-docs/pdf/scripts/convert_pdf_to_images.py +35 -0
- package/skills/writing-docs/pdf/scripts/create_validation_image.py +41 -0
- package/skills/writing-docs/pdf/scripts/extract_form_field_info.py +152 -0
- package/skills/writing-docs/pdf/scripts/fill_fillable_fields.py +114 -0
- package/skills/writing-docs/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
- package/skills/writing-docs/pptx/LICENSE.txt +30 -0
- package/skills/writing-docs/pptx/SKILL.md +484 -0
- package/skills/writing-docs/pptx/html2pptx.md +625 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/skills/writing-docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/skills/writing-docs/pptx/ooxml/schemas/mce/mc.xsd +75 -0
- package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/skills/writing-docs/pptx/ooxml/scripts/pack.py +159 -0
- package/skills/writing-docs/pptx/ooxml/scripts/unpack.py +29 -0
- package/skills/writing-docs/pptx/ooxml/scripts/validate.py +69 -0
- package/skills/writing-docs/pptx/ooxml/scripts/validation/__init__.py +15 -0
- package/skills/writing-docs/pptx/ooxml/scripts/validation/base.py +951 -0
- package/skills/writing-docs/pptx/ooxml/scripts/validation/docx.py +274 -0
- package/skills/writing-docs/pptx/ooxml/scripts/validation/pptx.py +315 -0
- package/skills/writing-docs/pptx/ooxml/scripts/validation/redlining.py +279 -0
- package/skills/writing-docs/pptx/ooxml.md +427 -0
- package/skills/writing-docs/pptx/scripts/html2pptx.js +979 -0
- package/skills/writing-docs/pptx/scripts/inventory.py +1020 -0
- package/skills/writing-docs/pptx/scripts/rearrange.py +231 -0
- package/skills/writing-docs/pptx/scripts/replace.py +385 -0
- package/skills/writing-docs/pptx/scripts/thumbnail.py +450 -0
- package/skills/writing-docs/slides/LICENSE.txt +201 -0
- package/skills/writing-docs/slides/SKILL.md +71 -0
- package/skills/writing-docs/slides/agents/openai.yaml +6 -0
- package/skills/writing-docs/slides/assets/pptxgenjs_helpers/code.js +104 -0
- package/skills/writing-docs/slides/assets/pptxgenjs_helpers/image.js +333 -0
- package/skills/writing-docs/slides/assets/pptxgenjs_helpers/index.js +33 -0
- package/skills/writing-docs/slides/assets/pptxgenjs_helpers/latex.js +51 -0
- package/skills/writing-docs/slides/assets/pptxgenjs_helpers/layout.js +643 -0
- package/skills/writing-docs/slides/assets/pptxgenjs_helpers/layout_builders.js +358 -0
- package/skills/writing-docs/slides/assets/pptxgenjs_helpers/svg.js +36 -0
- package/skills/writing-docs/slides/assets/pptxgenjs_helpers/text.js +789 -0
- package/skills/writing-docs/slides/assets/pptxgenjs_helpers/util.js +24 -0
- package/skills/writing-docs/slides/assets/slides-small.svg +3 -0
- package/skills/writing-docs/slides/assets/slides.png +0 -0
- package/skills/writing-docs/slides/references/pptxgenjs-helpers.md +61 -0
- package/skills/writing-docs/slides/scripts/create_montage.py +300 -0
- package/skills/writing-docs/slides/scripts/detect_font.py +873 -0
- package/skills/writing-docs/slides/scripts/ensure_raster_image.py +202 -0
- package/skills/writing-docs/slides/scripts/render_slides.py +273 -0
- package/skills/writing-docs/slides/scripts/slides_test.py +201 -0
- package/skills/writing-docs/template-skill/SKILL.md +26 -0
- package/skills/writing-docs/templates/SKILL.md +39 -0
- package/skills/writing-docs/templates/astro-static/TEMPLATE.md +76 -0
- package/skills/writing-docs/templates/chrome-extension/TEMPLATE.md +92 -0
- package/skills/writing-docs/templates/cli-tool/TEMPLATE.md +88 -0
- package/skills/writing-docs/templates/electron-desktop/TEMPLATE.md +88 -0
- package/skills/writing-docs/templates/express-api/TEMPLATE.md +83 -0
- package/skills/writing-docs/templates/flutter-app/TEMPLATE.md +90 -0
- package/skills/writing-docs/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/skills/writing-docs/templates/nextjs-fullstack/TEMPLATE.md +82 -0
- package/skills/writing-docs/templates/nextjs-saas/TEMPLATE.md +100 -0
- package/skills/writing-docs/templates/nextjs-static/TEMPLATE.md +106 -0
- package/skills/writing-docs/templates/nuxt-app/TEMPLATE.md +101 -0
- package/skills/writing-docs/templates/python-fastapi/TEMPLATE.md +83 -0
- package/skills/writing-docs/templates/react-native-app/TEMPLATE.md +93 -0
- package/skills/writing-docs/xlsx/LICENSE.txt +30 -0
- package/skills/writing-docs/xlsx/SKILL.md +289 -0
- package/skills/writing-docs/xlsx/recalc.py +178 -0
- package/src/core/KILO_MASTER.md +455 -0
- package/src/tools/validate-skill.js +465 -0
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
# CLI reference (`scripts/sora.py`)
|
|
2
|
+
|
|
3
|
+
This file contains the command catalog for the bundled video generation CLI. Keep `SKILL.md` overview-first; put verbose CLI details here.
|
|
4
|
+
|
|
5
|
+
## What this CLI does
|
|
6
|
+
- `create`: create a new video job (async)
|
|
7
|
+
- `create-and-poll`: create a job, poll until complete, optionally download
|
|
8
|
+
- `poll`: wait for an existing job to finish
|
|
9
|
+
- `status`: retrieve job status/details
|
|
10
|
+
- `download`: download video/thumbnail/spritesheet
|
|
11
|
+
- `list`: list recent jobs
|
|
12
|
+
- `delete`: delete a job
|
|
13
|
+
- `remix`: remix a completed video
|
|
14
|
+
- `create-batch`: create multiple jobs from a JSONL file
|
|
15
|
+
|
|
16
|
+
Real API calls require **network access** + `OPENAI_API_KEY`. `--dry-run` does not.
|
|
17
|
+
|
|
18
|
+
## Quick start (works from any repo)
|
|
19
|
+
Set a stable path to the skill CLI (default `CODEX_HOME` is `~/.codex`):
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
|
|
23
|
+
export SORA_CLI="$CODEX_HOME/skills/sora/scripts/sora.py"
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
If you're in this repo, you can set the path directly:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
# Use repo root (tests run from output/* so $PWD is not the root)
|
|
30
|
+
export SORA_CLI="$(git rev-parse --show-toplevel)/<path-to-skill>/scripts/sora.py"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
If `git` isn't available, set `SORA_CLI` to the absolute path to `<path-to-skill>/scripts/sora.py`.
|
|
34
|
+
|
|
35
|
+
If uv cache fails with permission errors, set a writable cache:
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
export UV_CACHE_DIR="/tmp/uv-cache"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Dry-run (no API call; no network required; does not require the `openai` package):
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
python "$SORA_CLI" create --prompt "Test" --dry-run
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Preflight a full prompt without running the API:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
python "$SORA_CLI" create --prompt-file prompt.txt --dry-run --json-out out/request.json
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Create a job (requires `OPENAI_API_KEY` + network):
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
uv run --with openai python "$SORA_CLI" create \
|
|
57
|
+
--model sora-2 \
|
|
58
|
+
--prompt "Wide tracking shot of a teal coupe on a desert highway" \
|
|
59
|
+
--size 1280x720 \
|
|
60
|
+
--seconds 8
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Create from a prompt file (avoids shell-escaping issues for multi-line prompts):
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
cat > prompt.txt << 'EOF'
|
|
67
|
+
Use case: landing page hero
|
|
68
|
+
Primary request: a matte black camera on a pedestal
|
|
69
|
+
Action: slow 30-degree orbit over 4 seconds
|
|
70
|
+
Camera: 85mm, shallow depth of field
|
|
71
|
+
Lighting/mood: soft key light, subtle rim
|
|
72
|
+
Constraints: no logos, no text
|
|
73
|
+
EOF
|
|
74
|
+
|
|
75
|
+
uv run --with openai python "$SORA_CLI" create \
|
|
76
|
+
--prompt-file prompt.txt \
|
|
77
|
+
--size 1280x720 \
|
|
78
|
+
--seconds 4
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
If your prompt file is already structured (Use case/Scene/Camera/etc), disable tool augmentation:
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
uv run --with openai python "$SORA_CLI" create \
|
|
85
|
+
--prompt-file prompt.txt \
|
|
86
|
+
--no-augment \
|
|
87
|
+
--size 1280x720 \
|
|
88
|
+
--seconds 4
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Create + poll + download:
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
uv run --with openai python "$SORA_CLI" create-and-poll \
|
|
95
|
+
--model sora-2-pro \
|
|
96
|
+
--prompt "Close-up of a steaming coffee cup on a wooden table" \
|
|
97
|
+
--size 1280x720 \
|
|
98
|
+
--seconds 8 \
|
|
99
|
+
--download \
|
|
100
|
+
--variant video \
|
|
101
|
+
--out coffee.mp4
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Create + poll + write JSON bundle:
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
uv run --with openai python "$SORA_CLI" create-and-poll \
|
|
108
|
+
--prompt "Minimal product teaser of a matte black camera" \
|
|
109
|
+
--json-out out/coffee-job.json
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Remix a completed video:
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
uv run --with openai python "$SORA_CLI" remix \
|
|
116
|
+
--id video_abc123 \
|
|
117
|
+
--prompt "Same shot, shift palette to teal/sand/rust with warm backlight."
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Download a thumbnail or spritesheet:
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
uv run --with openai python "$SORA_CLI" download --id video_abc123 --variant thumbnail --out thumb.webp
|
|
124
|
+
uv run --with openai python "$SORA_CLI" download --id video_abc123 --variant spritesheet --out sheet.jpg
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Guardrails (important)
|
|
128
|
+
- Use `python "$SORA_CLI" ...` (or equivalent full path) for all video work.
|
|
129
|
+
- For API calls, prefer `uv run --with openai ...` to avoid missing SDK errors.
|
|
130
|
+
- Do **not** create one-off runners unless the user explicitly asks.
|
|
131
|
+
- **Never modify** `scripts/sora.py` unless the user asks.
|
|
132
|
+
|
|
133
|
+
## Defaults (unless overridden by flags)
|
|
134
|
+
- Model: `sora-2`
|
|
135
|
+
- Size: `1280x720`
|
|
136
|
+
- Seconds: `4` (API expects a string enum: "4", "8", "12")
|
|
137
|
+
- Variant: `video`
|
|
138
|
+
- Poll interval: `10` seconds
|
|
139
|
+
|
|
140
|
+
## JSON output (`--json-out`)
|
|
141
|
+
- For `create`, `status`, `list`, `delete`, `poll`, and `remix`, `--json-out` writes the JSON response to a file.
|
|
142
|
+
- For `create-and-poll`, `--json-out` writes a bundle: `{ "create": ..., "final": ... }`.
|
|
143
|
+
- If the path has no extension, `.json` is added automatically.
|
|
144
|
+
- In `--dry-run`, `--json-out` writes the request preview instead of a response.
|
|
145
|
+
|
|
146
|
+
## Input reference images
|
|
147
|
+
- Must be jpg/png/webp; they should match the target size.
|
|
148
|
+
- Provide the path with `--input-reference`.
|
|
149
|
+
|
|
150
|
+
## Optional deps
|
|
151
|
+
Prefer `uv run --with ...` for an out-of-the-box run without changing the current project env; otherwise install into your active env:
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
uv pip install openai
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## JSONL schema for `create-batch`
|
|
158
|
+
Each line is a JSON object (or a raw prompt string). Required key: `prompt`.
|
|
159
|
+
|
|
160
|
+
Top-level override keys:
|
|
161
|
+
- `model`, `size`, `seconds`
|
|
162
|
+
- `input_reference` (path)
|
|
163
|
+
- `out` (optional output filename for the job JSON)
|
|
164
|
+
|
|
165
|
+
Prompt augmentation keys (top-level or under `fields`):
|
|
166
|
+
- `use_case`, `scene`, `subject`, `action`, `camera`, `style`, `lighting`, `palette`, `audio`, `dialogue`, `text`, `timing`, `constraints`, `negative`
|
|
167
|
+
|
|
168
|
+
Notes:
|
|
169
|
+
- `fields` merges into the prompt augmentation inputs.
|
|
170
|
+
- Top-level keys override CLI defaults.
|
|
171
|
+
- `seconds` must be one of: "4", "8", "12".
|
|
172
|
+
|
|
173
|
+
## Common recipes
|
|
174
|
+
|
|
175
|
+
Create with prompt augmentation fields:
|
|
176
|
+
|
|
177
|
+
```
|
|
178
|
+
uv run --with openai python "$SORA_CLI" create \
|
|
179
|
+
--prompt "A minimal product teaser shot of a matte black camera" \
|
|
180
|
+
--use-case "landing page hero" \
|
|
181
|
+
--camera "85mm, slow orbit" \
|
|
182
|
+
--lighting "soft key, subtle rim" \
|
|
183
|
+
--constraints "no logos, no text"
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Two-variant workflow (base + remix):
|
|
187
|
+
|
|
188
|
+
```
|
|
189
|
+
# 1) Base clip
|
|
190
|
+
uv run --with openai python "$SORA_CLI" create-and-poll \
|
|
191
|
+
--prompt "Ceramic mug on a sunlit wooden table in a cozy cafe" \
|
|
192
|
+
--size 1280x720 --seconds 4 --download --out output.mp4
|
|
193
|
+
|
|
194
|
+
# 2) Remix with invariant (same shot, change only the drink)
|
|
195
|
+
uv run --with openai python "$SORA_CLI" remix \
|
|
196
|
+
--id video_abc123 \
|
|
197
|
+
--prompt "Same shot and framing; replace the mug with an iced americano in a glass, visible ice and condensation."
|
|
198
|
+
|
|
199
|
+
# 3) Poll and download the remix
|
|
200
|
+
uv run --with openai python "$SORA_CLI" poll \
|
|
201
|
+
--id video_def456 --download --out remix.mp4
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
Poll and download after a job finishes:
|
|
205
|
+
|
|
206
|
+
```
|
|
207
|
+
uv run --with openai python "$SORA_CLI" poll --id video_abc123 --download --variant video --out out.mp4
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
Write JSON response to a file:
|
|
211
|
+
|
|
212
|
+
```
|
|
213
|
+
uv run --with openai python "$SORA_CLI" status --id video_abc123 --json-out out/status.json
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
Batch create (JSONL input):
|
|
217
|
+
|
|
218
|
+
```
|
|
219
|
+
mkdir -p tmp/sora
|
|
220
|
+
cat > tmp/sora/prompts.jsonl << 'EOB'
|
|
221
|
+
{"prompt":"A neon-lit rainy alley, slow dolly-in","seconds":"4"}
|
|
222
|
+
{"prompt":"A warm sunrise over a misty lake, gentle pan","seconds":"8",
|
|
223
|
+
"fields":{"camera":"35mm, slow pan","lighting":"soft dawn light"}}
|
|
224
|
+
EOB
|
|
225
|
+
|
|
226
|
+
uv run --with openai python "$SORA_CLI" create-batch --input tmp/sora/prompts.jsonl --out-dir out --concurrency 3
|
|
227
|
+
|
|
228
|
+
# Cleanup (recommended)
|
|
229
|
+
rm -f tmp/sora/prompts.jsonl
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
Notes:
|
|
233
|
+
- `create-batch` writes one JSON response per job under `--out-dir`.
|
|
234
|
+
- Output names default to `NNN-<prompt-slug>.json`.
|
|
235
|
+
- Use `--concurrency` to control parallelism (default `3`). Higher concurrency can hit rate limits.
|
|
236
|
+
- Treat the JSONL file as temporary: write it under `tmp/` and delete it after the run (do not commit it). If `rm` is blocked in your sandbox, skip cleanup or truncate the file.
|
|
237
|
+
|
|
238
|
+
## CLI notes
|
|
239
|
+
- Supported sizes depend on model (see `references/video-api.md`).
|
|
240
|
+
- Seconds are limited to 4, 8, or 12.
|
|
241
|
+
- Download URLs expire after about 1 hour; copy assets to your own storage.
|
|
242
|
+
- In CI/sandboxes where long-running commands time out, prefer `create` + `poll` (or add `--timeout`).
|
|
243
|
+
|
|
244
|
+
## See also
|
|
245
|
+
- API parameter quick reference: `references/video-api.md`
|
|
246
|
+
- Prompt structure and examples: `references/prompting.md`
|
|
247
|
+
- Sample prompts: `references/sample-prompts.md`
|
|
248
|
+
- Troubleshooting: `references/troubleshooting.md`
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Codex network approvals / sandbox notes
|
|
2
|
+
|
|
3
|
+
This guidance is intentionally isolated from `SKILL.md` because it can vary by environment and may become stale. Prefer the defaults in your environment when in doubt.
|
|
4
|
+
|
|
5
|
+
## Why am I asked to approve every video generation call?
|
|
6
|
+
Video generation uses the OpenAI Video API, so the CLI needs outbound network access. In many Codex setups, network access is disabled by default (especially under stricter sandbox modes), and/or the approval policy may require confirmation before networked commands run.
|
|
7
|
+
|
|
8
|
+
## How do I reduce repeated approval prompts (network)?
|
|
9
|
+
If you trust the repo and want fewer prompts, enable network access for the relevant sandbox mode and relax the approval policy.
|
|
10
|
+
|
|
11
|
+
Example `~/.codex/config.toml` pattern:
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
approval_policy = "never"
|
|
15
|
+
sandbox_mode = "workspace-write"
|
|
16
|
+
|
|
17
|
+
[sandbox_workspace_write]
|
|
18
|
+
network_access = true
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Or for a single session:
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
codex --sandbox workspace-write --ask-for-approval never
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Safety note
|
|
28
|
+
Use caution: enabling network and disabling approvals reduces friction but increases risk if you run untrusted code or work in an untrusted repository.
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Prompting best practices (Sora)
|
|
2
|
+
|
|
3
|
+
## Contents
|
|
4
|
+
- [Mindset & tradeoffs](#mindset--tradeoffs)
|
|
5
|
+
- [API-controlled params](#api-controlled-params)
|
|
6
|
+
- [Structure](#structure)
|
|
7
|
+
- [Specificity](#specificity)
|
|
8
|
+
- [Style & visual cues](#style--visual-cues)
|
|
9
|
+
- [Camera & composition](#camera--composition)
|
|
10
|
+
- [Motion & timing](#motion--timing)
|
|
11
|
+
- [Lighting & palette](#lighting--palette)
|
|
12
|
+
- [Character continuity](#character-continuity)
|
|
13
|
+
- [Multi-shot prompts](#multi-shot-prompts)
|
|
14
|
+
- [Ultra-detailed briefs](#ultra-detailed-briefs)
|
|
15
|
+
- [Image input](#image-input)
|
|
16
|
+
- [Constraints & invariants](#constraints--invariants)
|
|
17
|
+
- [Text, dialogue & audio](#text-dialogue--audio)
|
|
18
|
+
- [Avoiding artifacts](#avoiding-artifacts)
|
|
19
|
+
- [Remixing](#remixing)
|
|
20
|
+
- [Iterate deliberately](#iterate-deliberately)
|
|
21
|
+
|
|
22
|
+
## Mindset & tradeoffs
|
|
23
|
+
- Treat the prompt like a cinematography brief, not a contract.
|
|
24
|
+
- The same prompt can yield different results; rerun for variants.
|
|
25
|
+
- Short prompts give more creative freedom; longer prompts give more control.
|
|
26
|
+
- Shorter clips tend to follow instructions better; consider stitching two 4s clips instead of a single 8s if precision matters.
|
|
27
|
+
|
|
28
|
+
## API-controlled params
|
|
29
|
+
- Model, size, and seconds are controlled by API params, not prose.
|
|
30
|
+
- Put desired duration in the `seconds` param; the prompt cannot make a clip longer.
|
|
31
|
+
|
|
32
|
+
## Structure
|
|
33
|
+
- Use short labeled lines; omit sections that do not matter.
|
|
34
|
+
- Keep one main subject and one main action.
|
|
35
|
+
- Put timing in beats or counts if it matters.
|
|
36
|
+
- If you prefer a prose-first template, use:
|
|
37
|
+
```
|
|
38
|
+
<Prose scene description in plain language. Describe subject, setting, time of day, and key visual details.>
|
|
39
|
+
|
|
40
|
+
Cinematography:
|
|
41
|
+
Camera shot: <framing + angle>
|
|
42
|
+
Mood: <tone>
|
|
43
|
+
|
|
44
|
+
Actions:
|
|
45
|
+
- <clear action beat>
|
|
46
|
+
- <clear action beat>
|
|
47
|
+
|
|
48
|
+
Dialogue:
|
|
49
|
+
<short lines if needed>
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Specificity
|
|
53
|
+
- Name the subject and materials (metal, fabric, glass).
|
|
54
|
+
- Use camera language (lens, angle, shot type) for stability.
|
|
55
|
+
- Describe the environment with time of day and atmosphere.
|
|
56
|
+
|
|
57
|
+
## Style & visual cues
|
|
58
|
+
- Set style early (e.g., "1970s film", "IMAX-scale", "16mm black-and-white").
|
|
59
|
+
- Use visible nouns and verbs, not vague adjectives.
|
|
60
|
+
- Weak: "A beautiful street at night."
|
|
61
|
+
- Strong: "Wet asphalt, zebra crosswalk, neon signs reflecting in puddles."
|
|
62
|
+
|
|
63
|
+
## Camera & composition
|
|
64
|
+
- Prefer one camera move: dolly, orbit, lateral slide, or locked-off.
|
|
65
|
+
- Straight-on framing is best for UI and text.
|
|
66
|
+
- For close-ups, use longer lenses (85mm+); for wide scenes, 24-35mm.
|
|
67
|
+
- Depth of field is a strong lever: shallow for subject isolation, deep for context.
|
|
68
|
+
- Example framings: wide establishing, medium close-up, aerial wide, low angle.
|
|
69
|
+
- Example camera motions: slow tilt, gentle handheld drift, smooth lateral slide.
|
|
70
|
+
|
|
71
|
+
## Motion & timing
|
|
72
|
+
- Use short beats: "0-2s", "2-4s", "4-6s".
|
|
73
|
+
- Keep actions sequential, not simultaneous.
|
|
74
|
+
- For 4s clips, limit to 1-2 beats.
|
|
75
|
+
- Describe actions as counts or steps when possible (e.g., "takes four steps, pauses, turns in the final second").
|
|
76
|
+
|
|
77
|
+
## Lighting & palette
|
|
78
|
+
- Describe light quality and direction (soft window light, hard rim, backlight).
|
|
79
|
+
- Name 3-5 palette anchors to stabilize color across shots.
|
|
80
|
+
- If continuity matters, keep lighting logic consistent across clips.
|
|
81
|
+
|
|
82
|
+
## Character continuity
|
|
83
|
+
- Keep character descriptors consistent across shots; reuse phrasing.
|
|
84
|
+
- Avoid mixing competing traits that can shift identity or pose.
|
|
85
|
+
|
|
86
|
+
## Multi-shot prompts
|
|
87
|
+
- You can describe multiple shots in one prompt, but keep each shot block distinct.
|
|
88
|
+
- For each shot, specify one camera setup, one action, one lighting recipe.
|
|
89
|
+
- Treat each shot as a creative unit you can later edit or stitch.
|
|
90
|
+
|
|
91
|
+
## Ultra-detailed briefs
|
|
92
|
+
- Use when you need a specific, filmic look or strict continuity.
|
|
93
|
+
- Call out format/look, lensing/filters, grade/palette, lighting direction, texture, and sound.
|
|
94
|
+
- If needed, include a short shot list with timing beats.
|
|
95
|
+
|
|
96
|
+
## Image input
|
|
97
|
+
- Use an input image to lock composition, character design, or set dressing.
|
|
98
|
+
- The input image should match the target size and be jpg/png/webp.
|
|
99
|
+
- The image anchors the first frame; the prompt describes what happens next.
|
|
100
|
+
- If you lack a reference, generate one first and pass it as `input_reference`.
|
|
101
|
+
|
|
102
|
+
## Constraints & invariants
|
|
103
|
+
- State what must not change: "same shot", "same framing", "keep background".
|
|
104
|
+
- Repeat invariants in every remix to reduce drift.
|
|
105
|
+
|
|
106
|
+
## Text, dialogue & audio
|
|
107
|
+
- Keep text short and specific; quote exact strings.
|
|
108
|
+
- Specify placement and avoid motion blur.
|
|
109
|
+
- For dialogue, use a dedicated block and keep lines short.
|
|
110
|
+
- Label speakers consistently for multi-character scenes.
|
|
111
|
+
- If silent, you can still add a small ambient sound cue to set rhythm.
|
|
112
|
+
- Sora can generate audio; include an `Audio:` line and a short dialogue block when needed.
|
|
113
|
+
- As a rule of thumb, 4s clips fit 1-2 short lines; 8s clips can handle a few more.
|
|
114
|
+
|
|
115
|
+
Example:
|
|
116
|
+
```
|
|
117
|
+
Audio: soft ambient café noise, clear warm voiceover
|
|
118
|
+
Dialogue:
|
|
119
|
+
<dialogue>
|
|
120
|
+
- Speaker: "Let's get started."
|
|
121
|
+
</dialogue>
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Avoiding artifacts
|
|
125
|
+
- Avoid multiple actions in 4-8 seconds.
|
|
126
|
+
- Keep camera motion smooth and limited.
|
|
127
|
+
- Add explicit negatives when needed: "avoid flicker", "avoid jitter", "no fast motion".
|
|
128
|
+
|
|
129
|
+
## Remixing
|
|
130
|
+
- Change one thing at a time: palette, lighting, or action.
|
|
131
|
+
- Keep camera and subject consistent unless the change requests otherwise.
|
|
132
|
+
- If a shot misfires, simplify: freeze the camera, reduce action, clear background, then add complexity back in.
|
|
133
|
+
|
|
134
|
+
## Iterate deliberately
|
|
135
|
+
- Start simple, then add one constraint per iteration.
|
|
136
|
+
- If results look chaotic, reduce motion and simplify the scene.
|
|
137
|
+
- When a result is close, pin it as a reference and describe only the tweak.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Sample prompts (copy/paste)
|
|
2
|
+
|
|
3
|
+
Use these as starting points. Keep user-provided requirements and constraints; do not invent new creative elements.
|
|
4
|
+
|
|
5
|
+
For prompting principles (structure, invariants, iteration), see `references/prompting.md`.
|
|
6
|
+
|
|
7
|
+
## Contents
|
|
8
|
+
- [Product teaser (single shot)](#product-teaser-single-shot)
|
|
9
|
+
- [UI demo (screen recording style)](#ui-demo-screen-recording-style)
|
|
10
|
+
- [Cinematic detail shot](#cinematic-detail-shot)
|
|
11
|
+
- [Social ad (6s with beats)](#social-ad-6s-with-beats)
|
|
12
|
+
- [Motion graphics explainer](#motion-graphics-explainer)
|
|
13
|
+
- [Ambient loop (atmosphere)](#ambient-loop-atmosphere)
|
|
14
|
+
|
|
15
|
+
## Product teaser (single shot)
|
|
16
|
+
```
|
|
17
|
+
Use case: product teaser
|
|
18
|
+
Primary request: close-up of a matte black wireless speaker on a stone pedestal
|
|
19
|
+
Scene/background: dark studio cyclorama, subtle haze
|
|
20
|
+
Subject: compact speaker with soft fabric texture
|
|
21
|
+
Action: slow 20-degree orbit over 4 seconds
|
|
22
|
+
Camera: 85mm, shallow depth of field, steady dolly
|
|
23
|
+
Lighting/mood: soft key, gentle rim, premium studio feel
|
|
24
|
+
Color palette: charcoal, slate, warm amber accents
|
|
25
|
+
Constraints: no logos, no text
|
|
26
|
+
Avoid: harsh bloom; oversharpening; clutter
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## UI demo (screen recording style)
|
|
30
|
+
```
|
|
31
|
+
Use case: UI product demo
|
|
32
|
+
Primary request: a clean mobile budgeting app demo showing a weekly spend chart
|
|
33
|
+
Scene/background: neutral gradient backdrop
|
|
34
|
+
Subject: smartphone UI, centered, screen content crisp and legible
|
|
35
|
+
Action: tap the "Add expense" button, modal opens, amount typed, save
|
|
36
|
+
Camera: locked-off, straight-on, no tilt
|
|
37
|
+
Lighting/mood: soft studio light, minimal reflections
|
|
38
|
+
Color palette: off-white, slate, mint accent
|
|
39
|
+
Text (verbatim): "Add expense", "$24.50", "Groceries"
|
|
40
|
+
Constraints: no brand logos; keep UI text readable; avoid motion blur
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Cinematic detail shot
|
|
44
|
+
```
|
|
45
|
+
Use case: cinematic product detail
|
|
46
|
+
Primary request: macro shot of raindrops sliding across a car hood
|
|
47
|
+
Scene/background: night city bokeh, soft rain mist
|
|
48
|
+
Subject: glossy hood surface with water beads
|
|
49
|
+
Action: slow push-in over 4 seconds
|
|
50
|
+
Camera: 100mm macro, shallow depth of field
|
|
51
|
+
Lighting/mood: moody, high-contrast reflections, soft speculars
|
|
52
|
+
Color palette: deep navy, teal, silver highlights
|
|
53
|
+
Constraints: no logos, no text
|
|
54
|
+
Avoid: flicker; unstable reflections; excessive noise
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Social ad (6s with beats)
|
|
58
|
+
```
|
|
59
|
+
Use case: social ad
|
|
60
|
+
Primary request: minimal coffee subscription ad with three quick beats
|
|
61
|
+
Scene/background: warm kitchen counter, morning light
|
|
62
|
+
Subject: ceramic mug, coffee bag, steam
|
|
63
|
+
Action: beat 1 (0-2s) pour coffee; beat 2 (2-4s) steam rises; beat 3 (4-6s) mug slides to center
|
|
64
|
+
Camera: 50mm, gentle handheld drift
|
|
65
|
+
Lighting/mood: warm, cozy, natural light
|
|
66
|
+
Text (verbatim): "Fresh roast" (top-left), "Weekly delivery" (bottom-right)
|
|
67
|
+
Constraints: no logos; text must be legible; avoid fast motion
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Motion graphics explainer
|
|
71
|
+
```
|
|
72
|
+
Use case: explainer clip
|
|
73
|
+
Primary request: clean motion-graphics animation showing data flowing into a dashboard
|
|
74
|
+
Scene/background: soft gradient background
|
|
75
|
+
Subject: abstract nodes and lines, simple dashboard cards
|
|
76
|
+
Action: nodes connect, data pulses, cards fill with charts
|
|
77
|
+
Camera: locked-off, no depth, flat design
|
|
78
|
+
Lighting/mood: minimal, modern
|
|
79
|
+
Color palette: off-white, graphite, teal, coral accents
|
|
80
|
+
Constraints: no logos; keep shapes simple; avoid heavy texture
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Ambient loop (atmosphere)
|
|
84
|
+
```
|
|
85
|
+
Use case: ambient background loop
|
|
86
|
+
Primary request: fog drifting through a pine forest at dawn
|
|
87
|
+
Scene/background: tall pines, soft fog layers, distant hills
|
|
88
|
+
Subject: drifting fog and light rays
|
|
89
|
+
Action: slow lateral drift, subtle light change
|
|
90
|
+
Camera: wide, locked-off, no tilt
|
|
91
|
+
Lighting/mood: calm, soft dawn light
|
|
92
|
+
Color palette: muted greens, cool gray, pale gold
|
|
93
|
+
Constraints: no text, no logos, no people
|
|
94
|
+
Avoid: fast motion; flicker; abrupt lighting shifts
|
|
95
|
+
```
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Social ad templates (4-8s)
|
|
2
|
+
|
|
3
|
+
Short clips work best with clear beats. Use 2-3 beats and keep text minimal.
|
|
4
|
+
|
|
5
|
+
## Default template
|
|
6
|
+
```
|
|
7
|
+
Use case: social ad
|
|
8
|
+
Primary request: <ad concept>
|
|
9
|
+
Scene/background: <simple backdrop>
|
|
10
|
+
Subject: <product or scene>
|
|
11
|
+
Action: beat 1 (0-2s) <action>; beat 2 (2-4s) <action>; beat 3 (4-6s) <action>
|
|
12
|
+
Camera: <shot type + motion>
|
|
13
|
+
Lighting/mood: <mood>
|
|
14
|
+
Text (verbatim): "<short headline>", "<short subhead>"
|
|
15
|
+
Constraints: no logos; keep text legible; avoid fast motion
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Example: product benefit
|
|
19
|
+
```
|
|
20
|
+
Use case: social ad
|
|
21
|
+
Primary request: a compact humidifier emphasizing quiet operation
|
|
22
|
+
Scene/background: minimal bedroom nightstand
|
|
23
|
+
Subject: matte white humidifier with soft vapor
|
|
24
|
+
Action: beat 1 (0-2s) vapor begins; beat 2 (2-4s) soft glow turns on; beat 3 (4-6s) device slides to center
|
|
25
|
+
Camera: 50mm, gentle push-in
|
|
26
|
+
Lighting/mood: calm, warm night light
|
|
27
|
+
Text (verbatim): "Quiet mist", "Sleep better"
|
|
28
|
+
Constraints: no logos; text must be legible; avoid harsh highlights
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Example: before/after
|
|
32
|
+
```
|
|
33
|
+
Use case: social ad
|
|
34
|
+
Primary request: before/after of a cluttered desk becoming tidy
|
|
35
|
+
Scene/background: home office desk, neutral wall
|
|
36
|
+
Subject: desk surface, organizer tray
|
|
37
|
+
Action: beat 1 (0-2s) cluttered desk; beat 2 (2-4s) quick tidy motion; beat 3 (4-6s) clean desk with organizer
|
|
38
|
+
Camera: top-down, locked-off
|
|
39
|
+
Lighting/mood: soft daylight
|
|
40
|
+
Text (verbatim): "Before", "After"
|
|
41
|
+
Constraints: no logos; keep motion minimal; avoid blur
|
|
42
|
+
```
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Troubleshooting
|
|
2
|
+
|
|
3
|
+
## Job fails with size or seconds errors
|
|
4
|
+
- Cause: size not supported by model, or seconds not in 4/8/12.
|
|
5
|
+
- Fix: match size to model; use only "4", "8", or "12" seconds (see `references/video-api.md`).
|
|
6
|
+
- If you see `invalid_type` for seconds, update `scripts/sora.py` or pass a string value for `--seconds`.
|
|
7
|
+
|
|
8
|
+
## openai SDK not installed
|
|
9
|
+
- Cause: running `python "$SORA_CLI" ...` without the OpenAI SDK available.
|
|
10
|
+
- Fix: run with `uv run --with openai python "$SORA_CLI" ...` instead of using pip directly.
|
|
11
|
+
|
|
12
|
+
## uv cache permission error
|
|
13
|
+
- Cause: uv cache directory is not writable in CI or sandboxed environments.
|
|
14
|
+
- Fix: set `UV_CACHE_DIR=/tmp/uv-cache` (or another writable path) before running `uv`.
|
|
15
|
+
|
|
16
|
+
## Prompt shell escaping issues
|
|
17
|
+
- Cause: multi-line prompts or quotes break the shell.
|
|
18
|
+
- Fix: use `--prompt-file prompt.txt` (see `references/cli.md` for an example).
|
|
19
|
+
|
|
20
|
+
## Prompt looks double-wrapped ("Primary request: Use case: ...")
|
|
21
|
+
- Cause: you structured the prompt manually but left CLI augmentation on.
|
|
22
|
+
- Fix: add `--no-augment` when passing a structured prompt file, or use the CLI fields (`--use-case`, `--scene`, etc.) instead of pre-formatting.
|
|
23
|
+
|
|
24
|
+
## Input reference rejected
|
|
25
|
+
- Cause: file is not jpg/png/webp, or has a human face, or dimensions do not match target size.
|
|
26
|
+
- Fix: convert to jpg/png/webp, remove faces, and resize to match `--size`.
|
|
27
|
+
|
|
28
|
+
## Download fails or returns expired URL
|
|
29
|
+
- Cause: download URLs expire after about 1 hour.
|
|
30
|
+
- Fix: re-download while the link is fresh; save to your own storage.
|
|
31
|
+
|
|
32
|
+
## Video completes but looks unstable or flickers
|
|
33
|
+
- Cause: multiple actions or aggressive camera motion.
|
|
34
|
+
- Fix: reduce to one main action and one camera move; keep beats simple; add constraints like "avoid flicker" or "stable motion".
|
|
35
|
+
|
|
36
|
+
## Text is unreadable
|
|
37
|
+
- Cause: text too long, too small, or moving.
|
|
38
|
+
- Fix: shorten text, increase size, keep camera locked-off, and avoid fast motion.
|
|
39
|
+
|
|
40
|
+
## Remix drifts from the original
|
|
41
|
+
- Cause: too many changes requested at once.
|
|
42
|
+
- Fix: state invariants explicitly ("same shot and camera move") and change only one element per remix.
|
|
43
|
+
|
|
44
|
+
## Job stuck in queued/in_progress for a long time
|
|
45
|
+
- Cause: temporary queue delays.
|
|
46
|
+
- Fix: increase poll timeout, or retry later; avoid high concurrency if you are rate-limited.
|
|
47
|
+
|
|
48
|
+
## create-and-poll times out in CI/sandbox
|
|
49
|
+
- Cause: long-running CLI commands can exceed CI time limits.
|
|
50
|
+
- Fix: run `create` (capture the ID) and then `poll` separately, or set `--timeout`.
|
|
51
|
+
|
|
52
|
+
## Audio or voiceover missing / incorrect
|
|
53
|
+
- Cause: audio wasn't explicitly requested, or the dialogue/audio cue was too long or vague.
|
|
54
|
+
- Fix: add a clear `Audio:` line and a short `Dialogue:` block.
|
|
55
|
+
|
|
56
|
+
## Cleanup blocked by sandbox policy
|
|
57
|
+
- Cause: some environments block `rm`.
|
|
58
|
+
- Fix: skip cleanup, or truncate files instead of deleting.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Sora Video API quick reference
|
|
2
|
+
|
|
3
|
+
Keep this file short; the full docs live in the OpenAI platform docs.
|
|
4
|
+
|
|
5
|
+
## Models
|
|
6
|
+
- sora-2: faster, flexible iteration
|
|
7
|
+
- sora-2-pro: higher fidelity, slower, more expensive
|
|
8
|
+
|
|
9
|
+
## Sizes (by model)
|
|
10
|
+
- sora-2: 1280x720, 720x1280
|
|
11
|
+
- sora-2-pro: 1280x720, 720x1280, 1024x1792, 1792x1024
|
|
12
|
+
Note: higher resolutions generally yield better detail, texture, and motion consistency.
|
|
13
|
+
|
|
14
|
+
## Duration
|
|
15
|
+
- seconds: "4", "8", "12" (string enum; set via API param; prose will not change clip length)
|
|
16
|
+
Shorter clips tend to follow instructions more reliably; consider stitching multiple 4s clips for precision.
|
|
17
|
+
|
|
18
|
+
## Input reference
|
|
19
|
+
- Optional `input_reference` image (jpg/png/webp).
|
|
20
|
+
- Input reference should match the target size.
|
|
21
|
+
|
|
22
|
+
## Jobs and status
|
|
23
|
+
- Create is async. Status values: queued, in_progress, completed, failed.
|
|
24
|
+
- Prefer polling every 10-20s or use webhooks in production.
|
|
25
|
+
|
|
26
|
+
## Endpoints (conceptual)
|
|
27
|
+
- POST /videos: create a job
|
|
28
|
+
- GET /videos/{id}: retrieve status
|
|
29
|
+
- GET /videos/{id}/content: download video data
|
|
30
|
+
- GET /videos: list
|
|
31
|
+
- DELETE /videos/{id}: delete
|
|
32
|
+
- POST /videos/{id}/remix: remix a completed job
|
|
33
|
+
|
|
34
|
+
## Download variants
|
|
35
|
+
- video (mp4)
|
|
36
|
+
- thumbnail (webp)
|
|
37
|
+
- spritesheet (jpg)
|
|
38
|
+
|
|
39
|
+
Download URLs expire after about 1 hour; copy files to your own storage for retention.
|
|
40
|
+
|
|
41
|
+
## Guardrails (content restrictions)
|
|
42
|
+
- Only content suitable for audiences under 18
|
|
43
|
+
- No copyrighted characters or copyrighted music
|
|
44
|
+
- No real people (including public figures)
|
|
45
|
+
- Input images with human faces are currently rejected
|