{"skill":{"slug":"liustack-modlens","name":"modlens","description":"Plug-in vision for text-only models. Hard rule: when a file path or URL with an image extension (.png, .jpg, .jpeg, .webp, .gif, .heic, .heif) appears anywhere in the conversation (typed by the user, injected as a `[Image: source: <path>]` line, or inside a tag) and you cannot see that image's content, run this skill on it before any other approach: no self-built OCR, no PIL, no tesseract. Also triggers on pasted-image placeholders such as `[Image #1]` and `[Unsupported Image]`. If you can actually see the image, do not use this skill. When unsure, run `modlens guard` before the first read of a session: a deny verdict means the active model has native vision and must read the image itself. Runs the modlens CLI to convert the image into structured JSON evidence: every word transcribed, layout regions, semantics, visual clues. Also use when the user asks how to install, configure, or switch modlens providers (Gemini API key, OpenAI-compatible endpoints, Claude API or Claude Code CLI).","repository":"https://github.com/liustack/modlens/tree/main/skills/modlens"},"recommended_command":"npx skills add liustack/modlens --skill modlens","install_targets":[{"id":"openagentskill-cli","label":"CLI","title":"OpenAgentSkill CLI","kind":"command","value":"npx --yes https://github.com/Leon-Drq/openagentskill/releases/download/cli-v0.2.1/openagentskill-0.2.1.tgz install liustack-modlens","description":"Resolve policy, run the source installer safely, and report a verified install receipt.","copyLabel":"Copy command"},{"id":"codex","label":"Codex","title":"Codex install prompt","kind":"agent-prompt","value":"Install the \"modlens\" agent skill from https://github.com/liustack/modlens/tree/main/skills/modlens. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Plug-in vision for text-only models. Hard rule: when a file path or URL with an image extension (.png, .jpg, .jpeg, .webp, .gif, .heic, .heif) appears anywhere in the conversation (typed by the user, injected as a `[Image: source: <path>]` line, or inside a tag) and you cannot see that image's content, run this skill on it before any other approach: no self-built OCR, no PIL, no tesseract. Also triggers on pasted-image placeholders such as `[Image #1]` and `[Unsupported Image]`. If you can actually see the image, do not use this skill. When unsure, run `modlens guard` before the first read of a session: a deny verdict means the active model has native vision and must read the image itself. Runs the modlens CLI to convert the image into structured JSON evidence: every word transcribed, layout regions, semantics, visual clues. Also use when the user asks how to install, configure, or switch modlens providers (Gemini API key, OpenAI-compatible endpoints, Claude API or Claude Code CLI). After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {\"event_id\":\"install_<unique-id>\",\"skill_slug\":\"liustack-modlens\",\"task\":\"Install modlens\",\"agent\":\"codex\",\"outcome\":\"success\",\"install_used\":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.","description":"Give Codex a repo-aware install prompt when the skill is not available through a local CLI.","copyLabel":"Copy prompt"},{"id":"claude-code","label":"Claude Code","title":"Claude Code skill prompt","kind":"agent-prompt","value":"Add \"modlens\" as a Claude Code skill from https://github.com/liustack/modlens/tree/main/skills/modlens. Inspect the skill instructions, place the reusable skill files in the appropriate local skills location for this project, and report the activation steps. Skill purpose: Plug-in vision for text-only models. Hard rule: when a file path or URL with an image extension (.png, .jpg, .jpeg, .webp, .gif, .heic, .heif) appears anywhere in the conversation (typed by the user, injected as a `[Image: source: <path>]` line, or inside a tag) and you cannot see that image's content, run this skill on it before any other approach: no self-built OCR, no PIL, no tesseract. Also triggers on pasted-image placeholders such as `[Image #1]` and `[Unsupported Image]`. If you can actually see the image, do not use this skill. When unsure, run `modlens guard` before the first read of a session: a deny verdict means the active model has native vision and must read the image itself. Runs the modlens CLI to convert the image into structured JSON evidence: every word transcribed, layout regions, semantics, visual clues. Also use when the user asks how to install, configure, or switch modlens providers (Gemini API key, OpenAI-compatible endpoints, Claude API or Claude Code CLI). After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {\"event_id\":\"install_<unique-id>\",\"skill_slug\":\"liustack-modlens\",\"task\":\"Install modlens\",\"agent\":\"claude-code\",\"outcome\":\"success\",\"install_used\":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.","description":"Use this prompt to ask Claude Code to add the skill and explain the local activation steps.","copyLabel":"Copy prompt"},{"id":"cursor","label":"Cursor","title":"Cursor rule prompt","kind":"agent-prompt","value":"Turn \"modlens\" from https://github.com/liustack/modlens/tree/main/skills/modlens into a reusable Cursor project rule or agent instruction. Preserve the core workflow, adapt paths to this repo, and keep the rule scoped to tasks where it is relevant. Skill purpose: Plug-in vision for text-only models. Hard rule: when a file path or URL with an image extension (.png, .jpg, .jpeg, .webp, .gif, .heic, .heif) appears anywhere in the conversation (typed by the user, injected as a `[Image: source: <path>]` line, or inside a tag) and you cannot see that image's content, run this skill on it before any other approach: no self-built OCR, no PIL, no tesseract. Also triggers on pasted-image placeholders such as `[Image #1]` and `[Unsupported Image]`. If you can actually see the image, do not use this skill. When unsure, run `modlens guard` before the first read of a session: a deny verdict means the active model has native vision and must read the image itself. Runs the modlens CLI to convert the image into structured JSON evidence: every word transcribed, layout regions, semantics, visual clues. Also use when the user asks how to install, configure, or switch modlens providers (Gemini API key, OpenAI-compatible endpoints, Claude API or Claude Code CLI). After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {\"event_id\":\"install_<unique-id>\",\"skill_slug\":\"liustack-modlens\",\"task\":\"Install modlens\",\"agent\":\"cursor\",\"outcome\":\"success\",\"install_used\":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.","description":"Use this when installing as Cursor project rules or reusable agent instructions.","copyLabel":"Copy prompt"}],"install_receipt":{"endpoint":"https://www.openagentskill.com/api/agent/outcome","method":"POST","idempotency":"event_id is unique; retries update the same receipt","count_rule":"verified installs require install_used=true and outcome=success","example":{"event_id":"install_<unique-id>","skill_slug":"liustack-modlens","task":"Install modlens","agent":"codex","outcome":"success","install_used":true}},"safety_gate":{"tier":"blocked","label":"Blocked for auto-install","badge":"BLOCKED","auto_install_policy":"block","auto_install_allowed":false,"human_review_required":true,"blocked":true,"recommended_action":"Do not auto-install. Inspect the source, dependencies, and permission surface first.","reasons":["Metadata combines secrets access with shell or command execution","High-risk permission hints: Shell or command execution, Secrets or environment access"]},"agent_prompt":"Install the \"modlens\" agent skill only after reviewing the OpenAgentSkill profile and source repository. Safety gate: Blocked for auto-install (block). Start with https://www.openagentskill.com/skills/liustack-modlens, inspect the trust and audit notes, then use the recommended install handoff: npx skills add liustack/modlens --skill modlens. After installation, summarize changed files, required setup, and a minimal verification result before using the skill for real work. Report the verified result to https://www.openagentskill.com/api/agent/outcome using a unique event_id, skill_slug=liustack-modlens, install_used=true, and outcome=success or failed.","safety_checklist":["Safety gate: Blocked for auto-install. Policy: block.","Do not auto-install. Inspect the source, dependencies, and permission surface first.","Review the repository and license before running third-party code.","Prefer a sandbox or isolated project when testing a new skill.","Start with the recommended command, then inspect generated files before committing changes.","Do not execute external side effects, payments, account changes, or credentialed actions without explicit user approval."],"verification_steps":["Open the skill documentation or SKILL.md and identify required setup.","Run the smallest safe example for the target task.","Confirm outputs match the task before allowing broader agent use.","Record any missing credentials, policy risks, or manual approvals needed."],"do_not_auto_install_when":["The repository or license cannot be reviewed.","The skill requires broad credentials or production account access.","The task involves regulated, private, or high-impact data without user approval."],"urls":{"web":"https://www.openagentskill.com/skills/liustack-modlens","api":"https://www.openagentskill.com/api/agent/skills/liustack-modlens","install_api":"https://www.openagentskill.com/api/skills/liustack-modlens/install","repository":"https://github.com/liustack/modlens/tree/main/skills/modlens"},"meta":{"agent_friendly":true,"api_version":"1.0","generated_at":"2026-08-22T16:18:06.463Z"}}