hardwood: Skill for Claude Code

.claude/skills/hardwood-supply-chain-check/SKILL.md

hardwood-supply-chain-check is a skill for Claude Code from hardwood-hq/hardwood. It costs 147 tokens per session (3,034 once invoked), scanned B, original, Apache-2.0.

A recurring security check for Hardwood's software build and release pipeline. It examines dependency and action pins, advisories, workflow and cache risks, permissions, runners, build tools, native libraries, and release checksums.

In plain words
What is it for?
Use it to assess the project's continuous-integration and release setup against established supply-chain security guidance.
Why use it?
It helps reveal weaknesses in the systems that build and publish software, before those weaknesses affect releases or users.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: reads .claude/ paths; mentions CLAUDE.md; positional $N argument.

This is hardwood-hq/hardwood's own configuration. It tells Claude Code how to work on hardwood itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything hardwood configures →

Reuse

Borrowing it

Nothing to install: this file belongs to hardwood-hq/hardwood. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/hardwood-hq/hardwood/main/.claude/skills/hardwood-supply-chain-check/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/hardwood-hq/hardwood

Made for: Claude Code.

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-supply-chain-check

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

Your own site · 80×15
<a href="https://agentmods.dev/skills/hardwood-hq/hardwood/hardwood-supply-chain-check"><img src="https://agentmods.dev/badge/skills/hardwood-hq/hardwood/hardwood-supply-chain-check.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 147 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,034 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 2 findings. 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.00147 $0.03034
Opus 5.5 $0.00059 $0.01214
Sonnet 5.5 $0.00029 $0.00607
Haiku 4.5 $0.00015 $0.00303

Measured 6d ago against content hash 1b9be0d5742b, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade B, and why

hardwood-supply-chain-check scanned grade B with 2 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 6d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (osv-check.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.

Downloads and executes remote codemediumSupply chain

curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.

- Every download is verified: a checksum per architecture (as for actionlint) or a package manager. Flag piped installers (`curl … | bash`) and downloads without a checksum.

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

Makes network callslowCapability

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

curl -fsSLO https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/<v>/apache-maven-<v>-bin.zip
.claude/skills/hardwood-supply-chain-check/SKILL.md · 127 lines

How it starts

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

Hardwood supply-chain check

Reports the state of the build and release pipeline against the pins and rules in the Supply chain section of _designs/BUILD_INFRASTRUCTURE.md, which is the source of truth for what is pinned, how, and by whom it is updated. This skill holds the procedure and the traps; it does not repeat the current versions. Dependency updates are the hardwood-dependency-updates skill's job; this check only says which are due.

Read that design section first. Then work through the areas below and report one table per area: item | state | assessment, with ok, due (an update or a decision is needed) or gap (something the design or the guidance below asks for does not hold). End with the proposed actions, ordered by value per effort, and wait for the user's go before changing anything. Report divergences listed under Known divergences only if their reason no longer holds.

The checklist follows the OpenSSF Scorecard checks, GitHub's secure-use reference for Actions, SLSA's build track and the OSPS Baseline; cite the check by name when reporting a gap.

Access from the container

Readable with the container's token Not readable (HTTP 403): the user checks in the UI
Private vulnerability reporting (repos/{repo}/private-vulnerability-reporting), rulesets (repos/{repo}/rules/branches/main, repos/{repo}/rulesets), GitHub advisories (/advisories), workflow runs and logs, releases Dependabot alerts, code scanning, branch protection, Actions settings, immutable releases, organisation settings (2FA, secret scanning), repository secrets

The token also cannot push changes under .github/workflows/ (no workflow scope): prepare the commit and give the user the push command.

Areas

1. GitHub Actions

  • Every uses: is pinned by a full SHA with the release tag in a trailing comment, and the SHA is the tag's in the action's own repository: gh api repos/<owner>/<action>/git/ref/tags/<tag> (dereference an annotated tag through git/tags/<sha>).
  • Advisories: Dependabot alerts do not cover SHA-pinned actions. For each action, gh api '/advisories?ecosystem=actions&affects=<owner>/<repo>' --jq '.[] | [.ghsa_id, .summary, (.vulnerabilities[].vulnerable_version_range)]' and compare the ranges with the pinned tag.
  • New major versions, which Dependabot proposes in its grouped actions PR: read each new major's release notes against the workflows (inputs we use, triggers such as pull_request_target/workflow_run, runtime). A pin to the newest release of an old major is not current; say so when a newer major exists.
  • Deprecation warnings: for each workflow, gh run list -w <file> -L 1 --json databaseId,createdAt, then the run's annotations (gh api repos/hardwood-hq/hardwood/check-runs/<job-id>/annotations). Dispatch-only workflows may have no recent run; report the run's age.
  • actionlint .github/workflows/*.yml (installed by the Dockerfile; if missing, the container predates it: ask the user to rebuild it, don't skip the check).
  • zizmor .github/workflows covers what actionlint does not: template injection, cache poisoning, credential persistence (artipacked), impostor commits, known-vulnerable actions, dangerous triggers, excessive permissions. If it is not installed, propose adding it to the Dockerfile (CLAUDE.md).

Read the full file on GitHub · 127 lines

Files

What ships with it

1 file 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. 6d ago First seen · 127 lines · 147 tokens per session scan B 1b9be0d5742b

Subscribe to this mod's changes

hardwood-supply-chain-check is a skill published in the GitHub repository hardwood-hq/hardwood (417 stars, last pushed 4d ago), licensed Apache-2.0. It adds 147 tokens to every session and 3,034 once invoked, about $0.0006 per session on Opus 5.5. A static security scan graded it B with 2 findings (downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-23.

Related

Other skills, from other repositories

hotpath_init_ci_forks

Set up the hotpath Cloud CI integration in a public Rust project that benchmarks pull requests from forks. Adds the hotpath-cloud feature, a regression policy file, a GitHub Actions benchmark workflow that writes hotpath reports as artifacts and a relay workflow that uploads them, so every pull request, forks…

pawurb/hotpath-rs · 95 tokens

hotpath_init_ci

Set up the hotpath Cloud CI integration in a Rust project whose pull requests come from branches of the same repository (private repositories, or public ones that do not benchmark fork pull requests). Adds the hotpath-cloud feature, a regression policy file and a GitHub Actions benchmark workflow that uploads hotpath…

pawurb/hotpath-rs · 98 tokens

optimize

On-demand performance and optimization analysis. Use when identifying bottlenecks, improving build times, reducing bundle size, or optimizing code performance. Trigger keywords - "optimize", "performance", "bottleneck", "bundle size", "build time", "speed up".

MadAppGang/claude-code · 57 tokens

k6-load-testing

Comprehensive k6 load testing skill for API, browser, and scalability testing. Write realistic load scenarios, analyze results, and integrate with CI/CD.

tmolavi/mcp-agent-skills-hub · 35 tokens

ci-cache-optimizer

CI/CD caching optimizer for dependency caching, Docker layer caching, and build speed improvements. Activate on: CI cache, build speed, dependency caching, Docker layer cache, turbo remote cache, GitHub Actions cache, pnpm store cache. NOT for: CI/CD pipeline creation (use github-actions-pipeline-builder), deployment…

curiositech/windags-skills · 91 tokens

k6-load-testing

Comprehensive k6 load testing skill for API, browser, and scalability testing. Write realistic load scenarios, analyze results, and integrate with CI/CD.

LiHongwei-cn/lihongwei-cn · 35 tokens