viewport-highlighter

viewport-highlighter is a skill for Claude Code, Codex from dleerdefi/claude-code-construction. It costs 57 tokens per session (4,633 once invoked), scanned A, original, MIT.

A vision-based tool that finds separate views on construction drawing sheets, such as floor plans, sections, elevations, details, and schedules. It records each view's boundary, title, scale, and type.

In plain words
What is it for?
It helps create highlighted viewport overlays in an AgentCM project, where a viewport is a marked region containing one drawing view.
Why use it?
It removes the manual work of locating and labeling every view on crowded drawing sheets.

Skill for Claude CodeCodex

Written for Claude Code and Codex: ${CLAUDE_SKILL_DIR} variable, but also agents/openai.yaml present. Also seen: mentions CLAUDE.md.

Good fit It helps create highlighted viewport overlays in an AgentCM project, where a viewport is a marked region containing one drawing view.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/dleerdefi/claude-code-construction/viewport-highlighter
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 dleerdefi/claude-code-construction --skill viewport-highlighter
Clone the repo
git clone --depth 1 https://github.com/dleerdefi/claude-code-construction

Made for: Claude Code, Codex.

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 viewport-highlighter

README.md
[![agentmods](https://agentmods.dev/badge/skills/dleerdefi/claude-code-construction/viewport-highlighter/github.svg)](https://agentmods.dev/skills/dleerdefi/claude-code-construction/viewport-highlighter)
Your own site
<a href="https://agentmods.dev/skills/dleerdefi/claude-code-construction/viewport-highlighter"><img src="https://agentmods.dev/badge/skills/dleerdefi/claude-code-construction/viewport-highlighter/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 viewport-highlighter

Your own site · 80×15
<a href="https://agentmods.dev/skills/dleerdefi/claude-code-construction/viewport-highlighter"><img src="https://agentmods.dev/badge/skills/dleerdefi/claude-code-construction/viewport-highlighter.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 57 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,633 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found 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.00057 $0.04633
Opus 5 $0.00028 $0.02316
Sonnet 5 $0.00011 $0.00927
Haiku 4.5 $0.00006 $0.00463

Measured 9d ago against content hash b4ab069535b3, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

viewport-highlighter scanned grade A with 1 finding 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 9d ago.

The scan reads SKILL.md. This mod also ships 2 executable files (scripts/markup_viewports.py, scripts/shared.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -s --fail-with-body -X POST "{api_url}/projects/{project_id}/viewport-suggestions/ingest" \
.claude/skills/viewport-highlighter/SKILL.md · 486 lines

How it starts

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

Viewport Highlighter

Purpose

Automate viewport segmentation of construction drawing sheets. Each sheet typically contains 1-12+ distinct views (floor plans, sections, elevations, details, schedules). This skill identifies all views, determines their boundaries, extracts metadata (title, detail number, scale, type), and creates viewport highlights — producing the same result as a user manually drawing and labeling each viewport in the UI.

Does NOT: modify existing viewports, delete viewports, or change element data. Only creates new viewport highlights and populates their metadata.


Step 0: Verify AgentCM Mode

This skill requires AgentCM. It writes viewport overlays through the AgentCM REST API and has no standalone output path.

Check for .construction/ directory at the project root.

If .construction/ is absent, stop immediately and tell the user:

"viewport-highlighter requires an AgentCM project — .construction/ directory not found. This skill submits viewport overlays through the AgentCM API and cannot operate without it. Open this project in AgentCM first, then re-run."

If .construction/ exists:

  • Read .construction/CLAUDE.md for project context
  • Read .construction/database.yaml for query_command, project_id, api_url
  • Read .construction/index/sheet_index.yaml for sheet inventory
  • Sheet images at .construction/rasters/{sheet_number}.png
  • OCR data queryable via extracted_items table in PostgreSQL
  • Write viewports via REST API

Step 1: User Scopes the Task

User provides sheet scope:

  • Specific sheets: "A2.01, A2.02, A5.01"
  • By discipline: "all architectural sheets"
  • All sheets: "every sheet in the set"

Optional: user can specify which view types to look for (e.g., "only floor plans and sections"). Default: identify ALL views on each sheet.

Before proceeding: Confirm the sheet list and any filters with the user. Show the count of sheets to process.

Step 2: Vision — Identify View Boundaries

Read the full file on GitHub · 486 lines

Files

What ships with it

3 files 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. 9d ago First seen · 486 lines · 57 tokens per session scan A b4ab069535b3

Subscribe to this mod's changes

viewport-highlighter is a skill published in the GitHub repository dleerdefi/claude-code-construction (37 stars, last pushed 4mo ago), licensed MIT. It adds 57 tokens to every session and 4,633 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

baoyu-youtube-transcript

A tool for downloading the written captions, subtitles, chapter information, speaker labels, and cover image from a YouTube video using its URL or ID.

JimLiu/baoyu-skills · 107 tokens

baoyu-url-to-markdown

Fetch any URL and convert to markdown using baoyu-fetch CLI (Chrome CDP with site-specific adapters). Built-in adapters for X/Twitter, YouTube transcripts, Hacker News threads, and generic pages via Defuddle. Handles login/CAPTCHA via interaction wait modes. Use when user wants to save a webpage as markdown.

JimLiu/baoyu-skills · 72 tokens

agent-wiki

Incremental LLM-friendly wiki generator for Obsidian note vaults. Use when: (1) Building wiki from notes, (2) Ingesting notes to wiki, (3) Obsidian LLM wiki, (4) Incremental knowledge base management. Triggers: 'build wiki from notes', 'ingest notes to wiki', 'Obsidian LLM wiki', 'incremental knowledge base'.

Dianel555/DSkills · 89 tokens

download-fulltext-pdf

A skill for downloading a research paper's complete PDF using an identifier such as a DOI, title, or BibTeX entry.

huangwb8/skills · 105 tokens

latex-empirical-tables

Set up, format, fix, and clean up LaTeX regression and estimation tables in empirical economics or finance papers. Use when (a) creating a .tex, results.tex, main.tex, or preamble to display regression or estimation output from Python (pyfixest), Stata, or R — including any mention of estout, esttab, estauto, estwide…

kennethkhoocy/applied-micro-skills · 240 tokens

content-portability

Use when the user says 'export my site', 'backup my pages before editing', 'download my content locally', or 'migrate content to my other site'. Exports pages, posts, and custom posts to portable local packages with builder data, media, and markdown, then imports elsewhere with ID remapping.

respira-press/agent-skills-wordpress · 67 tokens