hardwood-cli

hardwood-cli is a skill for Claude Code, Codex from hardwood-hq/hardwood. It costs 216 tokens per session (5,256 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,256 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.05256
Opus 5.5 $0.00086 $0.02102
Sonnet 5.5 $0.00043 $0.01051
Haiku 4.5 $0.00022 $0.00526

Measured 4d ago against content hash a3092249f8d2, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, 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 4d 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 · 358 lines

How it starts

The opening of the file, as written. The whole thing — 358 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 · 358 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. 4d ago Changed · +4 lines a3092249f8d2
  2. 12d ago Changed 8e555502f716
  3. 23d ago Changed · +9 lines ab6e61a92ce9
  4. 1mo ago Changed 111b2fa1ac28
  5. 2mo 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 (417 stars, last pushed 3d ago), licensed Apache-2.0. It adds 216 tokens to every session and 5,256 once invoked, about $0.0009 per session on Opus 5.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

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 managed inference endpoint. Trigger…

NVIDIA/OpenShell · 120 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

spark-engineer

Use when writing Spark jobs, debugging performance issues, or configuring cluster settings for Apache Spark applications, distributed data processing pipelines, or big data workloads. Invoke to write DataFrame transformations, optimize Spark SQL queries, implement RDD pipelines, tune shuffle operations, configure…

Jeffallan/claude-skills · 75 tokens

rocketride-debugging-pipelines

Use when a RocketRide pipeline run failed, errored, or produced wrong/empty output, and you need to find the failing node and fix it. Reads run status and execution traces, diagnoses the cause, and routes back to design or configuration. Also use directly when asked to debug a run.

rocketride-org/rocketride-server · 67 tokens

eval-triage

Investigate failing experiments and evaluations with LangWatch. Triage a failing experiment run to the exact rows and evaluator scores that regressed, then to a root cause. Use when an experiment fails, scores drop, or evaluations regress.

langwatch/langwatch · 51 tokens