schedule-extractor

schedule-extractor is a skill for Claude Code, Codex from dleerdefi/claude-code-construction. It costs 49 tokens per session (3,840 once invoked), scanned A, original, MIT.

A tool that finds tables in construction drawings and turns their contents into organized Excel data. Schedules are tables such as door, window, finish, fixture, or electrical-panel lists.

In plain words
What is it for?
It helps extract door, window, finish, fixture, and panel schedules, then clean and validate the data in an Excel file.
Why use it?
It removes the need to manually read and retype schedule information from drawing sheets or specification pages.

Skill for Claude CodeCodex

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.

agentmods
npx agentmods add skills/dleerdefi/claude-code-construction/schedule-extractor
Any agent
npx skills add dleerdefi/claude-code-construction --skill schedule-extractor
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 schedule-extractor

README.md
[![agentmods](https://agentmods.dev/badge/skills/dleerdefi/claude-code-construction/schedule-extractor.svg)](https://agentmods.dev/skills/dleerdefi/claude-code-construction/schedule-extractor)
Your own site
<a href="https://agentmods.dev/skills/dleerdefi/claude-code-construction/schedule-extractor"><img src="https://agentmods.dev/badge/skills/dleerdefi/claude-code-construction/schedule-extractor.svg" alt="Measured on agentmods" height="20"></a>
Per session 49 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,840 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
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 $0.00049 $0.03840
Opus 5 $0.00024 $0.01920
Sonnet 5 $0.00010 $0.00768
Haiku 4.5 $0.00005 $0.00384

Measured 4d ago against content hash 110cf3bdd787, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

schedule-extractor 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 4d ago.

The scan reads SKILL.md. This mod also ships 3 executable files (scripts/schedule_to_xlsx.py, scripts/shared.py, scripts/xlsx_to_changeset.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 -X POST "{api_url}/projects/{project_id}/schedules/ingest" \
.claude/skills/schedule-extractor/SKILL.md · 354 lines

How it starts

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

Schedule Extractor

Extracts tabular schedule data embedded in drawing sheets or spec pages and outputs structured Excel files. Schedules are typically one element among many on a sheet — or the entire sheet may be a schedule.

Workflow

Extraction Progress:
- [ ] Step 1: Discover schedule locations
- [ ] Step 2: Isolate (crop) the schedule region
- [ ] Step 3: Extract structured data (pdfplumber + vision)
- [ ] Step 4: Validate and clean data
- [ ] Step 5: Output to Excel
- [ ] Step 6: Write graph entry

Step 1: Discover Schedule Locations

Use a multi-source discovery approach, checking all available sources:

Source A — Sheet titles in sheet index (primary, most reliable)

Search .construction/index/sheet_index.yaml (or the sheet index you've built) for sheets with "SCHEDULE" in the title. Many important schedules occupy an entire sheet — the sheet title tells you exactly what it is:

  • "DOOR SCHEDULE" → entire sheet is a door schedule
  • "FINISH SCHEDULE" or "ROOM FINISH SCHEDULE" → entire sheet is finishes
  • "WINDOW SCHEDULE" → entire sheet is windows
  • "PANEL SCHEDULE" → electrical panel schedule
  • "FIXTURE SCHEDULE" → plumbing fixtures

For dedicated schedule sheets, the entire page is the extraction target — no need to crop.

Source B — AgentCM database query (supplementary)

If .construction/database.yaml exists, read query_command from it, then query known schedules:

# Read query_command and project_id from .construction/database.yaml
{query_command} -c "SELECT id, schedule_type, title, sheet_id, bounding_region FROM schedules WHERE project_id = '{PROJECT_ID}'"

This returns all schedules already detected (including stubs from Group Review with bounding regions). For embedded schedules on non-schedule sheets, check the bounding_region column.

Note: Schedule bounding region detection is still being refined — treat these as hints, not definitive boundaries. Always verify with vision.

Source C — Discipline-based heuristics

Read the full file on GitHub · 354 lines

Files

What ships with it

4 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. 4d ago First seen · 354 lines · 49 tokens per session scan A 110cf3bdd787

Subscribe to this mod's changes

schedule-extractor is a skill published in the GitHub repository dleerdefi/claude-code-construction (35 stars, last pushed 4mo ago), licensed MIT. It adds 49 tokens to every session and 3,840 once invoked, about $0.0002 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

adjudication-sheets

Build human adjudication / hand-labeling sheets from LLM-pipeline data without evidence truncation. Use when: (1) preparing a CSV/Excel sheet for a human to rule on cases an LLM classifier or rater panel judged, (2) a labeler reports "there is no information to label from" or cells look empty in Excel, (3) excerpt…

kennethkhoocy/applied-micro-skills · 142 tokens

stylework-yunxiao-requirement-sync

StyleWork 云效需求同步 / 云效导出到钉钉表格:当用户要把云效某个月或某批需求导出为 Excel,并复制到已有钉钉在线表格的新 Sheet,按迭代排序、分组留空、设置黄色加粗表头、冻结首行和置顶时使用。也适用于登录过期后扫码继续、用户直接提供本地 Excel、或检查本次同步结果。V1 只做云效到钉钉,不用于需求排期判断、钉钉反向写回云效、创建新的钉钉文件或修改已有 Sheet。.

PANGKAIFENG/ai-product-manager-skills · 153 tokens

echarts-charts

Create interactive Apache ECharts charts and dashboard-ready HTML from Excel, CSV, JSON, tables, or pasted data. Use when Codex needs to make charts, visualizations, dashboards, ECharts options, interactive HTML charts, or convert analysis results into bar, line, pie, scatter, heatmap, radar, funnel, map, or…

Lucas-Fong/html-report-stable-base · 76 tokens

generate-change-impact

Generates a change impact assessment file (change-impact-CR-001.xlsx) for Phase 4 — Development. PM describes a scope change request; the agent classifies the change (scope / budget / timeline / resource), analyzes impact on project-plan.md and project-budget.xlsx, calculates timeline delta, budget delta, and risk…

KirKruglov/claude-project-manager · 154 tokens

generate-comparison-table

Generates a prototype comparison table (comparison-table.xlsx) for Phase 3 — Prototyping. PM describes 2–4 prototypes in chat; the agent structures evaluation criteria (standard set: technical feasibility, UX quality, cost, timeline, risk), proposes weights (customisable by PM), scores each prototype on a 1–5 scale…

KirKruglov/claude-project-manager · 149 tokens

storyboard-designer

为 AI 视频项目(首尾帧提示法)生成标准化的分镜表 Excel,包含「分镜表」与「形象设计」两个子表。负责编写首帧/尾帧/动态提示词、切分旁白与音效、控制景别渐进与形象一致性。当用户给出旁白文案/剧情脚本并需要制作 AI 视频分镜表时使用。不适用于纯剪辑/非线性剪辑工程、或与首尾帧文生图/图生视频无关的视频任务。.

GenNiao-Photograph/storyboard-designer · 129 tokens