{
  "name": "akshayDev17/ai-explainer-video — 11 skills",
  "slug": "source-skills-d58b7ea3b3177b78ac207d43",
  "type": "skills",
  "category": "developer-tools",
  "example": false,
  "evidence_state": "pinned_source_listing",
  "stamp": "Pinned source listing — machine-checked",
  "summary": "Pinned source declarations and file hashes were listed.",
  "outcome": "Listed 11 skill declarations. Ran 88 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.",
  "rule_results": [
    "The retained source tree matches its acquisition manifest.",
    "Declared skill names (listing.json): coursework-author; craft-video-align; craft-video-assemble; craft-video-audio; craft-video-enrich; craft-video-plan; craft-video-publish; craft-video-render; craft-video-scene; craft-video-script; explainer-video-from-coursework"
  ],
  "task": "What declarations and files are present in this pinned source?",
  "setup": "Git blob acquisition followed by static source inspection.",
  "limitations": "Scope: acquisition and static inspection. Command results: commands.json.",
  "source_url": "https://github.com/akshayDev17/ai-explainer-video",
  "documentation_url": "https://github.com/akshayDev17/ai-explainer-video",
  "commit": "a0eb65bb94da07ee901a4fea3b2f0642972356a6",
  "tree_sha256": "18f7d4d1b0858b69754aa68736001a6540c7c1795ccb6b3576dc99ce3a9e1df7",
  "file_sha256": {
    ".agents/plugins/marketplace.json": "ed3a0de10b501fff3befbebfde6d87a9801a3a2faf9aac4ae2d3a8110c231cfe",
    ".claude-plugin/marketplace.json": "6d464cff3da2b760b307e25617274f7e8713ef0be5d55edfd16056df7c006f51",
    ".claude-plugin/plugin.json": "2ea73611671ac59690dfbb062dd42be4e228b74aa1f72ced6aac86e6ba4a67c2",
    ".github/email/release.html.j2": "75deba73c7fa3d78d5e54b3cd72d141abc24ce24dc2cdeb89345bd0c80866faf",
    ".github/email/release.txt.j2": "b119e0548ee431c1e4478b01aa57e5d267d881c4213a60a291e9afe6fcb1cc9c",
    ".github/scripts/notify.py": "5e60f4683473bf7bd0bf7a0db08a43943b287d308b565ffe8df8fe9f679b6071",
    ".github/scripts/oauth_token.py": "50bfa5d9f51c3072d00655bf6df5a3f09d0ccd809d0dab6a5a6b259fd3f9b61a",
    ".github/workflows/ci.yml": "55f1670212cdbbfffc6c1f8270d5ccc7bb1d2a0adcdf02c437e8a78970477ad5",
    ".github/workflows/release.yml": "71040ac10d21a112eec1ee1017984c23517831b00db7f8c64f74f4a66e8a7037",
    ".gitignore": "91e623271755fadb8c54fef178fb341a5242c59992177be0e2c6a93e74b2dc67",
    "DISTRIBUTION.md": "70b85bb0936976ac66f9ba4bed81fbb23dc632cdfc45affa23a1d979929e249d",
    "LICENSE": "cc59c4c76aa4a49185a33c282bbe0bae33a37ed96312db1b06ceaf6e2bb81262",
    "README.md": "0024cfa28646dbb62b13b3430dfd663019f7950659d8195e39caae23043d0126",
    "RELEASING.md": "329fe8686e3f5c681292fe9cc648164af3dc781e2697dcb7fe67a706a011c2a1",
    "RUN-FINDINGS-2026-10-20-m6.md": "1c4c66baad4f1674b2353ac5c45e98d98f78453beebb62155d20cbe79765cedd",
    "cordis.patch.yml": "e76abf399b4804199a1911bfd8085bd4a9fcd99b36baec22e1f1553f7045f569",
    "lib/index.js": "6ac7103f5b1310e5c8438537d7e6a83cd517e54282adedb2c51f6855a153c05b",
    "npm-trusted-publisher.png": "3647f93fc466c5fd9ae776f84259d02f8f98c07b6ca53c7b37eab5e450ed0630",
    "package-lock.json": "a193c164724ad39129b6683f2482b3c1f3b5058576b69d2ade18258e6e6bdc04",
    "package.json": "fe4c664b4e65ccb004956c9926d4c4e392d37e64abd8be917dc0b07bbe98ee4d",
    "plugin.json": "cdd4a8733dbbbf03da52efe348e49addd19c7b9298afcf1fff6cd9573dcf0a53",
    "renovate.json": "6b8a27f02a580e954a7537ea93073b763c964900f71d061f91a35e2a0b5c45a1",
    "scripts/bump.mjs": "cc2f573a0b5c7cb241fab71348e768df41d85597617ba355c3e759c042108651",
    "scripts/check-coursework-author-sync.mjs": "d4f05dff6d63bdbfca9d05c529dc730a1ef15a4b15dc4600fd114a67fb98f16b",
    "scripts/lib/skill-hash.mjs": "1d99de7e15daec7a2864ccdba0def8314f8647003283d343f382e5cadd99b7f7",
    "scripts/next-version.mjs": "38cc6d0a2f5c9cd3a9931bc807864e552aa3fef3982e1423a334ad4379650763",
    "scripts/sync-coursework-author.mjs": "54c3ca6f4c0ffb4bb5aab8c4e4b773d46ac19072b6a65b1030082e6d5636350b",
    "skills/coursework-author/.synced-from": "c97233d2d65a27e7d82a95178f5c4e8ec209410ea254775acfdef0cfd1254329",
    "skills/coursework-author/SKILL.md": "9821ab6eda4e1a88dfd213a9ee0f16b15c03faf7932abe663f1fbaf39f01cb10",
    "skills/craft-video-align/SKILL.md": "f9864ae88839dc04e52c63b5c0ef0e466ef8605e112685e4dee0bca6b0e6ded6",
    "skills/craft-video-assemble/SKILL.md": "7dc27c547812e9f0a7fa98b5afc28ef59d92217ee86dec7b924c9e1ecfdff20b",
    "skills/craft-video-audio/SKILL.md": "d425d8e8ae000ddc51d07acf234ab66f5b9d3a4c45a3ed972b3867cd455945e2",
    "skills/craft-video-enrich/SKILL.md": "acca386b81a940b3b482037e473368a36b8d5b665e934da1eeaa7585461a9684",
    "skills/craft-video-plan/SKILL.md": "b71e34d23e8c0ca3123a379d5d338008668b05b8fce2e30523335a1b06173999",
    "skills/craft-video-publish/SKILL.md": "13c53ac7c2f04740dd61809cb37668e1863ce11767732881a02dbe2628c00c1e",
    "skills/craft-video-render/SKILL.md": "a4d7106936e2506bfbc317b471d8d6f46aafd4b528dcaf41334dca5f9e614839",
    "skills/craft-video-scene/SKILL.md": "1462fcef70114b988faf3329b20c76d833d51b5fad3308660a96edc6ee3dc19e",
    "skills/craft-video-script/SKILL.md": "fbdd0f322afc91e62d0ddfcedf41f8b645f2164ab8876f787fe63d00766508f9",
    "skills/explainer-video-from-coursework/ARCHITECTURE.md": "5defc28d9b05fe207bb64e659097749bb9341a87c42708343e4610a3464da850",
    "skills/explainer-video-from-coursework/PIPELINE.md": "57ac382e137c0a07745a4109be70af8c19ffe516f044b2efbd3c5ec337449639",
    "skills/explainer-video-from-coursework/ROADMAP.md": "117da4f02ed48b70a5defaaf767faa16b728ee3ed6faa09f43f6f8b9a58fc2b3",
    "skills/explainer-video-from-coursework/SERIES.md": "a17427d5d42374c8e8310f5407f084f229285b4d161377e9158e2572550deeb0",
    "skills/explainer-video-from-coursework/SETUP.md": "05ebf4b5f803d13e7e8c26906f7cfce33c55094a475d670e9b18d722401b116f",
    "skills/explainer-video-from-coursework/SKILL.md": "2fbdc53e0c251e0978659e8066510038a11f2bb1c34fda27eec8dc1ffc225de3",
    "skills/explainer-video-from-coursework/scenes/_pt-chart.js": "ab899c29446a7cb9f47c2d3690b8816fa774a9374f3170988110ed73a7e92ff4",
    "skills/explainer-video-from-coursework/scenes/_pt-equation.js": "a246a2bbaf88a754a9f0894ba265f993549391baba13c0fa7d18105c878c5776",
    "skills/explainer-video-from-coursework/scenes/_pt-hubspoke.js": "9edebc40a617b2ea96d07206415ed6beadf45a929247dc92d39a4cd04352dea2",
    "skills/explainer-video-from-coursework/scenes/_pt-loopflow.js": "f717ff06357b7fec7799e726f2c7ce7c965ce6e96bd7f4c9d3504e13ff3a8c3a",
    "skills/explainer-video-from-coursework/scenes/_pt-timeline.js": "efbe5ba425eda4ac898f6eb548d0a2f50a440efdcf213b0091698c1b9b838a57",
    "skills/explainer-video-from-coursework/src/scene-code.html": "97825f78fee241c2626cf6310c75006331205f5cf64a82ddf42fdb917f57ddcb",
    "skills/explainer-video-from-coursework/src/scene-code.js": "876f88e7ca9425c4fd1a38200f5bfff3bbf55aa0fdd600fa52582dc80e65c3f0",
    "skills/explainer-video-from-coursework/src/scene-core.js": "00b91a1a06ef77a1e5433c007918726ab515cddb0e7f48aad7058151ebc453b2",
    "skills/explainer-video-from-coursework/src/scene-diagram.html": "edbccd0afb19e5f0375155a65fcce2cac97f51a872815c724d2f3c47b1850c25",
    "skills/explainer-video-from-coursework/src/scene-svg.html": "59889e44a7eacfba9beb002f8c682d66bc00295e710a43d4e52d018d0e7c79d3",
    "skills/explainer-video-from-coursework/src/timeline.js": "5ddaf3d52a4d1c739efb9d16c6c30352637f90a8ac30cbed1dd920f3a6dc2601",
    "skills/explainer-video-from-coursework/src/timing-chart.js": "952030b3fb05c97b46dc2674fc760f3dd707cf5b0ee68eaa773f75960e578db8",
    "skills/explainer-video-from-coursework/tools/align.mjs": "82c8a21ac7543c55249e23623f84f3e4b14eedb0d1d37865043e76a218b51e45",
    "skills/explainer-video-from-coursework/tools/apply-enrichment.mjs": "cb8250eeb94c6b47284772a8a60d6c34b29a8daa293e664c3a2a3ab35c9fb572",
    "skills/explainer-video-from-coursework/tools/assemble.mjs": "ddbe4324580b943cf15c21eb76fbd54ea0a5b0b2ca09567a2e6ef84e35fa3075",
    "skills/explainer-video-from-coursework/tools/build-audio.mjs": "af2529f55e6bc986b48c1b265fed82e7e3128b9550a38b2f14b483bd81fae45b",
    "skills/explainer-video-from-coursework/tools/chromium.mjs": "faeb56dd1cc59b98a9fc442f6a629dcd278506f00ae5ccf310886ca5ff092e51",
    "skills/explainer-video-from-coursework/tools/debug-page.mjs": "b0d4cc1e6446e476d77595f43f2ab971bced1d84bc85fa4529ad2d1b41bf07f2",
    "skills/explainer-video-from-coursework/tools/env.mjs": "de779bdb2bed19368e62854615a38cd36e77af7f29475975b2e45bcd997d5391",
    "skills/explainer-video-from-coursework/tools/frame-dedup.mjs": "1c611331ef0b526c8b5c942f7de614f5267fd3f995ebc070359e95ded8ed2878",
    "skills/explainer-video-from-coursework/tools/key-source.mjs": "713c2ce5e39b78756bab9d07c3c003ef831687bb43d10b1c555f1d24fcce922b",
    "skills/explainer-video-from-coursework/tools/model.mjs": "5f442f99dfeeee7cfa132345d344f8ae5b077ae432aea539e52c682d9e6f6e4c",
    "skills/explainer-video-from-coursework/tools/naming.mjs": "c25ed4dce7e27c95a7b13d198537bcbc296f8dd1ff669b3ce733f10049d8dec7",
    "skills/explainer-video-from-coursework/tools/onset-audit.mjs": "977a28a0b566e6a900c44d36299b76b3b5902fb7772e733fb4dd9495846ec054",
    "skills/explainer-video-from-coursework/tools/pacing-check.mjs": "15ba18c33fdc99d803c3d8d46a5b5593ed1c714ad96d0bc56a47d3805dc34d2d",
    "skills/explainer-video-from-coursework/tools/planner.mjs": "b5fe3fef97d7404071da0c093537f662d04b9daa8cd1b7d1d51d3839500a4eac",
    "skills/explainer-video-from-coursework/tools/publish.mjs": "5d421feafcaf79fb83474978d3e37b7d0b940fed60dde4ee9ce071f6c56306bd",
    "skills/explainer-video-from-coursework/tools/render.mjs": "5fa01b61ed1767a82ec5806f0f2390614ffb699f07930b7c948223edba057ea2",
    "skills/explainer-video-from-coursework/tools/resolve-beats.mjs": "ad4c257a62f7e06181070fee2dfcaafd33c6dc96a79b4e75e09ac3ba09a92628",
    "skills/explainer-video-from-coursework/tools/script-check.mjs": "b0148fba96ecf97aab647232ae3230667a35d3e7b81f60ea5fbf8ab43357c019",
    "skills/explainer-video-from-coursework/tools/stamp.mjs": "20bb1d5a8f7e3acba7dedf99d804ba3117135db79b2c58c5aba2d52a50fa5d0b",
    "skills/explainer-video-from-coursework/tools/timing-report.mjs": "348fc8118e3142faeed0ace0c39248fbc5a8ffd6b3d104e1f28c2aa803dd3c78",
    "skills/explainer-video-from-coursework/tools/transcribe-gemini.mjs": "682683c2b37d0f18597031691e12cb6851aeeb66c14383a6889e09b66f32a330",
    "skills/explainer-video-from-coursework/tools/tts-gemini.mjs": "fac4bb127fec25d82aca69db687e298ef502209504a5860fc709dba07309642e",
    "skills/explainer-video-from-coursework/tools/verify-audio.mjs": "88b6517b216cf49460c69512355175896d1b637b688ba20faa5b71ed0e8c8997",
    "skills/explainer-video-from-coursework/tools/workdir.mjs": "0c3745d78e9b1b0397d491e61232b8784bad833a300781ea596ddb43740c7555",
    "skills/explainer-video-from-coursework/vendor/plotly-basic.min.js": "138c2e81014b979dc00867a93da55b7605a17495ee78dd7afb433b7f021dfcfa",
    "skills/explainer-video-from-coursework/vendor/plotly-basic.min.js.LICENSE.txt": "11adbe52e395f779a3bb359b3c33a1095161a9ca9fe0d811e27cbac412c7f0e5",
    "staged-packages-npm.png": "0cb6e854be85c873e2e31b5f6eb5a1fd23e0d65ed7912597c8b8d8a87eed879e"
  },
  "lockfiles": [
    "LOCK.json"
  ],
  "utc_date": "2026-10-22T06:34:15Z",
  "source_date": "2026-10-22",
  "discovered_date": "2026-10-22",
  "retested_date": "2026-10-22",
  "reviewed_date": "2026-10-22",
  "published_date": "2026-10-22",
  "modified_date": "2026-10-22",
  "reviewer": "machine pipeline",
  "harness_version": "toolwitness harness at commit faaf45bc367188754aff2ba8b1b2bbb155cd7192",
  "claude_code_version": "Not applicable: static source inspection (commands.json).",
  "model_id": "Not applicable: static source inspection (commands.json).",
  "scanner_version": "Not applicable: static source inspection.",
  "rulepack_version": "Not applicable: static source inspection.",
  "agents": [],
  "disclaimer": "This record lists declarations and file hashes from a pinned source tree. Git command results from acquisition and static inspection are retained in commands.json. Scope: acquisition and static inspection. It is not a security or quality verdict. Changed bytes are outside this record.",
  "commands": [
    "Ran 88 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection."
  ],
  "prompt_list": [
    "Not applicable: static source inspection (commands.json)."
  ],
  "history": [
    "2026-10-22T06:34:15Z: pinned source inspection"
  ],
  "application": {
    "name": "akshayDev17/ai-explainer-video — 11 skills",
    "softwareVersion": "a0eb65bb94da07ee901a4fea3b2f0642972356a6",
    "applicationCategory": "DeveloperApplication",
    "operatingSystem": "Not exercised"
  },
  "artifacts": {
    "transcript": "Ran 88 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.",
    "sinkhole_log": "Not applicable: static source inspection (commands.json).",
    "canary_log": "Not applicable: static source inspection (commands.json).",
    "scanner_output": "Not applicable: static source inspection (commands.json).",
    "normalized_text": "{\n  \"listing\": {\n    \"skills\": [\n      {\n        \"path\": \"skills/coursework-author/SKILL.md\",\n        \"name\": \"coursework-author\",\n        \"description\": \"Author a structured, module-based self-study course on any technical topic — a syllabus blueprint, one README per module, a fixed module anatomy, and verification gates (memory-less logic review + literature survey). Use when asked to create, build, or author a course, coursework, curriculum, or syllabus; to turn a topic into a module sequence; or to scaffold a self-study program grounded in a reference stack.\",\n        \"files\": {\n          \"skills/coursework-author/.synced-from\": \"c97233d2d65a27e7d82a95178f5c4e8ec209410ea254775acfdef0cfd1254329\",\n          \"skills/coursework-author/SKILL.md\": \"9821ab6eda4e1a88dfd213a9ee0f16b15c03faf7932abe663f1fbaf39f01cb10\"\n        }\n      },\n      {\n        \"path\": \"skills/craft-video-align/SKILL.md\",\n        \"name\": \"craft-video-align\",\n        \"description\": \"Measure per-word and per-line timings for one video's narration, so scene beats can be anchored to the words they illustrate. Stage 4b of explainer-video-from-coursework.\",\n        \"files\": {\n          \"skills/craft-video-align/SKILL.md\": \"f9864ae88839dc04e52c63b5c0ef0e466ef8605e112685e4dee0bca6b0e6ded6\"\n        }\n      },\n      {\n        \"path\": \"skills/craft-video-assemble/SKILL.md\",\n        \"name\": \"craft-video-assemble\",\n        \"description\": \"Assemble one video from its segments — render each window silent, concatenate, mux the narration once, and verify. Stage 8 of explainer-video-from-coursework.\",\n        \"files\": {\n          \"skills/craft-video-assemble/SKILL.md\": \"7dc27c547812e9f0a7fa98b5afc28ef59d92217ee86dec7b924c9e1ecfdff20b\"\n        }\n      },\n      {\n        \"path\": \"skills/craft-video-audio/SKILL.md\",\n        \"name\": \"craft-video-audio\",\n        \"description\": \"Synthesize narration and build the measured timeline for one video. Stage 4 of explainer-video-from-coursework — the one-shot TTS primitive.\",\n        \"files\": {\n          \"skills/craft-video-audio/SKILL.md\": \"d425d8e8ae000ddc51d07acf234ab66f5b9d3a4c45a3ed972b3867cd455945e2\"\n        }\n      },\n      {\n        \"path\": \"skills/craft-video-enrich/SKILL.md\",\n        \"name\": \"craft-video-enrich\",\n        \"description\": \"Retitle and curate the videos in an explainer-video plan — write enrichment.json and merge it. Stage 2 of explainer-video-from-coursework; run it alone to retitle an existing plan.\",\n        \"files\": {\n          \"skills/craft-video-enrich/SKILL.md\": \"acca386b81a940b3b482037e473368a36b8d5b665e934da1eeaa7585461a9684\"\n        }\n      },\n      {\n        \"path\": \"skills/craft-video-plan/SKILL.md\",\n        \"name\": \"craft-video-plan\",\n        \"description\": \"Decompose a coursework notes directory into an explainer-video plan and prove no content-bearing section is dropped. Stage 1 of explainer-video-from-coursework; run it alone to (re)plan a directory.\",\n        \"files\": {\n          \"skills/craft-video-plan/SKILL.md\": \"b71e34d23e8c0ca3123a379d5d338008668b05b8fce2e30523335a1b06173999\"\n        }\n      },\n      {\n        \"path\": \"skills/craft-video-publish/SKILL.md\",\n        \"name\": \"craft-video-publish\",\n        \"description\": \"Generate YouTube chapters and English captions for one finished video. Stage 6 of explainer-video-from-coursework.\",\n        \"files\": {\n          \"skills/craft-video-publish/SKILL.md\": \"13c53ac7c2f04740dd61809cb37668e1863ce11767732881a02dbe2628c00c1e\"\n        }\n      },\n      {\n        \"path\": \"skills/craft-video-render/SKILL.md\",\n        \"name\": \"craft-video-render\",\n        \"description\": \"Render one scene config over one time window to an MP4 (or a handful of QA stills). Stage 7 of explainer-video-from-coursework — the render primitive.\",\n        \"files\": {\n          \"skills/craft-video-render/SKILL.md\": \"a4d7106936e2506bfbc317b471d8d6f46aafd4b528dcaf41334dca5f9e614839\"\n        }\n      },\n      {\n        \"path\": \"skills/craft-video-scene/SKILL.md\",\n        \"name\": \"craft-video-scene\",\n        \"description\": \"Author and iterate the animated visuals for one video's segments. Stage 5 of explainer-video-from-coursework; beats anchor to measured narration lines, not hand-written seconds.\",\n        \"files\": {\n          \"skills/craft-video-scene/SKILL.md\": \"1462fcef70114b988faf3329b20c76d833d51b5fad3308660a96edc6ee3dc19e\"\n        }\n      },\n      {\n        \"path\": \"skills/craft-video-script/SKILL.md\",\n        \"name\": \"craft-video-script\",\n        \"description\": \"Write and validate the spoken narration for one explainer-video. Stage 3 of explainer-video-from-coursework; run it alone to (re)write a video's script.\",\n        \"files\": {\n          \"skills/craft-video-script/SKILL.md\": \"fbdd0f322afc91e62d0ddfcedf41f8b645f2164ab8876f787fe63d00766508f9\"\n        }\n      },\n      {\n        \"path\": \"skills/explainer-video-from-coursework/SKILL.md\",\n        \"name\": \"explainer-video-from-coursework\",\n        \"description\": \"Plan an explainer-video series from a directory of coursework notes — decompose into videos (proving nothing is dropped), retitle and curate, write the narration, synthesize the audio, author the visuals, then render and assemble the finished cut. Use when the user wants to turn structured coursework notes into explainer videos.\",\n        \"files\": {\n          \"skills/explainer-video-from-coursework/ARCHITECTURE.md\": \"5defc28d9b05fe207bb64e659097749bb9341a87c42708343e4610a3464da850\",\n          \"skills/explainer-video-from-coursework/PIPELINE.md\": \"57ac382e137c0a07745a4109be70af8c19ffe516f044b2efbd3c5ec337449639\",\n          \"skills/explainer-video-from-coursework/ROADMAP.md\": \"117da4f02ed48b70a5defaaf767faa16b728ee3ed6faa09f43f6f8b9a58fc2b3\",\n          \"skills/explainer-video-from-coursework/SERIES.md\": \"a17427d5d42374c8e8310f5407f084f229285b4d161377e9158e2572550deeb0\",\n          \"skills/explainer-video-from-coursework/SETUP.md\": \"05ebf4b5f803d13e7e8c26906f7cfce33c55094a475d670e9b18d722401b116f\",\n          \"skills/explainer-video-from-coursework/SKILL.md\": \"2fbdc53e0c251e0978659e8066510038a11f2bb1c34fda27eec8dc1ffc225de3\",\n          \"skills/explainer-video-from-coursework/scenes/_pt-chart.js\": \"ab899c29446a7cb9f47c2d3690b8816fa774a9374f3170988110ed73a7e92ff4\",\n          \"skills/explainer-video-from-coursework/scenes/_pt-equation.js\": \"a246a2bbaf88a754a9f0894ba265f993549391baba13c0fa7d18105c878c5776\",\n          \"skills/explainer-video-from-coursework/scenes/_pt-hubspoke.js\": \"9edebc40a617b2ea96d07206415ed6beadf45a929247dc92d39a4cd04352dea2\",\n          \"skills/explainer-video-from-coursework/scenes/_pt-loopflow.js\": \"f717ff06357b7fec7799e726f2c7ce7c965ce6e96bd7f4c9d3504e13ff3a8c3a\",\n          \"skills/explainer-video-from-coursework/scenes/_pt-timeline.js\": \"efbe5ba425eda4ac898f6eb548d0a2f50a440efdcf213b0091698c1b9b838a57\",\n          \"skills/explainer-video-from-coursework/src/scene-code.html\": \"97825f78fee241c2626cf6310c75006331205f5cf64a82ddf42fdb917f57ddcb\",\n          \"skills/explainer-video-from-coursework/src/scene-code.js\": \"876f88e7ca9425c4fd1a38200f5bfff3bbf55aa0fdd600fa52582dc80e65c3f0\",\n          \"skills/explainer-video-from-coursework/src/scene-core.js\": \"00b91a1a06ef77a1e5433c007918726ab515cddb0e7f48aad7058151ebc453b2\",\n          \"skills/explainer-video-from-coursework/src/scene-diagram.html\": \"edbccd0afb19e5f0375155a65fcce2cac97f51a872815c724d2f3c47b1850c25\",\n          \"skills/explainer-video-from-coursework/src/scene-svg.html\": \"59889e44a7eacfba9beb002f8c682d66bc00295e710a43d4e52d018d0e7c79d3\",\n          \"skills/explainer-video-from-coursework/src/timeline.js\": \"5ddaf3d52a4d1c739efb9d16c6c30352637f90a8ac30cbed1dd920f3a6dc2601\",\n          \"skills/explainer-video-from-coursework/src/timing-chart.js\": \"952030b3fb05c97b46dc2674fc760f3dd707cf5b0ee68eaa773f75960e578db8\",\n          \"skills/explainer-video-from-coursework/tools/align.mjs\": \"82c8a21ac7543c55249e23623f84f3e4b14eedb0d1d37865043e76a218b51e45\",\n          \"skills/explainer-video-from-coursework/tools/apply-enrichment.mjs\": \"cb8250eeb94c6b47284772a8a60d6c34b29a8daa293e664c3a2a3ab35c9fb572\",\n          \"skills/explainer-video-from-coursework/tools/assemble.mjs\": \"ddbe4324580b943cf15c21eb76fbd54ea0a5b0b2ca09567a2e6ef84e35fa3075\",\n          \"skills/explainer-video-from-coursework/tools/build-audio.mjs\": \"af2529f55e6bc986b48c1b265fed82e7e3128b9550a38b2f14b483bd81fae45b\",\n          \"skills/explainer-video-from-coursework/tools/chromium.mjs\": \"faeb56dd1cc59b98a9fc442f6a629dcd278506f00ae5ccf310886ca5ff092e51\",\n          \"skills/explainer-video-from-coursework/tools/debug-page.mjs\": \"b0d4cc1e6446e476d77595f43f2ab971bced1d84bc85fa4529ad2d1b41bf07f2\",\n          \"skills/explainer-video-from-coursework/tools/env.mjs\": \"de779bdb2bed19368e62854615a38cd36e77af7f29475975b2e45bcd997d5391\",\n          \"skills/explainer-video-from-coursework/tools/frame-dedup.mjs\": \"1c611331ef0b526c8b5c942f7de614f5267fd3f995ebc070359e95ded8ed2878\",\n          \"skills/explainer-video-from-coursework/tools/key-source.mjs\": \"713c2ce5e39b78756bab9d07c3c003ef831687bb43d10b1c555f1d24fcce922b\",\n          \"skills/explainer-video-from-coursework/tools/model.mjs\": \"5f442f99dfeeee7cfa132345d344f8ae5b077ae432aea539e52c682d9e6f6e4c\",\n          \"skills/explainer-video-from-coursework/tools/naming.mjs\": \"c25ed4dce7e27c95a7b13d198537bcbc296f8dd1ff669b3ce733f10049d8dec7\",\n          \"skills/explainer-video-from-coursework/tools/onset-audit.mjs\": \"977a28a0b566e6a900c44d36299b76b3b5902fb7772e733fb4dd9495846ec054\",\n          \"skills/explainer-video-from-coursework/tools/pacing-check.mjs\": \"15ba18c33fdc99d803c3d8d46a5b5593ed1c714ad96d0bc56a47d3805dc34d2d\",\n          \"skills/explainer-video-from-coursework/tools/planner.mjs\": \"b5fe3fef97d7404071da0c093537f662d04b9daa8cd1b7d1d51d3839500a4eac\",\n          \"skills/explainer-video-from-coursework/tools/publish.mjs\": \"5d421feafcaf79fb83474978d3e37b7d0b940fed60dde4ee9ce071f6c56306bd\",\n          \"skills/explainer-video-from-coursework/tools/render.mjs\": \"5fa01b61ed1767a82ec5806f0f2390614ffb699f07930b7c948223edba057ea2\",\n          \"skills/explainer-video-from-coursework/tools/resolve-beats.mjs\": \"ad4c257a62f7e06181070fee2dfcaafd33c6dc96a79b4e75e09ac3ba09a92628\",\n          \"skills/explainer-video-from-coursework/tools/script-check.mjs\": \"b0148fba96ecf97aab647232ae3230667a35d3e7b81f60ea5fbf8ab43357c019\",\n          \"skills/explainer-video-from-coursework/tools/stamp.mjs\": \"20bb1d5a8f7e3acba7dedf99d804ba3117135db79b2c58c5aba2d52a50fa5d0b\",\n          \"skills/explainer-video-from-coursework/tools/timing-report.mjs\": \"348fc8118e3142faeed0ace0c39248fbc5a8ffd6b3d104e1f28c2aa803dd3c78\",\n          \"skills/explainer-video-from-coursework/tools/transcribe-gemini.mjs\": \"682683c2b37d0f18597031691e12cb6851aeeb66c14383a6889e09b66f32a330\",\n          \"skills/explainer-video-from-coursework/tools/tts-gemini.mjs\": \"fac4bb127fec25d82aca69db687e298ef502209504a5860fc709dba07309642e\",\n          \"skills/explainer-video-from-coursework/tools/verify-audio.mjs\": \"88b6517b216cf49460c69512355175896d1b637b688ba20faa5b71ed0e8c8997\",\n          \"skills/explainer-video-from-coursework/tools/workdir.mjs\": \"0c3745d78e9b1b0397d491e61232b8784bad833a300781ea596ddb43740c7555\",\n          \"skills/explainer-video-from-coursework/vendor/plotly-basic.min.js\": \"138c2e81014b979dc00867a93da55b7605a17495ee78dd7afb433b7f021dfcfa\",\n          \"skills/explainer-video-from-coursework/vendor/plotly-basic.min.js.LICENSE.txt\": \"11adbe52e395f779a3bb359b3c33a1095161a9ca9fe0d811e27cbac412c7f0e5\"\n        }\n      }\n    ],\n    \"hooks\": [],\n    \"executions\": []\n  }\n}"
  },
  "review_input": {
    "identity_artifact": "identity.json",
    "evidence_sha256": {
      "LOCK.json": "83e2b5604dad5647a10273531a3d84526ce98e6b195c2118a285c2ae74c1ded5",
      "commands.json": "2ab09d616e4bcd10c302cf084f970855142650d655d4da8d984c225160393654",
      "complete.json": "91b504b43905fdc009504d516c45eea831f39a1995b9e7d69987c9756c936d6f",
      "identity.json": "976e29cc5f04d761cded7836de70424e3228b33f7328c679ef95106a8eb49aa7",
      "listing.json": "a03d1ff36c5a0a8f3868ef832b6db616b644f8dfbe41f70995b0f69ef2b624d3",
      "selection.json": "43f140a69eebb60d0331a1bad3b009d4bf03a6371565a788e20ac1d52c756405"
    },
    "claims": [
      {
        "id": "acquired",
        "field": "summary",
        "text": "Pinned source declarations and file hashes were listed.",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      },
      {
        "id": "listed",
        "field": "outcome",
        "text": "Listed 11 skill declarations. Ran 88 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      },
      {
        "id": "tree",
        "field": "rule_results.0",
        "text": "The retained source tree matches its acquisition manifest.",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      },
      {
        "id": "declared",
        "field": "rule_results.1",
        "text": "Declared skill names (listing.json): coursework-author; craft-video-align; craft-video-assemble; craft-video-audio; craft-video-enrich; craft-video-plan; craft-video-publish; craft-video-render; craft-video-scene; craft-video-script; explainer-video-from-coursework",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      }
    ]
  },
  "review": {
    "kind": "machine-checked",
    "date": "2026-10-22",
    "reviewed_sha256": "2d96b13fdc995b2b22f228a322b7e7e5462fb0b55bb490523cbdd86441b3515f",
    "gates": "35d8d4005cbec51b24571097b50c2131c8a944c7cea5bc996380cad92893af44",
    "codex": "e2c9382931d0c890fce1f6244b7d51134e500d2ba506c6ff1fc0a1b22a1438c2",
    "grok": "7df6120023b4e7c6f34a25ddaf2400638ceb3df1c7a9cab1d07520964ee37ccd",
    "summary": "Deterministic gates passed; every claim rebuilt from evidence with a reviewed template; Grok reported no standing refutation."
  }
}
