[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CNCXMSB1MKQ7646AR12VXY":3,"skill-same:01M6CNCXMSB1MKQ7646AR12VXY":76},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":55,"repositoryHtmlUrl":56,"repositoryHomepageUrl":57,"ownerHtmlUrl":58,"ownerBlogUrl":59,"ownerDescription":60,"updatedAt":61,"install":62,"resources":75},"01M6CNCXMSB1MKQ7646AR12VXY","rea",null,"Find out exactly how a feature is implemented in a shipped tool or app you don't have the source for (desktop apps, Electron apps like Claude desktop, native CLIs like Codex, websites, APKs, .NET assemblies) using REA - Reverse Engineer Anything (github.com\u002Fmorluto\u002Frea). Sets REA up when it is missing (CLI, MCP registration, Hopper or Ghidra), routes the target to the right REA tool, keeps evidence out of the context window, and turns findings into a clean-room spec before any rebuild. Use when the user says 'use REA', 'reverse engineer', 'how does \u003Capp> do X', 'how is this feature implemented in \u003Ctool>', 'clone this feature', 'decompile', 'look inside the app', or asks how a closed-source competitor works. Skip it when the source is available - read the repo instead.","anton-abyzov\u002Fvskill","anton-abyzov","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F979819?v=4","01M6CN5XDNZDM4A59WYJ1MF0DF","Anton Abyzov","01M6CN5XHVS7FXP067EJQVVZHK",47,"MIT","https:\u002F\u002Fgithub.com\u002Fanton-abyzov\u002Fvskill\u002Fblob\u002Fmain\u002Fskills\u002Frea\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[5,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"context","reverse engineer","do","registration","clean","rebuild","engineer","up","evidence","MCP","read","repo","reverse engineer anything","how","analysis","binary-analysis","ghidra","reverse-engineering","cli","2026-11-10 10:12:30",false,"---\nname: rea\ndescription: \"Find out exactly how a feature is implemented in a shipped tool or app you don't have the source for (desktop apps, Electron apps like Claude desktop, native CLIs like Codex, websites, APKs, .NET assemblies) using REA - Reverse Engineer Anything (github.com\u002Fmorluto\u002Frea). Sets REA up when it is missing (CLI, MCP registration, Hopper or Ghidra), routes the target to the right REA tool, keeps evidence out of the context window, and turns findings into a clean-room spec before any rebuild. Use when the user says 'use REA', 'reverse engineer', 'how does \u003Capp> do X', 'how is this feature implemented in \u003Ctool>', 'clone this feature', 'decompile', 'look inside the app', or asks how a closed-source competitor works. Skip it when the source is available - read the repo instead.\"\nversion: 1.0.1\nlicense: MIT\nrepository: anton-abyzov\u002Fvskill\nmcp-deps: [rea]\nmetadata:\n  tags: reverse-engineering, rea, decompile, electron, asar, hopper, ghidra, binary-analysis, clean-room, feature-research\n---\n\n# REA: learn how a shipped feature really works\n\nWhen you need to know how a feature is implemented in a specific tool or app,\ndo not guess from docs, marketing pages or memory. Look at the shipped\nartifact with REA and cite what you found.\n\nREA (Reverse Engineer Anything) is an MIT-licensed CLI and MCP server by\nmorluto. It decompiles and inspects native binaries (through Hopper, Ghidra or\nIDA), Electron\u002FJavaScript bundles, websites, Android APKs, .NET assemblies,\nfirmware and more, and returns Evidence records with IDs you can cite.\n\nThis skill is the entry point: set up, route, run, report. REA's own\n`reverse-engineer-anything` skill holds the detailed per-tool workflow; load\nit when it is installed.\n\n## 0. Is the source available?\n\nIf the code is in a repo you can read (open source, the user's own project,\nan npm package with readable source), read it with normal tools. REA is for\nshipped artifacts: compiled binaries, minified bundles, signed apps.\n\n## 1. Check the setup (once per machine, not per task)\n\nIf the REA MCP tools (`open_binary`, `analyze_javascript_application`, ...)\nare already in your tool list, or `rea --version` works, skip straight to\nstep 2. Don't run diagnostics before every investigation. Only when\nsomething is missing or a call fails:\n\n```bash\nrea doctor --client claude_code --json         # or --client codex\n```\n\nMissing pieces, in order:\n\n1. **CLI.** Official package only: `npm i -g rea-agents@latest` (Node\n   ^22.19, ^24.11 or >=26; 23 and 25 are unsupported). No install scripts;\n   npm provenance is attached.\n2. **Agent registration.** Plan first, then apply:\n   ```bash\n   rea setup --client claude_code --client codex --skill=false --dry-run --json\n   rea setup --client claude_code --client codex --skill=false --yes --json\n   ```\n   Add `--install-hopper` on macOS to download Hopper from hopperapp.com\n   (codesign-verified, installed to `~\u002FApplications`). Setup then **opens\n   the Hopper app once**: tell the user before you run it, because a person\n   has to click \"Try the Demo\" (or enter a license) in its first-run window\n   before REA can drive it unattended. Hopper is only needed for native\n   binaries; Electron, JavaScript, web, APK and .NET work without it.\n   Restart the agent afterwards so it sees the tools.\n   Setup writes `HOPPER_LAUNCHER_PATH` only into the agents' MCP entries.\n   The `rea` CLI looks in `\u002FApplications`, so when Hopper went to\n   `~\u002FApplications` export it in the shell profile too:\n   `export HOPPER_LAUNCHER_PATH=\"$HOME\u002FApplications\u002FHopper Disassembler.app\u002FContents\u002FMacOS\u002Fhopper\"`.\n   A first open can time out while Hopper is still starting; retry once.\n3. **REA's own workflow skill** (optional, recommended): `rea setup --skill\n   --dry-run --json` shows the destinations (`~\u002F.agents\u002Fskills` plus each\n   registered agent's skill folder), then `--yes` installs. If the machine\n   keeps one canonical copy in `~\u002F.agents\u002Fskills` with links from agent\n   folders, replace the per-agent copy with a link to the shared one.\n\n`rea doctor` reporting Ghidra or IDA as \"not configured\" is fine when Hopper\nworks. Other unregistered clients show as config drift; ignore them.\n\n**Only trust `github.com\u002Fmorluto\u002Frea` and the npm package `rea-agents`.**\n`@morluto\u002Frea` is the superseded legacy name (old Hopper-only release); don't\ninstall it. Look-alike repos offering an \"official free download\" zip\nor a Windows installer are malware lures. Never run them.\n\n## 2. Route the target\n\n| Target | First move |\n|---|---|\n| Electron app (Claude desktop, Slack, VS Code, Cursor) | `analyze_javascript_application` on `\u003CApp>.app\u002FContents\u002FResources\u002Fapp.asar`, or on the unpacked `Contents\u002FResources\u002Fapp\u002F` folder when there is no ASAR (VS Code, Cursor) |\n| Native CLI or app (Rust, Go, Swift, C++: e.g. the Codex CLI binary) | `open_binary`, then function and string search; `close_binary` when done |\n| npm-distributed CLI (minified JS) | `analyze_javascript_application` on the package directory |\n| Website or web app | The user opens the page in a browser with its debug port on localhost; `list_browser_targets`, then `analyze_web_bundle` with that endpoint and target ID |\n| Android APK | `inspect_android_package` |\n| .NET assembly | `inspect_managed_artifact` |\n| Archive, DMG, IPA, ZIP | `open_binary` \u002F `inspect_artifact` for the member inventory |\n\nThe CLI mirrors the MCP tools (`rea analyze-javascript-application \u003Cpath>`,\n`rea decompile`, `rea function`, `rea inspect-artifact`); run\n`rea \u003Ccommand> --help` for flags.\n\n## 3. Run it without drowning the context\n\n- **Ask for summaries.** A full Electron analysis is large (Claude\n  desktop's ASAR produced a 100 MB Evidence record). Over MCP, call\n  `analyze_javascript_application` with `detail: \"summary\"`, then drill in\n  with `inspect_analysis_view` or `trace_application_feature` on the\n  returned `parent_evidence_id`. Retained Evidence IDs live only within one\n  MCP connection.\n- **On the CLI, write to a file.** `--json > file`, then slice with\n  `--filter-output` \u002F `--token-limit`, or `rea inspect-analysis-view`, which\n  takes workflow JSON (see its `--schema`), not the raw file. Never paste a\n  whole record into the conversation.\n- **Signed Electron apps fail integrity by default.** Code signing rewrites\n  unpacked native modules after packaging, so the declared ASAR hash no\n  longer matches. When the error names an unpacked `.node` file, rerun with\n  `--integrity-policy record-and-continue` (MCP: `integrity_policy:\n  \"record-and-continue\"`). Those bytes are marked untrusted and coverage is\n  reported as partial.\n- **Go from the user-visible string inward.** Find the UI text, setting name,\n  CLI flag or API path the feature exposes, locate it in the bundle or\n  binary, then follow callers and data flow to the implementation.\n- **Static before runtime, CLI before GUI.** Run the target (Electron or\n  process capture) only when static evidence can't answer the question and\n  the user agreed to launch it. Don't open GUI apps that wait on a prompt.\n- **Batch around one hypothesis.** Reuse the open session and existing\n  Evidence instead of re-running identical analysis.\n\n## 4. Report\n\nSeparate three things, every time:\n\n- **Observed:** what the artifact contains, with Evidence IDs and file or\n  function locations.\n- **Inferred:** what you conclude from it, and how confident you are.\n- **Unknown:** what static analysis could not show (server-side behavior,\n  runtime-only branches, encrypted payloads).\n\nLead with the plain-language answer to the user's question, then the evidence.\n\n## 5. Rebuilding a feature (clean room)\n\nWhen the goal is to build the same capability:\n\n1. Write a behavior spec from the evidence: inputs, outputs, states, edge\n   cases, error handling. Describe *what* it does, not their code.\n2. Implement from that spec with normal coding tools, in your own design.\n3. Do not copy decompiled code, embedded assets, keys, tokens, model\n   prompts or proprietary text into the user's project.\n\n## Boundaries\n\n- Analyze software the user is licensed to run, for interoperability,\n  research, security review or understanding a feature. Check the vendor's\n  terms when the user plans to ship a clone.\n- Secrets found inside an artifact (API keys, tokens) are reported as a\n  finding, never used and never written to files or commits.\n- Don't bypass DRM, licensing checks or anti-tamper, and don't attack\n  servers. REA reads local artifacts and observes what the user runs.\n","# REA: learn how a shipped feature really works\n\nWhen you need to know how a feature is implemented in a specific tool or app,\ndo not guess from docs, marketing pages or memory. Look at the shipped\nartifact with REA and cite what you found.\n\nREA (Reverse Engineer Anything) is an MIT-licensed CLI and MCP server by\nmorluto. It decompiles and inspects native binaries (through Hopper, Ghidra or\nIDA), Electron\u002FJavaScript bundles, websites, Android APKs, .NET assemblies,\nfirmware and more, and returns Evidence records with IDs you can cite.\n\nThis skill is the entry point: set up, route, run, report. REA's own\n`reverse-engineer-anything` skill holds the detailed per-tool workflow; load\nit when it is installed.\n\n## 0. Is the source available?\n\nIf the code is in a repo you can read (open source, the user's own project,\nan npm package with readable source), read it with normal tools. REA is for\nshipped artifacts: compiled binaries, minified bundles, signed apps.\n\n## 1. Check the setup (once per machine, not per task)\n\nIf the REA MCP tools (`open_binary`, `analyze_javascript_application`, ...)\nare already in your tool list, or `rea --version` works, skip straight to\nstep 2. Don't run diagnostics before every investigation. Only when\nsomething is missing or a call fails:\n\n```bash\nrea doctor --client claude_code --json         # or --client codex\n```\n\nMissing pieces, in order:\n\n1. **CLI.** Official package only: `npm i -g rea-agents@latest` (Node\n   ^22.19, ^24.11 or >=26; 23 and 25 are unsupported). No install scripts;\n   npm provenance is attached.\n2. **Agent registration.** Plan first, then apply:\n   ```bash\n   rea setup --client claude_code --client codex --skill=false --dry-run --json\n   rea setup --client claude_code --client codex --skill=false --yes --json\n   ```\n   Add `--install-hopper` on macOS to download Hopper from hopperapp.com\n   (codesign-verified, installed to `~\u002FApplications`). Setup then **opens\n   the Hopper app once**: tell the user before you run it, because a person\n   has to click \"Try the Demo\" (or enter a license) in its first-run window\n   before REA can drive it unattended. Hopper is only needed for native\n   binaries; Electron, JavaScript, web, APK and .NET work without it.\n   Restart the agent afterwards so it sees the tools.\n   Setup writes `HOPPER_LAUNCHER_PATH` only into the agents' MCP entries.\n   The `rea` CLI looks in `\u002FApplications`, so when Hopper went to\n   `~\u002FApplications` export it in the shell profile too:\n   `export HOPPER_LAUNCHER_PATH=\"$HOME\u002FApplications\u002FHopper Disassembler.app\u002FContents\u002FMacOS\u002Fhopper\"`.\n   A first open can time out while Hopper is still starting; retry once.\n3. **REA's own workflow skill** (optional, recommended): `rea setup --skill\n   --dry-run --json` shows the destinations (`~\u002F.agents\u002Fskills` plus each\n   registered agent's skill folder), then `--yes` installs. If the machine\n   keeps one canonical copy in `~\u002F.agents\u002Fskills` with links from agent\n   folders, replace the per-agent copy with a link to the shared one.\n\n`rea doctor` reporting Ghidra or IDA as \"not configured\" is fine when Hopper\nworks. Other unregistered clients show as config drift; ignore them.\n\n**Only trust `github.com\u002Fmorluto\u002Frea` and the npm package `rea-agents`.**\n`@morluto\u002Frea` is the superseded legacy name (old Hopper-only release); don't\ninstall it. Look-alike repos offering an \"official free download\" zip\nor a Windows installer are malware lures. Never run them.\n\n## 2. Route the target\n\n| Target | First move |\n|---|---|\n| Electron app (Claude desktop, Slack, VS Code, Cursor) | `analyze_javascript_application` on `\u003CApp>.app\u002FContents\u002FResources\u002Fapp.asar`, or on the unpacked `Contents\u002FResources\u002Fapp\u002F` folder when there is no ASAR (VS Code, Cursor) |\n| Native CLI or app (Rust, Go, Swift, C++: e.g. the Codex CLI binary) | `open_binary`, then function and string search; `close_binary` when done |\n| npm-distributed CLI (minified JS) | `analyze_javascript_application` on the package directory |\n| Website or web app | The user opens the page in a browser with its debug port on localhost; `list_browser_targets`, then `analyze_web_bundle` with that endpoint and target ID |\n| Android APK | `inspect_android_package` |\n| .NET assembly | `inspect_managed_artifact` |\n| Archive, DMG, IPA, ZIP | `open_binary` \u002F `inspect_artifact` for the member inventory |\n\nThe CLI mirrors the MCP tools (`rea analyze-javascript-application \u003Cpath>`,\n`rea decompile`, `rea function`, `rea inspect-artifact`); run\n`rea \u003Ccommand> --help` for flags.\n\n## 3. Run it without drowning the context\n\n- **Ask for summaries.** A full Electron analysis is large (Claude\n  desktop's ASAR produced a 100 MB Evidence record). Over MCP, call\n  `analyze_javascript_application` with `detail: \"summary\"`, then drill in\n  with `inspect_analysis_view` or `trace_application_feature` on the\n  returned `parent_evidence_id`. Retained Evidence IDs live only within one\n  MCP connection.\n- **On the CLI, write to a file.** `--json > file`, then slice with\n  `--filter-output` \u002F `--token-limit`, or `rea inspect-analysis-view`, which\n  takes workflow JSON (see its `--schema`), not the raw file. Never paste a\n  whole record into the conversation.\n- **Signed Electron apps fail integrity by default.** Code signing rewrites\n  unpacked native modules after packaging, so the declared ASAR hash no\n  longer matches. When the error names an unpacked `.node` file, rerun with\n  `--integrity-policy record-and-continue` (MCP: `integrity_policy:\n  \"record-and-continue\"`). Those bytes are marked untrusted and coverage is\n  reported as partial.\n- **Go from the user-visible string inward.** Find the UI text, setting name,\n  CLI flag or API path the feature exposes, locate it in the bundle or\n  binary, then follow callers and data flow to the implementation.\n- **Static before runtime, CLI before GUI.** Run the target (Electron or\n  process capture) only when static evidence can't answer the question and\n  the user agreed to launch it. Don't open GUI apps that wait on a prompt.\n- **Batch around one hypothesis.** Reuse the open session and existing\n  Evidence instead of re-running identical analysis.\n\n## 4. Report\n\nSeparate three things, every time:\n\n- **Observed:** what the artifact contains, with Evidence IDs and file or\n  function locations.\n- **Inferred:** what you conclude from it, and how confident you are.\n- **Unknown:** what static analysis could not show (server-side behavior,\n  runtime-only branches, encrypted payloads).\n\nLead with the plain-language answer to the user's question, then the evidence.\n\n## 5. Rebuilding a feature (clean room)\n\nWhen the goal is to build the same capability:\n\n1. Write a behavior spec from the evidence: inputs, outputs, states, edge\n   cases, error handling. Describe *what* it does, not their code.\n2. Implement from that spec with normal coding tools, in your own design.\n3. Do not copy decompiled code, embedded assets, keys, tokens, model\n   prompts or proprietary text into the user's project.\n\n## Boundaries\n\n- Analyze software the user is licensed to run, for interoperability,\n  research, security review or understanding a feature. Check the vendor's\n  terms when the user plans to ship a clone.\n- Secrets found inside an artifact (API keys, tokens) are reported as a\n  finding, never used and never written to files or commits.\n- Don't bypass DRM, licensing checks or anti-tamper, and don't attack\n  servers. REA reads local artifacts and observes what the user runs.\n",{"name":5,"license":15,"version":48,"mcp-deps":49,"metadata":50,"repository":8,"description":7},"1.0.1",[5],{"tags":51},"reverse-engineering, rea, decompile, electron, asar, hopper, ghidra, binary-analysis, clean-room, feature-research","main","b198d63224f1ecec8bca1300fb21dfa996c853db","skills\u002Frea",5,"https:\u002F\u002Fgithub.com\u002Fanton-abyzov\u002Fvskill","https:\u002F\u002Fverified-skill.com","https:\u002F\u002Fgithub.com\u002Fanton-abyzov","https:\u002F\u002Fspecwithcode.com","Founder of SpecWithCode · Creator of SpecWeave · AI coding agents, Cloud, DevOps · 20 yrs SWE · YouTube: @AntonAbyzov","2026-11-13 06:33:58",{"source":8,"skillName":5,"commands":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add anton-abyzov\u002Fvskill --skill rea",{"tool":68,"command":69},"bunx","bunx skills add anton-abyzov\u002Fvskill --skill rea",{"tool":71,"command":72},"pnpm","pnpm dlx skills add anton-abyzov\u002Fvskill --skill rea","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fanton-abyzov\u002Fvskill\u002Fblob\u002Fmain\u002Fskills\u002Frea\u002FSKILL.md",true,[],[77,104,121,148,184,211],{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":43},"01M6HKP9JT8CH33W7DJB544DCS","x-reply-drafts","Find live X threads where a product genuinely fits, and draft truthful, humanized replies for the owner to review and post by hand. Human pace only: max 5 replies a day, never two within 20 minutes, no automated posting. Use when the user asks to 'find threads to reply to', 'draft X replies', 'reply-guy session', 'join trending conversations', 'engage on Twitter about \u003Cproduct>', or wants a daily batch of reply drafts. Not for scheduling original posts (social-media-posting) or bulk publishing (blotato).","https:\u002F\u002Fgithub.com\u002Fanton-abyzov\u002Fvskill\u002Fblob\u002Fmain\u002Fplugins\u002Fmarketing\u002Fskills\u002Fx-reply-drafts\u002FSKILL.md",[],[84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103],"drafts","x reply drafts","reply","bulk","humanize","posts","Media","never","conversations","trending","unslop","social","join","only","hand","batch","review","threads","product","human",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":110,"publishedAt":43},"01M6CND903Q6E6R2XDWMFH8MAY","hello-world","A tiny test skill used by the 0853 verify-runtime harness. Says hello. No external calls. Use when the user asks for a sanity-check skill in a verify-harness fixture.","https:\u002F\u002Fgithub.com\u002Fanton-abyzov\u002Fvskill\u002Fblob\u002Fmain\u002Ftest\u002Fverify\u002Ffixtures\u002Ftiny-skill-source\u002Fplugins\u002Ftiny-test-plugin\u002Fskills\u002Fhello-world\u002FSKILL.md",[],[111,112,113,114,115,116,117,118,119,120],"world","hello world","hello","harness","use","Test Skill","check","test","verify","user",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":135,"publishedAt":43},"01M6CND60H0N1CYEB6ABEW18NS","existing-skill","Lint markdown files for style and grammar issues.","https:\u002F\u002Fgithub.com\u002Fanton-abyzov\u002Fvskill\u002Fblob\u002Fmain\u002Fsrc\u002Fcommands\u002F__tests__\u002Ffixtures\u002Fexisting-skill\u002FSKILL.md",[127,130],{"categoryNo":128,"categoryName":129,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理",{"categoryNo":131,"categoryName":132,"taxonomyType":133,"taxonomyTypeDesc":134},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[136,137,138,139,140,141,142,143,144,34,145,146,147],"existing skill","issues","files","lint markdown files","code","lint","markdown","cursor","grammar","write","edit","docs",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":164,"publishedAt":43},"01M6CND1JAW97FY3W50MAPNKX7","remotion-best-practices","Best practices for Remotion video creation in React — scaffolding, compositions, animations, transitions — PLUS hard-won rules for high-fidelity product-demo videos: real logos\u002Ficons, precise YouTube-reference matching, full-screen camera zooms, click-targets that actually hit, content-tight rectangle highlights, voiceover regeneration discipline, audio-level normalization (no double-boost), per-scene voice-sync math, Studio detail-page mirror patterns, bold-not-subtle connection lines, and the YouTube publication kit (chapters, description, thumbnail, hashtags) that turns a render into a shipped video.","https:\u002F\u002Fgithub.com\u002Fanton-abyzov\u002Fvskill\u002Fblob\u002Fmain\u002Fskills\u002Fremotion-best-practices\u002FSKILL.md",[154,157,160,161],{"categoryNo":155,"categoryName":156,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":158,"categoryName":159,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":162,"categoryName":163,"taxonomyType":133,"taxonomyTypeDesc":134},"01JBSEEDCAT000000000000031","产品经理",[165,166,167,168,169,170,171,172,173,174,175,176,102,177,178,179,180,181,182,183],"Remotion","remotion best practices","best practices","Video","Animation","Composition","Audio","react","youtube","math","voiceover","discipline","sync","patterns","remotion, video, react, animation, composition","camera","normalization","page","publishing",{"skillNo":185,"name":186,"nameZh":6,"description":187,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":188,"categories":189,"keywords":198,"publishedAt":43},"01M6CNCSE0847Q1FP1GRQ75SR9","motion-graphics-promo","After Effects-style motion graphics for short product promos (15-45 s, vertical or landscape), built as code with HyperFrames + GSAP. Covers a story-first brief, motion grammar (energetic entry, one transition per task, spring settle, 2-3 s of stable proof), a 32-second promo timeline, device-frame and kinetic-type recipes, vertical-first composition, evidence rules (real UI only, no fake clicks), music licensing and encoded-frame verification. Use when the user asks for an After Effects-like animation, motion graphics, a kinetic-type promo, an app promo video, a product teaser, a Reels\u002FTikTok\u002FShorts ad, or 'animations like After Effects'. Also covers short explainers, tutorials and 15-second vertical ads: a design kit (footage beds, condensed caps in a marker box, white device frames, falling stickers, voice-over with music ducking) and HyperFrames render traps that silently break output. Pairs with hyperframes-best-practices (screencast pipeline) and remotion-best-practices.","https:\u002F\u002Fgithub.com\u002Fanton-abyzov\u002Fvskill\u002Fblob\u002Fmain\u002Fskills\u002Fmotion-graphics-promo\u002FSKILL.md",[190,193,194,195],{"categoryNo":191,"categoryName":192,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":158,"categoryName":159,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":131,"categoryName":132,"taxonomyType":133,"taxonomyTypeDesc":134},{"categoryNo":196,"categoryName":197,"taxonomyType":133,"taxonomyTypeDesc":134},"01JBSEEDCAT000000000000032","设计师",[199,200,201,202,168,169,203,165,170,204,205,206,207,97,140,208,209,102,144,210],"motion graphics","motion graphics promo","motion","graphics","brief","pipeline","tiktok","short","design","verification","ads","ui",{"skillNo":212,"name":213,"nameZh":6,"description":214,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":215,"categories":216,"keywords":221,"publishedAt":43},"01M6CNCMRHTRT3NV5CJGQ4WNRT","hyperframes-best-practices","Production-grade HyperFrames workflow for turning a raw screencast or talking-head recording into a polished product video. Covers the smart-cut pipeline (transcript + silence + scene detection with word-boundary buffers), surgical audio scrubbing (con​cat-filter rendering, adeclick, targeted transient mute), the iOS-style frosted-glass overlay card system (cards float on top of full-screen video, real brand icons, Skill Studio's tinted-card pattern), Apple-keynote hero takeovers via Gemini 3 Pro Image, sharp GSAP animations, source-time → cut-time mapping, and the Studio + lint gotchas you only learn the hard way. Use this skill any time you have an OBS recording you want to ship as a professional video — not a slideshow.","https:\u002F\u002Fgithub.com\u002Fanton-abyzov\u002Fvskill\u002Fblob\u002Fmain\u002Fskills\u002Fhyperframes-best-practices\u002FSKILL.md",[217,218,219,220],{"categoryNo":191,"categoryName":192,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":158,"categoryName":159,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":196,"categoryName":197,"taxonomyType":133,"taxonomyTypeDesc":134},[222,167,223,168,169,171,204,97,224,225,226,227,228,102,229,230,231,232,233,115],"hyperframes best practices","hyperframes","learn","workflow","image","transcript","whisper","ship","brand","gemini","Word","system"]