extract

extract is a skill for Claude Code from vasuag09/harness-claude. It costs 62 tokens per session (1,096 once invoked), scanned A, original, MIT.

A workflow for turning a repeatable coding-agent process into a proposed reusable skill. It records the steps and purpose for human review, but does not install the result as a live skill.

In plain words
What is it for?
Use it after a workflow repeats or a stop candidate is detected, to review the evidence, draft a SKILL.md file, check for naming conflicts, and stage the proposal.
Why use it?
It helps preserve useful workflows without automatically changing the default agent setup. This separates proposing a skill from approving and deploying one.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: reads .claude/ paths; mentions subagents.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is node scripts/eval/extract-rubric.js .claude/skills-staging/<slug>/SKILL.md.

Part of the harness-claude plugin — 32 skills, 8 agents, 6 hooks, 3 MCP servers shipped together

Good fit Use it after a workflow repeats or a stop candidate is detected, to review the evidence, draft a SKILL.md file, check for naming conflicts, and stage the proposal.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/vasuag09/harness-claude
agentmods
npx agentmods add skills/vasuag09/harness-claude/extract

Made for: Claude Code.

Or install harness-claude, the plugin that ships this one along with the rest of its 32 skills, 8 agents, 6 hooks, 3 MCP servers.

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 extract

README.md
[![agentmods](https://agentmods.dev/badge/skills/vasuag09/harness-claude/extract.svg)](https://agentmods.dev/skills/vasuag09/harness-claude/extract)
Your own site
<a href="https://agentmods.dev/skills/vasuag09/harness-claude/extract"><img src="https://agentmods.dev/badge/skills/vasuag09/harness-claude/extract.svg" alt="Measured on agentmods" height="20"></a>
Per session 62 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,096 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.
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.00062 $0.01096
Opus 5 $0.00031 $0.00548
Sonnet 5 $0.00012 $0.00219
Haiku 4.5 $0.00006 $0.00110

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

Security

Grade A, and why

extract 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 8d 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/extract/SKILL.md · 69 lines

How it starts

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

/extract — propose a skill, evaluate it, stage it

Goal: capture a repeatable workflow as a candidate skill a human can review and promote. This closes the loop the Stop detector opens — it never auto-creates a skill (the v0.1 staging rule). The output is a proposal, not a live skill.

Opt-in. No default-pipeline skill or hook invokes /extract. Running it is always explicit and changes no baseline behavior. (v0.3 AC-E4; preserves the staging rule.)

When to run

  • A Stop candidate landed in .claude/skills-staging/candidates.md (the detector found a tool/skill subsequence that recurred this session), or
  • you just did something repeatable/non-obvious worth keeping.

Do this

  1. Read the evidence. Open .claude/skills-staging/candidates.md for the detected sequence + recurrence count. Cross-check what actually fired in .claude/traces/<date>.jsonl (skills, subagents, MCPs). Skim the relevant transcript span to recover the purpose — the sequence names the steps, not why.
  2. Draft the skill. Write a candidate SKILL.md with valid frontmatter (name, description) and numbered steps that capture the workflow. Pick a name that does not collide with an existing skills/*/SKILL.md.
    • Write it ONLY to .claude/skills-staging/<slug>/SKILL.md. Never create or edit anything under skills/ (or any live skill dir).
  3. Evaluate it (deterministic gate):
    node scripts/eval/extract-rubric.js .claude/skills-staging/<slug>/SKILL.md
    
    It scores five criteria and exits 0 (all PASS, none manual — not reachable until the AC-E3 benchmark lands) · 1 (a check FAILED) · 2 (no FAIL, MANUAL criteria remain).
    • R1–R3 are deterministic (frontmatter present · ≥2 steps · name not a duplicate).
    • R4 (genuinely reusable?) is always MANUAL — the script never auto-approves a skill.
    • R5 (empirical value) is result-driven: if /benchmark produced .claude/eval/benchmarks/<name>.json for this draft, R5 reports PASS/FAIL from it; otherwise it degrades to MANUAL. Run /benchmark --component <draft-name> to close it.
  4. On FAIL (exit 1): fix the draft (add frontmatter, add steps, or rename to avoid the collision) and re-run. Do not stage a draft that FAILs.
  5. Adjudicate MANUAL (exit 2 — the expected happy path): judge R4/R5 yourself with evidence — is this a workflow you'd actually reach for again, distinct from existing skills? Record the verdict + reasoning in .claude/skills-staging/<slug>/eval.md alongside the draft.
  6. Stage for approval. Stop there. Tell the user the proposal is staged at .claude/skills-staging/<slug>/ (draft + eval note) and that promoting it into skills/ is their explicit call. Do not promote it yourself.

Read the full file on GitHub · 69 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. 8d ago First seen · 69 lines · 62 tokens per session scan A b64b4e9f93d2

Subscribe to this mod's changes

extract is a skill published in the GitHub repository vasuag09/harness-claude (2 stars, last pushed 2mo ago), licensed MIT. It adds 62 tokens to every session and 1,096 once invoked, about $0.0003 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-31.

Related

Other skills, from other repositories

pr-triage

4-phase PR backlog management with audit, deep code review, validated comments, and optional worktree setup. Use when triaging pull requests, catching up on pending code reviews, or managing a backlog of open PRs. Args: 'all' to review all, PR numbers to focus (e.g. '42 57'), 'en'/'fr' for language, no arg = audit…

FlorianBruniaux/claude-code-plugins · 86 tokens

audit-agents-skills

Audit Claude Code agents, skills, and commands for quality and production readiness. Use when evaluating skill quality, checking production readiness scores, or comparing agents against best-practice templates.

FlorianBruniaux/claude-code-plugins · 41 tokens

eval-agents

Audit Claude Code agents defined in .claude/agents/ for description specificity, model tier appropriateness, tools scoping, and system prompt quality. Detects dispatch ambiguity between agents, flags over-permissive tool grants, and checks for human-in-the-loop patterns that break programmatic orchestration. Use when…

FlorianBruniaux/claude-code-plugins · 93 tokens

check-cache-bugs

Audit Claude Code setup for cache bugs (CC#40524): sentinel, --resume/--continue, attribution header + ArkNill B3/B4/B5.

FlorianBruniaux/claude-code-plugins · 38 tokens

issue-triage

3-phase issue backlog management with audit, deep analysis, and validated triage actions. Use when triaging GitHub issues, sorting bug reports, cleaning up stale tickets, or detecting duplicate issues. Args: 'all' to analyze all, issue numbers to focus (e.g. '42 57'), 'en'/'fr' for language, no arg = audit only.

FlorianBruniaux/claude-code-plugins · 81 tokens

git-ai-archaeology

Analyze AI config evolution in a git repo. Use when mapping AI adoption history, finding when configs were first introduced, charting commit velocity by month, or identifying maturity phases in a project's AI tooling.

FlorianBruniaux/claude-code-plugins · 47 tokens