hardwood-cli

hardwood-cli is a skill for Claude Code, Codex from hardwood-hq/hardwood. It costs 216 tokens per session (5,053 once invoked), scanned A, original, Apache-2.0.

A command-line tool for inspecting Apache Parquet files, a column-based data format used by systems such as Spark, Flink, Arrow, and Python.

In plain words
What is it for?
Use it to inspect schemas, physical and logical types, repetition, encodings, statistics, dictionaries, and sample rows from local or Amazon S3 files.
Why use it?
It helps determine whether a data file's schema, types, encoding, or statistics are causing a read or performance problem, without writing diagnostic code.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to inspect schemas, physical and logical types, repetition, encodings, statistics, dictionaries, and sample rows from local or Amazon S3 files.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/hardwood-hq/hardwood/hardwood-cli
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 hardwood-hq/hardwood --skill hardwood-cli
Clone the repo
git clone --depth 1 https://github.com/hardwood-hq/hardwood

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 hardwood-cli

README.md
[![agentmods](https://agentmods.dev/badge/skills/hardwood-hq/hardwood/hardwood-cli/github.svg)](https://agentmods.dev/skills/hardwood-hq/hardwood/hardwood-cli)
Your own site
<a href="https://agentmods.dev/skills/hardwood-hq/hardwood/hardwood-cli"><img src="https://agentmods.dev/badge/skills/hardwood-hq/hardwood/hardwood-cli/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 hardwood-cli

Your own site · 80×15
<a href="https://agentmods.dev/skills/hardwood-hq/hardwood/hardwood-cli"><img src="https://agentmods.dev/badge/skills/hardwood-hq/hardwood/hardwood-cli.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 216 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,053 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. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 8 findings, up to medium

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • medium Prompt Injection · line 306
    Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.
    Fix: Remove the large whitespace padding (blank-line blocks or long space runs) and review any content hidden below or to the right of it. Keep skill files compact and reviewable so no instructions can be
  • medium Prompt Injection · line 309
    Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.
    Fix: Remove the large whitespace padding (blank-line blocks or long space runs) and review any content hidden below or to the right of it. Keep skill files compact and reviewable so no instructions can be
  • medium Prompt Injection · line 316
    Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.
    Fix: Remove the large whitespace padding (blank-line blocks or long space runs) and review any content hidden below or to the right of it. Keep skill files compact and reviewable so no instructions can be
  • medium Prompt Injection · line 310
    Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.
    Fix: Remove the large whitespace padding (blank-line blocks or long space runs) and review any content hidden below or to the right of it. Keep skill files compact and reviewable so no instructions can be
  • medium Prompt Injection · line 313
    Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.
    Fix: Remove the large whitespace padding (blank-line blocks or long space runs) and review any content hidden below or to the right of it. Keep skill files compact and reviewable so no instructions can be
  • medium Prompt Injection · line 317
    Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.
    Fix: Remove the large whitespace padding (blank-line blocks or long space runs) and review any content hidden below or to the right of it. Keep skill files compact and reviewable so no instructions can be
  • medium MCP Rug Pull · line 340
    Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.
    Fix: Pin the image: image:tag or image@sha256:abc123
  • low Tool Misuse · line 340
    Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
    Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
How audits are shown
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.00216 $0.05053
Opus 5 $0.00108 $0.02527
Sonnet 5 $0.00043 $0.01011
Haiku 4.5 $0.00022 $0.00505

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

Security

Grade A, and why

hardwood-cli 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 12d 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.

skills/hardwood-cli/SKILL.md · 345 lines

How it starts

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

Inspecting Parquet files with hardwood

hardwood is a command-line tool for looking inside Apache Parquet files without writing any code. It is purpose-built for the moments when you are debugging Parquet read/write code and start to suspect the file itself — a type that does not match, statistics that are missing, an encoding that defeats your optimizer, a dictionary that is not what you expect.

This skill teaches you which subcommand answers which question, how to read the output, and how to chain a few commands into a diagnosis.

Before you start

  1. Confirm the binary is available. The CLI ships as a GraalVM native binary with instant startup. Check for it before assuming a flag will work:

    command -v hardwood && hardwood --version
    
  2. Every command takes -f/--file. This is the only required flag for the read-only commands. It accepts a local path or an s3:// URI (no extra config beyond the standard AWS environment variables AWS_REGION, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, etc.):

    hardwood schema -f s3://my-bucket/path/to/data.parquet
    
  3. -h/--help on any command lists its real options — run it when a flag below does not match what you see, e.g. hardwood inspect pages --help.

  4. dive needs a TTY; you usually do not. hardwood dive is an interactive terminal UI. It exits with an error when stdin/stdout is not a real terminal, which is the normal case for an agent. Use the headless subcommands below for your own investigation, and suggest dive to the human user when they want to poke around a file interactively.

Command quick reference

You want to know… Run
The high-level shape of a file (row groups, rows, sizes, writer) hardwood info -f FILE
The schema: fields, physical types, logical-type annotations hardwood schema -f FILE
The same schema as Avro or Protobuf hardwood schema -f FILE -F AVRO / -F PROTO
A few actual rows, formatted hardwood print -n 20 -f FILE
The raw file layout: size, footer offset/length, PAR1 magic hardwood footer -f FILE
Per-column size, ranked: share, compression, encoding + dictionary cardinality hardwood inspect columns -f FILE
Level histograms for one column: nulls vs empty lists hardwood inspect columns -f FILE --column PATH
Per-row-group column chunks: type, codec, sizes hardwood inspect rowgroups -f FILE
Pages (data + dictionary) and their min/max stats hardwood inspect pages -f FILE [-c COLUMN]
The dictionary entries of a column hardwood inspect dictionary -f FILE -c COLUMN
Rows out as CSV or JSON hardwood convert -f FILE -F csv|json
Embedded metadata from other engines (Arrow, Spark, pandas) hardwood info -f FILE, --kv-key KEY
Interactive exploration (hand off to the user) hardwood dive -f FILE

Read the full file on GitHub · 345 lines

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. 12d ago First seen · 345 lines · 216 tokens per session scan A 78fa8abd9622

Subscribe to this mod's changes

hardwood-cli is a skill published in the GitHub repository hardwood-hq/hardwood (371 stars, last pushed today), licensed Apache-2.0. It adds 216 tokens to every session and 5,053 once invoked, about $0.0011 per session on Opus 5. A static security scan graded it A with 0 findings. 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

perf-torch-sync-free

Identify and eliminate host-device synchronizations in PyTorch code. Detects sync points (.item(), .cpu(), boolean indexing, torch.tensor on CUDA), classifies false vs true dependencies, provides sync-free alternatives. Triggers: sync-free, synchronization, .item(), .cpu(), host-device sync, eliminate syncs, CPU…

wenyi-li/awesome-agent-kernel-skills · 99 tokens

notebooklm

Install, authenticate, troubleshoot, and operate Gemini Notebook through the notebooklm-py CLI or typed async Python API. Use for notebook and source management, grounded chat and research, and artifact generation or download when the user mentions Gemini Notebook, notebooklm-py, the notebooklm CLI, or its Python API.…

teng-lin/notebooklm-py · 79 tokens

debug-inference

Debug inference clients that use an attached provider and its native endpoint, including hosted APIs and host-local Ollama, vLLM, SGLang, TRT-LLM, LM Studio, or NIM. Use for provider attachment, endpoint policy, credential substitution, topology, and migration from the removed inference.local endpoint. Trigger…

NVIDIA/OpenShell · 119 tokens

oh-my-posh

Install, configure, or troubleshoot Oh My Posh/ohmyposh: shell init, themes, segments, Nerd Font icons, and prompt setup on PowerShell, zsh, bash, or fish.

JanDeDobbeleer/oh-my-posh · 47 tokens

eagle3-triage

Triage a failed EAGLE3 pipeline run. Identifies which step failed (data synthesis, hidden state dump, training, or benchmark), diagnoses root cause from logs, and suggests fixes. Use when user reports an EAGLE3 pipeline failure or asks why a specific step failed. Also helps debug new model support issues.

NVIDIA/Model-Optimizer · 73 tokens

trulens-instrumentation

Instrument LLM apps with TruLens OTEL-based tracing - from setup to debugging and optimization.

truera/trulens · 25 tokens