cross-lens-converge

cross-lens-converge is a skill for Claude Code, Codex from OutlineDriven/odin-claude-plugin. It costs 42 tokens per session (825 once invoked), scanned A, a copy of cross-lens-converge, Apache-2.0.

A read-only review method that examines a claim or artifact through several different failure-focused viewpoints, called lenses.

In plain words
What is it for?
Use it to pressure-test a proposal, claim, or other work before it is released or accepted.
Why use it?
It exposes problems that one reviewer may miss and shows where reviewers agree, disagree, and need one resolving question.

Skill for Claude CodeCodex

Written for Claude Code and Codex: shipped in a Claude Code plugin, but also agents/openai.yaml present.

Part of the odin-critique plugin — 21 skills shipped together

Good fit Use it to pressure-test a proposal, claim, or other work before it is released or accepted.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/outlinedriven/odin-claude-plugin/cross-lens-converge
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add OutlineDriven/odin-claude-plugin --skill cross-lens-converge
Clone the repo
git clone --depth 1 https://github.com/OutlineDriven/odin-claude-plugin

Made for: Claude Code, Codex.

Or install odin-critique, the plugin that ships this one along with the rest of its 21 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for cross-lens-converge

README.md
[![agentmods](https://agentmods.dev/badge/skills/outlinedriven/odin-claude-plugin/cross-lens-converge/github.svg)](https://agentmods.dev/skills/outlinedriven/odin-claude-plugin/cross-lens-converge)
Your own site
<a href="https://agentmods.dev/skills/outlinedriven/odin-claude-plugin/cross-lens-converge"><img src="https://agentmods.dev/badge/skills/outlinedriven/odin-claude-plugin/cross-lens-converge/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for cross-lens-converge

Your own site · 80×15
<a href="https://agentmods.dev/skills/outlinedriven/odin-claude-plugin/cross-lens-converge"><img src="https://agentmods.dev/badge/skills/outlinedriven/odin-claude-plugin/cross-lens-converge.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 42 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 825 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 98% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00042 $0.00825
Opus 5 $0.00021 $0.00413
Sonnet 5 $0.00008 $0.00165
Haiku 4.5 $0.00004 $0.00082

Measured 5d ago against content hash 81bc031f49f8, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

cross-lens-converge scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

98% identical to cross-lens-converge — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

plugins/odin-critique/skills/cross-lens-converge/SKILL.md · 39 lines

How it starts

The opening of the file, as written. The whole thing — 39 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Cross lens converge

Contract

Field Bound contract
Trigger One reviewer isn't enough because the failure modes are heterogeneous, or a claim looks strong to its author and needs cross-lens pressure before it ships
Authority Read-only. No file, VCS, credential, paid, published, deployed, or remote mutation.
Side effect None (read-only analysis); returns a convergence picture and the single resolving question
Done The result reads as a picture not a checklist: a reader sees which lenses agreed, which disagreed, and the one question that matters, and can act on it without re-running the analysis

Inputs

The claim or artifact under pressure must be supplied. Candidate failure modes may be supplied or derived from the artifact. When supplied, they are trusted input and must not be re-derived.

Procedure

  1. Receive the artifact and the candidate failure modes. If the failure modes are not supplied, enumerate them from the artifact. Done when: the artifact is received and failure modes are supplied or enumerated.
  2. Collapse candidates that describe the same failure mode into one lens. Assign exactly one lens to each genuinely distinct failure mode that remains. Done when: each distinct failure mode has exactly one lens, with duplicates collapsed.
  3. Give each lens exactly one load-bearing reason it would reject or weaken the claim. A lens with no load-bearing reason is dropped before running, not coerced into agreement. Done when: every retained lens has one load-bearing reason; reasonless lenses are dropped.
  4. Run every lens independently against the artifact. Record, per lens, its verdict as one of agrees, disagrees, or cannot-decide, and the single reason that drives that verdict. Done when: every retained lens has a verdict and its driving reason recorded.
  5. Do not average, merge, or majority-count the verdicts. Disagreement is the product; preserve which lenses agreed and which disagreed. Done when: verdicts are preserved per-lens without averaging or majority-counting.
  6. From the disagreed and cannot-decide lenses, identify the one question whose answer would resolve the most lens disagreements. If no single question resolves more than one, name the question that resolves the highest-stakes disagreement. If no lens disagrees and at least one lens cannot-decide, name the one question whose answer would let the undecided lenses reach a verdict. If every lens agrees, the resolving question is none. Done when: the single resolving question is identified, or none is set when every lens agrees.
  7. Return the convergence picture: per-lens verdict and load-bearing reason, the agreed set, the disagreed set, and the single resolving question. Done when: the convergence picture is returned with per-lens verdicts, agreed set, disagreed set, and resolving question.

Read the full file on GitHub · 39 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 39 lines · 42 tokens per session scan A 81bc031f49f8

Subscribe to this mod's changes

cross-lens-converge is a skill published in the GitHub repository OutlineDriven/odin-claude-plugin (35 stars, last pushed 2d ago), licensed Apache-2.0. It adds 42 tokens to every session and 825 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. It is 98% identical to cross-lens-converge, differing in 0 lines, and is treated as a copy.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

local-ai-agents

Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…

microsoft/ai-agents-for-beginners · 200 tokens

next-cache-components-adoption

Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…

vercel/next.js · 95 tokens

insight-error-page

Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…

vercel/next.js · 83 tokens

next-cache-components-optimizer

Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…

vercel/next.js · 170 tokens

next-partial-prefetching-adoption

Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…

vercel/next.js · 103 tokens