← Files Video Code ReviewerARCHIVED FILE
plugin.json
7.38 KB · Oct 8, 2026 · 18:03 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "video-code-reviewer",
"version": "1.0.1",
"description": "Create narrated video code reviews and visual walkthroughs of pull requests, repositories, and algorithms.",
"keywords": [
"code review",
"video",
"pull request",
"PR",
"repo",
"repository",
"coding",
"code explanation",
"walkthrough",
"animation"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Video Code Reviewer",
"shortDescription": "For pull requests (PR) & repos",
"longDescription": "Turn pull requests and repositories into narrated video code reviews, without leaving ChatGPT.\n\nGive it code, a diff, or context from your repository, and Video Code Reviewer turns it into a walkthrough in your language \u2014 with voiceover, highlighted code, before-and-after comparisons, diagrams and animations.\n\nSee what changed, understand why it matters, and share the explanation with your team.\n\nHow you can use Video Code Reviewer:\n\n- Walk through a pull request (PR) before reviewing or merging\n- Explain a feature or PR to a non-technical audience\n- Walk through an app step by step with your own screenshots\n- Explain a bug, its impact, and a proposed fix\n- Onboard developers to an unfamiliar repo\n- Show how your app\u2019s architecture and data flow work\n- Animate an algorithm step by step\n- Compare approaches when planning a refactor\n- Turn code review findings into a video your team can watch\n\nPaste the relevant code or use a connected repository tool to provide context. Only the code excerpts shown and explained in the video are included in it. The rest of your repository is not published.\n\nVideos are created as unlisted, with a claim link. They are not publicly listed, but anyone with the link can watch without logging in and claim the video to their Scrimba profile. To make your video private, sign in, claim it, and change its privacy setting to Private.\n\nWant to make it your own? Keep editing on our platform, then combine your explainers into courses and playlists.\n\nPowered by Scrimba, a learning platform with over 2 million users.",
"category": "Developer Tools",
"capabilities": [
"Interactive"
],
"defaultPrompt": [
"Walk me through the changes in this pull request.",
"Explain our app\u2019s architecture to our product manager.",
"Make a guided tour of our app for new users."
],
"logo": "./assets/icon.png",
"composerIcon": "./assets/icon.png",
"screenshots": [
"./assets/code-plugin-code.png",
"./assets/code-plugin-diagram.png",
"./assets/code-plugin-app.png"
],
"developerName": "Scrimba AS",
"websiteURL": "https://scrimba.com/explain",
"supportURL": "https://scrimba.com/help",
"privacyPolicyURL": "https://scrimba.com/articles/privacy-policy/",
"termsOfServiceURL": "https://scrimba.com/terms-of-service"
},
"review": {
"test_cases": {
"positive": [
{
"description": "Create a narrated video code review.",
"prompt": "Make a video code review of this JavaScript change in access.js. Before: export const canView = (user) => user.role === \"admin\"; After: export const canView = (user) => user.role = \"admin\"; The caller uses if (canView(user)) to show the admin page.",
"tools_triggered": "start_explainer_stream, append_explainer_chunk, finish_explainer_stream",
"expected_behavior": "Creates a narrated code review with a before-and-after comparison, explains the assignment bug, and provides a reusable link."
},
{
"description": "Create a walkthrough of a small repository.",
"prompt": "Create a video walkthrough of this tiny repo. main.js: import { total } from \"./cart.js\"; console.log(total([{ price: 10, quantity: 2 }])); cart.js: export const total = items => items.reduce((sum, item) => sum + item.price * item.quantity, 0); Follow the data from main.js to the printed result.",
"tools_triggered": "start_explainer_stream, append_explainer_chunk, finish_explainer_stream",
"expected_behavior": "Creates a narrated walkthrough following the supplied code from main.js to the result 20, with visuals and a reusable link."
},
{
"description": "Explain an algorithm with an animation.",
"prompt": "Make a short video that animates binary search for 7 in [1, 3, 5, 7, 9]. Show the low, mid, and high positions at each step and explain why the search interval changes.",
"tools_triggered": "start_explainer_stream, append_explainer_chunk, finish_explainer_stream",
"expected_behavior": "Creates a narrated animation showing how binary search finds 7, with a reusable link."
},
{
"description": "Create a programming explainer in Norwegian and portrait format.",
"prompt": "Lag en kort video i portrettformat som forklarer denne Python-funksjonen: def square(x): return x * x. Bruk eksemplet square(4), og fortell p\u00e5 norsk bokm\u00e5l.",
"tools_triggered": "start_explainer_stream, append_explainer_chunk, finish_explainer_stream",
"expected_behavior": "Creates a portrait video in Norwegian Bokm\u00e5l explaining why square(4) returns 16, with code and a reusable link."
},
{
"description": "Explain an app screenshot for a non-technical viewer. Attach assets/code-plugin-app.png from this package before sending the prompt.",
"prompt": "Create a short narrated video explaining this music app screenshot to a non-technical viewer. Show my attached screenshot and explain the visible playlist and track list.",
"tools_triggered": "start_explainer_stream, attach_explainer_image, append_explainer_chunk, finish_explainer_stream",
"expected_behavior": "Uploads and displays the supplied screenshot in a narrated walkthrough of the visible playlist and track list, with a reusable link."
}
],
"negative": [
{
"description": "Explain that the plugin cannot merge PRs or post GitHub comments. Do not call explainer tools.",
"prompt": "Merge my pull request and post LGTM on GitHub. I do not want a video."
},
{
"description": "Explain that the plugin cannot monitor or approve PRs automatically. Do not call explainer tools.",
"prompt": "Automatically watch all new PRs in my private repository and approve them every hour. Do not make videos."
},
{
"description": "Explain that cinematic footage is outside the plugin\u2019s capabilities. Do not call explainer tools.",
"prompt": "Generate photorealistic 3D footage of a robot programming in a futuristic office. I do not want a narrated explainer, slides, code walkthrough, or diagrams."
}
]
},
"demo_recording_url": "https://www.loom.com/share/11a9a17d206f462cb9883fd99aea9fe1"
},
"publication": {
"release_notes": "Improved privacy in image upload error messages.",
"countries": []
},
"apps": "./.app.json"
}
}
}
SHA-256: 362d623e6ace669420d661e3cf5364cd8cefc8ebf8f04d8df2d8351d387e31bd