本文へ移動
cccskills
無料GitHub で公開

jev-lens

Use when images (photos, illustrations, screenshots) need to become input for TypeSafe's Jev (System One) model, which reads only text -- "turn this photo into a Jev state", "describe these images for Jev", "decode images for System One", or a Jev project whose decision depends on what a picture shows. Handles 1 to about 100 images; produces a neutral, complete decode and a JSON state, checked against Jev.

インストール方法を見る

含まれるファイル(32)

  • SKILL.md4.9 KB
  • batch.md3.3 KB
  • calibrate.md6.5 KB
  • decode-protocol.md6.3 KB
  • README.md5.2 KB
  • scripts/agreement.py4.6 KB
  • scripts/audit_package.py4.4 KB
  • scripts/build_state.py4.3 KB
  • scripts/jev_check.py12.0 KB
  • scripts/lenslib.py2.1 KB
  • scripts/people_words.py2.9 KB
  • scripts/prepare_images.py2.6 KB
  • scripts/validate_decodes.py5.6 KB
  • state-rules.md2.9 KB
  • templates/base.json2.8 KB
  • tests/images/bench.jpg168.2 KB
  • tests/images/cafe.jpg346.0 KB
  • tests/images/poster.jpg629.4 KB
  • tests/images/signs.jpg263.9 KB
  • tests/images/SOURCES.md1.2 KB
  • tests/images/street_corner.jpg303.5 KB
  • tests/images/thrift_shop.jpg342.8 KB
  • tests/live-check-2026-09-28.md875 B
  • tests/live-questions.json561 B
  • tests/live-state.json856 B
  • tests/test_agreement.py2.5 KB
  • tests/test_audit_package.py2.3 KB
  • tests/test_build_state.py3.1 KB
  • tests/test_jev_check.py3.9 KB
  • tests/test_people_words.py1.7 KB
  • tests/test_prepare_images.py1.4 KB
  • tests/test_validate.py4.2 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Jev Lens

Jev can't see images. Jev Lens describes them for it, neutrally and completely.

Turns images into a JSON state for Jev. In priority order:

  1. An excellent decode: a complete, accurate, unbiased record of what the image shows.
  2. A very good state: the JSON object built from the decode.
  3. Questions, used only as instruments to check that the decode and the state carry what's needed. Question design is out of scope.

The decode is done blind: fresh subagents that see only the cleaned images and a neutral brief, never the goal, the user's questions or their hypothesis. What a person hopes the image shows is the main source of bias, so it never reaches the decoder.

Phases

ImagesDoOpen
1 to 5Phase 1 on all of them; that is the whole jobcalibrate.md
6 to about 100Phase 1 on 1 to 3, then Phase 2 on the restcalibrate.md, then batch.md
Over about 100Probably the wrong skill: say it isn't optimized for bulk extraction, and offer to calibrate on a sample so the package is ready for a bulk tool

Both phases use decode-protocol.md (how decoders are briefed and what they write) and state-rules.md (how the state is built). General rules for building with Jev, with their sources: ../shared/jev-rules.md (shared with Jevaluate).

Modes

  • Heavy: 2 blind decoders per calibration image with agreement measured, up to 2 calibration rounds, then an agreement sample and a cascade in the batch.
  • Light: 1 blind decoder, 1 round, no agreement sample.
  • Default: Heavy the first time in a new kind of image or goal; Light when reusing a calibrated package that worked.
  • With 5 images or fewer, use the default without asking. With more than 5, always ask, showing both costs.

Cost

Each subagent carries a fixed overhead (about 55k tokens in Claude Code) before it reads anything. The figures below are Claude Code measurements; other harnesses differ. Guide for 10 images:

LightHeavy
Calibration decodes (2 images)~60k~120k
Extra calibration roundnone~120k
Main session (reviews, state, sketch, check)~20k~35k
Batch decode (8 images, 1 subagent)~75k~75k
Agreement sample (3 images)none~65k
Cascade on flagged fieldsnone~30k
Total~155k~445k

Scale the batch lines by images / 10 per decoder. The Jev API cost is under a cent either way; jev_check.py prints it before sending anything.

Decoder model: the strongest vision model for calibration and the cascade, a cheaper one for the batch. At intake, ask whether to use the strongest for everything, and show the difference: the batch line costs about the same in tokens but at the stronger model's price.

Outputs

A run folder next to the images, <name>-jev-lens/:

PathWhat
images/, manifest.jsonCleaned copies (metadata stripped, renamed); the manifest maps them back and is never shown to a decoder
package/brief.md, template.json, decoder-prompt.md, examples/: the calibrated package
decodes/Each blind decode (a/, b/, batch/, sample/)
agreement.mdField-by-field agreement between decoders
inventory/The reviewed decode for each calibration image
keep.json, left-out.mdWhich fields went into the state, and why the rest didn't
state.json or states/The state, one per image
questions.json, question-sketch.mdThe question sketch (a sketch, not final questions)
jev-check.mdThe Jev check and the field-by-field ranking
report.mdOne page: what was seen, what was uncertain, what was left out and why, the agreement rates, and what drives the answer

Requirements

  • Python 3.9 or later. prepare_images.py and jev_check.py declare their packages inline (Pillow; typesafe-sdk), so uv run installs them; without uv, pip install pillow typesafe-sdk and use python. The other scripts use only the standard library.
  • TYPESAFE_API_KEY for the Jev check. Without it, the skill skips the check, says so, and still delivers the decode and state.
  • The model ID: jev-1.13.0 by default; take the current one from https://docs.typesafe.ai/models.
  • In Codex, the default sandbox blocks the network and writes outside the workspace: uv run installing packages, the Jev check, and a run folder outside the workspace need your approval.

Rating whether a finished Jev project uses Jev well is a different job: the Jevaluate skill. Jev Lens does not need it.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use when a question, review, design or claim involves Jev, TypeSafe, System One, Nouls, or Choice/Score questions, including whether something should be built with Jev, reviewing a Jev design, briefing a subagent on Jev work, or relaying a subagent's Jev finding.

日本語の概要は準備中です。原文の説明を表示しています。

tiffygk/jev-mode92026年10月15日 更新

jevaluate

無料

Use when rating whether a project, repo, skill, workflow, plugin, agent product or post uses TypeSafe's Jev (System One) model well -- "is this a good use of Jev?", "rate this Jev integration", "jevaluate <url>", or a link to something named after Jev; also when checking whether something that calls itself Jev actually uses it.

日本語の概要は準備中です。原文の説明を表示しています。

tiffygk/jev-mode92026年10月15日 更新

Use when testing whether the jevaluate rubric and instructions lead graders to the right answers: after a rubric or instruction change, before freezing a rubric, before publishing ratings, or when a grader's calls look wrong.

日本語の概要は準備中です。原文の説明を表示しています。

tiffygk/jev-mode92026年10月15日 更新

Use when running a jevaluate rating round, re-rating after a rubric change, changing the jevaluate rubric, or publishing ratings to the jev-mode ratings folder.

日本語の概要は準備中です。原文の説明を表示しています。

tiffygk/jev-mode92026年10月15日 更新

Use when rating a project with Jevaluate that must stay private -- "/jevaluate-private <link or folder>", "rate this privately", "evaluate my own project", a client's or employer's code, a design doc or a local folder that isn't public, or any rating that must not reach the public ratings or the repo.

日本語の概要は準備中です。原文の説明を表示しています。

tiffygk/jev-mode92026年10月15日 更新

tiffygk のスキルをすべて見る

このスキルの問題を報告する