agent-skill-kit 3.9.135
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/global.d.ts +80 -0
- package/.agent/rules/GEMINI.md +210 -0
- package/.agent/rules/autopilot.md +287 -0
- package/.agent/rules/code-rules.md +227 -0
- package/.agent/scripts/audit_workflows.ts +23 -0
- package/.agent/scripts/auto_preview.ts +170 -0
- package/.agent/scripts/checklist.ts +180 -0
- package/.agent/scripts/compile-agents.ts +237 -0
- package/.agent/scripts/fix_skills.ts +49 -0
- package/.agent/scripts/session_manager.ts +222 -0
- package/.agent/scripts/skill-audit.ts +255 -0
- package/.agent/scripts/sync_workflows.ts +54 -0
- package/.agent/scripts/utils/colors.ts +58 -0
- package/.agent/scripts/utils/process-manager.ts +131 -0
- package/.agent/scripts/utils/reporter.ts +192 -0
- package/.agent/scripts/utils/runner.ts +128 -0
- package/.agent/scripts/verify_all.ts +243 -0
- package/.agent/scripts/version-sync.ts +256 -0
- package/.agent/skills/SKILL_INDEX.md +129 -0
- package/.agent/skills/agent-browser/AGENTS.md +728 -0
- package/.agent/skills/agent-browser/SKILL.md +193 -0
- package/.agent/skills/agent-browser/rules/_sections.md +15 -0
- package/.agent/skills/agent-browser/rules/_template.md +32 -0
- package/.agent/skills/agent-browser/rules/engineering-spec.md +528 -0
- package/.agent/skills/agent-browser/scripts/browser_cli.ts +52 -0
- package/.agent/skills/agent-browser/scripts/session_manager.ts +166 -0
- package/.agent/skills/ai-artist/AGENTS.md +1082 -0
- package/.agent/skills/ai-artist/SKILL.md +186 -0
- package/.agent/skills/ai-artist/rules/_sections.md +30 -0
- package/.agent/skills/ai-artist/rules/_template.md +32 -0
- package/.agent/skills/ai-artist/rules/domain-code.md +118 -0
- package/.agent/skills/ai-artist/rules/domain-marketing.md +105 -0
- package/.agent/skills/ai-artist/rules/engineering-spec.md +519 -0
- package/.agent/skills/ai-artist/rules/image-prompts.md +195 -0
- package/.agent/skills/ai-artist/rules/model-syntax.md +115 -0
- package/.agent/skills/ai-artist/scripts/prompt_compiler.ts +72 -0
- package/.agent/skills/ai-artist/templates/image-core.txt +1 -0
- package/.agent/skills/ai-artist/templates/llm-core.txt +6 -0
- package/.agent/skills/api-architect/AGENTS.md +1896 -0
- package/.agent/skills/api-architect/SKILL.md +173 -0
- package/.agent/skills/api-architect/rules/_sections.md +35 -0
- package/.agent/skills/api-architect/rules/_template.md +32 -0
- package/.agent/skills/api-architect/rules/api-style.md +115 -0
- package/.agent/skills/api-architect/rules/auth.md +134 -0
- package/.agent/skills/api-architect/rules/documentation.md +131 -0
- package/.agent/skills/api-architect/rules/engineering-spec.md +505 -0
- package/.agent/skills/api-architect/rules/graphql.md +154 -0
- package/.agent/skills/api-architect/rules/rate-limiting.md +76 -0
- package/.agent/skills/api-architect/rules/response.md +138 -0
- package/.agent/skills/api-architect/rules/rest.md +113 -0
- package/.agent/skills/api-architect/rules/security-testing.md +146 -0
- package/.agent/skills/api-architect/rules/trpc.md +129 -0
- package/.agent/skills/api-architect/rules/versioning.md +100 -0
- package/.agent/skills/api-architect/scripts/api_validator.ts +413 -0
- package/.agent/skills/auth-patterns/AGENTS.md +1830 -0
- package/.agent/skills/auth-patterns/SKILL.md +163 -0
- package/.agent/skills/auth-patterns/rules/_sections.md +30 -0
- package/.agent/skills/auth-patterns/rules/_template.md +32 -0
- package/.agent/skills/auth-patterns/rules/engineering-spec.md +515 -0
- package/.agent/skills/auth-patterns/rules/jwt-deep.md +196 -0
- package/.agent/skills/auth-patterns/rules/mfa.md +174 -0
- package/.agent/skills/auth-patterns/rules/oauth2.md +134 -0
- package/.agent/skills/auth-patterns/rules/passkey.md +243 -0
- package/.agent/skills/auth-patterns/rules/rbac-abac.md +206 -0
- package/.agent/skills/auth-patterns/rules/session.md +183 -0
- package/.agent/skills/auth-patterns/scripts/auth_validator.ts +121 -0
- package/.agent/skills/chrome-devtools/AGENTS.md +952 -0
- package/.agent/skills/chrome-devtools/SKILL.md +160 -0
- package/.agent/skills/chrome-devtools/rules/_sections.md +25 -0
- package/.agent/skills/chrome-devtools/rules/_template.md +32 -0
- package/.agent/skills/chrome-devtools/rules/aria-snapshot.md +95 -0
- package/.agent/skills/chrome-devtools/rules/engineering-spec.md +510 -0
- package/.agent/skills/chrome-devtools/rules/scripts-guide.md +174 -0
- package/.agent/skills/chrome-devtools/scripts/aria-snapshot.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/click.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/console.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/core_cli.ts +79 -0
- package/.agent/skills/chrome-devtools/scripts/evaluate.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/fill.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/navigate.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/network.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/performance.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/screenshot.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/select-ref.ts +3 -0
- package/.agent/skills/cicd-pipeline/AGENTS.md +809 -0
- package/.agent/skills/cicd-pipeline/SKILL.md +164 -0
- package/.agent/skills/cicd-pipeline/rules/_sections.md +15 -0
- package/.agent/skills/cicd-pipeline/rules/_template.md +32 -0
- package/.agent/skills/cicd-pipeline/rules/engineering-spec.md +477 -0
- package/.agent/skills/cicd-pipeline/scripts/flag-manager.ts +253 -0
- package/.agent/skills/cicd-pipeline/scripts/pipeline_validator.ts +133 -0
- package/.agent/skills/code-constitution/AGENTS.md +597 -0
- package/.agent/skills/code-constitution/CHANGELOG.md +216 -0
- package/.agent/skills/code-constitution/SKILL.md +191 -0
- package/.agent/skills/code-constitution/VERSION +3 -0
- package/.agent/skills/code-constitution/examples/violation-backend-mutation/after.tsx +59 -0
- package/.agent/skills/code-constitution/examples/violation-backend-mutation/before.tsx +42 -0
- package/.agent/skills/code-constitution/examples/violation-backend-mutation/explanation.md +91 -0
- package/.agent/skills/code-constitution/examples/violation-chart-injection/after.tsx +99 -0
- package/.agent/skills/code-constitution/examples/violation-chart-injection/before.tsx +57 -0
- package/.agent/skills/code-constitution/examples/violation-chart-injection/explanation.md +120 -0
- package/.agent/skills/code-constitution/knowledge/lessons-learned.yaml +3 -0
- package/.agent/skills/code-constitution/metadata/precedence.yaml +117 -0
- package/.agent/skills/code-constitution/metadata/scope-map.yaml +156 -0
- package/.agent/skills/code-constitution/proposals/v1.1-change-proposal-template.md +201 -0
- package/.agent/skills/code-constitution/resources/AUTHORITY_MODEL.md +115 -0
- package/.agent/skills/code-constitution/resources/ENFORCEMENT_GUIDE.md +246 -0
- package/.agent/skills/code-constitution/resources/LOAD_ORDER.md +86 -0
- package/.agent/skills/code-constitution/rules/_sections.md +15 -0
- package/.agent/skills/code-constitution/rules/_template.md +32 -0
- package/.agent/skills/code-constitution/rules/constitution/master-constitution.md +210 -0
- package/.agent/skills/code-constitution/rules/doctrines/architecture/architecture-doctrine.md +188 -0
- package/.agent/skills/code-constitution/rules/doctrines/backend/backend-data-engine-doctrine.md +218 -0
- package/.agent/skills/code-constitution/rules/doctrines/commercial/commercial-guardrails-doctrine.md +196 -0
- package/.agent/skills/code-constitution/rules/doctrines/data/data-integrity-doctrine.md +202 -0
- package/.agent/skills/code-constitution/rules/doctrines/frontend/frontend-mobile-doctrine.md +169 -0
- package/.agent/skills/code-constitution/rules/doctrines/frontend/interaction-patterns-doctrine.md +176 -0
- package/.agent/skills/code-constitution/rules/doctrines/learning/learning-engine-doctrine.md +192 -0
- package/.agent/skills/code-constitution/rules/doctrines/performance/performance-doctrine.md +180 -0
- package/.agent/skills/code-constitution/rules/doctrines/review/code-review-doctrine.md +174 -0
- package/.agent/skills/code-constitution/rules/enforcement/agents/agent-enforcement-protocol.md +218 -0
- package/.agent/skills/code-constitution/rules/enforcement/agents/agent-system-prompt.md +196 -0
- package/.agent/skills/code-constitution/rules/enforcement/checklists/backend-api-review-checklist.md +131 -0
- package/.agent/skills/code-constitution/rules/enforcement/checklists/chart-component-review-checklist.md +147 -0
- package/.agent/skills/code-constitution/rules/enforcement/checklists/frontend-review-checklist.md +194 -0
- package/.agent/skills/code-constitution/rules/enforcement/playbooks/doctrine-violation-playbook.md +236 -0
- package/.agent/skills/code-constitution/rules/engineering-spec.md +561 -0
- package/.agent/skills/code-constitution/scripts/audit_pr.ts +219 -0
- package/.agent/skills/code-constitution/scripts/check_boundaries.ts +134 -0
- package/.agent/skills/code-constitution/scripts/learn.ts +202 -0
- package/.agent/skills/code-constitution/scripts/validate_doctrine.ts +287 -0
- package/.agent/skills/code-craft/AGENTS.md +803 -0
- package/.agent/skills/code-craft/SKILL.md +170 -0
- package/.agent/skills/code-craft/rules/_sections.md +20 -0
- package/.agent/skills/code-craft/rules/_template.md +32 -0
- package/.agent/skills/code-craft/rules/engineering-spec.md +447 -0
- package/.agent/skills/code-craft/rules/verification-scripts.md +83 -0
- package/.agent/skills/code-craft/scripts/code_quality_checker.ts +193 -0
- package/.agent/skills/code-review/AGENTS.md +1664 -0
- package/.agent/skills/code-review/SKILL.md +152 -0
- package/.agent/skills/code-review/rules/_sections.md +15 -0
- package/.agent/skills/code-review/rules/_template.md +32 -0
- package/.agent/skills/code-review/rules/engineering-spec.md +466 -0
- package/.agent/skills/code-review/scripts/lint_runner.ts +213 -0
- package/.agent/skills/code-review/scripts/type_coverage.ts +118 -0
- package/.agent/skills/context-engineering/AGENTS.md +499 -0
- package/.agent/skills/context-engineering/SKILL.md +147 -0
- package/.agent/skills/context-engineering/rules/_sections.md +15 -0
- package/.agent/skills/context-engineering/rules/_template.md +32 -0
- package/.agent/skills/context-engineering/rules/engineering-spec.md +463 -0
- package/.agent/skills/context-engineering/scripts/context_analyzer.ts +127 -0
- package/.agent/skills/copywriting/AGENTS.md +501 -0
- package/.agent/skills/copywriting/SKILL.md +188 -0
- package/.agent/skills/copywriting/rules/_sections.md +15 -0
- package/.agent/skills/copywriting/rules/_template.md +32 -0
- package/.agent/skills/copywriting/rules/engineering-spec.md +465 -0
- package/.agent/skills/copywriting/scripts/copy_validator.ts +185 -0
- package/.agent/skills/data-modeler/AGENTS.md +814 -0
- package/.agent/skills/data-modeler/SKILL.md +195 -0
- package/.agent/skills/data-modeler/rules/_sections.md +15 -0
- package/.agent/skills/data-modeler/rules/_template.md +32 -0
- package/.agent/skills/data-modeler/rules/database-selection.md +124 -0
- package/.agent/skills/data-modeler/rules/engineering-spec.md +479 -0
- package/.agent/skills/data-modeler/rules/indexing.md +166 -0
- package/.agent/skills/data-modeler/rules/migrations.md +176 -0
- package/.agent/skills/data-modeler/rules/optimization.md +161 -0
- package/.agent/skills/data-modeler/rules/orm-selection.md +155 -0
- package/.agent/skills/data-modeler/rules/schema-design.md +162 -0
- package/.agent/skills/data-modeler/scripts/schema_validator.ts +357 -0
- package/.agent/skills/debug-pro/AGENTS.md +798 -0
- package/.agent/skills/debug-pro/SKILL.md +193 -0
- package/.agent/skills/debug-pro/defense-in-depth/SKILL.md +148 -0
- package/.agent/skills/debug-pro/root-cause-tracing/SKILL.md +196 -0
- package/.agent/skills/debug-pro/root-cause-tracing/find-polluter.sh +63 -0
- package/.agent/skills/debug-pro/rules/_sections.md +15 -0
- package/.agent/skills/debug-pro/rules/_template.md +32 -0
- package/.agent/skills/debug-pro/rules/engineering-spec.md +491 -0
- package/.agent/skills/debug-pro/scripts/debug_verifier.ts +148 -0
- package/.agent/skills/debug-pro/verification-before-completion/SKILL.md +160 -0
- package/.agent/skills/design-system/AGENTS.md +4216 -0
- package/.agent/skills/design-system/SKILL.md +186 -0
- package/.agent/skills/design-system/rules/_sections.md +65 -0
- package/.agent/skills/design-system/rules/_template.md +32 -0
- package/.agent/skills/design-system/rules/animation-guide.md +355 -0
- package/.agent/skills/design-system/rules/color-system.md +335 -0
- package/.agent/skills/design-system/rules/color-systems.md +133 -0
- package/.agent/skills/design-system/rules/decision-trees.md +442 -0
- package/.agent/skills/design-system/rules/design-extraction.md +152 -0
- package/.agent/skills/design-system/rules/engineering-spec.md +484 -0
- package/.agent/skills/design-system/rules/motion-design.md +161 -0
- package/.agent/skills/design-system/rules/motion-graphics.md +330 -0
- package/.agent/skills/design-system/rules/spatial-composition.md +184 -0
- package/.agent/skills/design-system/rules/typography-system.md +369 -0
- package/.agent/skills/design-system/rules/typography.md +124 -0
- package/.agent/skills/design-system/rules/ux-psychology.md +565 -0
- package/.agent/skills/design-system/rules/visual-effects.md +407 -0
- package/.agent/skills/design-system/scripts/accessibility_checker.ts +292 -0
- package/.agent/skills/design-system/scripts/ux_audit.ts +356 -0
- package/.agent/skills/doc-templates/AGENTS.md +820 -0
- package/.agent/skills/doc-templates/SKILL.md +260 -0
- package/.agent/skills/doc-templates/rules/_sections.md +20 -0
- package/.agent/skills/doc-templates/rules/_template.md +32 -0
- package/.agent/skills/doc-templates/rules/doc.md +355 -0
- package/.agent/skills/doc-templates/rules/engineering-spec.md +422 -0
- package/.agent/skills/doc-templates/scripts/editor-server.ts +162 -0
- package/.agent/skills/doc-templates/scripts/inject_otel.ts +22 -0
- package/.agent/skills/doc-templates/scripts/kanban-server.ts +171 -0
- package/.agent/skills/doc-templates/scripts/markdown-server.ts +185 -0
- package/.agent/skills/e2e-automation/AGENTS.md +882 -0
- package/.agent/skills/e2e-automation/SKILL.md +175 -0
- package/.agent/skills/e2e-automation/rules/_sections.md +20 -0
- package/.agent/skills/e2e-automation/rules/_template.md +32 -0
- package/.agent/skills/e2e-automation/rules/aria-snapshot.md +185 -0
- package/.agent/skills/e2e-automation/rules/engineering-spec.md +501 -0
- package/.agent/skills/e2e-automation/scripts/playwright_runner.ts +208 -0
- package/.agent/skills/execution-reporter/AGENTS.md +419 -0
- package/.agent/skills/execution-reporter/SKILL.md +152 -0
- package/.agent/skills/execution-reporter/rules/_sections.md +15 -0
- package/.agent/skills/execution-reporter/rules/_template.md +32 -0
- package/.agent/skills/execution-reporter/rules/engineering-spec.md +389 -0
- package/.agent/skills/game-development/2d-games/SKILL.md +140 -0
- package/.agent/skills/game-development/3d-games/SKILL.md +156 -0
- package/.agent/skills/game-development/AGENTS.md +783 -0
- package/.agent/skills/game-development/SKILL.md +178 -0
- package/.agent/skills/game-development/game-art/SKILL.md +207 -0
- package/.agent/skills/game-development/game-audio/SKILL.md +211 -0
- package/.agent/skills/game-development/game-design/SKILL.md +151 -0
- package/.agent/skills/game-development/mobile-games/SKILL.md +130 -0
- package/.agent/skills/game-development/multiplayer/SKILL.md +154 -0
- package/.agent/skills/game-development/pc-games/SKILL.md +167 -0
- package/.agent/skills/game-development/rules/_sections.md +15 -0
- package/.agent/skills/game-development/rules/_template.md +32 -0
- package/.agent/skills/game-development/rules/engineering-spec.md +480 -0
- package/.agent/skills/game-development/vr-ar/SKILL.md +144 -0
- package/.agent/skills/game-development/web-games/SKILL.md +173 -0
- package/.agent/skills/git-workflow/AGENTS.md +554 -0
- package/.agent/skills/git-workflow/SKILL.md +181 -0
- package/.agent/skills/git-workflow/rules/_sections.md +15 -0
- package/.agent/skills/git-workflow/rules/_template.md +32 -0
- package/.agent/skills/git-workflow/rules/engineering-spec.md +518 -0
- package/.agent/skills/gitops/AGENTS.md +921 -0
- package/.agent/skills/gitops/SKILL.md +163 -0
- package/.agent/skills/gitops/rules/_sections.md +25 -0
- package/.agent/skills/gitops/rules/_template.md +32 -0
- package/.agent/skills/gitops/rules/argocd-setup.md +148 -0
- package/.agent/skills/gitops/rules/engineering-spec.md +450 -0
- package/.agent/skills/gitops/rules/sync-policies.md +145 -0
- package/.agent/skills/google-adk-python/AGENTS.md +1054 -0
- package/.agent/skills/google-adk-python/SKILL.md +168 -0
- package/.agent/skills/google-adk-python/rules/_sections.md +25 -0
- package/.agent/skills/google-adk-python/rules/_template.md +32 -0
- package/.agent/skills/google-adk-python/rules/deployment.md +138 -0
- package/.agent/skills/google-adk-python/rules/engineering-spec.md +451 -0
- package/.agent/skills/google-adk-python/rules/multi-agent.md +146 -0
- package/.agent/skills/google-adk-python/rules/tools.md +131 -0
- package/.agent/skills/idea-storm/AGENTS.md +995 -0
- package/.agent/skills/idea-storm/SKILL.md +160 -0
- package/.agent/skills/idea-storm/rules/_sections.md +25 -0
- package/.agent/skills/idea-storm/rules/_template.md +32 -0
- package/.agent/skills/idea-storm/rules/architecture-debate.md +122 -0
- package/.agent/skills/idea-storm/rules/dynamic-questioning.md +374 -0
- package/.agent/skills/idea-storm/rules/engineering-spec.md +466 -0
- package/.agent/skills/knowledge-compiler/SKILL.md +320 -0
- package/.agent/skills/knowledge-graph/AGENTS.md +762 -0
- package/.agent/skills/knowledge-graph/SKILL.md +157 -0
- package/.agent/skills/knowledge-graph/rules/_sections.md +15 -0
- package/.agent/skills/knowledge-graph/rules/_template.md +32 -0
- package/.agent/skills/knowledge-graph/rules/engineering-spec.md +439 -0
- package/.agent/skills/knowledge-linter/SKILL.md +217 -0
- package/.agent/skills/lifecycle-orchestrator/AGENTS.md +989 -0
- package/.agent/skills/lifecycle-orchestrator/SKILL.md +169 -0
- package/.agent/skills/lifecycle-orchestrator/rules/_sections.md +15 -0
- package/.agent/skills/lifecycle-orchestrator/rules/_template.md +32 -0
- package/.agent/skills/lifecycle-orchestrator/rules/engineering-spec.md +525 -0
- package/.agent/skills/lifecycle-orchestrator/scripts/state_manager.ts +189 -0
- package/.agent/skills/mcp-builder/AGENTS.md +1653 -0
- package/.agent/skills/mcp-builder/SKILL.md +166 -0
- package/.agent/skills/mcp-builder/rules/_sections.md +40 -0
- package/.agent/skills/mcp-builder/rules/_template.md +32 -0
- package/.agent/skills/mcp-builder/rules/best-practices.md +157 -0
- package/.agent/skills/mcp-builder/rules/design-principles.md +105 -0
- package/.agent/skills/mcp-builder/rules/engineering-spec.md +473 -0
- package/.agent/skills/mcp-builder/rules/evaluation.md +103 -0
- package/.agent/skills/mcp-builder/rules/python-implementation.md +249 -0
- package/.agent/skills/mcp-builder/rules/quickstart.md +111 -0
- package/.agent/skills/mcp-builder/rules/typescript-implementation.md +280 -0
- package/.agent/skills/mcp-management/AGENTS.md +837 -0
- package/.agent/skills/mcp-management/SKILL.md +164 -0
- package/.agent/skills/mcp-management/rules/_sections.md +25 -0
- package/.agent/skills/mcp-management/rules/_template.md +32 -0
- package/.agent/skills/mcp-management/rules/cli-usage.md +146 -0
- package/.agent/skills/mcp-management/rules/engineering-spec.md +501 -0
- package/.agent/skills/mcp-management/rules/protocol.md +159 -0
- package/.agent/skills/media-processing/AGENTS.md +479 -0
- package/.agent/skills/media-processing/SKILL.md +176 -0
- package/.agent/skills/media-processing/rules/_sections.md +15 -0
- package/.agent/skills/media-processing/rules/_template.md +32 -0
- package/.agent/skills/media-processing/rules/engineering-spec.md +452 -0
- package/.agent/skills/media-processing/scripts/convert-video.ts +155 -0
- package/.agent/skills/media-processing/scripts/optimize-image.ts +127 -0
- package/.agent/skills/mobile-design/AGENTS.md +6531 -0
- package/.agent/skills/mobile-design/SKILL.md +165 -0
- package/.agent/skills/mobile-design/rules/_sections.md +45 -0
- package/.agent/skills/mobile-design/rules/_template.md +32 -0
- package/.agent/skills/mobile-design/rules/decision-trees.md +540 -0
- package/.agent/skills/mobile-design/rules/engineering-spec.md +467 -0
- package/.agent/skills/mobile-design/rules/mobile-backend.md +516 -0
- package/.agent/skills/mobile-design/rules/mobile-color-system.md +436 -0
- package/.agent/skills/mobile-design/rules/mobile-debugging.md +146 -0
- package/.agent/skills/mobile-design/rules/mobile-design-thinking.md +381 -0
- package/.agent/skills/mobile-design/rules/mobile-navigation.md +474 -0
- package/.agent/skills/mobile-design/rules/mobile-performance.md +783 -0
- package/.agent/skills/mobile-design/rules/mobile-testing.md +380 -0
- package/.agent/skills/mobile-design/rules/mobile-typography.md +449 -0
- package/.agent/skills/mobile-design/rules/platform-android.md +682 -0
- package/.agent/skills/mobile-design/rules/platform-ios.md +577 -0
- package/.agent/skills/mobile-design/rules/touch-psychology.md +553 -0
- package/.agent/skills/mobile-design/scripts/mobile_audit.ts +309 -0
- package/.agent/skills/mobile-developer/AGENTS.md +904 -0
- package/.agent/skills/mobile-developer/SKILL.md +194 -0
- package/.agent/skills/mobile-developer/rules/_sections.md +75 -0
- package/.agent/skills/mobile-developer/rules/_template.md +32 -0
- package/.agent/skills/mobile-developer/rules/anti-patterns.md +70 -0
- package/.agent/skills/mobile-developer/rules/app-store-optimization.md +319 -0
- package/.agent/skills/mobile-developer/rules/decision-trees.md +545 -0
- package/.agent/skills/mobile-developer/rules/deep-linking.md +441 -0
- package/.agent/skills/mobile-developer/rules/engineering-spec.md +477 -0
- package/.agent/skills/mobile-developer/rules/flutter.md +475 -0
- package/.agent/skills/mobile-developer/rules/mobile-backend.md +516 -0
- package/.agent/skills/mobile-developer/rules/mobile-color-system.md +444 -0
- package/.agent/skills/mobile-developer/rules/mobile-debugging.md +428 -0
- package/.agent/skills/mobile-developer/rules/mobile-design-thinking.md +367 -0
- package/.agent/skills/mobile-developer/rules/mobile-navigation.md +483 -0
- package/.agent/skills/mobile-developer/rules/mobile-performance.md +778 -0
- package/.agent/skills/mobile-developer/rules/mobile-testing.md +382 -0
- package/.agent/skills/mobile-developer/rules/mobile-typography.md +457 -0
- package/.agent/skills/mobile-developer/rules/native.md +572 -0
- package/.agent/skills/mobile-developer/rules/platform-android.md +676 -0
- package/.agent/skills/mobile-developer/rules/platform-ios.md +571 -0
- package/.agent/skills/mobile-developer/rules/push-notifications.md +599 -0
- package/.agent/skills/mobile-developer/rules/react-native.md +422 -0
- package/.agent/skills/mobile-developer/rules/touch-psychology.md +547 -0
- package/.agent/skills/mobile-developer/scripts/mobile_audit.ts +701 -0
- package/.agent/skills/nextjs-pro/AGENTS.md +3932 -0
- package/.agent/skills/nextjs-pro/SKILL.md +171 -0
- package/.agent/skills/nextjs-pro/rules/_sections.md +50 -0
- package/.agent/skills/nextjs-pro/rules/_template.md +32 -0
- package/.agent/skills/nextjs-pro/rules/advanced-event-handler-refs.md +59 -0
- package/.agent/skills/nextjs-pro/rules/advanced-init-once.md +46 -0
- package/.agent/skills/nextjs-pro/rules/advanced-use-latest.md +43 -0
- package/.agent/skills/nextjs-pro/rules/async-api-routes.md +42 -0
- package/.agent/skills/nextjs-pro/rules/async-defer-await.md +84 -0
- package/.agent/skills/nextjs-pro/rules/async-dependencies.md +55 -0
- package/.agent/skills/nextjs-pro/rules/async-parallel.md +32 -0
- package/.agent/skills/nextjs-pro/rules/async-suspense-boundaries.md +103 -0
- package/.agent/skills/nextjs-pro/rules/bundle-barrel-imports.md +63 -0
- package/.agent/skills/nextjs-pro/rules/bundle-conditional.md +35 -0
- package/.agent/skills/nextjs-pro/rules/bundle-defer-third-party.md +53 -0
- package/.agent/skills/nextjs-pro/rules/bundle-dynamic-imports.md +39 -0
- package/.agent/skills/nextjs-pro/rules/bundle-preload.md +54 -0
- package/.agent/skills/nextjs-pro/rules/client-event-listeners.md +78 -0
- package/.agent/skills/nextjs-pro/rules/client-localstorage-schema.md +75 -0
- package/.agent/skills/nextjs-pro/rules/client-passive-event-listeners.md +52 -0
- package/.agent/skills/nextjs-pro/rules/client-swr-dedup.md +60 -0
- package/.agent/skills/nextjs-pro/rules/engineering-spec.md +440 -0
- package/.agent/skills/nextjs-pro/rules/js-batch-dom-css.md +111 -0
- package/.agent/skills/nextjs-pro/rules/js-cache-function-results.md +84 -0
- package/.agent/skills/nextjs-pro/rules/js-cache-property-access.md +32 -0
- package/.agent/skills/nextjs-pro/rules/js-cache-storage.md +74 -0
- package/.agent/skills/nextjs-pro/rules/js-combine-iterations.md +36 -0
- package/.agent/skills/nextjs-pro/rules/js-early-exit.md +54 -0
- package/.agent/skills/nextjs-pro/rules/js-hoist-regexp.md +49 -0
- package/.agent/skills/nextjs-pro/rules/js-index-maps.md +41 -0
- package/.agent/skills/nextjs-pro/rules/js-length-check-first.md +53 -0
- package/.agent/skills/nextjs-pro/rules/js-min-max-loop.md +86 -0
- package/.agent/skills/nextjs-pro/rules/js-set-map-lookups.md +28 -0
- package/.agent/skills/nextjs-pro/rules/js-tosorted-immutable.md +61 -0
- package/.agent/skills/nextjs-pro/rules/rendering-activity.md +30 -0
- package/.agent/skills/nextjs-pro/rules/rendering-animate-svg-wrapper.md +51 -0
- package/.agent/skills/nextjs-pro/rules/rendering-conditional-render.md +44 -0
- package/.agent/skills/nextjs-pro/rules/rendering-content-visibility.md +42 -0
- package/.agent/skills/nextjs-pro/rules/rendering-hoist-jsx.md +50 -0
- package/.agent/skills/nextjs-pro/rules/rendering-hydration-no-flicker.md +86 -0
- package/.agent/skills/nextjs-pro/rules/rendering-hydration-suppress-warning.md +34 -0
- package/.agent/skills/nextjs-pro/rules/rendering-svg-precision.md +32 -0
- package/.agent/skills/nextjs-pro/rules/rendering-usetransition-loading.md +79 -0
- package/.agent/skills/nextjs-pro/rules/rerender-defer-reads.md +43 -0
- package/.agent/skills/nextjs-pro/rules/rerender-dependencies.md +49 -0
- package/.agent/skills/nextjs-pro/rules/rerender-derived-state-no-effect.md +44 -0
- package/.agent/skills/nextjs-pro/rules/rerender-derived-state.md +33 -0
- package/.agent/skills/nextjs-pro/rules/rerender-functional-setstate.md +78 -0
- package/.agent/skills/nextjs-pro/rules/rerender-lazy-state-init.md +62 -0
- package/.agent/skills/nextjs-pro/rules/rerender-memo-with-default-value.md +42 -0
- package/.agent/skills/nextjs-pro/rules/rerender-memo.md +48 -0
- package/.agent/skills/nextjs-pro/rules/rerender-move-effect-to-event.md +49 -0
- package/.agent/skills/nextjs-pro/rules/rerender-simple-expression-in-memo.md +39 -0
- package/.agent/skills/nextjs-pro/rules/rerender-transitions.md +44 -0
- package/.agent/skills/nextjs-pro/rules/rerender-use-ref-transient-values.md +77 -0
- package/.agent/skills/nextjs-pro/rules/schema.json +34 -0
- package/.agent/skills/nextjs-pro/rules/server-after-nonblocking.md +77 -0
- package/.agent/skills/nextjs-pro/rules/server-auth-actions.md +100 -0
- package/.agent/skills/nextjs-pro/rules/server-cache-lru.md +45 -0
- package/.agent/skills/nextjs-pro/rules/server-cache-react.md +80 -0
- package/.agent/skills/nextjs-pro/rules/server-dedup-props.md +69 -0
- package/.agent/skills/nextjs-pro/rules/server-parallel-fetching.md +87 -0
- package/.agent/skills/nextjs-pro/rules/server-serialization.md +42 -0
- package/.agent/skills/nodejs-pro/AGENTS.md +866 -0
- package/.agent/skills/nodejs-pro/SKILL.md +172 -0
- package/.agent/skills/nodejs-pro/rules/_sections.md +50 -0
- package/.agent/skills/nodejs-pro/rules/_template.md +32 -0
- package/.agent/skills/nodejs-pro/rules/architecture-patterns.md +229 -0
- package/.agent/skills/nodejs-pro/rules/async-patterns.md +246 -0
- package/.agent/skills/nodejs-pro/rules/engineering-spec.md +438 -0
- package/.agent/skills/nodejs-pro/rules/error-handling.md +257 -0
- package/.agent/skills/nodejs-pro/rules/framework-selection.md +220 -0
- package/.agent/skills/nodejs-pro/rules/runtime-modules.md +176 -0
- package/.agent/skills/nodejs-pro/rules/testing-strategy.md +266 -0
- package/.agent/skills/nodejs-pro/rules/validation-security.md +205 -0
- package/.agent/skills/observability/AGENTS.md +607 -0
- package/.agent/skills/observability/SKILL.md +178 -0
- package/.agent/skills/observability/rules/_sections.md +15 -0
- package/.agent/skills/observability/rules/_template.md +32 -0
- package/.agent/skills/observability/rules/engineering-spec.md +440 -0
- package/.agent/skills/offensive-sec/AGENTS.md +849 -0
- package/.agent/skills/offensive-sec/SKILL.md +191 -0
- package/.agent/skills/offensive-sec/rules/_sections.md +15 -0
- package/.agent/skills/offensive-sec/rules/_template.md +32 -0
- package/.agent/skills/offensive-sec/rules/engineering-spec.md +470 -0
- package/.agent/skills/perf-optimizer/AGENTS.md +870 -0
- package/.agent/skills/perf-optimizer/SKILL.md +189 -0
- package/.agent/skills/perf-optimizer/rules/_sections.md +15 -0
- package/.agent/skills/perf-optimizer/rules/_template.md +32 -0
- package/.agent/skills/perf-optimizer/rules/backend-patterns.md +312 -0
- package/.agent/skills/perf-optimizer/rules/engineering-spec.md +428 -0
- package/.agent/skills/perf-optimizer/scripts/lighthouse_audit.ts +201 -0
- package/.agent/skills/problem-checker/AGENTS.md +519 -0
- package/.agent/skills/problem-checker/SKILL.md +189 -0
- package/.agent/skills/problem-checker/rules/_sections.md +15 -0
- package/.agent/skills/problem-checker/rules/_template.md +32 -0
- package/.agent/skills/problem-checker/rules/engineering-spec.md +483 -0
- package/.agent/skills/problem-checker/scripts/check_problems.ts +396 -0
- package/.agent/skills/project-planner/AGENTS.md +2698 -0
- package/.agent/skills/project-planner/SKILL.md +166 -0
- package/.agent/skills/project-planner/rules/_sections.md +15 -0
- package/.agent/skills/project-planner/rules/_template.md +32 -0
- package/.agent/skills/project-planner/rules/engineering-spec.md +420 -0
- package/.agent/skills/python-pro/AGENTS.md +1871 -0
- package/.agent/skills/python-pro/SKILL.md +182 -0
- package/.agent/skills/python-pro/rules/_sections.md +50 -0
- package/.agent/skills/python-pro/rules/_template.md +32 -0
- package/.agent/skills/python-pro/rules/async-patterns.md +168 -0
- package/.agent/skills/python-pro/rules/django-patterns.md +194 -0
- package/.agent/skills/python-pro/rules/engineering-spec.md +442 -0
- package/.agent/skills/python-pro/rules/fastapi-patterns.md +179 -0
- package/.agent/skills/python-pro/rules/framework-selection.md +167 -0
- package/.agent/skills/python-pro/rules/project-structure.md +181 -0
- package/.agent/skills/python-pro/rules/testing-patterns.md +212 -0
- package/.agent/skills/python-pro/rules/type-hints.md +159 -0
- package/.agent/skills/react-pro/AGENTS.md +963 -0
- package/.agent/skills/react-pro/SKILL.md +232 -0
- package/.agent/skills/react-pro/rules/_sections.md +40 -0
- package/.agent/skills/react-pro/rules/_template.md +32 -0
- package/.agent/skills/react-pro/rules/component-patterns.md +145 -0
- package/.agent/skills/react-pro/rules/composition-compound.md +82 -0
- package/.agent/skills/react-pro/rules/data-fetching.md +133 -0
- package/.agent/skills/react-pro/rules/engineering-spec.md +453 -0
- package/.agent/skills/react-pro/rules/error-boundary.md +61 -0
- package/.agent/skills/react-pro/rules/file-organization.md +158 -0
- package/.agent/skills/react-pro/rules/hooks-custom.md +61 -0
- package/.agent/skills/react-pro/rules/mui-styling.md +138 -0
- package/.agent/skills/react-pro/rules/patterns.md +24 -0
- package/.agent/skills/react-pro/rules/performance-optimization.md +65 -0
- package/.agent/skills/react-pro/rules/performance.md +137 -0
- package/.agent/skills/react-pro/rules/react19-hooks.md +85 -0
- package/.agent/skills/react-pro/rules/state-management.md +90 -0
- package/.agent/skills/react-pro/rules/testing-patterns.md +52 -0
- package/.agent/skills/registry.json +1251 -0
- package/.agent/skills/security-scanner/AGENTS.md +851 -0
- package/.agent/skills/security-scanner/SKILL.md +182 -0
- package/.agent/skills/security-scanner/rules/_sections.md +15 -0
- package/.agent/skills/security-scanner/rules/_template.md +32 -0
- package/.agent/skills/security-scanner/rules/auth-patterns.md +281 -0
- package/.agent/skills/security-scanner/rules/checklists.md +186 -0
- package/.agent/skills/security-scanner/rules/engineering-spec.md +440 -0
- package/.agent/skills/security-scanner/scripts/security_scan.ts +513 -0
- package/.agent/skills/seo-optimizer/AGENTS.md +839 -0
- package/.agent/skills/seo-optimizer/SKILL.md +180 -0
- package/.agent/skills/seo-optimizer/rules/_sections.md +15 -0
- package/.agent/skills/seo-optimizer/rules/_template.md +32 -0
- package/.agent/skills/seo-optimizer/rules/engineering-spec.md +433 -0
- package/.agent/skills/seo-optimizer/scripts/geo_checker.ts +109 -0
- package/.agent/skills/seo-optimizer/scripts/seo_checker.ts +308 -0
- package/.agent/skills/server-ops/AGENTS.md +643 -0
- package/.agent/skills/server-ops/SKILL.md +194 -0
- package/.agent/skills/server-ops/rules/_sections.md +15 -0
- package/.agent/skills/server-ops/rules/_template.md +32 -0
- package/.agent/skills/server-ops/rules/engineering-spec.md +450 -0
- package/.agent/skills/shell-script/AGENTS.md +499 -0
- package/.agent/skills/shell-script/SKILL.md +205 -0
- package/.agent/skills/shell-script/rules/_sections.md +15 -0
- package/.agent/skills/shell-script/rules/_template.md +32 -0
- package/.agent/skills/shell-script/rules/engineering-spec.md +463 -0
- package/.agent/skills/skill-generator/SKILL.md +147 -0
- package/.agent/skills/smart-router/SKILL.md +95 -0
- package/.agent/skills/studio/AGENTS.md +636 -0
- package/.agent/skills/studio/SKILL.md +178 -0
- package/.agent/skills/studio/data/charts.csv +26 -0
- package/.agent/skills/studio/data/colors.csv +97 -0
- package/.agent/skills/studio/data/icons.csv +101 -0
- package/.agent/skills/studio/data/landing.csv +31 -0
- package/.agent/skills/studio/data/products.csv +97 -0
- package/.agent/skills/studio/data/prompts.csv +24 -0
- package/.agent/skills/studio/data/react-performance.csv +45 -0
- package/.agent/skills/studio/data/stacks/flutter.csv +52 -0
- package/.agent/skills/studio/data/stacks/html-tailwind.csv +56 -0
- package/.agent/skills/studio/data/stacks/jetpack-compose.csv +53 -0
- package/.agent/skills/studio/data/stacks/nextjs.csv +53 -0
- package/.agent/skills/studio/data/stacks/nuxt-ui.csv +51 -0
- package/.agent/skills/studio/data/stacks/nuxtjs.csv +59 -0
- package/.agent/skills/studio/data/stacks/react-native.csv +52 -0
- package/.agent/skills/studio/data/stacks/react.csv +54 -0
- package/.agent/skills/studio/data/stacks/shadcn.csv +61 -0
- package/.agent/skills/studio/data/stacks/svelte.csv +54 -0
- package/.agent/skills/studio/data/stacks/swiftui.csv +51 -0
- package/.agent/skills/studio/data/stacks/vue.csv +50 -0
- package/.agent/skills/studio/data/styles.csv +59 -0
- package/.agent/skills/studio/data/typography.csv +58 -0
- package/.agent/skills/studio/data/ui-reasoning.csv +101 -0
- package/.agent/skills/studio/data/ux-guidelines.csv +100 -0
- package/.agent/skills/studio/data/web-interface.csv +31 -0
- package/.agent/skills/studio/rules/_sections.md +15 -0
- package/.agent/skills/studio/rules/_template.md +32 -0
- package/.agent/skills/studio/rules/engineering-spec.md +455 -0
- package/.agent/skills/studio/scripts/core.ts +345 -0
- package/.agent/skills/studio/scripts/design_system.ts +953 -0
- package/.agent/skills/studio/scripts/search.ts +197 -0
- package/.agent/skills/studio/scripts/types.ts +147 -0
- package/.agent/skills/studio/scripts/utils/component-specs.ts +154 -0
- package/.agent/skills/studio/scripts/utils/config-loader.ts +165 -0
- package/.agent/skills/studio/scripts/utils/css-templates.ts +169 -0
- package/.agent/skills/studio/scripts/utils/css-validator.ts +95 -0
- package/.agent/skills/studio/scripts/utils/csv-loader.ts +52 -0
- package/.agent/skills/studio/scripts/utils/intelligent-overrides.ts +129 -0
- package/.agent/skills/studio/scripts/utils/page-override-formatter.ts +143 -0
- package/.agent/skills/studio/scripts/utils/page-type-detector.ts +124 -0
- package/.agent/skills/studio/scripts/utils/search-cache.ts +165 -0
- package/.agent/skills/studio/scripts/utils/text-utils.ts +44 -0
- package/.agent/skills/system-design/AGENTS.md +597 -0
- package/.agent/skills/system-design/SKILL.md +153 -0
- package/.agent/skills/system-design/rules/_sections.md +15 -0
- package/.agent/skills/system-design/rules/_template.md +32 -0
- package/.agent/skills/system-design/rules/context-discovery.md +117 -0
- package/.agent/skills/system-design/rules/engineering-spec.md +437 -0
- package/.agent/skills/system-design/rules/examples.md +180 -0
- package/.agent/skills/system-design/rules/pattern-selection.md +130 -0
- package/.agent/skills/system-design/rules/patterns-reference.md +110 -0
- package/.agent/skills/system-design/rules/trade-off-analysis.md +169 -0
- package/.agent/skills/tailwind-kit/AGENTS.md +1135 -0
- package/.agent/skills/tailwind-kit/SKILL.md +171 -0
- package/.agent/skills/tailwind-kit/rules/_sections.md +20 -0
- package/.agent/skills/tailwind-kit/rules/_template.md +32 -0
- package/.agent/skills/tailwind-kit/rules/components.md +232 -0
- package/.agent/skills/tailwind-kit/rules/engineering-spec.md +435 -0
- package/.agent/skills/tailwind-kit/rules/responsive.md +221 -0
- package/.agent/skills/tailwind-kit/rules/v4-config.md +72 -0
- package/.agent/skills/test-architect/AGENTS.md +851 -0
- package/.agent/skills/test-architect/SKILL.md +176 -0
- package/.agent/skills/test-architect/rules/_sections.md +15 -0
- package/.agent/skills/test-architect/rules/_template.md +32 -0
- package/.agent/skills/test-architect/rules/engineering-spec.md +434 -0
- package/.agent/skills/test-architect/scripts/test_runner.ts +265 -0
- package/.agent/skills/typescript-expert/AGENTS.md +1045 -0
- package/.agent/skills/typescript-expert/SKILL.md +200 -0
- package/.agent/skills/typescript-expert/rules/_sections.md +20 -0
- package/.agent/skills/typescript-expert/rules/_template.md +32 -0
- package/.agent/skills/typescript-expert/rules/engineering-spec.md +433 -0
- package/.agent/skills/typescript-expert/rules/tsconfig-strict.json +92 -0
- package/.agent/skills/typescript-expert/rules/typescript-cheatsheet.md +407 -0
- package/.agent/skills/typescript-expert/rules/utility-types.ts +264 -0
- package/.agent/skills/typescript-expert/scripts/ts_diagnostic.ts +321 -0
- package/.agent/skills/vercel-deploy/AGENTS.md +490 -0
- package/.agent/skills/vercel-deploy/SKILL.md +175 -0
- package/.agent/skills/vercel-deploy/rules/_sections.md +15 -0
- package/.agent/skills/vercel-deploy/rules/_template.md +32 -0
- package/.agent/skills/vercel-deploy/rules/engineering-spec.md +463 -0
- package/.agent/skills/vercel-deploy/scripts/deploy.sh +310 -0
- package/.agent/workflows/api.md +377 -0
- package/.agent/workflows/autopilot.md +344 -0
- package/.agent/workflows/build.md +338 -0
- package/.agent/workflows/chronicle.md +279 -0
- package/.agent/workflows/cook.md +217 -0
- package/.agent/workflows/diagnose.md +302 -0
- package/.agent/workflows/fix.md +253 -0
- package/.agent/workflows/game.md +329 -0
- package/.agent/workflows/inspect.md +276 -0
- package/.agent/workflows/knowledge.md +212 -0
- package/.agent/workflows/launch.md +345 -0
- package/.agent/workflows/mobile.md +354 -0
- package/.agent/workflows/monitor.md +239 -0
- package/.agent/workflows/optimize.md +269 -0
- package/.agent/workflows/plan.md +278 -0
- package/.agent/workflows/stage.md +286 -0
- package/.agent/workflows/studio.md +276 -0
- package/.agent/workflows/think.md +262 -0
- package/.agent/workflows/validate.md +289 -0
- package/.agentignore +161 -0
- package/.gitattributes +16 -0
- package/CHANGELOG.md +198 -0
- package/LICENSE +40 -0
- package/README.md +173 -0
- package/docs/SKILL_DESIGN_GUIDE.md +561 -0
- package/docs/The-Complete-Guide-to-Building-Skills-for-Claude.md +1207 -0
- package/docs/WORKFLOW_DESIGN_GUIDE.md +325 -0
- package/package.json +33 -0
- package/tsconfig.json +28 -0
|
@@ -0,0 +1,479 @@
|
|
|
1
|
+
# Media Processing
|
|
2
|
+
|
|
3
|
+
**Version 3.9.121**
|
|
4
|
+
Engineering
|
|
5
|
+
April 2026
|
|
6
|
+
|
|
7
|
+
> **Note:**
|
|
8
|
+
> This document is for agents and LLMs to follow when working on media-processing tasks.
|
|
9
|
+
> Optimized for automation and consistency by AI-assisted workflows.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Abstract
|
|
14
|
+
|
|
15
|
+
This document compiles 1 rules across 1 categories for the Media Processing skill. Process video, audio, and images with FFmpeg, ImageMagick, and RMBG.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Table of Contents
|
|
20
|
+
|
|
21
|
+
1. [Engineering](#1-engineering) — **MEDIUM**
|
|
22
|
+
- 1.1 [Engineering Spec](#11-engineering-spec)
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 1. Engineering
|
|
27
|
+
|
|
28
|
+
**Impact: MEDIUM**
|
|
29
|
+
|
|
30
|
+
Full engineering specification covering contracts, security, and scalability.
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# Media Processing — Engineering Specification
|
|
34
|
+
|
|
35
|
+
> Production-grade specification for multimedia processing with FFmpeg, ImageMagick, and RMBG at FAANG scale.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 1. Overview
|
|
40
|
+
|
|
41
|
+
Media Processing provides deterministic tool selection and command generation for multimedia operations: video encoding/conversion (FFmpeg), audio extraction (FFmpeg), image resize/compression (ImageMagick), and background removal (RMBG). The skill operates as an **Expert (decision tree)** — it produces tool selections, command templates, and quality parameter recommendations. It does not execute commands, process media files, or install tools.
|
|
42
|
+
|
|
43
|
+
**Contract Version:** 2.0.0
|
|
44
|
+
**Backward Compatibility:** breaking (first hardened version)
|
|
45
|
+
**Breaking Changes:** None — new spec for first hardening
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 2. Problem Statement
|
|
50
|
+
|
|
51
|
+
Media processing at scale faces four quantified problems:
|
|
52
|
+
|
|
53
|
+
| Problem | Measurement | Impact |
|
|
54
|
+
|---------|-------------|--------|
|
|
55
|
+
| Wrong tool for task | 30% of media tasks use suboptimal tool | Quality or size penalty |
|
|
56
|
+
| Wrong compression settings | 40% of videos use default CRF (23) without consideration | Oversized or low-quality output |
|
|
57
|
+
| In-place modification without backup | 20% of mogrify operations destroy originals | Irreversible data loss |
|
|
58
|
+
| Wrong RMBG model for use case | 35% of bg removal uses default model | Poor quality or excessive wait |
|
|
59
|
+
|
|
60
|
+
Media Processing eliminates these with deterministic tool routing (task → tool), fixed CRF recommendations (18/22/28), mandatory backup warnings for destructive operations, and model selection based on quality/speed trade-off.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## 3. Design Goals
|
|
65
|
+
|
|
66
|
+
| ID | Goal | Measurable Constraint |
|
|
67
|
+
|----|------|-----------------------|
|
|
68
|
+
| G1 | 3-tool routing | FFmpeg (video/audio), ImageMagick (image), RMBG (bg removal) |
|
|
69
|
+
| G2 | CRF quality guide | 18 (lossless), 22 (recommended), 28 (smaller) — fixed |
|
|
70
|
+
| G3 | RMBG model selection | briaai (highest/slow), u2netp (good/fast), modnet (balanced/medium) |
|
|
71
|
+
| G4 | JPEG quality default | 85 — fixed standard |
|
|
72
|
+
| G5 | Destructive operation warning | mogrify always flagged |
|
|
73
|
+
| G6 | Web-optimized video | `-movflags +faststart` always included for MP4 |
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## 4. Non-Goals
|
|
78
|
+
|
|
79
|
+
| ID | Excluded | Rationale |
|
|
80
|
+
|----|----------|-----------|
|
|
81
|
+
| NG1 | Media file execution | Caller executes generated commands |
|
|
82
|
+
| NG2 | Tool installation | Infrastructure concern |
|
|
83
|
+
| NG3 | Streaming media | Different architecture |
|
|
84
|
+
| NG4 | Video editing (cuts, effects) | Specialized tool |
|
|
85
|
+
| NG5 | Image design/composition | Owned by `studio` skill |
|
|
86
|
+
| NG6 | Performance profiling | Owned by `perf-optimizer` skill |
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## 5. System Boundaries
|
|
91
|
+
|
|
92
|
+
| Boundary | Owned | Not Owned |
|
|
93
|
+
|----------|-------|-----------|
|
|
94
|
+
| Tool selection (3 tools) | Task → tool mapping | Tool installation |
|
|
95
|
+
| Command generation | Template + parameters | Command execution |
|
|
96
|
+
| Quality parameter guidance | CRF, JPEG quality, RMBG model | Perceptual quality assessment |
|
|
97
|
+
| Destructive operation warnings | mogrify flagging | File backup execution |
|
|
98
|
+
| Format conversion guidance | Codec + container selection | Transcoding execution |
|
|
99
|
+
|
|
100
|
+
**Side-effect boundary:** Media Processing produces commands and tool recommendations. It does not execute commands, read/write media files, or interact with the filesystem.
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## 6. Integration Model
|
|
105
|
+
|
|
106
|
+
### 6.1 Agent Contract
|
|
107
|
+
|
|
108
|
+
#### Input Schema
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
Request_Type: string # "tool-select" | "command-gen" | "quality-guide" | "model-select"
|
|
112
|
+
Context: {
|
|
113
|
+
task: string # "encode" | "extract-audio" | "thumbnail" | "resize" |
|
|
114
|
+
# "compress" | "bg-remove" | "convert" | "gif" | "batch-resize"
|
|
115
|
+
input_format: string | null # Source format (e.g., "mov", "jpg", "png")
|
|
116
|
+
output_format: string | null # Target format (e.g., "mp4", "webp", "png")
|
|
117
|
+
quality: string | null # "lossless" | "recommended" | "smaller" | null
|
|
118
|
+
rmbg_priority: string | null # "quality" | "speed" | "balanced" | null
|
|
119
|
+
dimensions: string | null # Target dimensions (e.g., "800x600", "800x")
|
|
120
|
+
timestamp: string | null # For thumbnail extraction (e.g., "00:00:05")
|
|
121
|
+
}
|
|
122
|
+
contract_version: string # "2.0.0"
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
#### Output Schema
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
Status: "success" | "error"
|
|
129
|
+
Data: {
|
|
130
|
+
tool: {
|
|
131
|
+
name: string # "ffmpeg" | "imagemagick" | "rmbg"
|
|
132
|
+
rationale: string
|
|
133
|
+
} | null
|
|
134
|
+
command: {
|
|
135
|
+
template: string # Full CLI command
|
|
136
|
+
destructive: boolean # true if modifies in-place (mogrify)
|
|
137
|
+
warning: string | null # Backup warning if destructive
|
|
138
|
+
} | null
|
|
139
|
+
quality: {
|
|
140
|
+
parameter: string # "crf" | "quality" | "model"
|
|
141
|
+
value: string | number # CRF number, JPEG quality, model name
|
|
142
|
+
description: string
|
|
143
|
+
} | null
|
|
144
|
+
model: {
|
|
145
|
+
name: string # "briaai" | "u2netp" | "modnet"
|
|
146
|
+
quality_tier: string # "highest" | "good" | "balanced"
|
|
147
|
+
speed_tier: string # "slow" | "fast" | "medium"
|
|
148
|
+
} | null
|
|
149
|
+
metadata: {
|
|
150
|
+
contract_version: string
|
|
151
|
+
backward_compatibility: string
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
Error: ErrorSchema | null
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
#### Error Schema
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
Code: string # From Error Taxonomy (Section 11)
|
|
161
|
+
Message: string
|
|
162
|
+
Request_Type: string
|
|
163
|
+
Recoverable: boolean
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
#### Deterministic Guarantees
|
|
167
|
+
|
|
168
|
+
- Tool selection is fixed: video/audio tasks → FFmpeg; image tasks → ImageMagick; bg removal → RMBG.
|
|
169
|
+
- CRF values are fixed: lossless = 18, recommended = 22, smaller = 28.
|
|
170
|
+
- JPEG quality is fixed: 85 (default).
|
|
171
|
+
- RMBG model selection is fixed: quality → briaai, speed → u2netp, balanced → modnet.
|
|
172
|
+
- MP4 output always includes `-movflags +faststart`.
|
|
173
|
+
- mogrify commands always flagged as destructive with backup warning.
|
|
174
|
+
- `-strip` always included for JPEG compression (removes EXIF).
|
|
175
|
+
|
|
176
|
+
#### What Agents May Assume
|
|
177
|
+
|
|
178
|
+
- Tool selection maps to task type deterministically.
|
|
179
|
+
- CRF/quality values produce consistent visual results.
|
|
180
|
+
- Commands are syntactically correct for current tool versions.
|
|
181
|
+
- Destructive operations are always flagged.
|
|
182
|
+
|
|
183
|
+
#### What Agents Must NOT Assume
|
|
184
|
+
|
|
185
|
+
- FFmpeg, ImageMagick, or RMBG is installed.
|
|
186
|
+
- Commands execute successfully (depends on input file).
|
|
187
|
+
- CRF values produce identical file sizes across inputs.
|
|
188
|
+
- RMBG models handle all image types equally.
|
|
189
|
+
|
|
190
|
+
#### Side-Effect Boundaries
|
|
191
|
+
|
|
192
|
+
| Operation | Side Effects |
|
|
193
|
+
|-----------|-------------|
|
|
194
|
+
| Tool select | None; recommendation |
|
|
195
|
+
| Command gen | None; command template |
|
|
196
|
+
| Quality guide | None; parameter recommendation |
|
|
197
|
+
| Model select | None; model recommendation |
|
|
198
|
+
|
|
199
|
+
### 6.2 Workflow Contract
|
|
200
|
+
|
|
201
|
+
#### Invocation Pattern
|
|
202
|
+
|
|
203
|
+
```
|
|
204
|
+
1. Identify media task (encode, resize, bg-remove, etc.)
|
|
205
|
+
2. Invoke tool-select to determine tool
|
|
206
|
+
3. Invoke command-gen with task + parameters
|
|
207
|
+
4. Review generated command (check destructive flag)
|
|
208
|
+
5. Execute command (caller's responsibility)
|
|
209
|
+
6. Verify output (caller's responsibility)
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
#### Execution Guarantees
|
|
213
|
+
|
|
214
|
+
- Each invocation produces a complete command or recommendation.
|
|
215
|
+
- Destructive commands are always flagged.
|
|
216
|
+
|
|
217
|
+
#### Failure Propagation Model
|
|
218
|
+
|
|
219
|
+
| Failure Severity | Propagation | Workflow Action |
|
|
220
|
+
|-----------------|-------------|-----------------|
|
|
221
|
+
| Unknown task type | Return error | Use supported task |
|
|
222
|
+
| Missing format | Return error | Supply format |
|
|
223
|
+
| Unknown RMBG priority | Default to "balanced" | Transparent |
|
|
224
|
+
| Unsupported conversion | Return error | Use supported format pair |
|
|
225
|
+
|
|
226
|
+
#### Retry Boundaries
|
|
227
|
+
|
|
228
|
+
- Zero internal retries. Deterministic output.
|
|
229
|
+
|
|
230
|
+
#### Isolation Model
|
|
231
|
+
|
|
232
|
+
- Each invocation is stateless and independent.
|
|
233
|
+
|
|
234
|
+
#### Idempotency Expectations
|
|
235
|
+
|
|
236
|
+
| Operation | Idempotent | Notes |
|
|
237
|
+
|-----------|-----------|-------|
|
|
238
|
+
| Tool select | Yes | Same task = same tool |
|
|
239
|
+
| Command gen | Yes | Same context = same command |
|
|
240
|
+
| Quality guide | Yes | Same quality tier = same value |
|
|
241
|
+
| Model select | Yes | Same priority = same model |
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## 7. Execution Model
|
|
246
|
+
|
|
247
|
+
### 2-Phase Lifecycle
|
|
248
|
+
|
|
249
|
+
| Phase | Action | Output |
|
|
250
|
+
|-------|--------|--------|
|
|
251
|
+
| **Classify** | Validate task, determine tool, check destructive | Classification |
|
|
252
|
+
| **Generate** | Produce command template or recommendation | Complete output |
|
|
253
|
+
|
|
254
|
+
All phases synchronous. No async pipeline.
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## 8. Deterministic Design Principles
|
|
259
|
+
|
|
260
|
+
| Principle | Enforcement |
|
|
261
|
+
|-----------|-------------|
|
|
262
|
+
| Fixed tool routing | video/audio → FFmpeg, image → ImageMagick, bg → RMBG |
|
|
263
|
+
| Fixed CRF values | 18 (lossless), 22 (recommended), 28 (smaller) |
|
|
264
|
+
| Fixed JPEG quality | 85 default |
|
|
265
|
+
| Fixed RMBG models | briaai (highest/slow), u2netp (good/fast), modnet (balanced/medium) |
|
|
266
|
+
| Web-optimized MP4 | `-movflags +faststart` always |
|
|
267
|
+
| Destructive warning | mogrify always flagged |
|
|
268
|
+
| EXIF stripping | `-strip` always for JPEG compression |
|
|
269
|
+
| No execution | Command output only; caller executes |
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
## 9. State & Idempotency Model
|
|
274
|
+
|
|
275
|
+
Stateless. Fully idempotent. No persistent state.
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## 10. Failure Handling Strategy
|
|
280
|
+
|
|
281
|
+
| Failure Class | Behavior | Caller Recovery |
|
|
282
|
+
|---------------|----------|-----------------|
|
|
283
|
+
| Unknown task type | Return `ERR_UNKNOWN_TASK` | Use supported task |
|
|
284
|
+
| Missing input format | Return `ERR_MISSING_FORMAT` | Supply format |
|
|
285
|
+
| Unsupported format pair | Return `ERR_UNSUPPORTED_FORMAT` | Use supported conversion |
|
|
286
|
+
| Tool not installed (caller) | Not this skill's error | Install tool |
|
|
287
|
+
|
|
288
|
+
**Invariant:** Every failure returns a structured error. No partial commands.
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## 11. Error Taxonomy
|
|
293
|
+
|
|
294
|
+
| Code | Category | Recoverable | Description |
|
|
295
|
+
|------|----------|-------------|-------------|
|
|
296
|
+
| `ERR_UNKNOWN_TASK` | Validation | No | Task type not supported |
|
|
297
|
+
| `ERR_MISSING_FORMAT` | Validation | Yes | Input or output format not provided |
|
|
298
|
+
| `ERR_UNSUPPORTED_FORMAT` | Validation | No | Format pair not supported |
|
|
299
|
+
| `ERR_INVALID_QUALITY` | Validation | Yes | Quality tier not recognized |
|
|
300
|
+
| `WARN_DESTRUCTIVE` | Advisory | Yes | Command modifies files in-place |
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## 12. Timeout & Retry Policy
|
|
305
|
+
|
|
306
|
+
| Parameter | Default | Maximum | Rationale |
|
|
307
|
+
|-----------|---------|---------|-----------|
|
|
308
|
+
| Command generation | N/A | N/A | Synchronous; < 50ms |
|
|
309
|
+
| Internal retries | Zero | Zero | Deterministic output |
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## 13. Observability & Logging Schema
|
|
314
|
+
|
|
315
|
+
### Log Entry Format
|
|
316
|
+
|
|
317
|
+
```json
|
|
318
|
+
{
|
|
319
|
+
"trace_id": "uuid",
|
|
320
|
+
"skill_name": "media-processing",
|
|
321
|
+
"contract_version": "2.0.0",
|
|
322
|
+
"execution_id": "uuid",
|
|
323
|
+
"timestamp": "ISO-8601",
|
|
324
|
+
"request_type": "string",
|
|
325
|
+
"task": "string",
|
|
326
|
+
"tool_selected": "string|null",
|
|
327
|
+
"destructive": "boolean",
|
|
328
|
+
"quality_parameter": "string|null",
|
|
329
|
+
"quality_value": "string|number|null",
|
|
330
|
+
"status": "success|error",
|
|
331
|
+
"error_code": "string|null",
|
|
332
|
+
"duration_ms": "number"
|
|
333
|
+
}
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
### Required Log Points
|
|
337
|
+
|
|
338
|
+
| Event | Log Level | Fields |
|
|
339
|
+
|-------|-----------|--------|
|
|
340
|
+
| Tool selected | INFO | task, tool_selected |
|
|
341
|
+
| Command generated | INFO | task, tool_selected, destructive |
|
|
342
|
+
| Destructive warning | WARN | command_template |
|
|
343
|
+
| Quality recommendation | INFO | quality_parameter, quality_value |
|
|
344
|
+
| Decision failed | ERROR | error_code, message |
|
|
345
|
+
|
|
346
|
+
### Metrics
|
|
347
|
+
|
|
348
|
+
| Metric | Type | Unit |
|
|
349
|
+
|--------|------|------|
|
|
350
|
+
| `mediaproc.decision.duration` | Histogram | ms |
|
|
351
|
+
| `mediaproc.tool.distribution` | Counter | per tool |
|
|
352
|
+
| `mediaproc.task.distribution` | Counter | per task |
|
|
353
|
+
| `mediaproc.destructive.count` | Counter | per invocation |
|
|
354
|
+
|
|
355
|
+
---
|
|
356
|
+
|
|
357
|
+
## 14. Security & Trust Model
|
|
358
|
+
|
|
359
|
+
### Data Handling
|
|
360
|
+
|
|
361
|
+
- Media Processing does not access file contents.
|
|
362
|
+
- No credentials, tokens, or PII handled.
|
|
363
|
+
- Generated commands may reference user-supplied file paths.
|
|
364
|
+
- File path sanitization is caller's responsibility.
|
|
365
|
+
|
|
366
|
+
### Destructive Operation Safety
|
|
367
|
+
|
|
368
|
+
| Rule | Enforcement |
|
|
369
|
+
|------|-------------|
|
|
370
|
+
| mogrify always flagged | `destructive: true` + warning |
|
|
371
|
+
| Backup recommended | Warning message in output |
|
|
372
|
+
| Test before batch | Guidance to test on single file |
|
|
373
|
+
|
|
374
|
+
---
|
|
375
|
+
|
|
376
|
+
## 15. Scalability Model
|
|
377
|
+
|
|
378
|
+
| Dimension | Constraint | Mitigation |
|
|
379
|
+
|-----------|-----------|------------|
|
|
380
|
+
| Throughput | CPU-bound command generation | < 50ms; scales linearly |
|
|
381
|
+
| Concurrency | Stateless invocations | Unlimited parallel |
|
|
382
|
+
| Memory per invocation | < 1 MB | No accumulation |
|
|
383
|
+
| Network | Zero network calls | No external dependency |
|
|
384
|
+
|
|
385
|
+
---
|
|
386
|
+
|
|
387
|
+
## 16. Concurrency Model
|
|
388
|
+
|
|
389
|
+
Fully parallel. No shared state. No coordination required.
|
|
390
|
+
|
|
391
|
+
---
|
|
392
|
+
|
|
393
|
+
## 17. Resource Lifecycle Management
|
|
394
|
+
|
|
395
|
+
All resources scoped to invocation. No persistent handles.
|
|
396
|
+
|
|
397
|
+
---
|
|
398
|
+
|
|
399
|
+
## 18. Performance Constraints
|
|
400
|
+
|
|
401
|
+
| Operation | P50 Target | P99 Target | Hard Limit |
|
|
402
|
+
|-----------|-----------|-----------|------------|
|
|
403
|
+
| Tool selection | < 1 ms | < 5 ms | 20 ms |
|
|
404
|
+
| Command generation | < 3 ms | < 10 ms | 30 ms |
|
|
405
|
+
| Full pipeline (select + gen) | < 5 ms | < 15 ms | 50 ms |
|
|
406
|
+
| Output size | ≤ 500 chars | ≤ 1,500 chars | 3,000 chars |
|
|
407
|
+
|
|
408
|
+
---
|
|
409
|
+
|
|
410
|
+
## 19. Operational Risks
|
|
411
|
+
|
|
412
|
+
| Risk | Likelihood | Impact | Mitigation |
|
|
413
|
+
|------|-----------|--------|------------|
|
|
414
|
+
| Tool version mismatch | Medium | Command syntax may differ | Document supported versions |
|
|
415
|
+
| mogrify data loss | High if unflagged | Permanent file destruction | Always flag destructive |
|
|
416
|
+
| Wrong CRF for content type | Low | Suboptimal quality/size | CRF guide with descriptions |
|
|
417
|
+
| RMBG model deprecated | Low | Model unavailable | Track model availability |
|
|
418
|
+
| ImageMagick policy restrictions | Medium | Operations blocked | Document policy.xml fix |
|
|
419
|
+
|
|
420
|
+
---
|
|
421
|
+
|
|
422
|
+
## 20. Compliance with skill-design-guide.md
|
|
423
|
+
|
|
424
|
+
| Requirement | Status | Evidence |
|
|
425
|
+
|-------------|--------|----------|
|
|
426
|
+
| YAML frontmatter complete | ✅ | name, description, metadata with category, version, triggers, coordinates_with, success_metrics |
|
|
427
|
+
| SKILL.md < 200 lines | ✅ | Entry point under 200 lines |
|
|
428
|
+
| Prerequisites documented | ✅ | ffmpeg, imagemagick, rmbg-cli installation |
|
|
429
|
+
| When to Use section | ✅ | Task-based routing table |
|
|
430
|
+
| Core content matches skill type | ✅ | Expert type: decision trees, command templates |
|
|
431
|
+
| Troubleshooting section | ✅ | Anti-patterns table |
|
|
432
|
+
| Related section | ✅ | Cross-links to perf-optimizer, studio |
|
|
433
|
+
| Content Map for multi-file | ✅ | Link to engineering-spec.md |
|
|
434
|
+
| Contract versioning | ✅ | contract_version, backward_compatibility, breaking_changes |
|
|
435
|
+
| Compliance matrix structured | ✅ | This table with ✅/❌ + evidence |
|
|
436
|
+
|
|
437
|
+
---
|
|
438
|
+
|
|
439
|
+
## 21. Production Readiness Checklist
|
|
440
|
+
|
|
441
|
+
| Category | Check | Status |
|
|
442
|
+
|----------|-------|--------|
|
|
443
|
+
| **Functionality** | 3-tool routing (FFmpeg, ImageMagick, RMBG) | ✅ |
|
|
444
|
+
| **Functionality** | CRF quality guide (18/22/28) | ✅ |
|
|
445
|
+
| **Functionality** | RMBG model selection (3 models) | ✅ |
|
|
446
|
+
| **Functionality** | Destructive operation warnings | ✅ |
|
|
447
|
+
| **Functionality** | Web-optimized MP4 (-movflags +faststart) | ✅ |
|
|
448
|
+
| **Contracts** | Input/output/error schemas in pseudo-schema format | ✅ |
|
|
449
|
+
| **Contracts** | Contract versioning with semver | ✅ |
|
|
450
|
+
| **Failure** | Error taxonomy with 5 categorized codes | ✅ |
|
|
451
|
+
| **Failure** | No partial commands on error | ✅ |
|
|
452
|
+
| **Failure** | Zero internal retries | ✅ |
|
|
453
|
+
| **Determinism** | Fixed tool routing, fixed CRF, fixed models | ✅ |
|
|
454
|
+
| **Security** | No file access, no credentials | ✅ |
|
|
455
|
+
| **Observability** | Structured log schema with 5 mandatory fields | ✅ |
|
|
456
|
+
| **Observability** | 4 metrics defined | ✅ |
|
|
457
|
+
| **Performance** | P50/P99 targets for all operations | ✅ |
|
|
458
|
+
| **Scalability** | Stateless; unlimited parallel | ✅ |
|
|
459
|
+
| **Compliance** | All skill-design-guide.md sections mapped with evidence | ✅ |
|
|
460
|
+
|
|
461
|
+
---
|
|
462
|
+
|
|
463
|
+
## 🔗 Related
|
|
464
|
+
|
|
465
|
+
| File | When to Read |
|
|
466
|
+
|------|-------------|
|
|
467
|
+
| [../SKILL.md](../SKILL.md) | Quick reference, CRF guide, RMBG models |
|
|
468
|
+
| [../scripts/convert-video.ts](../scripts/convert-video.ts) | FFmpeg video converter script |
|
|
469
|
+
| [../scripts/optimize-image.ts](../scripts/optimize-image.ts) | ImageMagick image optimizer script |
|
|
470
|
+
| `perf-optimizer` | Performance profiling |
|
|
471
|
+
| `studio` | Design assets |
|
|
472
|
+
|
|
473
|
+
---
|
|
474
|
+
|
|
475
|
+
⚡ PikaKit v3.9.134
|
|
476
|
+
|
|
477
|
+
---
|
|
478
|
+
|
|
479
|
+
⚡ PikaKit v3.9.134
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: media-processing
|
|
3
|
+
description: >-
|
|
4
|
+
Process video, audio, and images with FFmpeg, ImageMagick, and RMBG.
|
|
5
|
+
Use when converting, compressing, resizing media files, or removing backgrounds.
|
|
6
|
+
NOT for UI image assets (use design-system) or prompt-based generation (use ai-artist).
|
|
7
|
+
metadata:
|
|
8
|
+
author: pikakit
|
|
9
|
+
version: "3.9.134"
|
|
10
|
+
category: devops
|
|
11
|
+
triggers: "video, audio, image, compress, resize, convert, ffmpeg, imagemagick, rmbg"
|
|
12
|
+
coordinates_with: "perf-optimizer, studio"
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Media Processing — FFmpeg + ImageMagick + RMBG
|
|
16
|
+
|
|
17
|
+
> 3 tools. Fixed CRF. Fixed JPEG quality. Destructive always flagged.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Prerequisites
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# macOS
|
|
25
|
+
brew install ffmpeg imagemagick
|
|
26
|
+
npm install -g rmbg-cli
|
|
27
|
+
|
|
28
|
+
# Ubuntu
|
|
29
|
+
sudo apt-get install ffmpeg imagemagick
|
|
30
|
+
npm install -g rmbg-cli
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## When to Use
|
|
36
|
+
|
|
37
|
+
| Task | Tool |
|
|
38
|
+
|------|------|
|
|
39
|
+
| Video encoding/conversion | FFmpeg |
|
|
40
|
+
| Audio extraction | FFmpeg |
|
|
41
|
+
| GIF from video | FFmpeg |
|
|
42
|
+
| Image resize/compress | ImageMagick |
|
|
43
|
+
| Background removal | RMBG |
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## System Boundaries
|
|
48
|
+
|
|
49
|
+
| Owned by This Skill | NOT Owned |
|
|
50
|
+
|---------------------|-----------|
|
|
51
|
+
| Tool selection (3 tools) | Performance profiling (→ perf-optimizer) |
|
|
52
|
+
| Command generation | Design assets (→ studio) |
|
|
53
|
+
| Quality parameter guidance | Tool installation |
|
|
54
|
+
| Destructive warnings | Command execution |
|
|
55
|
+
|
|
56
|
+
**Expert decision skill:** Produces commands and recommendations. Does not execute.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Tool Routing (Deterministic)
|
|
61
|
+
|
|
62
|
+
| Task Type | Tool |
|
|
63
|
+
|-----------|------|
|
|
64
|
+
| Video / audio | **FFmpeg** |
|
|
65
|
+
| Image | **ImageMagick** |
|
|
66
|
+
| Background removal | **RMBG** |
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Video (FFmpeg)
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
# Convert with web optimization
|
|
74
|
+
ffmpeg -i input.mov -c:v libx264 -crf 22 -movflags +faststart output.mp4
|
|
75
|
+
|
|
76
|
+
# Extract audio
|
|
77
|
+
ffmpeg -i video.mp4 -vn -c:a copy audio.m4a
|
|
78
|
+
|
|
79
|
+
# Thumbnail at 5s
|
|
80
|
+
ffmpeg -i video.mp4 -ss 00:00:05 -vframes 1 thumb.jpg
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### CRF Quality Guide (Fixed)
|
|
84
|
+
|
|
85
|
+
| CRF | Tier | Use Case |
|
|
86
|
+
|-----|------|----------|
|
|
87
|
+
| 18 | Visually lossless | Archival, source preservation |
|
|
88
|
+
| 22 | Recommended | General purpose (default) |
|
|
89
|
+
| 28 | Smaller file | Web delivery, previews |
|
|
90
|
+
|
|
91
|
+
**Always include:** `-movflags +faststart` for MP4.
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Image (ImageMagick)
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
# Resize (maintain aspect)
|
|
99
|
+
magick input.jpg -resize 800x600 output.jpg
|
|
100
|
+
|
|
101
|
+
# Compress JPEG (quality 85, strip EXIF)
|
|
102
|
+
magick input.jpg -quality 85 -strip output.jpg
|
|
103
|
+
|
|
104
|
+
# ⚠️ Batch resize (DESTRUCTIVE — modifies in-place)
|
|
105
|
+
mogrify -resize 800x -quality 85 *.jpg
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
**Default JPEG quality:** 85. **Always include:** `-strip` for EXIF removal.
|
|
109
|
+
|
|
110
|
+
**⚠️ mogrify:** Always backup first. Test on single file before batch.
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Background Removal (RMBG)
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
rmbg input.jpg -o output.png # Default model
|
|
118
|
+
rmbg input.jpg -m briaai -o output.png # Highest quality
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Model Selection (Fixed)
|
|
122
|
+
|
|
123
|
+
| Priority | Model | Quality | Speed |
|
|
124
|
+
|----------|-------|---------|-------|
|
|
125
|
+
| Quality | **briaai** | Highest | Slow |
|
|
126
|
+
| Speed | **u2netp** | Good | Fast |
|
|
127
|
+
| Balanced | **modnet** | Balanced | Medium |
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Error Taxonomy
|
|
132
|
+
|
|
133
|
+
| Code | Recoverable | Trigger |
|
|
134
|
+
|------|-------------|---------|
|
|
135
|
+
| `ERR_UNKNOWN_TASK` | No | Task type not supported |
|
|
136
|
+
| `ERR_MISSING_FORMAT` | Yes | Format not provided |
|
|
137
|
+
| `ERR_UNSUPPORTED_FORMAT` | No | Format pair not supported |
|
|
138
|
+
| `ERR_INVALID_QUALITY` | Yes | Quality tier not recognized |
|
|
139
|
+
| `WARN_DESTRUCTIVE` | Yes | mogrify in-place modification |
|
|
140
|
+
|
|
141
|
+
**Zero internal retries.** Deterministic; same context = same command.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Anti-Patterns
|
|
146
|
+
|
|
147
|
+
| ❌ Don't | ✅ Do |
|
|
148
|
+
|---------|-------|
|
|
149
|
+
| Use mogrify without backup | Backup originals first |
|
|
150
|
+
| Skip `-movflags +faststart` for MP4 | Always include for web |
|
|
151
|
+
| Use default CRF without thinking | Choose 18/22/28 based on use case |
|
|
152
|
+
| Batch process without testing | Test on single file first |
|
|
153
|
+
| Skip `-strip` for JPEG | Always strip EXIF metadata |
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## 📑 Content Map
|
|
158
|
+
|
|
159
|
+
| File | Description | When to Read |
|
|
160
|
+
|------|-------------|--------------|
|
|
161
|
+
| [convert-video.ts](scripts/convert-video.ts) | FFmpeg video converter CLI | Video conversion |
|
|
162
|
+
| [optimize-image.ts](scripts/optimize-image.ts) | ImageMagick image optimizer CLI | Image optimization |
|
|
163
|
+
| [engineering-spec.md](rules/engineering-spec.md) | Full engineering spec | Architecture review |
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## 🔗 Related
|
|
168
|
+
|
|
169
|
+
| Item | Type | Purpose |
|
|
170
|
+
|------|------|---------|
|
|
171
|
+
| `perf-optimizer` | Skill | Performance profiling |
|
|
172
|
+
| `studio` | Skill | Design assets |
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
⚡ PikaKit v3.9.134
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Sections
|
|
2
|
+
|
|
3
|
+
This file defines all sections, their ordering, impact levels, and descriptions.
|
|
4
|
+
The section ID (in parentheses) is the filename prefix used to group rules.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. Engineering Specification (engineering)
|
|
9
|
+
|
|
10
|
+
**Impact:** MEDIUM
|
|
11
|
+
**Description:** Full engineering specification covering contracts, security, and scalability.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
⚡ PikaKit v3.9.134
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Rule Title Here
|
|
3
|
+
impact: MEDIUM
|
|
4
|
+
impactDescription: Optional description of impact (e.g., "20-50% improvement")
|
|
5
|
+
tags: tag1, tag2
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Rule Title Here
|
|
9
|
+
|
|
10
|
+
**Impact: MEDIUM (optional impact description)**
|
|
11
|
+
|
|
12
|
+
Brief explanation of the rule and why it matters. This should be clear and concise, explaining the performance implications.
|
|
13
|
+
|
|
14
|
+
**Incorrect (description of what's wrong):**
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
// Bad code example here
|
|
18
|
+
const bad = example()
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Correct (description of what's right):**
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
// Good code example here
|
|
25
|
+
const good = example()
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Reference: [Link to documentation or resource](https://example.com)
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
⚡ PikaKit v3.9.134
|