Verification logo

Verification

CommunityPopular
0xsline
verification

Use when checking whether agent edits are reflected in the OpenChatCut project and editor.

Overview

Publisher0xsline
RepositoryOpenChatCut
Skill nameverification
Stars
1.9K
Forks
277
Bundled files
Instructions only
LicenseAGPL-3.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by 0xsline on GitHub. Read the source before you install it.

Installation

Install the Verification AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/0xsline/OpenChatCut.git /tmp/OpenChatCut
mkdir -p .claude/skills
cp -r /tmp/OpenChatCut/src/agent/skills/verification .claude/skills/verification
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Verification in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Verification on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Verification is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Verification

Use the lowest verification level that proves the requested result:

LevelRequired evidence
L0Static checks such as the focused verification script, npx tsc --noEmit, tests, and build.
L1A real Agent run against the editor at localhost:5199, followed by structural and rendered evidence.
L2The packaged desktop app completing the user scenario, including human visual review where automation is insufficient.

Runtime behavior changes require L0 + L1. Release and desktop-only changes also require L2 when the packaged app is the behavior under test.

Prefer two signals:

  1. read_project for structure: assets, tracks, items, frame placement, timeline duration.
  2. A visual capture path for rendered evidence at exact frames.

Use view_timeline_frames for composed timeline proof. This verifies the edited OpenChatCut timeline: trims, layers, captions, effects, markers, placeholders, crops, transitions, and layout.

For raw source-asset frame inspection, choose the cheapest path based on where the bytes live:

  • The agent in this build has no local filesystem access; all source bytes live in the project media store (/media/uploads/). Use view_asset_frames with the project asset id — the server takes an ffmpeg contact-sheet fast path automatically, so it is already the cheapest source-frame route.
  • view_timeline_frames renders the composed timeline (the editor-truth check); view_asset_frames samples raw source frames. Pick by what you are verifying.
  • There is no separate get_contact_sheet tool in this build — the contact sheet is what view_asset_frames / view_timeline_frames already return.

Use local/remote source-frame artifacts only for source understanding, moment selection, and rough trim decisions, not as edited output or timeline proof.

For local-only or upload-in-progress media, composed timeline proof may be blocked until the asset has bytes available to the renderer. Source-frame inspection via view_asset_frames still works as long as the asset's bytes are on disk (/media/uploads/).

If both visual proof paths are blocked, ask the user to inspect the OpenChatCut editor directly and note the blocker explicitly.

Useful checks:

  • After import: read_project({ "view": "assets", "assetId": "<prefix>" })
  • After move/trim: read_project({ "view": "timeline" })
  • After visual overlay or MG on any timeline media: view_timeline_frames({ "frames": [30, 45, 75] }), then look at the returned frames.
  • For user-requested source selection or visual moment picking: sample stills with view_asset_frames and inspect them. Use that only to choose source files, moments, and rough trims. Build the visible edit as OpenChatCut timeline items. Do not treat raw source inspection as timeline verification or as permission to produce the edited video elsewhere.
  • For source-frame inspection: call view_asset_frames({"assetId":"...","sourceTimesMs":[...]}) after read_project({"view":"assets"}) confirms the asset id/type. Prefer this over asking the user to reattach the file.
  • For local-only visual verification: upload/register cloud-readable media before relying on connector visual proof.
  • For no-source validation: confirm the tool manifest exposed the parameters you used, then record the visible proof in the trace log.

When talking about seconds, verify the fps from read_project or use adapter tools that resolve fps internally.

When reporting a timeline item location, use only the latest read_project structure for track alias, item id, start, duration, and asset id. Do not report planned/default tracks or tool-call intent as verified placement.

Do not treat a command-line JSON response alone as sufficient when the user asks whether the editor reflects the result. Use the editor URL or visual proof when practical.

Real Agent transcript check

After every L1 Agent run, inspect the complete chat record before reporting success:

  1. Read the final assistant response and every tool row created by the run.
  2. Expand failed or warning rows and record the exact error.
  3. Check for aborted turns, repeated retries, stale proposals, incomplete jobs, and tool results that the final response incorrectly describes as successful.
  4. Compare the latest read_project result with the visible timeline.
  5. For visual edits, inspect returned timeline frames rather than trusting the assistant summary.

A run with a correct-looking timeline but an unreported tool error is not a clean pass. Fix the cause or report the remaining error explicitly.

If verification fails, classify the gap before changing tools:

  • tool description or schema was insufficient
  • skill instructions were missing a step
  • read_project did not expose enough state
  • editor authorization did not complete
  • media/transcription pipeline failed
  • cloud render/editor observation was blocked

Frequently asked questions

What does the Verification AI skill do?

Use when checking whether agent edits are reflected in the OpenChatCut project and editor.

Why use Verification on TypingMind?

Because you install it once and use it with any model. Verification is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Verification in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/0xsline/OpenChatCut/tree/main/src/agent/skills/verification. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Verification?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Verification?

As many as you like. As long as a model supports skills, you can use Verification with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Verification AI skill free?

Yes. It is published on GitHub by 0xsline under the AGPL-3.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇