From e74dafcd36edbe62412e4552e505ea212e07f4b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E7=94=B5=E8=8A=BD=E8=A1=A3?= Date: Mon, 20 Apr 2026 08:13:48 -0400 Subject: [PATCH] Silence render-disposed spam, unbreak bundled skills, drop board wake MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three independently ugly bugs that all fed the same log flood: * Electron's `WebFrameMain.send` writes every "Render frame was disposed" to stderr via `console.error`. When the worker fans a second agent-event past a reloading renderer, we produced thousands of identical lines and stalled the main loop on stderr I/O. Added a `mainFrame.detached` guard so the send is short-circuited before Electron's own catch block fires, and installed a targeted filter in `suppress-warnings.ts` (now actually imported from the entry point) so the specific `console.error("Error sending from webFrameMain:"…)` noise never reaches the terminal. Any other payload still surfaces. * `dispatchAgentMessage` accepted the human-reader sentinel as a wake target when an agent replied to `__board__` — `wakeAgentIfPossible` then called `db.getAgent("__board__")`, threw, and the dispatcher kept repeating on every send. Strip `HUMAN_SENDER_ID` at `resolveMessageWakeTargets`, and keep a defense-in-depth guard in the heartbeat so a stray caller (future automation fan-out) cannot reintroduce the crash. * Pi's skills loader rejects any SKILL.md whose frontmatter `name` diverges from its parent directory. The four bundled `my-writing-style` copies declared `name: writing-style-skill`, so every install emitted a warning and dropped the skill. They also lived as orphan gitlinks (mode 160000 without .gitmodules), and the global `*.md` gitignore hid every other SKILL.md from version control. Fixed the frontmatter to match the dir, converted the dangling submodules to plain trees, and allowlisted `builtin-skills/**/*.md` so a fresh clone carries the catalogue instead of silently losing it. --- .gitignore | 5 + .../remotion-best-practices/SKILL.md | 61 + .../remotion-best-practices/rules/3d.md | 86 + .../rules/animations.md | 27 + .../remotion-best-practices/rules/assets.md | 78 + .../rules/audio-visualization.md | 198 + .../remotion-best-practices/rules/audio.md | 169 + .../rules/calculate-metadata.md | 134 + .../rules/can-decode.md | 81 + .../remotion-best-practices/rules/charts.md | 120 + .../rules/compositions.md | 154 + .../rules/display-captions.md | 184 + .../rules/extract-frames.md | 229 + .../remotion-best-practices/rules/ffmpeg.md | 38 + .../remotion-best-practices/rules/fonts.md | 152 + .../rules/get-audio-duration.md | 58 + .../rules/get-video-dimensions.md | 68 + .../rules/get-video-duration.md | 60 + .../remotion-best-practices/rules/gifs.md | 141 + .../remotion-best-practices/rules/images.md | 134 + .../rules/import-srt-captions.md | 69 + .../rules/light-leaks.md | 73 + .../remotion-best-practices/rules/lottie.md | 70 + .../remotion-best-practices/rules/maps.md | 412 ++ .../rules/measuring-dom-nodes.md | 34 + .../rules/measuring-text.md | 140 + .../rules/parameters.md | 109 + .../rules/sequencing.md | 118 + .../remotion-best-practices/rules/sfx.md | 30 + .../rules/subtitles.md | 36 + .../remotion-best-practices/rules/tailwind.md | 11 + .../rules/text-animations.md | 20 + .../remotion-best-practices/rules/timing.md | 179 + .../rules/transcribe-captions.md | 70 + .../rules/transitions.md | 197 + .../rules/transparent-videos.md | 106 + .../remotion-best-practices/rules/trimming.md | 51 + .../remotion-best-practices/rules/videos.md | 171 + .../rules/voiceover.md | 99 + .../basic-for-all/deep-research/SKILL.md | 281 ++ builtin-skills/basic-for-all/my-writing-style | 1 - .../basic-for-all/my-writing-style/README.md | 71 + .../basic-for-all/my-writing-style/SKILL.md | 206 + .../my-writing-style/scripts/improve.py | 426 ++ .../my-writing-style/scripts/observe.py | 309 ++ builtin-skills/basic-for-all/nopua/SKILL.md | 456 ++ .../systematic-debugging/CREATION-LOG.md | 119 + .../systematic-debugging/SKILL.md | 296 ++ .../condition-based-waiting.md | 115 + .../systematic-debugging/defense-in-depth.md | 122 + .../root-cause-tracing.md | 169 + .../systematic-debugging/test-academic.md | 14 + .../systematic-debugging/test-pressure-1.md | 58 + .../systematic-debugging/test-pressure-2.md | 68 + .../systematic-debugging/test-pressure-3.md | 69 + builtin-skills/document-process/docx/SKILL.md | 590 +++ .../document-process/minimax-docx/SKILL.md | 274 ++ .../minimax-docx/references/cjk_typography.md | 357 ++ .../cjk_university_template_guide.md | 184 + .../minimax-docx/references/comments_guide.md | 191 + .../references/design_good_bad_examples.md | 829 ++++ .../references/design_principles.md | 819 ++++ .../references/openxml_element_order.md | 308 ++ .../references/openxml_encyclopedia_part1.md | 4061 +++++++++++++++++ .../references/openxml_encyclopedia_part2.md | 2820 ++++++++++++ .../references/openxml_encyclopedia_part3.md | 3381 ++++++++++++++ .../references/openxml_namespaces.md | 82 + .../minimax-docx/references/openxml_units.md | 72 + .../references/scenario_a_create.md | 284 ++ .../references/scenario_b_edit_content.md | 295 ++ .../references/scenario_c_apply_template.md | 456 ++ .../references/track_changes_guide.md | 200 + .../references/troubleshooting.md | 506 ++ .../references/typography_guide.md | 294 ++ .../references/xsd_validation_guide.md | 158 + .../document-process/minimax-pdf/README.md | 222 + .../document-process/minimax-pdf/SKILL.md | 192 + .../minimax-pdf/design/design.md | 381 ++ .../document-process/minimax-xlsx/SKILL.md | 138 + .../minimax-xlsx/references/create.md | 691 +++ .../minimax-xlsx/references/edit.md | 684 +++ .../minimax-xlsx/references/fix.md | 37 + .../minimax-xlsx/references/format.md | 768 ++++ .../references/ooxml-cheatsheet.md | 231 + .../minimax-xlsx/references/read-analyze.md | 97 + .../minimax-xlsx/references/validate.md | 772 ++++ .../document-process/my-writing-style | 1 - .../my-writing-style/README.md | 71 + .../my-writing-style/SKILL.md | 206 + .../my-writing-style/scripts/improve.py | 426 ++ .../my-writing-style/scripts/observe.py | 309 ++ .../document-process/pptx-generator/SKILL.md | 249 + .../references/design-system.md | 392 ++ .../pptx-generator/references/editing.md | 162 + .../pptx-generator/references/pitfalls.md | 112 + .../pptx-generator/references/pptxgenjs.md | 420 ++ .../pptx-generator/references/slide-types.md | 413 ++ .../wechat-article-writer/SKILL.md | 62 + .../writing-clearly-and-concisely/README.md | 157 + .../writing-clearly-and-concisely/SKILL.md | 93 + .../elements-of-style/01-introductory.md | 3 + .../02-elementary-rules-of-usage.md | 214 + ...03-elementary-principles-of-composition.md | 398 ++ .../04-a-few-matters-of-form.md | 89 + ...-words-and-expressions-commonly-misused.md | 348 ++ .../signs-of-ai-writing.md | 901 ++++ builtin-skills/document-process/xlsx/SKILL.md | 292 ++ .../frontend-design/canvas-design/SKILL.md | 130 + .../frontend-design/design-dna/README.md | 109 + .../design-dna/README.zh-CN.md | 99 + .../frontend-design/design-dna/SKILL.md | 104 + .../design-dna/references/generation-guide.md | 209 + .../design-dna/references/schema.md | 366 ++ .../design-taste-frontend/SKILL.md | 226 + .../frontend-design/frontend-design/SKILL.md | 42 + .../high-end-visual-design/SKILL.md | 98 + .../frontend-design/senior-frontend/SKILL.md | 473 ++ .../references/frontend_best_practices.md | 806 ++++ .../references/nextjs_optimization_guide.md | 724 +++ .../references/react_patterns.md | 746 +++ .../stitch-design-taste/DESIGN.md | 121 + .../stitch-design-taste/SKILL.md | 184 + .../iOS-Dev/app-icon-generator/SKILL.md | 526 +++ .../iOS-Dev/app-store-screenshots/SKILL.md | 647 +++ .../iOS-Dev/icon-generator/SKILL.md | 48 + .../icon-generator/references/icon-sizes.md | 39 + .../references/unreal-engine.md | 29 + .../icon-generator/references/web-ui-ux.md | 56 + .../iOS-Dev/ios-swift-development/SKILL.md | 101 + .../references/mvvm-architecture-setup.md | 60 + .../network-service-with-urlsession.md | 99 + .../references/swiftui-views.md | 112 + .../iOS-Dev/mobile-development/SKILL.md | 261 ++ .../references/MOBILE_GUIDE.md | 73 + .../marketing/clean-general/SKILL.md | 97 + builtin-skills/marketing/my-writing-style | 1 - .../marketing/my-writing-style/README.md | 71 + .../marketing/my-writing-style/SKILL.md | 206 + .../my-writing-style/scripts/improve.py | 426 ++ .../my-writing-style/scripts/observe.py | 309 ++ .../marketing/wechat-article-writer/SKILL.md | 62 + .../writing-clearly-and-concisely/README.md | 157 + .../writing-clearly-and-concisely/SKILL.md | 93 + .../elements-of-style/01-introductory.md | 3 + .../02-elementary-rules-of-usage.md | 214 + ...03-elementary-principles-of-composition.md | 398 ++ .../04-a-few-matters-of-form.md | 89 + ...-words-and-expressions-commonly-misused.md | 348 ++ .../signs-of-ai-writing.md | 901 ++++ builtin-skills/my-writing-style | 1 - builtin-skills/my-writing-style/README.md | 71 + builtin-skills/my-writing-style/SKILL.md | 206 + .../my-writing-style/scripts/improve.py | 426 ++ .../my-writing-style/scripts/observe.py | 309 ++ .../ai-coding-discipline/SKILL.md | 215 + .../api-design-principles/SKILL.md | 518 +++ .../assets/api-design-checklist.md | 155 + .../references/graphql-schema-design.md | 583 +++ .../references/rest-best-practices.md | 408 ++ .../clean-architecture/SKILL.md | 113 + .../assets/templates/_template.md | 40 + .../references/_sections.md | 46 + .../references/adapt-anti-corruption-layer.md | 112 + .../references/adapt-controller-thin.md | 101 + .../references/adapt-gateway-abstraction.md | 119 + .../references/adapt-mapper-translation.md | 119 + .../references/adapt-presenter-formats.md | 109 + .../bound-boundary-cost-awareness.md | 105 + .../references/bound-defer-decisions.md | 105 + .../references/bound-humble-object.md | 108 + .../references/bound-main-component.md | 106 + .../references/bound-partial-boundaries.md | 84 + .../bound-service-internal-architecture.md | 94 + .../references/comp-common-closure.md | 62 + .../references/comp-common-reuse.md | 71 + .../comp-reuse-release-equivalence.md | 70 + .../references/comp-screaming-architecture.md | 77 + .../references/comp-stable-dependencies.md | 69 + .../references/dep-acyclic-dependencies.md | 84 + .../dep-data-crossing-boundaries.md | 61 + .../references/dep-interface-ownership.md | 60 + .../references/dep-inward-only.md | 69 + .../references/dep-no-framework-imports.md | 69 + .../references/dep-stable-abstractions.md | 76 + .../entity-encapsulate-invariants.md | 83 + .../entity-no-persistence-awareness.md | 90 + .../references/entity-pure-business-rules.md | 68 + .../references/entity-rich-not-anemic.md | 106 + .../references/entity-value-objects.md | 100 + .../references/frame-di-container-edge.md | 116 + .../references/frame-domain-purity.md | 121 + .../references/frame-logging-abstraction.md | 127 + .../references/frame-orm-in-infrastructure.md | 103 + .../references/frame-web-in-infrastructure.md | 132 + .../references/test-boundary-verification.md | 106 + .../references/test-layer-isolation.md | 121 + .../references/test-testable-design.md | 104 + .../references/test-tests-are-architecture.md | 106 + .../usecase-explicit-dependencies.md | 104 + .../references/usecase-input-output-ports.md | 98 + .../usecase-no-presentation-logic.md | 101 + .../usecase-orchestrates-not-implements.md | 102 + .../usecase-single-responsibility.md | 96 + .../usecase-transaction-boundary.md | 80 + .../software-engineer/clean-code/SKILL.md | 128 + .../clean-code/assets/templates/_template.md | 30 + .../clean-code/references/_sections.md | 56 + .../references/bound-learning-tests.md | 59 + .../references/bound-wrap-third-party.md | 77 + .../clean-code/references/class-cohesion.md | 66 + .../references/class-isolate-from-change.md | 76 + .../references/class-organize-for-change.md | 70 + .../references/class-separate-concerns.md | 74 + .../clean-code/references/class-small.md | 63 + .../cmt-avoid-commented-out-code.md | 48 + .../references/cmt-avoid-redundant.md | 68 + .../references/cmt-explain-intent.md | 54 + .../references/cmt-express-in-code.md | 58 + .../references/cmt-warning-consequences.md | 66 + .../references/emerge-expressiveness.md | 52 + .../references/emerge-simple-design.md | 59 + .../clean-code/references/err-avoid-null.md | 78 + .../references/err-define-by-caller-needs.md | 67 + .../references/err-provide-context.md | 53 + .../references/err-use-exceptions.md | 88 + .../references/err-write-try-catch-first.md | 53 + .../references/fmt-horizontal-alignment.md | 59 + .../clean-code/references/fmt-indentation.md | 60 + .../clean-code/references/fmt-team-rules.md | 67 + .../references/fmt-vertical-formatting.md | 72 + .../references/func-abstraction-level.md | 68 + .../func-command-query-separation.md | 57 + .../clean-code/references/func-dry.md | 70 + .../references/func-minimize-arguments.md | 56 + .../references/func-no-side-effects.md | 67 + .../clean-code/references/func-one-thing.md | 77 + .../clean-code/references/func-small.md | 71 + .../references/name-avoid-disinformation.md | 44 + .../references/name-avoid-encodings.md | 66 + .../clean-code/references/name-class-noun.md | 54 + .../references/name-intention-revealing.md | 47 + .../name-meaningful-distinctions.md | 54 + .../clean-code/references/name-method-verb.md | 55 + .../references/name-pronounceable.md | 38 + .../clean-code/references/name-searchable.md | 39 + .../references/obj-avoid-hybrids.md | 69 + .../references/obj-data-abstraction.md | 51 + .../references/obj-data-object-asymmetry.md | 72 + .../clean-code/references/obj-dto.md | 63 + .../references/obj-law-of-demeter.md | 45 + .../references/test-build-operate-check.md | 78 + .../clean-code/references/test-first-law.md | 68 + .../references/test-first-principles.md | 80 + .../clean-code/references/test-keep-clean.md | 75 + .../clean-code/references/test-one-assert.md | 65 + .../software-engineer/clean-comments/SKILL.md | 52 + .../clean-functions/SKILL.md | 66 + .../software-engineer/clean-general/SKILL.md | 97 + .../software-engineer/clean-names/SKILL.md | 136 + .../software-engineer/clean-tests/SKILL.md | 196 + .../coding-guidelines/SKILL.md | 95 + .../coding-guidelines/clippy-lints/_index.md | 16 + .../coding-guidelines/index/rules-index.md | 6 + .../ddia-principles/SKILL.md | 421 ++ .../devops-engineer/SKILL.md | 144 + .../references/deployment-strategies.md | 241 + .../references/docker-patterns.md | 113 + .../references/github-actions.md | 139 + .../references/incident-response.md | 331 ++ .../devops-engineer/references/kubernetes.md | 154 + .../references/platform-engineering.md | 417 ++ .../references/release-automation.md | 527 +++ .../references/terraform-iac.md | 141 + .../e2e-testing-patterns/SKILL.md | 535 +++ .../mobile-development/SKILL.md | 261 ++ .../references/MOBILE_GUIDE.md | 73 + .../openapi-spec-generation/SKILL.md | 1017 +++++ .../optimize-cicd-pipeline/SKILL.md | 36 + .../senior-architect/SKILL.md | 343 ++ .../references/architecture_patterns.md | 470 ++ .../references/system_design_workflows.md | 536 +++ .../references/tech_decision_guide.md | 412 ++ src/main/index.ts | 1 + src/main/ipc-support.ts | 13 +- src/main/message-dispatch.ts | 7 + src/main/orchestration/heartbeat.ts | 7 + src/main/suppress-warnings.ts | 43 +- 287 files changed, 59858 insertions(+), 10 deletions(-) create mode 100644 builtin-skills/Video-maker/remotion-best-practices/SKILL.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/3d.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/animations.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/assets.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/audio-visualization.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/audio.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/calculate-metadata.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/can-decode.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/charts.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/compositions.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/display-captions.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/extract-frames.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/ffmpeg.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/fonts.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/get-audio-duration.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/get-video-dimensions.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/get-video-duration.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/gifs.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/images.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/import-srt-captions.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/light-leaks.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/lottie.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/maps.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/measuring-dom-nodes.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/measuring-text.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/parameters.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/sequencing.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/sfx.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/subtitles.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/tailwind.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/text-animations.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/timing.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/transcribe-captions.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/transitions.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/transparent-videos.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/trimming.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/videos.md create mode 100644 builtin-skills/Video-maker/remotion-best-practices/rules/voiceover.md create mode 100644 builtin-skills/basic-for-all/deep-research/SKILL.md delete mode 160000 builtin-skills/basic-for-all/my-writing-style create mode 100644 builtin-skills/basic-for-all/my-writing-style/README.md create mode 100644 builtin-skills/basic-for-all/my-writing-style/SKILL.md create mode 100644 builtin-skills/basic-for-all/my-writing-style/scripts/improve.py create mode 100644 builtin-skills/basic-for-all/my-writing-style/scripts/observe.py create mode 100644 builtin-skills/basic-for-all/nopua/SKILL.md create mode 100644 builtin-skills/basic-for-all/systematic-debugging/CREATION-LOG.md create mode 100644 builtin-skills/basic-for-all/systematic-debugging/SKILL.md create mode 100644 builtin-skills/basic-for-all/systematic-debugging/condition-based-waiting.md create mode 100644 builtin-skills/basic-for-all/systematic-debugging/defense-in-depth.md create mode 100644 builtin-skills/basic-for-all/systematic-debugging/root-cause-tracing.md create mode 100644 builtin-skills/basic-for-all/systematic-debugging/test-academic.md create mode 100644 builtin-skills/basic-for-all/systematic-debugging/test-pressure-1.md create mode 100644 builtin-skills/basic-for-all/systematic-debugging/test-pressure-2.md create mode 100644 builtin-skills/basic-for-all/systematic-debugging/test-pressure-3.md create mode 100644 builtin-skills/document-process/docx/SKILL.md create mode 100644 builtin-skills/document-process/minimax-docx/SKILL.md create mode 100644 builtin-skills/document-process/minimax-docx/references/cjk_typography.md create mode 100644 builtin-skills/document-process/minimax-docx/references/cjk_university_template_guide.md create mode 100644 builtin-skills/document-process/minimax-docx/references/comments_guide.md create mode 100644 builtin-skills/document-process/minimax-docx/references/design_good_bad_examples.md create mode 100644 builtin-skills/document-process/minimax-docx/references/design_principles.md create mode 100644 builtin-skills/document-process/minimax-docx/references/openxml_element_order.md create mode 100644 builtin-skills/document-process/minimax-docx/references/openxml_encyclopedia_part1.md create mode 100644 builtin-skills/document-process/minimax-docx/references/openxml_encyclopedia_part2.md create mode 100644 builtin-skills/document-process/minimax-docx/references/openxml_encyclopedia_part3.md create mode 100644 builtin-skills/document-process/minimax-docx/references/openxml_namespaces.md create mode 100644 builtin-skills/document-process/minimax-docx/references/openxml_units.md create mode 100644 builtin-skills/document-process/minimax-docx/references/scenario_a_create.md create mode 100644 builtin-skills/document-process/minimax-docx/references/scenario_b_edit_content.md create mode 100644 builtin-skills/document-process/minimax-docx/references/scenario_c_apply_template.md create mode 100644 builtin-skills/document-process/minimax-docx/references/track_changes_guide.md create mode 100644 builtin-skills/document-process/minimax-docx/references/troubleshooting.md create mode 100644 builtin-skills/document-process/minimax-docx/references/typography_guide.md create mode 100644 builtin-skills/document-process/minimax-docx/references/xsd_validation_guide.md create mode 100644 builtin-skills/document-process/minimax-pdf/README.md create mode 100644 builtin-skills/document-process/minimax-pdf/SKILL.md create mode 100644 builtin-skills/document-process/minimax-pdf/design/design.md create mode 100644 builtin-skills/document-process/minimax-xlsx/SKILL.md create mode 100644 builtin-skills/document-process/minimax-xlsx/references/create.md create mode 100644 builtin-skills/document-process/minimax-xlsx/references/edit.md create mode 100644 builtin-skills/document-process/minimax-xlsx/references/fix.md create mode 100644 builtin-skills/document-process/minimax-xlsx/references/format.md create mode 100644 builtin-skills/document-process/minimax-xlsx/references/ooxml-cheatsheet.md create mode 100644 builtin-skills/document-process/minimax-xlsx/references/read-analyze.md create mode 100644 builtin-skills/document-process/minimax-xlsx/references/validate.md delete mode 160000 builtin-skills/document-process/my-writing-style create mode 100644 builtin-skills/document-process/my-writing-style/README.md create mode 100644 builtin-skills/document-process/my-writing-style/SKILL.md create mode 100644 builtin-skills/document-process/my-writing-style/scripts/improve.py create mode 100644 builtin-skills/document-process/my-writing-style/scripts/observe.py create mode 100644 builtin-skills/document-process/pptx-generator/SKILL.md create mode 100644 builtin-skills/document-process/pptx-generator/references/design-system.md create mode 100644 builtin-skills/document-process/pptx-generator/references/editing.md create mode 100644 builtin-skills/document-process/pptx-generator/references/pitfalls.md create mode 100644 builtin-skills/document-process/pptx-generator/references/pptxgenjs.md create mode 100644 builtin-skills/document-process/pptx-generator/references/slide-types.md create mode 100644 builtin-skills/document-process/wechat-article-writer/SKILL.md create mode 100644 builtin-skills/document-process/writing-clearly-and-concisely/README.md create mode 100644 builtin-skills/document-process/writing-clearly-and-concisely/SKILL.md create mode 100644 builtin-skills/document-process/writing-clearly-and-concisely/elements-of-style/01-introductory.md create mode 100644 builtin-skills/document-process/writing-clearly-and-concisely/elements-of-style/02-elementary-rules-of-usage.md create mode 100644 builtin-skills/document-process/writing-clearly-and-concisely/elements-of-style/03-elementary-principles-of-composition.md create mode 100644 builtin-skills/document-process/writing-clearly-and-concisely/elements-of-style/04-a-few-matters-of-form.md create mode 100644 builtin-skills/document-process/writing-clearly-and-concisely/elements-of-style/05-words-and-expressions-commonly-misused.md create mode 100644 builtin-skills/document-process/writing-clearly-and-concisely/signs-of-ai-writing.md create mode 100644 builtin-skills/document-process/xlsx/SKILL.md create mode 100644 builtin-skills/frontend-design/canvas-design/SKILL.md create mode 100644 builtin-skills/frontend-design/design-dna/README.md create mode 100644 builtin-skills/frontend-design/design-dna/README.zh-CN.md create mode 100644 builtin-skills/frontend-design/design-dna/SKILL.md create mode 100644 builtin-skills/frontend-design/design-dna/references/generation-guide.md create mode 100644 builtin-skills/frontend-design/design-dna/references/schema.md create mode 100644 builtin-skills/frontend-design/design-taste-frontend/SKILL.md create mode 100644 builtin-skills/frontend-design/frontend-design/SKILL.md create mode 100644 builtin-skills/frontend-design/high-end-visual-design/SKILL.md create mode 100644 builtin-skills/frontend-design/senior-frontend/SKILL.md create mode 100644 builtin-skills/frontend-design/senior-frontend/references/frontend_best_practices.md create mode 100644 builtin-skills/frontend-design/senior-frontend/references/nextjs_optimization_guide.md create mode 100644 builtin-skills/frontend-design/senior-frontend/references/react_patterns.md create mode 100644 builtin-skills/frontend-design/stitch-design-taste/DESIGN.md create mode 100644 builtin-skills/frontend-design/stitch-design-taste/SKILL.md create mode 100644 builtin-skills/iOS-Dev/app-icon-generator/SKILL.md create mode 100644 builtin-skills/iOS-Dev/app-store-screenshots/SKILL.md create mode 100644 builtin-skills/iOS-Dev/icon-generator/SKILL.md create mode 100644 builtin-skills/iOS-Dev/icon-generator/references/icon-sizes.md create mode 100644 builtin-skills/iOS-Dev/icon-generator/references/unreal-engine.md create mode 100644 builtin-skills/iOS-Dev/icon-generator/references/web-ui-ux.md create mode 100644 builtin-skills/iOS-Dev/ios-swift-development/SKILL.md create mode 100644 builtin-skills/iOS-Dev/ios-swift-development/references/mvvm-architecture-setup.md create mode 100644 builtin-skills/iOS-Dev/ios-swift-development/references/network-service-with-urlsession.md create mode 100644 builtin-skills/iOS-Dev/ios-swift-development/references/swiftui-views.md create mode 100644 builtin-skills/iOS-Dev/mobile-development/SKILL.md create mode 100644 builtin-skills/iOS-Dev/mobile-development/references/MOBILE_GUIDE.md create mode 100644 builtin-skills/marketing/clean-general/SKILL.md delete mode 160000 builtin-skills/marketing/my-writing-style create mode 100644 builtin-skills/marketing/my-writing-style/README.md create mode 100644 builtin-skills/marketing/my-writing-style/SKILL.md create mode 100644 builtin-skills/marketing/my-writing-style/scripts/improve.py create mode 100644 builtin-skills/marketing/my-writing-style/scripts/observe.py create mode 100644 builtin-skills/marketing/wechat-article-writer/SKILL.md create mode 100644 builtin-skills/marketing/writing-clearly-and-concisely/README.md create mode 100644 builtin-skills/marketing/writing-clearly-and-concisely/SKILL.md create mode 100644 builtin-skills/marketing/writing-clearly-and-concisely/elements-of-style/01-introductory.md create mode 100644 builtin-skills/marketing/writing-clearly-and-concisely/elements-of-style/02-elementary-rules-of-usage.md create mode 100644 builtin-skills/marketing/writing-clearly-and-concisely/elements-of-style/03-elementary-principles-of-composition.md create mode 100644 builtin-skills/marketing/writing-clearly-and-concisely/elements-of-style/04-a-few-matters-of-form.md create mode 100644 builtin-skills/marketing/writing-clearly-and-concisely/elements-of-style/05-words-and-expressions-commonly-misused.md create mode 100644 builtin-skills/marketing/writing-clearly-and-concisely/signs-of-ai-writing.md delete mode 160000 builtin-skills/my-writing-style create mode 100644 builtin-skills/my-writing-style/README.md create mode 100644 builtin-skills/my-writing-style/SKILL.md create mode 100644 builtin-skills/my-writing-style/scripts/improve.py create mode 100644 builtin-skills/my-writing-style/scripts/observe.py create mode 100644 builtin-skills/software-engineer/ai-coding-discipline/SKILL.md create mode 100644 builtin-skills/software-engineer/api-design-principles/SKILL.md create mode 100644 builtin-skills/software-engineer/api-design-principles/assets/api-design-checklist.md create mode 100644 builtin-skills/software-engineer/api-design-principles/references/graphql-schema-design.md create mode 100644 builtin-skills/software-engineer/api-design-principles/references/rest-best-practices.md create mode 100644 builtin-skills/software-engineer/clean-architecture/SKILL.md create mode 100644 builtin-skills/software-engineer/clean-architecture/assets/templates/_template.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/_sections.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/adapt-anti-corruption-layer.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/adapt-controller-thin.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/adapt-gateway-abstraction.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/adapt-mapper-translation.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/adapt-presenter-formats.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/bound-boundary-cost-awareness.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/bound-defer-decisions.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/bound-humble-object.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/bound-main-component.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/bound-partial-boundaries.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/bound-service-internal-architecture.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/comp-common-closure.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/comp-common-reuse.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/comp-reuse-release-equivalence.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/comp-screaming-architecture.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/comp-stable-dependencies.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/dep-acyclic-dependencies.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/dep-data-crossing-boundaries.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/dep-interface-ownership.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/dep-inward-only.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/dep-no-framework-imports.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/dep-stable-abstractions.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/entity-encapsulate-invariants.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/entity-no-persistence-awareness.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/entity-pure-business-rules.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/entity-rich-not-anemic.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/entity-value-objects.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/frame-di-container-edge.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/frame-domain-purity.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/frame-logging-abstraction.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/frame-orm-in-infrastructure.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/frame-web-in-infrastructure.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/test-boundary-verification.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/test-layer-isolation.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/test-testable-design.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/test-tests-are-architecture.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/usecase-explicit-dependencies.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/usecase-input-output-ports.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/usecase-no-presentation-logic.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/usecase-orchestrates-not-implements.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/usecase-single-responsibility.md create mode 100644 builtin-skills/software-engineer/clean-architecture/references/usecase-transaction-boundary.md create mode 100644 builtin-skills/software-engineer/clean-code/SKILL.md create mode 100644 builtin-skills/software-engineer/clean-code/assets/templates/_template.md create mode 100644 builtin-skills/software-engineer/clean-code/references/_sections.md create mode 100644 builtin-skills/software-engineer/clean-code/references/bound-learning-tests.md create mode 100644 builtin-skills/software-engineer/clean-code/references/bound-wrap-third-party.md create mode 100644 builtin-skills/software-engineer/clean-code/references/class-cohesion.md create mode 100644 builtin-skills/software-engineer/clean-code/references/class-isolate-from-change.md create mode 100644 builtin-skills/software-engineer/clean-code/references/class-organize-for-change.md create mode 100644 builtin-skills/software-engineer/clean-code/references/class-separate-concerns.md create mode 100644 builtin-skills/software-engineer/clean-code/references/class-small.md create mode 100644 builtin-skills/software-engineer/clean-code/references/cmt-avoid-commented-out-code.md create mode 100644 builtin-skills/software-engineer/clean-code/references/cmt-avoid-redundant.md create mode 100644 builtin-skills/software-engineer/clean-code/references/cmt-explain-intent.md create mode 100644 builtin-skills/software-engineer/clean-code/references/cmt-express-in-code.md create mode 100644 builtin-skills/software-engineer/clean-code/references/cmt-warning-consequences.md create mode 100644 builtin-skills/software-engineer/clean-code/references/emerge-expressiveness.md create mode 100644 builtin-skills/software-engineer/clean-code/references/emerge-simple-design.md create mode 100644 builtin-skills/software-engineer/clean-code/references/err-avoid-null.md create mode 100644 builtin-skills/software-engineer/clean-code/references/err-define-by-caller-needs.md create mode 100644 builtin-skills/software-engineer/clean-code/references/err-provide-context.md create mode 100644 builtin-skills/software-engineer/clean-code/references/err-use-exceptions.md create mode 100644 builtin-skills/software-engineer/clean-code/references/err-write-try-catch-first.md create mode 100644 builtin-skills/software-engineer/clean-code/references/fmt-horizontal-alignment.md create mode 100644 builtin-skills/software-engineer/clean-code/references/fmt-indentation.md create mode 100644 builtin-skills/software-engineer/clean-code/references/fmt-team-rules.md create mode 100644 builtin-skills/software-engineer/clean-code/references/fmt-vertical-formatting.md create mode 100644 builtin-skills/software-engineer/clean-code/references/func-abstraction-level.md create mode 100644 builtin-skills/software-engineer/clean-code/references/func-command-query-separation.md create mode 100644 builtin-skills/software-engineer/clean-code/references/func-dry.md create mode 100644 builtin-skills/software-engineer/clean-code/references/func-minimize-arguments.md create mode 100644 builtin-skills/software-engineer/clean-code/references/func-no-side-effects.md create mode 100644 builtin-skills/software-engineer/clean-code/references/func-one-thing.md create mode 100644 builtin-skills/software-engineer/clean-code/references/func-small.md create mode 100644 builtin-skills/software-engineer/clean-code/references/name-avoid-disinformation.md create mode 100644 builtin-skills/software-engineer/clean-code/references/name-avoid-encodings.md create mode 100644 builtin-skills/software-engineer/clean-code/references/name-class-noun.md create mode 100644 builtin-skills/software-engineer/clean-code/references/name-intention-revealing.md create mode 100644 builtin-skills/software-engineer/clean-code/references/name-meaningful-distinctions.md create mode 100644 builtin-skills/software-engineer/clean-code/references/name-method-verb.md create mode 100644 builtin-skills/software-engineer/clean-code/references/name-pronounceable.md create mode 100644 builtin-skills/software-engineer/clean-code/references/name-searchable.md create mode 100644 builtin-skills/software-engineer/clean-code/references/obj-avoid-hybrids.md create mode 100644 builtin-skills/software-engineer/clean-code/references/obj-data-abstraction.md create mode 100644 builtin-skills/software-engineer/clean-code/references/obj-data-object-asymmetry.md create mode 100644 builtin-skills/software-engineer/clean-code/references/obj-dto.md create mode 100644 builtin-skills/software-engineer/clean-code/references/obj-law-of-demeter.md create mode 100644 builtin-skills/software-engineer/clean-code/references/test-build-operate-check.md create mode 100644 builtin-skills/software-engineer/clean-code/references/test-first-law.md create mode 100644 builtin-skills/software-engineer/clean-code/references/test-first-principles.md create mode 100644 builtin-skills/software-engineer/clean-code/references/test-keep-clean.md create mode 100644 builtin-skills/software-engineer/clean-code/references/test-one-assert.md create mode 100644 builtin-skills/software-engineer/clean-comments/SKILL.md create mode 100644 builtin-skills/software-engineer/clean-functions/SKILL.md create mode 100644 builtin-skills/software-engineer/clean-general/SKILL.md create mode 100644 builtin-skills/software-engineer/clean-names/SKILL.md create mode 100644 builtin-skills/software-engineer/clean-tests/SKILL.md create mode 100644 builtin-skills/software-engineer/coding-guidelines/SKILL.md create mode 100644 builtin-skills/software-engineer/coding-guidelines/clippy-lints/_index.md create mode 100644 builtin-skills/software-engineer/coding-guidelines/index/rules-index.md create mode 100644 builtin-skills/software-engineer/ddia-principles/SKILL.md create mode 100644 builtin-skills/software-engineer/devops-engineer/SKILL.md create mode 100644 builtin-skills/software-engineer/devops-engineer/references/deployment-strategies.md create mode 100644 builtin-skills/software-engineer/devops-engineer/references/docker-patterns.md create mode 100644 builtin-skills/software-engineer/devops-engineer/references/github-actions.md create mode 100644 builtin-skills/software-engineer/devops-engineer/references/incident-response.md create mode 100644 builtin-skills/software-engineer/devops-engineer/references/kubernetes.md create mode 100644 builtin-skills/software-engineer/devops-engineer/references/platform-engineering.md create mode 100644 builtin-skills/software-engineer/devops-engineer/references/release-automation.md create mode 100644 builtin-skills/software-engineer/devops-engineer/references/terraform-iac.md create mode 100644 builtin-skills/software-engineer/e2e-testing-patterns/SKILL.md create mode 100644 builtin-skills/software-engineer/mobile-development/SKILL.md create mode 100644 builtin-skills/software-engineer/mobile-development/references/MOBILE_GUIDE.md create mode 100644 builtin-skills/software-engineer/openapi-spec-generation/SKILL.md create mode 100644 builtin-skills/software-engineer/optimize-cicd-pipeline/SKILL.md create mode 100644 builtin-skills/software-engineer/senior-architect/SKILL.md create mode 100644 builtin-skills/software-engineer/senior-architect/references/architecture_patterns.md create mode 100644 builtin-skills/software-engineer/senior-architect/references/system_design_workflows.md create mode 100644 builtin-skills/software-engineer/senior-architect/references/tech_decision_guide.md diff --git a/.gitignore b/.gitignore index 8f35c826..cb1621da 100644 --- a/.gitignore +++ b/.gitignore @@ -57,6 +57,11 @@ oldreference/ !/CLAUDE.md !/.planning/**/*.md !/src/main/prompt-builder/**/*.md +# Bundled Agent Skills ship their SKILL.md / README.md as source of truth. +# The Pi skills loader rejects entries whose frontmatter `name` diverges from +# the parent directory; losing SKILL.md to the blanket *.md ignore meant a +# fresh checkout silently dropped every skill from the catalogue. +!/builtin-skills/**/*.md *.zip *.blockmap *.exe diff --git a/builtin-skills/Video-maker/remotion-best-practices/SKILL.md b/builtin-skills/Video-maker/remotion-best-practices/SKILL.md new file mode 100644 index 00000000..7ddaa0fd --- /dev/null +++ b/builtin-skills/Video-maker/remotion-best-practices/SKILL.md @@ -0,0 +1,61 @@ +--- +name: remotion-best-practices +description: Best practices for Remotion - Video creation in React +metadata: + tags: remotion, video, react, animation, composition +--- + +## When to use + +Use this skills whenever you are dealing with Remotion code to obtain the domain-specific knowledge. + +## Captions + +When dealing with captions or subtitles, load the [./rules/subtitles.md](./rules/subtitles.md) file for more information. + +## Using FFmpeg + +For some video operations, such as trimming videos or detecting silence, FFmpeg should be used. Load the [./rules/ffmpeg.md](./rules/ffmpeg.md) file for more information. + +## Audio visualization + +When needing to visualize audio (spectrum bars, waveforms, bass-reactive effects), load the [./rules/audio-visualization.md](./rules/audio-visualization.md) file for more information. + +## Sound effects + +When needing to use sound effects, load the [./rules/sound-effects.md](./rules/sound-effects.md) file for more information. + +## How to use + +Read individual rule files for detailed explanations and code examples: + +- [rules/3d.md](rules/3d.md) - 3D content in Remotion using Three.js and React Three Fiber +- [rules/animations.md](rules/animations.md) - Fundamental animation skills for Remotion +- [rules/assets.md](rules/assets.md) - Importing images, videos, audio, and fonts into Remotion +- [rules/audio.md](rules/audio.md) - Using audio and sound in Remotion - importing, trimming, volume, speed, pitch +- [rules/calculate-metadata.md](rules/calculate-metadata.md) - Dynamically set composition duration, dimensions, and props +- [rules/can-decode.md](rules/can-decode.md) - Check if a video can be decoded by the browser using Mediabunny +- [rules/charts.md](rules/charts.md) - Chart and data visualization patterns for Remotion (bar, pie, line, stock charts) +- [rules/compositions.md](rules/compositions.md) - Defining compositions, stills, folders, default props and dynamic metadata +- [rules/extract-frames.md](rules/extract-frames.md) - Extract frames from videos at specific timestamps using Mediabunny +- [rules/fonts.md](rules/fonts.md) - Loading Google Fonts and local fonts in Remotion +- [rules/get-audio-duration.md](rules/get-audio-duration.md) - Getting the duration of an audio file in seconds with Mediabunny +- [rules/get-video-dimensions.md](rules/get-video-dimensions.md) - Getting the width and height of a video file with Mediabunny +- [rules/get-video-duration.md](rules/get-video-duration.md) - Getting the duration of a video file in seconds with Mediabunny +- [rules/gifs.md](rules/gifs.md) - Displaying GIFs synchronized with Remotion's timeline +- [rules/images.md](rules/images.md) - Embedding images in Remotion using the Img component +- [rules/light-leaks.md](rules/light-leaks.md) - Light leak overlay effects using @remotion/light-leaks +- [rules/lottie.md](rules/lottie.md) - Embedding Lottie animations in Remotion +- [rules/measuring-dom-nodes.md](rules/measuring-dom-nodes.md) - Measuring DOM element dimensions in Remotion +- [rules/measuring-text.md](rules/measuring-text.md) - Measuring text dimensions, fitting text to containers, and checking overflow +- [rules/sequencing.md](rules/sequencing.md) - Sequencing patterns for Remotion - delay, trim, limit duration of items +- [rules/tailwind.md](rules/tailwind.md) - Using TailwindCSS in Remotion +- [rules/text-animations.md](rules/text-animations.md) - Typography and text animation patterns for Remotion +- [rules/timing.md](rules/timing.md) - Interpolation curves in Remotion - linear, easing, spring animations +- [rules/transitions.md](rules/transitions.md) - Scene transition patterns for Remotion +- [rules/transparent-videos.md](rules/transparent-videos.md) - Rendering out a video with transparency +- [rules/trimming.md](rules/trimming.md) - Trimming patterns for Remotion - cut the beginning or end of animations +- [rules/videos.md](rules/videos.md) - Embedding videos in Remotion - trimming, volume, speed, looping, pitch +- [rules/parameters.md](rules/parameters.md) - Make a video parametrizable by adding a Zod schema +- [rules/maps.md](rules/maps.md) - Add a map using Mapbox and animate it +- [rules/voiceover.md](rules/voiceover.md) - Adding AI-generated voiceover to Remotion compositions using ElevenLabs TTS diff --git a/builtin-skills/Video-maker/remotion-best-practices/rules/3d.md b/builtin-skills/Video-maker/remotion-best-practices/rules/3d.md new file mode 100644 index 00000000..c9d254f1 --- /dev/null +++ b/builtin-skills/Video-maker/remotion-best-practices/rules/3d.md @@ -0,0 +1,86 @@ +--- +name: 3d +description: 3D content in Remotion using Three.js and React Three Fiber. +metadata: + tags: 3d, three, threejs +--- + +# Using Three.js and React Three Fiber in Remotion + +Follow React Three Fiber and Three.js best practices. +Only the following Remotion-specific rules need to be followed: + +## Prerequisites + +First, the `@remotion/three` package needs to be installed. +If it is not, use the following command: + +```bash +npx remotion add @remotion/three # If project uses npm +bunx remotion add @remotion/three # If project uses bun +yarn remotion add @remotion/three # If project uses yarn +pnpm exec remotion add @remotion/three # If project uses pnpm +``` + +## Using ThreeCanvas + +You MUST wrap 3D content in `` and include proper lighting. +`` MUST have a `width` and `height` prop. + +```tsx +import { ThreeCanvas } from "@remotion/three"; +import { useVideoConfig } from "remotion"; + +const { width, height } = useVideoConfig(); + + + + + + + + +; +``` + +## No animations not driven by `useCurrentFrame()` + +Shaders, models etc MUST NOT animate by themselves. +No animations are allowed unless they are driven by `useCurrentFrame()`. +Otherwise, it will cause flickering during rendering. + +Using `useFrame()` from `@react-three/fiber` is forbidden. + +## Animate using `useCurrentFrame()` + +Use `useCurrentFrame()` to perform animations. + +```tsx +const frame = useCurrentFrame(); +const rotationY = frame * 0.02; + + + + +; +``` + +## Using `` inside `` + +The `layout` prop of any `` inside a `` must be set to `none`. + +```tsx +import { Sequence } from "remotion"; +import { ThreeCanvas } from "@remotion/three"; + +const { width, height } = useVideoConfig(); + + + + + + + + +; +``` diff --git a/builtin-skills/Video-maker/remotion-best-practices/rules/animations.md b/builtin-skills/Video-maker/remotion-best-practices/rules/animations.md new file mode 100644 index 00000000..619591e8 --- /dev/null +++ b/builtin-skills/Video-maker/remotion-best-practices/rules/animations.md @@ -0,0 +1,27 @@ +--- +name: animations +description: Fundamental animation skills for Remotion +metadata: + tags: animations, transitions, frames, useCurrentFrame +--- + +All animations MUST be driven by the `useCurrentFrame()` hook. +Write animations in seconds and multiply them by the `fps` value from `useVideoConfig()`. + +```tsx +import { useCurrentFrame } from "remotion"; + +export const FadeIn = () => { + const frame = useCurrentFrame(); + const { fps } = useVideoConfig(); + + const opacity = interpolate(frame, [0, 2 * fps], [0, 1], { + extrapolateRight: "clamp", + }); + + return
Hello World!
; +}; +``` + +CSS transitions or animations are FORBIDDEN - they will not render correctly. +Tailwind animation class names are FORBIDDEN - they will not render correctly. diff --git a/builtin-skills/Video-maker/remotion-best-practices/rules/assets.md b/builtin-skills/Video-maker/remotion-best-practices/rules/assets.md new file mode 100644 index 00000000..a5d40152 --- /dev/null +++ b/builtin-skills/Video-maker/remotion-best-practices/rules/assets.md @@ -0,0 +1,78 @@ +--- +name: assets +description: Importing images, videos, audio, and fonts into Remotion +metadata: + tags: assets, staticFile, images, fonts, public +--- + +# Importing assets in Remotion + +## The public folder + +Place assets in the `public/` folder at your project root. + +## Using staticFile() + +You MUST use `staticFile()` to reference files from the `public/` folder: + +```tsx +import { Img, staticFile } from "remotion"; + +export const MyComposition = () => { + return ; +}; +``` + +The function returns an encoded URL that works correctly when deploying to subdirectories. + +## Using with components + +**Images:** + +```tsx +import { Img, staticFile } from "remotion"; + +; +``` + +**Videos:** + +```tsx +import { Video } from "@remotion/media"; +import { staticFile } from "remotion"; + +