[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C0NMMGVCZ8C7R8XG8VN5QX":3,"skill-same:01M6C0NMMGVCZ8C7R8XG8VN5QX":93},{"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":28,"publishedAt":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":57,"commitSha":58,"skillDirectory":59,"forksCount":60,"repositoryHtmlUrl":61,"repositoryHomepageUrl":62,"ownerHtmlUrl":63,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":64,"install":65,"resources":78},"01M6C0NMMGVCZ8C7R8XG8VN5QX","motion-evidence-review",null,"How to read beep-qa motion evidence: correlate frame strips, contact sheets, and GIFs against events.ndjson timelines, map frame timestamps to action events, and cite frame+event pairs when judging or fixing. Use when reviewing QA evidence, writing a vision-judge finding, reproducing a finding from a session's artifacts, or auditing an old round's evidence in a goal packet or PR.","beep-effect\u002Fbeep-effect","beep-effect","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F293012014?v=4","01M6C0KM5WSBFT39QDNXKH1JVY","Beep Effect","01M6C0KM9QBN9R26F3EHTSWR14",80,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fmotion-evidence-review\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],"review","motion evidence review","evidence review","evidence","motion","vision","events","judge","action","goal","active","timestamps","when","map","how to","contact sheets","read","how","writing","qa","2026-11-10 10:12:30",false,"---\nname: motion-evidence-review\ndescription: >\n  How to read beep-qa motion evidence: correlate frame strips, contact sheets,\n  and GIFs against events.ndjson timelines, map frame timestamps to action\n  events, and cite frame+event pairs when judging or fixing. Use when\n  reviewing QA evidence, writing a vision-judge finding, reproducing a finding\n  from a session's artifacts, or auditing an old round's evidence in a goal\n  packet or PR.\nmetadata:\n  version: \"0.1.0\"\n  status: active\n---\n\n# Motion Evidence Review\n\nThree roles consume QA evidence at different times: the vision judge (via its\nprompt), the fixer reproducing a finding, and PR\u002Fpacket reviewers auditing\nafter the fact. This skill is the shared literacy. The loop protocol and the\ninventory\u002Fseverity format live in `browser-qa-loop` — this is how to READ.\n\n## The three clocks (get this right first)\n\n1. **Event clock** — witness `tEpochMs` = `performance.timeOrigin +\n   performance.now()`, wall-clock epoch ms. Every line of `events.ndjson`.\n2. **Video time** — seconds from the recording's first frame.\n3. **The mapping** — `session.json → clockSync`:\n   `videoT = slope·tEpochMs + offsetMs` with `method`\n   (`beacon` | `obs-record-state` | `assumed-start`) and `confidence`.\n   For a beacon fit, `high` requires residual RMS ≤25 ms and at least four\n   matched pairs. RMS is not a maximum per-event error or a frame-accuracy\n   guarantee. Inspect the method, timestamps and extraction padding before\n   making timing claims; see the method-specific table below.\n\n`references\u002Fframe-event-correlation.md` walks the arithmetic with worked\nexamples; `references\u002Fevidence-anatomy.md` decodes file naming, strip\nordering, and sheet grids.\n\n## Reading a finding (or writing one)\n\nA well-formed claim always pairs pixels with events:\n\n> Frames 12–15 of `frames\u002Fdrag-sash--strip\u002F` (t≈3.31–3.41 s) show a native\n> selection highlight across the neighbor panel while `events.ndjson`\n> seq 141→158 shows an active pointer drag (`pointer-down` seq 141 at\n> tEpochMs …, no `pointer-up` until seq 158) — selection-smear during sash\n> resize.\n\nRules:\n\n- Cite artifact path + frame index\u002Frange + event `seq` refs. Inventory\n  `QaEvidenceRef` has fields for exactly these — fill them.\n- A defect in ONE mid-gesture frame is real even when the final screenshot\n  is clean; the converse also holds — a single odd frame at LOW clock\n  confidence near a window edge may be a neighboring gesture. Check the\n  event seq range before claiming.\n- What a GIF proves: a human-visible summary. What it cannot prove: exact\n  timing (GIF fps ≠ source fps, frames are sampled). Timing claims come from\n  strips + timeline, never from GIF playback feel.\n- Markers (`kind: \"marker\"`) are semantic labels — scenario boundaries and\n  agent annotations. Use them to scope which events belong to which gesture.\n\n## Reproducing a finding\n\n1. `session.json` → scenario + commit (`commitSha`, `commitDirty`).\n2. The finding's `eventIds` → grep those seqs in `events.ndjson` → exact\n   gesture path, coordinates, timing.\n3. Re-run just that scenario (`.beep\u002Fqa-capture.mjs` scenario name) or\n   replay the gesture manually in Lane B at the recorded coordinates.\n4. Any extracted frame's own XMP-beepQA provenance tags (inspect with\n   `exiftool`) identify its session if files got separated from the round dir.\n\n## Auditing old evidence\n\n`inventory.json` is schema-validated (`beep qa judge-lint --round N` re-checks\nany round). `judge\u002Fmanifest.json` lists what the judge actually saw INCLUDING\n`dropped` — an inventory is only as complete as that manifest; treat dropped\nevidence as unreviewed, not clean.\n","# Motion Evidence Review\n\nThree roles consume QA evidence at different times: the vision judge (via its\nprompt), the fixer reproducing a finding, and PR\u002Fpacket reviewers auditing\nafter the fact. This skill is the shared literacy. The loop protocol and the\ninventory\u002Fseverity format live in `browser-qa-loop` — this is how to READ.\n\n## The three clocks (get this right first)\n\n1. **Event clock** — witness `tEpochMs` = `performance.timeOrigin +\n   performance.now()`, wall-clock epoch ms. Every line of `events.ndjson`.\n2. **Video time** — seconds from the recording's first frame.\n3. **The mapping** — `session.json → clockSync`:\n   `videoT = slope·tEpochMs + offsetMs` with `method`\n   (`beacon` | `obs-record-state` | `assumed-start`) and `confidence`.\n   For a beacon fit, `high` requires residual RMS ≤25 ms and at least four\n   matched pairs. RMS is not a maximum per-event error or a frame-accuracy\n   guarantee. Inspect the method, timestamps and extraction padding before\n   making timing claims; see the method-specific table below.\n\n`references\u002Fframe-event-correlation.md` walks the arithmetic with worked\nexamples; `references\u002Fevidence-anatomy.md` decodes file naming, strip\nordering, and sheet grids.\n\n## Reading a finding (or writing one)\n\nA well-formed claim always pairs pixels with events:\n\n> Frames 12–15 of `frames\u002Fdrag-sash--strip\u002F` (t≈3.31–3.41 s) show a native\n> selection highlight across the neighbor panel while `events.ndjson`\n> seq 141→158 shows an active pointer drag (`pointer-down` seq 141 at\n> tEpochMs …, no `pointer-up` until seq 158) — selection-smear during sash\n> resize.\n\nRules:\n\n- Cite artifact path + frame index\u002Frange + event `seq` refs. Inventory\n  `QaEvidenceRef` has fields for exactly these — fill them.\n- A defect in ONE mid-gesture frame is real even when the final screenshot\n  is clean; the converse also holds — a single odd frame at LOW clock\n  confidence near a window edge may be a neighboring gesture. Check the\n  event seq range before claiming.\n- What a GIF proves: a human-visible summary. What it cannot prove: exact\n  timing (GIF fps ≠ source fps, frames are sampled). Timing claims come from\n  strips + timeline, never from GIF playback feel.\n- Markers (`kind: \"marker\"`) are semantic labels — scenario boundaries and\n  agent annotations. Use them to scope which events belong to which gesture.\n\n## Reproducing a finding\n\n1. `session.json` → scenario + commit (`commitSha`, `commitDirty`).\n2. The finding's `eventIds` → grep those seqs in `events.ndjson` → exact\n   gesture path, coordinates, timing.\n3. Re-run just that scenario (`.beep\u002Fqa-capture.mjs` scenario name) or\n   replay the gesture manually in Lane B at the recorded coordinates.\n4. Any extracted frame's own XMP-beepQA provenance tags (inspect with\n   `exiftool`) identify its session if files got separated from the round dir.\n\n## Auditing old evidence\n\n`inventory.json` is schema-validated (`beep qa judge-lint --round N` re-checks\nany round). `judge\u002Fmanifest.json` lists what the judge actually saw INCLUDING\n`dropped` — an inventory is only as complete as that manifest; treat dropped\nevidence as unreviewed, not clean.\n",{"name":5,"metadata":54,"description":56},{"status":39,"version":55},"0.1.0","How to read beep-qa motion evidence: correlate frame strips, contact sheets, and GIFs against events.ndjson timelines, map frame timestamps to action events, and cite frame+event pairs when judging or fixing. Use when reviewing QA evidence, writing a vision-judge finding, reproducing a finding from a session's artifacts, or auditing an old round's evidence in a goal packet or PR.\n","main","2398f391338607e713c72b1f6f0c574dfc7a5199",".claude\u002Fskills\u002Fmotion-evidence-review",14,"https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect","https:\u002F\u002Fwww.oip.law","https:\u002F\u002Fgithub.com\u002Fbeep-effect","2026-11-14 03:18:53",{"source":8,"skillName":5,"commands":66,"prompt":76,"zipAvailable":77},[67,70,73],{"tool":68,"command":69},"npx","npx skills add beep-effect\u002Fbeep-effect --skill motion-evidence-review",{"tool":71,"command":72},"bunx","bunx skills add beep-effect\u002Fbeep-effect --skill motion-evidence-review",{"tool":74,"command":75},"pnpm","pnpm dlx skills add beep-effect\u002Fbeep-effect --skill motion-evidence-review","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fmotion-evidence-review\u002FSKILL.md",true,[79,85,89],{"path":80,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":83,"sourceHtmlUrl":84},"agents\u002Fopenai.yaml","REFERENCE","参考文档",587,"https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fmotion-evidence-review\u002Fagents\u002Fopenai.yaml",{"path":86,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Fevidence-anatomy.md",2292,"https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fmotion-evidence-review\u002Freferences\u002Fevidence-anatomy.md",{"path":90,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":91,"sourceHtmlUrl":92},"references\u002Fframe-event-correlation.md",3637,"https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fmotion-evidence-review\u002Freferences\u002Fframe-event-correlation.md",[94,119,130,138,173,197],{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":49},"01M714DQT4JQHZ11X0RH0T8RQ7","auth-environments","Sign Claude Code in to a chosen Claude subscription on every linked T3 fleet host (grok-bot, beep-worker, dankserver, tbk-worker, tom-pc-1-wsl). Use when a Claude account hits its weekly limit, when `bun run beep accounts` shows the fleet's account used up, or on `\u002Fauth-environments`. Opens each host's OAuth page and a masked KDE code dialog together and verifies the admitted account.","https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fauth-environments\u002FSKILL.md",[],[101,102,103,104,105,106,107,108,109,110,111,39,112,113,114,115,116,117,118,41],"auth","environments","auth environments","path","limit","page","python","canonical","dialog","fleet","run","weekly","bot","workstation","up","worker","host","code",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":125,"publishedAt":49},"01M6C0RK94T5QGSZ0K9TA5Q2EF","shadcn","Fixture for immutable shadcn skill provenance.","https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002Fpackages\u002Ftooling\u002Ftool\u002Fcli\u002Ftest\u002Ffixtures\u002Fskills-provenance\u002Fshadcn\u002Fupstream\u002FSKILL.md",[],[121,126,127,128,129],"immutable","provenance","fixture","for",{"skillNo":131,"name":132,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":49},"01M6C0RGPWMYM5KS62ZZPNAZ0W","qa-inventory-judge","https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002Fpackages\u002Ftooling\u002Ftool\u002Fcli\u002Fskills\u002Fqa-inventory-judge\u002FSKILL.md",[],[136,48,137,36],"inventory","qa inventory judge",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":142,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":148,"publishedAt":49},"01M6C0RDVR0A6W6ZJCJMEYJT77","practice-onboarding","Set up a lawyer's computer for their practice through the practice gateway. Use when the lawyer asks to get set up, to connect their documents, mail, calendar or practice tools, or when the practice gateway reports that setup is incomplete. Interviews the lawyer one question at a time, saves a practice profile, then checks and repairs the computer until setup is complete.","MIT","https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002Fapps\u002Fpractice-gateway\u002Fplugin\u002Fskills\u002Fpractice-onboarding\u002FSKILL.md",[145],{"categoryNo":146,"categoryName":147,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000038","人力资源",[149,150,151,152,153,154,155,156,41,115,157,158,159,160,161,162,163,164,165,166,118,167,168,169,170,171,172],"onboarding","practice onboarding","at","guide","interviews","calendar","mail","reports","time","get","save","question","profile","Tools","setup","beep","status","desktop","documents","connect","computer","windows","gateway","SET",{"skillNo":174,"name":175,"nameZh":6,"description":176,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":177,"categories":178,"keywords":182,"publishedAt":49},"01M6C0RB09NRJN0E1W3ND9HDE6","triage-nda","Screen NDAs before inventor disclosures or client pitches at Oppold IP Law. Flag disclosure, residuals, marking, term, and hidden IP rights for attorney review.","https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002Fapps\u002Fpractice-claude-mod\u002Fskills\u002Ftriage-nda\u002FSKILL.md",[179],{"categoryNo":180,"categoryName":181,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000037","律师与法务",[183,184,185,186,187,188,189,190,29,191,151,192,193,194,195,196,129],"nda","triage","triage nda","2026","screen","ip","plugins","work","knowledge","knowledge-work","legal","client","hidden","rights",{"skillNo":198,"name":199,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":201,"categories":202,"keywords":204,"publishedAt":49},"01M6C0R8B5D35H50QY426AYR39","review-contract","Review IP agreements for Oppold IP Law. Use for assignments, licenses, inventor agreements, joint development, or NDAs involving inventions. Prepare cited issues and proposed revisions for attorney review.","https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002Fapps\u002Fpractice-claude-mod\u002Fskills\u002Freview-contract\u002FSKILL.md",[203],{"categoryNo":180,"categoryName":181,"taxonomyType":26,"taxonomyTypeDesc":27},[29,205,206,186,192,193,207,188,129,208,189,190,191,209,210],"review contract","contract","use","prepare","issues","development"]