@vodailoc/kilo-kit-mcp 1.1.0 → 1.1.1
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.codex-windows.toml +5 -0
- package/LICENSE +190 -190
- package/QUICKSTART.md +265 -255
- package/README.md +290 -266
- package/mcp/README.md +29 -5
- package/mcp/dist/server.js +1 -1
- package/mcp/package.json +1 -2
- package/package.json +3 -2
- package/skills/README.md +647 -647
- package/skills/SKILLS_INDEX.md +139 -139
- package/skills/ai-media/ai-multimodal/.env.example +97 -97
- package/skills/ai-media/ai-multimodal/SKILL.md +357 -357
- package/skills/ai-media/ai-multimodal/references/audio-processing.md +373 -373
- package/skills/ai-media/ai-multimodal/references/image-generation.md +558 -558
- package/skills/ai-media/ai-multimodal/references/video-analysis.md +502 -502
- package/skills/ai-media/ai-multimodal/references/vision-understanding.md +483 -483
- package/skills/ai-media/ai-multimodal/scripts/document_converter.py +395 -395
- package/skills/ai-media/ai-multimodal/scripts/gemini_batch_process.py +480 -480
- package/skills/ai-media/ai-multimodal/scripts/media_optimizer.py +506 -506
- package/skills/ai-media/ai-multimodal/scripts/requirements.txt +26 -26
- package/skills/ai-media/ai-multimodal/scripts/tests/requirements.txt +20 -20
- package/skills/ai-media/ai-multimodal/scripts/tests/test_document_converter.py +299 -299
- package/skills/ai-media/ai-multimodal/scripts/tests/test_gemini_batch_process.py +362 -362
- package/skills/ai-media/ai-multimodal/scripts/tests/test_media_optimizer.py +373 -373
- package/skills/ai-media/media-processing/SKILL.md +358 -358
- package/skills/ai-media/media-processing/references/ffmpeg-encoding.md +358 -358
- package/skills/ai-media/media-processing/references/ffmpeg-filters.md +503 -503
- package/skills/ai-media/media-processing/references/ffmpeg-streaming.md +403 -403
- package/skills/ai-media/media-processing/references/format-compatibility.md +375 -375
- package/skills/ai-media/media-processing/references/imagemagick-batch.md +612 -612
- package/skills/ai-media/media-processing/references/imagemagick-editing.md +623 -623
- package/skills/ai-media/media-processing/scripts/batch_resize.py +342 -342
- package/skills/ai-media/media-processing/scripts/media_convert.py +311 -311
- package/skills/ai-media/media-processing/scripts/requirements.txt +24 -24
- package/skills/ai-media/media-processing/scripts/tests/requirements.txt +2 -2
- package/skills/ai-media/media-processing/scripts/tests/test_batch_resize.py +372 -372
- package/skills/ai-media/media-processing/scripts/tests/test_media_convert.py +259 -259
- package/skills/ai-media/media-processing/scripts/tests/test_video_optimize.py +397 -397
- package/skills/ai-media/media-processing/scripts/video_optimize.py +414 -414
- package/skills/ai-media/screenshot/LICENSE.txt +201 -201
- package/skills/ai-media/screenshot/SKILL.md +267 -267
- package/skills/ai-media/screenshot/agents/openai.yaml +6 -6
- package/skills/ai-media/screenshot/assets/screenshot-small.svg +5 -5
- package/skills/ai-media/screenshot/scripts/ensure_macos_permissions.sh +54 -54
- package/skills/ai-media/screenshot/scripts/macos_display_info.swift +22 -22
- package/skills/ai-media/screenshot/scripts/macos_permissions.swift +40 -40
- package/skills/ai-media/screenshot/scripts/macos_window_info.swift +126 -126
- package/skills/ai-media/screenshot/scripts/take_screenshot.ps1 +163 -163
- package/skills/ai-media/screenshot/scripts/take_screenshot.py +585 -585
- package/skills/ai-media/sora/LICENSE.txt +201 -201
- package/skills/ai-media/sora/SKILL.md +153 -153
- package/skills/ai-media/sora/agents/openai.yaml +6 -6
- package/skills/ai-media/sora/assets/sora-small.svg +4 -4
- package/skills/ai-media/sora/references/cinematic-shots.md +53 -53
- package/skills/ai-media/sora/references/cli.md +248 -248
- package/skills/ai-media/sora/references/codex-network.md +28 -28
- package/skills/ai-media/sora/references/prompting.md +137 -137
- package/skills/ai-media/sora/references/sample-prompts.md +95 -95
- package/skills/ai-media/sora/references/social-ads.md +42 -42
- package/skills/ai-media/sora/references/troubleshooting.md +58 -58
- package/skills/ai-media/sora/references/video-api.md +45 -45
- package/skills/ai-media/sora/scripts/sora.py +970 -970
- package/skills/design/aesthetic/SKILL.md +121 -121
- package/skills/design/aesthetic/assets/design-guideline-template.md +163 -163
- package/skills/design/aesthetic/assets/design-story-template.md +135 -135
- package/skills/design/aesthetic/references/design-principles.md +62 -62
- package/skills/design/aesthetic/references/design-resources.md +75 -75
- package/skills/design/aesthetic/references/micro-interactions.md +53 -53
- package/skills/design/aesthetic/references/storytelling-design.md +50 -50
- package/skills/design/figma/LICENSE.txt +202 -202
- package/skills/design/figma/SKILL.md +42 -42
- package/skills/design/figma/agents/openai.yaml +14 -14
- package/skills/design/figma/assets/figma-small.svg +3 -3
- package/skills/design/figma/assets/icon.svg +28 -28
- package/skills/design/figma/references/figma-mcp-config.md +35 -35
- package/skills/design/figma/references/figma-tools-and-prompts.md +34 -34
- package/skills/design/figma-implement-design/LICENSE.txt +202 -202
- package/skills/design/figma-implement-design/SKILL.md +264 -264
- package/skills/design/figma-implement-design/agents/openai.yaml +14 -14
- package/skills/design/figma-implement-design/assets/figma-small.svg +3 -3
- package/skills/design/figma-implement-design/assets/icon.svg +28 -28
- package/skills/design/frontend-design/SKILL.md +41 -41
- package/skills/design/frontend-design/references/animejs.md +395 -395
- package/skills/design/ui-styling/LICENSE.txt +201 -201
- package/skills/design/ui-styling/SKILL.md +321 -321
- package/skills/design/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -94
- package/skills/design/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/Jura-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/Lora-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -93
- package/skills/design/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -93
- package/skills/design/ui-styling/references/canvas-design-system.md +320 -320
- package/skills/design/ui-styling/references/shadcn-accessibility.md +471 -471
- package/skills/design/ui-styling/references/shadcn-components.md +424 -424
- package/skills/design/ui-styling/references/shadcn-theming.md +373 -373
- package/skills/design/ui-styling/references/tailwind-customization.md +483 -483
- package/skills/design/ui-styling/references/tailwind-responsive.md +382 -382
- package/skills/design/ui-styling/references/tailwind-utilities.md +455 -455
- package/skills/design/ui-styling/scripts/requirements.txt +17 -17
- package/skills/design/ui-styling/scripts/shadcn_add.py +292 -292
- package/skills/design/ui-styling/scripts/tailwind_config_gen.py +456 -456
- package/skills/design/ui-styling/scripts/tests/requirements.txt +3 -3
- package/skills/design/ui-styling/scripts/tests/test_shadcn_add.py +266 -266
- package/skills/design/ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -336
- package/skills/engineering/aspnet-core/LICENSE.txt +201 -201
- package/skills/engineering/aspnet-core/SKILL.md +61 -61
- package/skills/engineering/aspnet-core/agents/openai.yaml +5 -5
- package/skills/engineering/aspnet-core/references/_sections.md +40 -40
- package/skills/engineering/aspnet-core/references/apis-minimal-and-controllers.md +81 -81
- package/skills/engineering/aspnet-core/references/data-state-and-services.md +69 -69
- package/skills/engineering/aspnet-core/references/program-and-pipeline.md +103 -103
- package/skills/engineering/aspnet-core/references/realtime-grpc-and-background-work.md +58 -58
- package/skills/engineering/aspnet-core/references/security-and-identity.md +75 -75
- package/skills/engineering/aspnet-core/references/source-map.md +43 -43
- package/skills/engineering/aspnet-core/references/stack-selection.md +63 -63
- package/skills/engineering/aspnet-core/references/testing-performance-and-operations.md +92 -92
- package/skills/engineering/aspnet-core/references/ui-blazor.md +53 -53
- package/skills/engineering/aspnet-core/references/ui-mvc.md +56 -56
- package/skills/engineering/aspnet-core/references/ui-razor-pages.md +55 -55
- package/skills/engineering/aspnet-core/references/versioning-and-upgrades.md +51 -51
- package/skills/engineering/backend-development/SKILL.md +95 -95
- package/skills/engineering/backend-development/references/backend-api-design.md +495 -495
- package/skills/engineering/backend-development/references/backend-architecture.md +454 -454
- package/skills/engineering/backend-development/references/backend-authentication.md +338 -338
- package/skills/engineering/backend-development/references/backend-code-quality.md +659 -659
- package/skills/engineering/backend-development/references/backend-debugging.md +904 -904
- package/skills/engineering/backend-development/references/backend-devops.md +494 -494
- package/skills/engineering/backend-development/references/backend-mindset.md +387 -387
- package/skills/engineering/backend-development/references/backend-performance.md +397 -397
- package/skills/engineering/backend-development/references/backend-security.md +290 -290
- package/skills/engineering/backend-development/references/backend-technologies.md +256 -256
- package/skills/engineering/backend-development/references/backend-testing.md +429 -429
- package/skills/engineering/better-auth/SKILL.md +204 -204
- package/skills/engineering/better-auth/references/advanced-features.md +553 -553
- package/skills/engineering/better-auth/references/database-integration.md +577 -577
- package/skills/engineering/better-auth/references/email-password-auth.md +416 -416
- package/skills/engineering/better-auth/references/oauth-providers.md +430 -430
- package/skills/engineering/better-auth/scripts/better_auth_init.py +521 -521
- package/skills/engineering/better-auth/scripts/requirements.txt +15 -15
- package/skills/engineering/better-auth/scripts/tests/test_better_auth_init.py +421 -421
- package/skills/engineering/code-review/SKILL.md +140 -140
- package/skills/engineering/code-review/references/code-review-reception.md +208 -208
- package/skills/engineering/code-review/references/requesting-code-review.md +104 -104
- package/skills/engineering/code-review/references/verification-before-completion.md +138 -138
- package/skills/engineering/context-engineering/SKILL.md +86 -86
- package/skills/engineering/context-engineering/references/context-compression.md +84 -84
- package/skills/engineering/context-engineering/references/context-degradation.md +93 -93
- package/skills/engineering/context-engineering/references/context-fundamentals.md +75 -75
- package/skills/engineering/context-engineering/references/context-optimization.md +82 -82
- package/skills/engineering/context-engineering/references/evaluation.md +89 -89
- package/skills/engineering/context-engineering/references/memory-systems.md +88 -88
- package/skills/engineering/context-engineering/references/multi-agent-patterns.md +90 -90
- package/skills/engineering/context-engineering/references/project-development.md +97 -97
- package/skills/engineering/context-engineering/references/tool-design.md +86 -86
- package/skills/engineering/context-engineering/scripts/compression_evaluator.py +329 -329
- package/skills/engineering/context-engineering/scripts/context_analyzer.py +294 -294
- package/skills/engineering/databases/SKILL.md +232 -232
- package/skills/engineering/databases/references/mongodb-aggregation.md +447 -447
- package/skills/engineering/databases/references/mongodb-atlas.md +465 -465
- package/skills/engineering/databases/references/mongodb-crud.md +408 -408
- package/skills/engineering/databases/references/mongodb-indexing.md +442 -442
- package/skills/engineering/databases/references/postgresql-administration.md +594 -594
- package/skills/engineering/databases/references/postgresql-performance.md +527 -527
- package/skills/engineering/databases/references/postgresql-psql-cli.md +467 -467
- package/skills/engineering/databases/references/postgresql-queries.md +475 -475
- package/skills/engineering/databases/scripts/db_backup.py +502 -502
- package/skills/engineering/databases/scripts/db_migrate.py +414 -414
- package/skills/engineering/databases/scripts/db_performance_check.py +444 -444
- package/skills/engineering/databases/scripts/requirements.txt +20 -20
- package/skills/engineering/databases/scripts/tests/requirements.txt +4 -4
- package/skills/engineering/databases/scripts/tests/test_db_backup.py +340 -340
- package/skills/engineering/databases/scripts/tests/test_db_migrate.py +277 -277
- package/skills/engineering/databases/scripts/tests/test_db_performance_check.py +370 -370
- package/skills/engineering/diagnose/SKILL.md +117 -117
- package/skills/engineering/diagnose/scripts/hitl-loop.template.sh +41 -41
- package/skills/engineering/docs-seeker/SKILL.md +207 -207
- package/skills/engineering/docs-seeker/WORKFLOWS.md +505 -505
- package/skills/engineering/docs-seeker/references/best-practices.md +632 -632
- package/skills/engineering/docs-seeker/references/documentation-sources.md +461 -461
- package/skills/engineering/docs-seeker/references/error-handling.md +621 -621
- package/skills/engineering/docs-seeker/references/limitations.md +821 -821
- package/skills/engineering/docs-seeker/references/performance.md +574 -574
- package/skills/engineering/docs-seeker/references/tool-selection.md +262 -262
- package/skills/engineering/frontend-development/SKILL.md +398 -398
- package/skills/engineering/frontend-development/resources/common-patterns.md +330 -330
- package/skills/engineering/frontend-development/resources/complete-examples.md +871 -871
- package/skills/engineering/frontend-development/resources/component-patterns.md +501 -501
- package/skills/engineering/frontend-development/resources/data-fetching.md +766 -766
- package/skills/engineering/frontend-development/resources/file-organization.md +501 -501
- package/skills/engineering/frontend-development/resources/loading-and-error-states.md +500 -500
- package/skills/engineering/frontend-development/resources/performance.md +405 -405
- package/skills/engineering/frontend-development/resources/routing-guide.md +363 -363
- package/skills/engineering/frontend-development/resources/styling-guide.md +427 -427
- package/skills/engineering/frontend-development/resources/typescript-standards.md +417 -417
- package/skills/engineering/improve-codebase-architecture/DEEPENING.md +37 -37
- package/skills/engineering/improve-codebase-architecture/INTERFACE-DESIGN.md +44 -44
- package/skills/engineering/improve-codebase-architecture/LANGUAGE.md +53 -53
- package/skills/engineering/improve-codebase-architecture/SKILL.md +71 -71
- package/skills/engineering/openai-docs/LICENSE.txt +201 -201
- package/skills/engineering/openai-docs/SKILL.md +69 -69
- package/skills/engineering/openai-docs/agents/openai.yaml +14 -14
- package/skills/engineering/openai-docs/assets/openai-small.svg +3 -3
- package/skills/engineering/openai-docs/references/gpt-5p4-prompting-guide.md +433 -433
- package/skills/engineering/openai-docs/references/latest-model.md +35 -35
- package/skills/engineering/openai-docs/references/upgrading-to-gpt-5p4.md +164 -164
- package/skills/engineering/playwright/LICENSE.txt +201 -201
- package/skills/engineering/playwright/NOTICE.txt +14 -14
- package/skills/engineering/playwright/SKILL.md +147 -147
- package/skills/engineering/playwright/agents/openai.yaml +6 -6
- package/skills/engineering/playwright/assets/playwright-small.svg +3 -3
- package/skills/engineering/playwright/references/cli.md +116 -116
- package/skills/engineering/playwright/references/workflows.md +95 -95
- package/skills/engineering/playwright/scripts/playwright_cli.sh +25 -25
- package/skills/engineering/playwright-interactive/LICENSE.txt +201 -201
- package/skills/engineering/playwright-interactive/NOTICE.txt +13 -13
- package/skills/engineering/playwright-interactive/SKILL.md +689 -689
- package/skills/engineering/playwright-interactive/agents/openai.yaml +6 -6
- package/skills/engineering/playwright-interactive/assets/playwright-small.svg +3 -3
- package/skills/engineering/render-deploy/LICENSE.txt +201 -201
- package/skills/engineering/render-deploy/SKILL.md +479 -479
- package/skills/engineering/render-deploy/agents/openai.yaml +14 -14
- package/skills/engineering/render-deploy/assets/docker.yaml +62 -62
- package/skills/engineering/render-deploy/assets/go-api.yaml +35 -35
- package/skills/engineering/render-deploy/assets/nextjs-postgres.yaml +35 -35
- package/skills/engineering/render-deploy/assets/node-express.yaml +25 -25
- package/skills/engineering/render-deploy/assets/python-django.yaml +89 -89
- package/skills/engineering/render-deploy/assets/render-small.svg +3 -3
- package/skills/engineering/render-deploy/assets/static-site.yaml +54 -54
- package/skills/engineering/render-deploy/references/blueprint-spec.md +718 -718
- package/skills/engineering/render-deploy/references/codebase-analysis.md +49 -49
- package/skills/engineering/render-deploy/references/configuration-guide.md +603 -603
- package/skills/engineering/render-deploy/references/deployment-details.md +224 -224
- package/skills/engineering/render-deploy/references/direct-creation.md +113 -113
- package/skills/engineering/render-deploy/references/error-patterns.md +13 -13
- package/skills/engineering/render-deploy/references/post-deploy-checks.md +36 -36
- package/skills/engineering/render-deploy/references/runtimes.md +473 -473
- package/skills/engineering/render-deploy/references/service-types.md +450 -450
- package/skills/engineering/render-deploy/references/troubleshooting-basics.md +36 -36
- package/skills/engineering/repomix/SKILL.md +215 -215
- package/skills/engineering/repomix/references/configuration.md +211 -211
- package/skills/engineering/repomix/references/usage-patterns.md +232 -232
- package/skills/engineering/repomix/scripts/README.md +179 -179
- package/skills/engineering/repomix/scripts/repomix_batch.py +455 -455
- package/skills/engineering/repomix/scripts/repos.example.json +15 -15
- package/skills/engineering/repomix/scripts/requirements.txt +15 -15
- package/skills/engineering/repomix/scripts/tests/test_repomix_batch.py +531 -531
- package/skills/engineering/setup-matt-pocock-skills/SKILL.md +121 -121
- package/skills/engineering/setup-matt-pocock-skills/domain.md +51 -51
- package/skills/engineering/setup-matt-pocock-skills/issue-tracker-github.md +22 -22
- package/skills/engineering/setup-matt-pocock-skills/issue-tracker-gitlab.md +23 -23
- package/skills/engineering/setup-matt-pocock-skills/issue-tracker-local.md +19 -19
- package/skills/engineering/setup-matt-pocock-skills/triage-labels.md +15 -15
- package/skills/engineering/shopify/README.md +66 -66
- package/skills/engineering/shopify/SKILL.md +319 -319
- package/skills/engineering/shopify/references/app-development.md +470 -470
- package/skills/engineering/shopify/references/extensions.md +493 -493
- package/skills/engineering/shopify/references/themes.md +498 -498
- package/skills/engineering/shopify/scripts/requirements.txt +19 -19
- package/skills/engineering/shopify/scripts/shopify_init.py +423 -423
- package/skills/engineering/shopify/scripts/tests/test_shopify_init.py +385 -385
- package/skills/engineering/tdd/SKILL.md +109 -109
- package/skills/engineering/tdd/deep-modules.md +33 -33
- package/skills/engineering/tdd/interface-design.md +31 -31
- package/skills/engineering/tdd/mocking.md +59 -59
- package/skills/engineering/tdd/refactoring.md +10 -10
- package/skills/engineering/tdd/tests.md +61 -61
- package/skills/engineering/to-issues/SKILL.md +81 -81
- package/skills/engineering/to-prd/SKILL.md +74 -74
- package/skills/engineering/triage/AGENT-BRIEF.md +168 -168
- package/skills/engineering/triage/OUT-OF-SCOPE.md +101 -101
- package/skills/engineering/triage/SKILL.md +103 -103
- package/skills/engineering/web-frameworks/SKILL.md +324 -324
- package/skills/engineering/web-frameworks/references/nextjs-app-router.md +465 -465
- package/skills/engineering/web-frameworks/references/nextjs-data-fetching.md +459 -459
- package/skills/engineering/web-frameworks/references/nextjs-optimization.md +511 -511
- package/skills/engineering/web-frameworks/references/nextjs-server-components.md +495 -495
- package/skills/engineering/web-frameworks/references/remix-icon-integration.md +603 -603
- package/skills/engineering/web-frameworks/references/turborepo-caching.md +551 -551
- package/skills/engineering/web-frameworks/references/turborepo-pipelines.md +517 -517
- package/skills/engineering/web-frameworks/references/turborepo-setup.md +542 -542
- package/skills/engineering/web-frameworks/scripts/nextjs_init.py +547 -547
- package/skills/engineering/web-frameworks/scripts/requirements.txt +16 -16
- package/skills/engineering/web-frameworks/scripts/tests/requirements.txt +3 -3
- package/skills/engineering/web-frameworks/scripts/tests/test_nextjs_init.py +319 -319
- package/skills/engineering/web-frameworks/scripts/tests/test_turborepo_migrate.py +374 -374
- package/skills/engineering/web-frameworks/scripts/turborepo_migrate.py +394 -394
- package/skills/engineering/write-a-skill/SKILL.md +117 -117
- package/skills/kilo-kit/SKILL.md +346 -346
- package/skills/kilo-kit/_template/SKILL.md +185 -185
- package/skills/kilo-kit/debugging/root-cause/SKILL.md +360 -360
- package/skills/kilo-kit/debugging/systematic/SKILL.md +339 -339
- package/skills/kilo-kit/debugging/verification/SKILL.md +424 -424
- package/skills/kilo-kit/development/backend/SKILL.md +540 -540
- package/skills/kilo-kit/development/security/SKILL.md +529 -529
- package/skills/kilo-kit/quality/code-review/SKILL.md +297 -297
- package/skills/kilo-kit/quality/testing/SKILL.md +540 -540
- package/skills/kilo-kit/references/output-formats.md +204 -204
- package/skills/kilo-kit/references/patterns.md +156 -156
- package/skills/kilo-kit/references/performance-benchmarks.md +90 -90
- package/skills/operations/chrome-devtools/SKILL.md +392 -392
- package/skills/operations/chrome-devtools/references/cdp-domains.md +694 -694
- package/skills/operations/chrome-devtools/references/performance-guide.md +940 -940
- package/skills/operations/chrome-devtools/references/puppeteer-reference.md +953 -953
- package/skills/operations/chrome-devtools/scripts/PERSISTENT-BROWSER.md +107 -107
- package/skills/operations/chrome-devtools/scripts/README.md +213 -213
- package/skills/operations/chrome-devtools/scripts/__tests__/selector.test.js +210 -210
- package/skills/operations/chrome-devtools/scripts/click.js +79 -79
- package/skills/operations/chrome-devtools/scripts/close-persistent.js +36 -36
- package/skills/operations/chrome-devtools/scripts/console.js +75 -75
- package/skills/operations/chrome-devtools/scripts/evaluate.js +49 -49
- package/skills/operations/chrome-devtools/scripts/fill.js +72 -72
- package/skills/operations/chrome-devtools/scripts/install-deps.sh +181 -181
- package/skills/operations/chrome-devtools/scripts/install.sh +83 -83
- package/skills/operations/chrome-devtools/scripts/launch-persistent.js +71 -71
- package/skills/operations/chrome-devtools/scripts/lib/browser.js +144 -144
- package/skills/operations/chrome-devtools/scripts/lib/selector.js +178 -178
- package/skills/operations/chrome-devtools/scripts/navigate.js +46 -46
- package/skills/operations/chrome-devtools/scripts/network.js +102 -102
- package/skills/operations/chrome-devtools/scripts/package-lock.json +1206 -1206
- package/skills/operations/chrome-devtools/scripts/package.json +15 -15
- package/skills/operations/chrome-devtools/scripts/performance.js +145 -145
- package/skills/operations/chrome-devtools/scripts/screenshot.js +180 -180
- package/skills/operations/chrome-devtools/scripts/snapshot.js +131 -131
- package/skills/operations/devops/.env.example +76 -76
- package/skills/operations/devops/SKILL.md +285 -285
- package/skills/operations/devops/references/browser-rendering.md +305 -305
- package/skills/operations/devops/references/cloudflare-d1-kv.md +123 -123
- package/skills/operations/devops/references/cloudflare-platform.md +271 -271
- package/skills/operations/devops/references/cloudflare-r2-storage.md +280 -280
- package/skills/operations/devops/references/cloudflare-workers-advanced.md +312 -312
- package/skills/operations/devops/references/cloudflare-workers-apis.md +309 -309
- package/skills/operations/devops/references/cloudflare-workers-basics.md +418 -418
- package/skills/operations/devops/references/docker-basics.md +297 -297
- package/skills/operations/devops/references/docker-compose.md +292 -292
- package/skills/operations/devops/references/gcloud-platform.md +297 -297
- package/skills/operations/devops/references/gcloud-services.md +304 -304
- package/skills/operations/devops/scripts/cloudflare_deploy.py +269 -269
- package/skills/operations/devops/scripts/docker_optimize.py +320 -320
- package/skills/operations/devops/scripts/requirements.txt +20 -20
- package/skills/operations/devops/scripts/tests/requirements.txt +3 -3
- package/skills/operations/devops/scripts/tests/test_cloudflare_deploy.py +285 -285
- package/skills/operations/devops/scripts/tests/test_docker_optimize.py +436 -436
- package/skills/operations/mcp-builder/LICENSE.txt +201 -201
- package/skills/operations/mcp-builder/SKILL.md +328 -328
- package/skills/operations/mcp-builder/reference/evaluation.md +601 -601
- package/skills/operations/mcp-builder/reference/mcp_best_practices.md +915 -915
- package/skills/operations/mcp-builder/reference/node_mcp_server.md +915 -915
- package/skills/operations/mcp-builder/reference/python_mcp_server.md +751 -751
- package/skills/operations/mcp-builder/scripts/connections.py +151 -151
- package/skills/operations/mcp-builder/scripts/evaluation.py +373 -373
- package/skills/operations/mcp-builder/scripts/example_evaluation.xml +22 -22
- package/skills/operations/mcp-builder/scripts/requirements.txt +2 -2
- package/skills/operations/mcp-management/README.md +219 -219
- package/skills/operations/mcp-management/SKILL.md +175 -175
- package/skills/operations/mcp-management/assets/tools.json +3043 -3043
- package/skills/operations/mcp-management/references/configuration.md +114 -114
- package/skills/operations/mcp-management/references/gemini-cli-integration.md +201 -201
- package/skills/operations/mcp-management/references/mcp-protocol.md +116 -116
- package/skills/operations/mcp-management/scripts/.env.example +10 -10
- package/skills/operations/mcp-management/scripts/cli.ts +155 -155
- package/skills/operations/mcp-management/scripts/dist/analyze-tools.js +70 -70
- package/skills/operations/mcp-management/scripts/dist/cli.js +131 -131
- package/skills/operations/mcp-management/scripts/dist/mcp-client.js +115 -115
- package/skills/operations/mcp-management/scripts/mcp-client.ts +163 -163
- package/skills/operations/mcp-management/scripts/package.json +18 -18
- package/skills/operations/mcp-management/scripts/tsconfig.json +15 -15
- package/skills/problem-solving/collision-zone-thinking/SKILL.md +62 -62
- package/skills/problem-solving/defense-in-depth/SKILL.md +130 -130
- package/skills/problem-solving/inversion-exercise/SKILL.md +58 -58
- package/skills/problem-solving/meta-pattern-recognition/SKILL.md +54 -54
- package/skills/problem-solving/root-cause-tracing/SKILL.md +177 -177
- package/skills/problem-solving/root-cause-tracing/find-polluter.sh +63 -63
- package/skills/problem-solving/scale-game/SKILL.md +63 -63
- package/skills/problem-solving/sequential-thinking/README.md +118 -118
- package/skills/problem-solving/sequential-thinking/SKILL.md +93 -93
- package/skills/problem-solving/sequential-thinking/references/advanced.md +122 -122
- package/skills/problem-solving/sequential-thinking/references/examples.md +274 -274
- package/skills/problem-solving/simplification-cascades/SKILL.md +76 -76
- package/skills/problem-solving/when-stuck/SKILL.md +88 -88
- package/skills/productivity/caveman/SKILL.md +49 -49
- package/skills/productivity/grill-me/SKILL.md +10 -10
- package/skills/productivity/grill-with-docs/ADR-FORMAT.md +47 -47
- package/skills/productivity/grill-with-docs/CONTEXT-FORMAT.md +77 -77
- package/skills/productivity/grill-with-docs/SKILL.md +88 -88
- package/skills/productivity/writing-skills/graphviz-conventions.dot +171 -171
- package/skills/productivity/zoom-out/SKILL.md +7 -7
- package/skills/writing-docs/doc/LICENSE.txt +201 -201
- package/skills/writing-docs/doc/SKILL.md +80 -80
- package/skills/writing-docs/doc/agents/openai.yaml +6 -6
- package/skills/writing-docs/doc/assets/doc-small.svg +3 -3
- package/skills/writing-docs/doc/scripts/render_docx.py +296 -296
- package/skills/writing-docs/docx/LICENSE.txt +30 -30
- package/skills/writing-docs/docx/SKILL.md +196 -196
- package/skills/writing-docs/docx/docx-js.md +349 -349
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -1499
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -146
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -1085
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -11
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -3081
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -23
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -185
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -287
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -1676
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -28
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -144
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -174
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -25
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -18
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -59
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -56
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -195
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -582
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -25
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -4439
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -570
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -509
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -12
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -108
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -96
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -3646
- package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -116
- package/skills/writing-docs/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -42
- package/skills/writing-docs/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -50
- package/skills/writing-docs/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -49
- package/skills/writing-docs/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -33
- package/skills/writing-docs/docx/ooxml/schemas/mce/mc.xsd +75 -75
- package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -560
- package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -67
- package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -14
- package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -20
- package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -13
- package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -4
- package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -8
- package/skills/writing-docs/docx/ooxml/scripts/pack.py +159 -159
- package/skills/writing-docs/docx/ooxml/scripts/unpack.py +29 -29
- package/skills/writing-docs/docx/ooxml/scripts/validate.py +69 -69
- package/skills/writing-docs/docx/ooxml/scripts/validation/__init__.py +15 -15
- package/skills/writing-docs/docx/ooxml/scripts/validation/base.py +951 -951
- package/skills/writing-docs/docx/ooxml/scripts/validation/docx.py +274 -274
- package/skills/writing-docs/docx/ooxml/scripts/validation/pptx.py +315 -315
- package/skills/writing-docs/docx/ooxml/scripts/validation/redlining.py +279 -279
- package/skills/writing-docs/docx/ooxml.md +609 -609
- package/skills/writing-docs/docx/scripts/__init__.py +1 -1
- package/skills/writing-docs/docx/scripts/document.py +1276 -1276
- package/skills/writing-docs/docx/scripts/templates/comments.xml +2 -2
- package/skills/writing-docs/docx/scripts/templates/commentsExtended.xml +2 -2
- package/skills/writing-docs/docx/scripts/templates/commentsExtensible.xml +2 -2
- package/skills/writing-docs/docx/scripts/templates/commentsIds.xml +2 -2
- package/skills/writing-docs/docx/scripts/templates/people.xml +2 -2
- package/skills/writing-docs/docx/scripts/utilities.py +374 -374
- package/skills/writing-docs/mermaidjs-v11/SKILL.md +115 -115
- package/skills/writing-docs/mermaidjs-v11/references/cli-usage.md +228 -228
- package/skills/writing-docs/mermaidjs-v11/references/configuration.md +232 -232
- package/skills/writing-docs/mermaidjs-v11/references/diagram-types.md +315 -315
- package/skills/writing-docs/mermaidjs-v11/references/examples.md +344 -344
- package/skills/writing-docs/mermaidjs-v11/references/integration.md +310 -310
- package/skills/writing-docs/pdf/LICENSE.txt +30 -30
- package/skills/writing-docs/pdf/SKILL.md +294 -294
- package/skills/writing-docs/pdf/forms.md +205 -205
- package/skills/writing-docs/pdf/reference.md +611 -611
- package/skills/writing-docs/pdf/scripts/check_bounding_boxes.py +70 -70
- package/skills/writing-docs/pdf/scripts/check_bounding_boxes_test.py +226 -226
- package/skills/writing-docs/pdf/scripts/check_fillable_fields.py +12 -12
- package/skills/writing-docs/pdf/scripts/convert_pdf_to_images.py +35 -35
- package/skills/writing-docs/pdf/scripts/create_validation_image.py +41 -41
- package/skills/writing-docs/pdf/scripts/extract_form_field_info.py +152 -152
- package/skills/writing-docs/pdf/scripts/fill_fillable_fields.py +114 -114
- package/skills/writing-docs/pdf/scripts/fill_pdf_form_with_annotations.py +107 -107
- package/skills/writing-docs/pptx/LICENSE.txt +30 -30
- package/skills/writing-docs/pptx/SKILL.md +483 -483
- package/skills/writing-docs/pptx/html2pptx.md +624 -624
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -1499
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -146
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -1085
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -11
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -3081
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -23
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -185
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -287
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -1676
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -28
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -144
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -174
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -25
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -18
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -59
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -56
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -195
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -582
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -25
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -4439
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -570
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -509
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -12
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -108
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -96
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -3646
- package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -116
- package/skills/writing-docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -42
- package/skills/writing-docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -50
- package/skills/writing-docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -49
- package/skills/writing-docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -33
- package/skills/writing-docs/pptx/ooxml/schemas/mce/mc.xsd +75 -75
- package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -560
- package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -67
- package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -14
- package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -20
- package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -13
- package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -4
- package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -8
- package/skills/writing-docs/pptx/ooxml/scripts/pack.py +159 -159
- package/skills/writing-docs/pptx/ooxml/scripts/unpack.py +29 -29
- package/skills/writing-docs/pptx/ooxml/scripts/validate.py +69 -69
- package/skills/writing-docs/pptx/ooxml/scripts/validation/__init__.py +15 -15
- package/skills/writing-docs/pptx/ooxml/scripts/validation/base.py +951 -951
- package/skills/writing-docs/pptx/ooxml/scripts/validation/docx.py +274 -274
- package/skills/writing-docs/pptx/ooxml/scripts/validation/pptx.py +315 -315
- package/skills/writing-docs/pptx/ooxml/scripts/validation/redlining.py +279 -279
- package/skills/writing-docs/pptx/ooxml.md +426 -426
- package/skills/writing-docs/pptx/scripts/html2pptx.js +978 -978
- package/skills/writing-docs/pptx/scripts/inventory.py +1020 -1020
- package/skills/writing-docs/pptx/scripts/rearrange.py +231 -231
- package/skills/writing-docs/pptx/scripts/replace.py +385 -385
- package/skills/writing-docs/pptx/scripts/thumbnail.py +450 -450
- package/skills/writing-docs/slides/LICENSE.txt +201 -201
- package/skills/writing-docs/slides/SKILL.md +71 -71
- package/skills/writing-docs/slides/agents/openai.yaml +6 -6
- package/skills/writing-docs/slides/assets/pptxgenjs_helpers/code.js +104 -104
- package/skills/writing-docs/slides/assets/pptxgenjs_helpers/image.js +333 -333
- package/skills/writing-docs/slides/assets/pptxgenjs_helpers/index.js +33 -33
- package/skills/writing-docs/slides/assets/pptxgenjs_helpers/latex.js +51 -51
- package/skills/writing-docs/slides/assets/pptxgenjs_helpers/layout.js +643 -643
- package/skills/writing-docs/slides/assets/pptxgenjs_helpers/layout_builders.js +358 -358
- package/skills/writing-docs/slides/assets/pptxgenjs_helpers/svg.js +36 -36
- package/skills/writing-docs/slides/assets/pptxgenjs_helpers/text.js +789 -789
- package/skills/writing-docs/slides/assets/pptxgenjs_helpers/util.js +24 -24
- package/skills/writing-docs/slides/assets/slides-small.svg +3 -3
- package/skills/writing-docs/slides/references/pptxgenjs-helpers.md +61 -61
- package/skills/writing-docs/slides/scripts/create_montage.py +300 -300
- package/skills/writing-docs/slides/scripts/detect_font.py +873 -873
- package/skills/writing-docs/slides/scripts/ensure_raster_image.py +202 -202
- package/skills/writing-docs/slides/scripts/render_slides.py +273 -273
- package/skills/writing-docs/slides/scripts/slides_test.py +201 -201
- package/skills/writing-docs/template-skill/SKILL.md +26 -26
- package/skills/writing-docs/xlsx/LICENSE.txt +30 -30
- package/skills/writing-docs/xlsx/SKILL.md +288 -288
- package/skills/writing-docs/xlsx/recalc.py +177 -177
- package/src/core/KILO_MASTER.md +448 -448
- package/src/tools/validate-skill.js +421 -421
|
@@ -1,375 +1,375 @@
|
|
|
1
|
-
# Format Compatibility & Conversion Guide
|
|
2
|
-
|
|
3
|
-
Complete guide to media format support, codec recommendations, and conversion best practices.
|
|
4
|
-
|
|
5
|
-
## Image Format Support
|
|
6
|
-
|
|
7
|
-
### ImageMagick Formats
|
|
8
|
-
|
|
9
|
-
**Raster Formats (Full Support):**
|
|
10
|
-
- JPEG (.jpg, .jpeg) - Lossy, universal
|
|
11
|
-
- PNG (.png) - Lossless, transparency
|
|
12
|
-
- WebP (.webp) - Modern, lossy/lossless
|
|
13
|
-
- GIF (.gif) - Animation, limited colors
|
|
14
|
-
- TIFF (.tif, .tiff) - Professional, lossless
|
|
15
|
-
- BMP (.bmp) - Uncompressed, legacy
|
|
16
|
-
- ICO (.ico) - Icons, multi-size
|
|
17
|
-
|
|
18
|
-
**Raw Formats (Read Support):**
|
|
19
|
-
- CR2, NEF, ARW, DNG (Canon, Nikon, Sony, Adobe RAW)
|
|
20
|
-
- Requires dcraw or ufraw-batch
|
|
21
|
-
|
|
22
|
-
**Vector Formats (Limited):**
|
|
23
|
-
- SVG (.svg) - Read only, converts to raster
|
|
24
|
-
- PDF (.pdf) - Read/write, may have policy restrictions
|
|
25
|
-
|
|
26
|
-
**Other Formats:**
|
|
27
|
-
- HEIC (.heic) - Apple format, requires libheif
|
|
28
|
-
- AVIF (.avif) - Next-gen, requires libavif
|
|
29
|
-
- PSD (.psd) - Photoshop, basic support
|
|
30
|
-
|
|
31
|
-
### FFmpeg Image Support
|
|
32
|
-
|
|
33
|
-
**Input Formats:**
|
|
34
|
-
- JPEG, PNG, BMP, TIFF, WebP, GIF
|
|
35
|
-
- Image sequences (frame_%04d.png)
|
|
36
|
-
|
|
37
|
-
**Output Formats:**
|
|
38
|
-
- JPEG, PNG, BMP, TIFF
|
|
39
|
-
- Video from images
|
|
40
|
-
|
|
41
|
-
## Video Format Support
|
|
42
|
-
|
|
43
|
-
### Container Formats
|
|
44
|
-
|
|
45
|
-
**Universal Containers:**
|
|
46
|
-
- MP4 (.mp4) - Most compatible, streaming
|
|
47
|
-
- MKV (.mkv) - Feature-rich, flexible
|
|
48
|
-
- WebM (.webm) - Web-optimized, open
|
|
49
|
-
- AVI (.avi) - Legacy, broad support
|
|
50
|
-
- MOV (.mov) - Apple, professional
|
|
51
|
-
|
|
52
|
-
**Streaming Containers:**
|
|
53
|
-
- TS (.ts) - Transport stream, HLS segments
|
|
54
|
-
- M3U8 (.m3u8) - HLS playlist
|
|
55
|
-
- MPD (.mpd) - DASH manifest
|
|
56
|
-
- FLV (.flv) - Flash (legacy)
|
|
57
|
-
|
|
58
|
-
**Professional Formats:**
|
|
59
|
-
- ProRes (.mov) - Apple professional
|
|
60
|
-
- DNxHD/DNxHR (.mxf, .mov) - Avid professional
|
|
61
|
-
- MXF (.mxf) - Broadcast
|
|
62
|
-
|
|
63
|
-
### Video Codecs
|
|
64
|
-
|
|
65
|
-
**Modern Codecs:**
|
|
66
|
-
- H.264/AVC (libx264) - Universal, excellent balance
|
|
67
|
-
- H.265/HEVC (libx265) - Better compression, 4K
|
|
68
|
-
- VP9 (libvpx-vp9) - Open, YouTube
|
|
69
|
-
- AV1 (libaom-av1, libsvtav1) - Next-gen, best compression
|
|
70
|
-
|
|
71
|
-
**Legacy Codecs:**
|
|
72
|
-
- MPEG-4 (mpeg4) - Older devices
|
|
73
|
-
- MPEG-2 (mpeg2video) - DVD, broadcast
|
|
74
|
-
- VP8 (libvpx) - WebM predecessor
|
|
75
|
-
|
|
76
|
-
**Professional Codecs:**
|
|
77
|
-
- ProRes (prores) - Apple post-production
|
|
78
|
-
- DNxHD (dnxhd) - Avid editing
|
|
79
|
-
- Uncompressed (rawvideo) - Maximum quality
|
|
80
|
-
|
|
81
|
-
### Audio Codecs
|
|
82
|
-
|
|
83
|
-
**Modern Codecs:**
|
|
84
|
-
- AAC (aac) - Universal, streaming
|
|
85
|
-
- Opus (libopus) - Best low-bitrate
|
|
86
|
-
- MP3 (libmp3lame) - Universal compatibility
|
|
87
|
-
|
|
88
|
-
**Lossless Codecs:**
|
|
89
|
-
- FLAC (flac) - Open, archival
|
|
90
|
-
- ALAC (alac) - Apple lossless
|
|
91
|
-
- WAV (pcm_s16le) - Uncompressed
|
|
92
|
-
|
|
93
|
-
**Other Codecs:**
|
|
94
|
-
- Vorbis (libvorbis) - Open, WebM
|
|
95
|
-
- AC-3 (ac3) - Dolby Digital, surround
|
|
96
|
-
- DTS (dts) - Cinema surround
|
|
97
|
-
|
|
98
|
-
## Format Recommendations
|
|
99
|
-
|
|
100
|
-
### Use Case Matrix
|
|
101
|
-
|
|
102
|
-
| Use Case | Image Format | Video Container | Video Codec | Audio Codec |
|
|
103
|
-
|----------|--------------|-----------------|-------------|-------------|
|
|
104
|
-
| Web general | JPEG 85% | MP4 | H.264 | AAC 128k |
|
|
105
|
-
| Web transparency | PNG | - | - | - |
|
|
106
|
-
| Web modern | WebP | WebM | VP9 | Opus |
|
|
107
|
-
| Social media | JPEG 85% | MP4 | H.264 | AAC 128k |
|
|
108
|
-
| 4K streaming | - | MP4 | H.265 | AAC 192k |
|
|
109
|
-
| Archive | PNG/TIFF | MKV | H.265 CRF 18 | FLAC |
|
|
110
|
-
| Email | JPEG 75% | - | - | - |
|
|
111
|
-
| Print | TIFF/PNG | - | - | - |
|
|
112
|
-
| YouTube | - | MP4/WebM | H.264/VP9 | AAC/Opus |
|
|
113
|
-
| Live stream | - | FLV | H.264 | AAC |
|
|
114
|
-
| Editing | - | MOV/MXF | ProRes/DNxHD | PCM |
|
|
115
|
-
|
|
116
|
-
### Platform Compatibility
|
|
117
|
-
|
|
118
|
-
**Web Browsers (2025):**
|
|
119
|
-
- Images: JPEG, PNG, WebP, GIF, SVG
|
|
120
|
-
- Video: MP4 (H.264), WebM (VP9), MP4 (AV1)
|
|
121
|
-
- Audio: AAC, MP3, Opus, Vorbis
|
|
122
|
-
|
|
123
|
-
**Mobile Devices:**
|
|
124
|
-
- iOS: JPEG, PNG, HEIC, MP4 (H.264/H.265), AAC
|
|
125
|
-
- Android: JPEG, PNG, WebP, MP4 (H.264/H.265), AAC
|
|
126
|
-
|
|
127
|
-
**Smart TVs:**
|
|
128
|
-
- Most: MP4 (H.264), AAC
|
|
129
|
-
- Modern: MP4 (H.265), AC-3
|
|
130
|
-
|
|
131
|
-
**Social Media:**
|
|
132
|
-
- All platforms: JPEG, MP4 (H.264), AAC
|
|
133
|
-
|
|
134
|
-
## Quality vs Size Trade-offs
|
|
135
|
-
|
|
136
|
-
### Image Quality Comparison
|
|
137
|
-
|
|
138
|
-
**JPEG Quality Levels:**
|
|
139
|
-
- 95-100: ~5-10 MB (large image), minimal artifacts
|
|
140
|
-
- 85-94: ~1-3 MB, imperceptible loss
|
|
141
|
-
- 75-84: ~500 KB-1 MB, slight artifacts
|
|
142
|
-
- 60-74: ~200-500 KB, visible artifacts
|
|
143
|
-
- Below 60: <200 KB, poor quality
|
|
144
|
-
|
|
145
|
-
**Format Comparison (Same quality):**
|
|
146
|
-
- WebP: 25-35% smaller than JPEG
|
|
147
|
-
- HEIC: 40-50% smaller than JPEG
|
|
148
|
-
- AVIF: 50-60% smaller than JPEG
|
|
149
|
-
- PNG: 2-5x larger than JPEG (lossless)
|
|
150
|
-
|
|
151
|
-
### Video Quality Comparison
|
|
152
|
-
|
|
153
|
-
**H.264 CRF Values:**
|
|
154
|
-
- CRF 18: Visually lossless, ~8-15 Mbps (1080p)
|
|
155
|
-
- CRF 23: High quality, ~4-8 Mbps (1080p)
|
|
156
|
-
- CRF 28: Medium quality, ~2-4 Mbps (1080p)
|
|
157
|
-
|
|
158
|
-
**Codec Comparison (Same quality):**
|
|
159
|
-
- H.265: 40-50% smaller than H.264
|
|
160
|
-
- VP9: 30-40% smaller than H.264
|
|
161
|
-
- AV1: 50-60% smaller than H.264
|
|
162
|
-
|
|
163
|
-
### Audio Quality Comparison
|
|
164
|
-
|
|
165
|
-
**AAC Bitrates:**
|
|
166
|
-
- 320 kbps: Transparent, archival
|
|
167
|
-
- 192 kbps: High quality, music
|
|
168
|
-
- 128 kbps: Good quality, streaming
|
|
169
|
-
- 96 kbps: Acceptable, low bandwidth
|
|
170
|
-
- 64 kbps: Poor, voice only
|
|
171
|
-
|
|
172
|
-
**Codec Efficiency (Same quality):**
|
|
173
|
-
- Opus: Best at low bitrates (<128k)
|
|
174
|
-
- AAC: Best overall balance
|
|
175
|
-
- MP3: Less efficient but universal
|
|
176
|
-
|
|
177
|
-
## Conversion Best Practices
|
|
178
|
-
|
|
179
|
-
### Image Conversions
|
|
180
|
-
|
|
181
|
-
**PNG to JPEG:**
|
|
182
|
-
```bash
|
|
183
|
-
# Standard conversion
|
|
184
|
-
magick input.png -quality 85 -strip output.jpg
|
|
185
|
-
|
|
186
|
-
# With transparency handling
|
|
187
|
-
magick input.png -background white -flatten -quality 85 output.jpg
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
**JPEG to WebP:**
|
|
191
|
-
```bash
|
|
192
|
-
# FFmpeg
|
|
193
|
-
ffmpeg -i input.jpg -quality 80 output.webp
|
|
194
|
-
|
|
195
|
-
# ImageMagick
|
|
196
|
-
magick input.jpg -quality 80 output.webp
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
**RAW to JPEG:**
|
|
200
|
-
```bash
|
|
201
|
-
# Requires dcraw
|
|
202
|
-
magick input.CR2 -quality 90 output.jpg
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
**HEIC to JPEG:**
|
|
206
|
-
```bash
|
|
207
|
-
# Requires libheif
|
|
208
|
-
magick input.heic -quality 85 output.jpg
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
### Video Conversions
|
|
212
|
-
|
|
213
|
-
**MKV to MP4:**
|
|
214
|
-
```bash
|
|
215
|
-
# Copy streams (fast)
|
|
216
|
-
ffmpeg -i input.mkv -c copy output.mp4
|
|
217
|
-
|
|
218
|
-
# Re-encode if needed
|
|
219
|
-
ffmpeg -i input.mkv -c:v libx264 -crf 23 -c:a aac output.mp4
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
**AVI to MP4:**
|
|
223
|
-
```bash
|
|
224
|
-
# Modern codecs
|
|
225
|
-
ffmpeg -i input.avi -c:v libx264 -crf 23 -c:a aac output.mp4
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
**MOV to MP4:**
|
|
229
|
-
```bash
|
|
230
|
-
# Copy if H.264 already
|
|
231
|
-
ffmpeg -i input.mov -c copy output.mp4
|
|
232
|
-
|
|
233
|
-
# Convert ProRes to H.264
|
|
234
|
-
ffmpeg -i input.mov -c:v libx264 -crf 18 -c:a aac output.mp4
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
**Any to WebM:**
|
|
238
|
-
```bash
|
|
239
|
-
# VP9 encoding
|
|
240
|
-
ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 -c:a libopus output.webm
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
### Audio Conversions
|
|
244
|
-
|
|
245
|
-
**Extract Audio from Video:**
|
|
246
|
-
```bash
|
|
247
|
-
# Keep original codec
|
|
248
|
-
ffmpeg -i video.mp4 -vn -c:a copy audio.m4a
|
|
249
|
-
|
|
250
|
-
# Convert to MP3
|
|
251
|
-
ffmpeg -i video.mp4 -vn -q:a 0 audio.mp3
|
|
252
|
-
|
|
253
|
-
# Convert to FLAC (lossless)
|
|
254
|
-
ffmpeg -i video.mp4 -vn -c:a flac audio.flac
|
|
255
|
-
```
|
|
256
|
-
|
|
257
|
-
**Audio Format Conversion:**
|
|
258
|
-
```bash
|
|
259
|
-
# WAV to MP3
|
|
260
|
-
ffmpeg -i input.wav -c:a libmp3lame -b:a 192k output.mp3
|
|
261
|
-
|
|
262
|
-
# MP3 to AAC
|
|
263
|
-
ffmpeg -i input.mp3 -c:a aac -b:a 192k output.m4a
|
|
264
|
-
|
|
265
|
-
# Any to Opus
|
|
266
|
-
ffmpeg -i input.wav -c:a libopus -b:a 128k output.opus
|
|
267
|
-
```
|
|
268
|
-
|
|
269
|
-
## Codec Selection Guide
|
|
270
|
-
|
|
271
|
-
### Choose H.264 When:
|
|
272
|
-
- Maximum compatibility needed
|
|
273
|
-
- Targeting older devices
|
|
274
|
-
- Streaming to unknown devices
|
|
275
|
-
- Social media upload
|
|
276
|
-
- Fast encoding required
|
|
277
|
-
|
|
278
|
-
### Choose H.265 When:
|
|
279
|
-
- 4K video encoding
|
|
280
|
-
- Storage space limited
|
|
281
|
-
- Modern device targets
|
|
282
|
-
- Archival quality needed
|
|
283
|
-
- Bandwidth constrained
|
|
284
|
-
|
|
285
|
-
### Choose VP9 When:
|
|
286
|
-
- YouTube upload
|
|
287
|
-
- Open-source requirement
|
|
288
|
-
- Chrome/Firefox primary
|
|
289
|
-
- Royalty-free needed
|
|
290
|
-
|
|
291
|
-
### Choose AV1 When:
|
|
292
|
-
- Future-proofing content
|
|
293
|
-
- Maximum compression needed
|
|
294
|
-
- Encoding time not critical
|
|
295
|
-
- Modern platform targets
|
|
296
|
-
|
|
297
|
-
## Format Migration Strategies
|
|
298
|
-
|
|
299
|
-
### Archive to Web
|
|
300
|
-
|
|
301
|
-
```bash
|
|
302
|
-
# High-res archive -> Web-optimized
|
|
303
|
-
for img in archive/*.tif; do
|
|
304
|
-
base=$(basename "$img" .tif)
|
|
305
|
-
magick "$img" -resize 2000x2000\> -quality 85 -strip "web/${base}.jpg"
|
|
306
|
-
magick "$img" -resize 2000x2000\> -quality 85 "web/${base}.webp"
|
|
307
|
-
done
|
|
308
|
-
```
|
|
309
|
-
|
|
310
|
-
### Legacy to Modern
|
|
311
|
-
|
|
312
|
-
```bash
|
|
313
|
-
# Convert old formats to modern codecs
|
|
314
|
-
for video in legacy/*.avi; do
|
|
315
|
-
base=$(basename "$video" .avi)
|
|
316
|
-
ffmpeg -i "$video" \
|
|
317
|
-
-c:v libx264 -crf 23 -preset slow \
|
|
318
|
-
-c:a aac -b:a 128k \
|
|
319
|
-
"modern/${base}.mp4"
|
|
320
|
-
done
|
|
321
|
-
```
|
|
322
|
-
|
|
323
|
-
### Multi-Format Publishing
|
|
324
|
-
|
|
325
|
-
```bash
|
|
326
|
-
# Create multiple formats for compatibility
|
|
327
|
-
input="source.mp4"
|
|
328
|
-
|
|
329
|
-
# Modern browsers
|
|
330
|
-
ffmpeg -i "$input" -c:v libx264 -crf 23 -c:a aac output.mp4
|
|
331
|
-
ffmpeg -i "$input" -c:v libvpx-vp9 -crf 30 -c:a libopus output.webm
|
|
332
|
-
|
|
333
|
-
# Images
|
|
334
|
-
ffmpeg -ss 5 -i "$input" -vframes 1 poster.jpg
|
|
335
|
-
magick poster.jpg -quality 80 poster.webp
|
|
336
|
-
```
|
|
337
|
-
|
|
338
|
-
## Troubleshooting
|
|
339
|
-
|
|
340
|
-
### Unsupported Format
|
|
341
|
-
|
|
342
|
-
```bash
|
|
343
|
-
# Check FFmpeg formats
|
|
344
|
-
ffmpeg -formats
|
|
345
|
-
|
|
346
|
-
# Check ImageMagick formats
|
|
347
|
-
magick identify -list format
|
|
348
|
-
|
|
349
|
-
# Install missing codec support
|
|
350
|
-
sudo apt-get install libx264-dev libx265-dev libvpx-dev
|
|
351
|
-
```
|
|
352
|
-
|
|
353
|
-
### Compatibility Issues
|
|
354
|
-
|
|
355
|
-
```bash
|
|
356
|
-
# Force compatible encoding
|
|
357
|
-
ffmpeg -i input.mp4 \
|
|
358
|
-
-c:v libx264 -profile:v high -level 4.0 \
|
|
359
|
-
-pix_fmt yuv420p \
|
|
360
|
-
-c:a aac -b:a 128k \
|
|
361
|
-
output.mp4
|
|
362
|
-
```
|
|
363
|
-
|
|
364
|
-
### Quality Loss
|
|
365
|
-
|
|
366
|
-
```bash
|
|
367
|
-
# Avoid multiple conversions
|
|
368
|
-
# Bad: source -> edit -> web -> social
|
|
369
|
-
# Good: source -> final (single conversion)
|
|
370
|
-
|
|
371
|
-
# Use lossless intermediate
|
|
372
|
-
ffmpeg -i source.mp4 -c:v ffv1 intermediate.mkv
|
|
373
|
-
# Edit intermediate
|
|
374
|
-
ffmpeg -i intermediate.mkv -c:v libx264 final.mp4
|
|
375
|
-
```
|
|
1
|
+
# Format Compatibility & Conversion Guide
|
|
2
|
+
|
|
3
|
+
Complete guide to media format support, codec recommendations, and conversion best practices.
|
|
4
|
+
|
|
5
|
+
## Image Format Support
|
|
6
|
+
|
|
7
|
+
### ImageMagick Formats
|
|
8
|
+
|
|
9
|
+
**Raster Formats (Full Support):**
|
|
10
|
+
- JPEG (.jpg, .jpeg) - Lossy, universal
|
|
11
|
+
- PNG (.png) - Lossless, transparency
|
|
12
|
+
- WebP (.webp) - Modern, lossy/lossless
|
|
13
|
+
- GIF (.gif) - Animation, limited colors
|
|
14
|
+
- TIFF (.tif, .tiff) - Professional, lossless
|
|
15
|
+
- BMP (.bmp) - Uncompressed, legacy
|
|
16
|
+
- ICO (.ico) - Icons, multi-size
|
|
17
|
+
|
|
18
|
+
**Raw Formats (Read Support):**
|
|
19
|
+
- CR2, NEF, ARW, DNG (Canon, Nikon, Sony, Adobe RAW)
|
|
20
|
+
- Requires dcraw or ufraw-batch
|
|
21
|
+
|
|
22
|
+
**Vector Formats (Limited):**
|
|
23
|
+
- SVG (.svg) - Read only, converts to raster
|
|
24
|
+
- PDF (.pdf) - Read/write, may have policy restrictions
|
|
25
|
+
|
|
26
|
+
**Other Formats:**
|
|
27
|
+
- HEIC (.heic) - Apple format, requires libheif
|
|
28
|
+
- AVIF (.avif) - Next-gen, requires libavif
|
|
29
|
+
- PSD (.psd) - Photoshop, basic support
|
|
30
|
+
|
|
31
|
+
### FFmpeg Image Support
|
|
32
|
+
|
|
33
|
+
**Input Formats:**
|
|
34
|
+
- JPEG, PNG, BMP, TIFF, WebP, GIF
|
|
35
|
+
- Image sequences (frame_%04d.png)
|
|
36
|
+
|
|
37
|
+
**Output Formats:**
|
|
38
|
+
- JPEG, PNG, BMP, TIFF
|
|
39
|
+
- Video from images
|
|
40
|
+
|
|
41
|
+
## Video Format Support
|
|
42
|
+
|
|
43
|
+
### Container Formats
|
|
44
|
+
|
|
45
|
+
**Universal Containers:**
|
|
46
|
+
- MP4 (.mp4) - Most compatible, streaming
|
|
47
|
+
- MKV (.mkv) - Feature-rich, flexible
|
|
48
|
+
- WebM (.webm) - Web-optimized, open
|
|
49
|
+
- AVI (.avi) - Legacy, broad support
|
|
50
|
+
- MOV (.mov) - Apple, professional
|
|
51
|
+
|
|
52
|
+
**Streaming Containers:**
|
|
53
|
+
- TS (.ts) - Transport stream, HLS segments
|
|
54
|
+
- M3U8 (.m3u8) - HLS playlist
|
|
55
|
+
- MPD (.mpd) - DASH manifest
|
|
56
|
+
- FLV (.flv) - Flash (legacy)
|
|
57
|
+
|
|
58
|
+
**Professional Formats:**
|
|
59
|
+
- ProRes (.mov) - Apple professional
|
|
60
|
+
- DNxHD/DNxHR (.mxf, .mov) - Avid professional
|
|
61
|
+
- MXF (.mxf) - Broadcast
|
|
62
|
+
|
|
63
|
+
### Video Codecs
|
|
64
|
+
|
|
65
|
+
**Modern Codecs:**
|
|
66
|
+
- H.264/AVC (libx264) - Universal, excellent balance
|
|
67
|
+
- H.265/HEVC (libx265) - Better compression, 4K
|
|
68
|
+
- VP9 (libvpx-vp9) - Open, YouTube
|
|
69
|
+
- AV1 (libaom-av1, libsvtav1) - Next-gen, best compression
|
|
70
|
+
|
|
71
|
+
**Legacy Codecs:**
|
|
72
|
+
- MPEG-4 (mpeg4) - Older devices
|
|
73
|
+
- MPEG-2 (mpeg2video) - DVD, broadcast
|
|
74
|
+
- VP8 (libvpx) - WebM predecessor
|
|
75
|
+
|
|
76
|
+
**Professional Codecs:**
|
|
77
|
+
- ProRes (prores) - Apple post-production
|
|
78
|
+
- DNxHD (dnxhd) - Avid editing
|
|
79
|
+
- Uncompressed (rawvideo) - Maximum quality
|
|
80
|
+
|
|
81
|
+
### Audio Codecs
|
|
82
|
+
|
|
83
|
+
**Modern Codecs:**
|
|
84
|
+
- AAC (aac) - Universal, streaming
|
|
85
|
+
- Opus (libopus) - Best low-bitrate
|
|
86
|
+
- MP3 (libmp3lame) - Universal compatibility
|
|
87
|
+
|
|
88
|
+
**Lossless Codecs:**
|
|
89
|
+
- FLAC (flac) - Open, archival
|
|
90
|
+
- ALAC (alac) - Apple lossless
|
|
91
|
+
- WAV (pcm_s16le) - Uncompressed
|
|
92
|
+
|
|
93
|
+
**Other Codecs:**
|
|
94
|
+
- Vorbis (libvorbis) - Open, WebM
|
|
95
|
+
- AC-3 (ac3) - Dolby Digital, surround
|
|
96
|
+
- DTS (dts) - Cinema surround
|
|
97
|
+
|
|
98
|
+
## Format Recommendations
|
|
99
|
+
|
|
100
|
+
### Use Case Matrix
|
|
101
|
+
|
|
102
|
+
| Use Case | Image Format | Video Container | Video Codec | Audio Codec |
|
|
103
|
+
|----------|--------------|-----------------|-------------|-------------|
|
|
104
|
+
| Web general | JPEG 85% | MP4 | H.264 | AAC 128k |
|
|
105
|
+
| Web transparency | PNG | - | - | - |
|
|
106
|
+
| Web modern | WebP | WebM | VP9 | Opus |
|
|
107
|
+
| Social media | JPEG 85% | MP4 | H.264 | AAC 128k |
|
|
108
|
+
| 4K streaming | - | MP4 | H.265 | AAC 192k |
|
|
109
|
+
| Archive | PNG/TIFF | MKV | H.265 CRF 18 | FLAC |
|
|
110
|
+
| Email | JPEG 75% | - | - | - |
|
|
111
|
+
| Print | TIFF/PNG | - | - | - |
|
|
112
|
+
| YouTube | - | MP4/WebM | H.264/VP9 | AAC/Opus |
|
|
113
|
+
| Live stream | - | FLV | H.264 | AAC |
|
|
114
|
+
| Editing | - | MOV/MXF | ProRes/DNxHD | PCM |
|
|
115
|
+
|
|
116
|
+
### Platform Compatibility
|
|
117
|
+
|
|
118
|
+
**Web Browsers (2025):**
|
|
119
|
+
- Images: JPEG, PNG, WebP, GIF, SVG
|
|
120
|
+
- Video: MP4 (H.264), WebM (VP9), MP4 (AV1)
|
|
121
|
+
- Audio: AAC, MP3, Opus, Vorbis
|
|
122
|
+
|
|
123
|
+
**Mobile Devices:**
|
|
124
|
+
- iOS: JPEG, PNG, HEIC, MP4 (H.264/H.265), AAC
|
|
125
|
+
- Android: JPEG, PNG, WebP, MP4 (H.264/H.265), AAC
|
|
126
|
+
|
|
127
|
+
**Smart TVs:**
|
|
128
|
+
- Most: MP4 (H.264), AAC
|
|
129
|
+
- Modern: MP4 (H.265), AC-3
|
|
130
|
+
|
|
131
|
+
**Social Media:**
|
|
132
|
+
- All platforms: JPEG, MP4 (H.264), AAC
|
|
133
|
+
|
|
134
|
+
## Quality vs Size Trade-offs
|
|
135
|
+
|
|
136
|
+
### Image Quality Comparison
|
|
137
|
+
|
|
138
|
+
**JPEG Quality Levels:**
|
|
139
|
+
- 95-100: ~5-10 MB (large image), minimal artifacts
|
|
140
|
+
- 85-94: ~1-3 MB, imperceptible loss
|
|
141
|
+
- 75-84: ~500 KB-1 MB, slight artifacts
|
|
142
|
+
- 60-74: ~200-500 KB, visible artifacts
|
|
143
|
+
- Below 60: <200 KB, poor quality
|
|
144
|
+
|
|
145
|
+
**Format Comparison (Same quality):**
|
|
146
|
+
- WebP: 25-35% smaller than JPEG
|
|
147
|
+
- HEIC: 40-50% smaller than JPEG
|
|
148
|
+
- AVIF: 50-60% smaller than JPEG
|
|
149
|
+
- PNG: 2-5x larger than JPEG (lossless)
|
|
150
|
+
|
|
151
|
+
### Video Quality Comparison
|
|
152
|
+
|
|
153
|
+
**H.264 CRF Values:**
|
|
154
|
+
- CRF 18: Visually lossless, ~8-15 Mbps (1080p)
|
|
155
|
+
- CRF 23: High quality, ~4-8 Mbps (1080p)
|
|
156
|
+
- CRF 28: Medium quality, ~2-4 Mbps (1080p)
|
|
157
|
+
|
|
158
|
+
**Codec Comparison (Same quality):**
|
|
159
|
+
- H.265: 40-50% smaller than H.264
|
|
160
|
+
- VP9: 30-40% smaller than H.264
|
|
161
|
+
- AV1: 50-60% smaller than H.264
|
|
162
|
+
|
|
163
|
+
### Audio Quality Comparison
|
|
164
|
+
|
|
165
|
+
**AAC Bitrates:**
|
|
166
|
+
- 320 kbps: Transparent, archival
|
|
167
|
+
- 192 kbps: High quality, music
|
|
168
|
+
- 128 kbps: Good quality, streaming
|
|
169
|
+
- 96 kbps: Acceptable, low bandwidth
|
|
170
|
+
- 64 kbps: Poor, voice only
|
|
171
|
+
|
|
172
|
+
**Codec Efficiency (Same quality):**
|
|
173
|
+
- Opus: Best at low bitrates (<128k)
|
|
174
|
+
- AAC: Best overall balance
|
|
175
|
+
- MP3: Less efficient but universal
|
|
176
|
+
|
|
177
|
+
## Conversion Best Practices
|
|
178
|
+
|
|
179
|
+
### Image Conversions
|
|
180
|
+
|
|
181
|
+
**PNG to JPEG:**
|
|
182
|
+
```bash
|
|
183
|
+
# Standard conversion
|
|
184
|
+
magick input.png -quality 85 -strip output.jpg
|
|
185
|
+
|
|
186
|
+
# With transparency handling
|
|
187
|
+
magick input.png -background white -flatten -quality 85 output.jpg
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**JPEG to WebP:**
|
|
191
|
+
```bash
|
|
192
|
+
# FFmpeg
|
|
193
|
+
ffmpeg -i input.jpg -quality 80 output.webp
|
|
194
|
+
|
|
195
|
+
# ImageMagick
|
|
196
|
+
magick input.jpg -quality 80 output.webp
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
**RAW to JPEG:**
|
|
200
|
+
```bash
|
|
201
|
+
# Requires dcraw
|
|
202
|
+
magick input.CR2 -quality 90 output.jpg
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
**HEIC to JPEG:**
|
|
206
|
+
```bash
|
|
207
|
+
# Requires libheif
|
|
208
|
+
magick input.heic -quality 85 output.jpg
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### Video Conversions
|
|
212
|
+
|
|
213
|
+
**MKV to MP4:**
|
|
214
|
+
```bash
|
|
215
|
+
# Copy streams (fast)
|
|
216
|
+
ffmpeg -i input.mkv -c copy output.mp4
|
|
217
|
+
|
|
218
|
+
# Re-encode if needed
|
|
219
|
+
ffmpeg -i input.mkv -c:v libx264 -crf 23 -c:a aac output.mp4
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
**AVI to MP4:**
|
|
223
|
+
```bash
|
|
224
|
+
# Modern codecs
|
|
225
|
+
ffmpeg -i input.avi -c:v libx264 -crf 23 -c:a aac output.mp4
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
**MOV to MP4:**
|
|
229
|
+
```bash
|
|
230
|
+
# Copy if H.264 already
|
|
231
|
+
ffmpeg -i input.mov -c copy output.mp4
|
|
232
|
+
|
|
233
|
+
# Convert ProRes to H.264
|
|
234
|
+
ffmpeg -i input.mov -c:v libx264 -crf 18 -c:a aac output.mp4
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
**Any to WebM:**
|
|
238
|
+
```bash
|
|
239
|
+
# VP9 encoding
|
|
240
|
+
ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 -c:a libopus output.webm
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
### Audio Conversions
|
|
244
|
+
|
|
245
|
+
**Extract Audio from Video:**
|
|
246
|
+
```bash
|
|
247
|
+
# Keep original codec
|
|
248
|
+
ffmpeg -i video.mp4 -vn -c:a copy audio.m4a
|
|
249
|
+
|
|
250
|
+
# Convert to MP3
|
|
251
|
+
ffmpeg -i video.mp4 -vn -q:a 0 audio.mp3
|
|
252
|
+
|
|
253
|
+
# Convert to FLAC (lossless)
|
|
254
|
+
ffmpeg -i video.mp4 -vn -c:a flac audio.flac
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
**Audio Format Conversion:**
|
|
258
|
+
```bash
|
|
259
|
+
# WAV to MP3
|
|
260
|
+
ffmpeg -i input.wav -c:a libmp3lame -b:a 192k output.mp3
|
|
261
|
+
|
|
262
|
+
# MP3 to AAC
|
|
263
|
+
ffmpeg -i input.mp3 -c:a aac -b:a 192k output.m4a
|
|
264
|
+
|
|
265
|
+
# Any to Opus
|
|
266
|
+
ffmpeg -i input.wav -c:a libopus -b:a 128k output.opus
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
## Codec Selection Guide
|
|
270
|
+
|
|
271
|
+
### Choose H.264 When:
|
|
272
|
+
- Maximum compatibility needed
|
|
273
|
+
- Targeting older devices
|
|
274
|
+
- Streaming to unknown devices
|
|
275
|
+
- Social media upload
|
|
276
|
+
- Fast encoding required
|
|
277
|
+
|
|
278
|
+
### Choose H.265 When:
|
|
279
|
+
- 4K video encoding
|
|
280
|
+
- Storage space limited
|
|
281
|
+
- Modern device targets
|
|
282
|
+
- Archival quality needed
|
|
283
|
+
- Bandwidth constrained
|
|
284
|
+
|
|
285
|
+
### Choose VP9 When:
|
|
286
|
+
- YouTube upload
|
|
287
|
+
- Open-source requirement
|
|
288
|
+
- Chrome/Firefox primary
|
|
289
|
+
- Royalty-free needed
|
|
290
|
+
|
|
291
|
+
### Choose AV1 When:
|
|
292
|
+
- Future-proofing content
|
|
293
|
+
- Maximum compression needed
|
|
294
|
+
- Encoding time not critical
|
|
295
|
+
- Modern platform targets
|
|
296
|
+
|
|
297
|
+
## Format Migration Strategies
|
|
298
|
+
|
|
299
|
+
### Archive to Web
|
|
300
|
+
|
|
301
|
+
```bash
|
|
302
|
+
# High-res archive -> Web-optimized
|
|
303
|
+
for img in archive/*.tif; do
|
|
304
|
+
base=$(basename "$img" .tif)
|
|
305
|
+
magick "$img" -resize 2000x2000\> -quality 85 -strip "web/${base}.jpg"
|
|
306
|
+
magick "$img" -resize 2000x2000\> -quality 85 "web/${base}.webp"
|
|
307
|
+
done
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### Legacy to Modern
|
|
311
|
+
|
|
312
|
+
```bash
|
|
313
|
+
# Convert old formats to modern codecs
|
|
314
|
+
for video in legacy/*.avi; do
|
|
315
|
+
base=$(basename "$video" .avi)
|
|
316
|
+
ffmpeg -i "$video" \
|
|
317
|
+
-c:v libx264 -crf 23 -preset slow \
|
|
318
|
+
-c:a aac -b:a 128k \
|
|
319
|
+
"modern/${base}.mp4"
|
|
320
|
+
done
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
### Multi-Format Publishing
|
|
324
|
+
|
|
325
|
+
```bash
|
|
326
|
+
# Create multiple formats for compatibility
|
|
327
|
+
input="source.mp4"
|
|
328
|
+
|
|
329
|
+
# Modern browsers
|
|
330
|
+
ffmpeg -i "$input" -c:v libx264 -crf 23 -c:a aac output.mp4
|
|
331
|
+
ffmpeg -i "$input" -c:v libvpx-vp9 -crf 30 -c:a libopus output.webm
|
|
332
|
+
|
|
333
|
+
# Images
|
|
334
|
+
ffmpeg -ss 5 -i "$input" -vframes 1 poster.jpg
|
|
335
|
+
magick poster.jpg -quality 80 poster.webp
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
## Troubleshooting
|
|
339
|
+
|
|
340
|
+
### Unsupported Format
|
|
341
|
+
|
|
342
|
+
```bash
|
|
343
|
+
# Check FFmpeg formats
|
|
344
|
+
ffmpeg -formats
|
|
345
|
+
|
|
346
|
+
# Check ImageMagick formats
|
|
347
|
+
magick identify -list format
|
|
348
|
+
|
|
349
|
+
# Install missing codec support
|
|
350
|
+
sudo apt-get install libx264-dev libx265-dev libvpx-dev
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
### Compatibility Issues
|
|
354
|
+
|
|
355
|
+
```bash
|
|
356
|
+
# Force compatible encoding
|
|
357
|
+
ffmpeg -i input.mp4 \
|
|
358
|
+
-c:v libx264 -profile:v high -level 4.0 \
|
|
359
|
+
-pix_fmt yuv420p \
|
|
360
|
+
-c:a aac -b:a 128k \
|
|
361
|
+
output.mp4
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
### Quality Loss
|
|
365
|
+
|
|
366
|
+
```bash
|
|
367
|
+
# Avoid multiple conversions
|
|
368
|
+
# Bad: source -> edit -> web -> social
|
|
369
|
+
# Good: source -> final (single conversion)
|
|
370
|
+
|
|
371
|
+
# Use lossless intermediate
|
|
372
|
+
ffmpeg -i source.mp4 -c:v ffv1 intermediate.mkv
|
|
373
|
+
# Edit intermediate
|
|
374
|
+
ffmpeg -i intermediate.mkv -c:v libx264 final.mp4
|
|
375
|
+
```
|