Agent skill

Squid Clean Harness

by iusztinpaul in iusztinpaul/squid

Shrink an agent harness (.agents/ skills + resources) to the minimum tokens that keep the exact same logic.

Apache-2.0Auto-check passed

Install Squid Clean Harness

skills CLI
$ npx skills add iusztinpaul/squid --skill squid-clean-harness -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install iusztinpaul/squid squid-clean-harness --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/iusztinpaul/squid.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/squid-clean-harness .claude/skills/squid-clean-harness && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
squid-clean-harness
GitHub stars
203
Token cost
~1.9k tokens
SKILL.md length
963 words
Files
1
Skills in repo
13
Repo updated
First seen
Licence
Apache-2.0

At a glance

Shrink an agent harness (.agents/ skills + resources) to the minimum tokens that keep the exact same logic.

  • Works in 8 steps: Resolve the target set → Audit the contract (frontmatter) → Apply the keep/delete test → …
  • SKILL.md covers When NOT to use — out of…, Step 1 — Resolve the target set, Step 2 — Audit the contract… and Step 3 — Apply the keep/delete…, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Squid Clean Harness is an agent skill from iusztinpaul/squid. Shrink an agent harness (.agents/ skills + resources) to the minimum tokens that keep the exact same logic. Never touches resources/datasets/.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The licence is Apache-2.0.

Example prompts

  • “/squid-clean-harness”

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Resolve the target set
  2. Audit the contract (frontmatter)
  3. Apply the keep/delete test
  4. Dangling artifacts
  5. Plan of attack (the output artifact)
  6. Execute
  7. Verify
  8. Hand-off

What it can do on your machine

Read from SKILL.md and the folder at commit f5bf6b3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Squid Clean Harness loads about 1.9k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 963 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~41
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from iusztinpaul/squid at commit f5bf6b3, republished under its Apache-2.0 licence (© iusztinpaul). 963 words, ~1,864 tokens.

Download SKILL.mdSave it as .claude/skills/squid-clean-harness/SKILL.md (or your agent's skills folder).
name
squid-clean-harness
description
Shrink an agent harness (.agents/ skills + resources) to the minimum tokens that keep the exact same logic. Never touches resources/datasets/.
disable-model-invocation
true
argument-hint
[.agents-path] (default: ./.agents)

Clean harness — same logic, minimum tokens

You are the cleaner. You shrink the skills and resources a harness loads; you do not change what they make the agent do. Zero logic diff is the contract — every capability, step, and rule that holds before must hold after; only tokens die.

$ARGUMENTS is an optional .agents/ path (e.g. ~/Vaults/Second-Brain/.agents). Empty means the repo's ./.agents.

When NOT to use — out of scope, no exceptions

ExcludedWhy
resources/datasets/Data the skills operate on, not logic. Never in scope.
Memory files (AGENTS.md, CLAUDE.md)→ /squid-clean-memory.
Docs, READMEs, comments, docstrings→ /squid-clean-docs.
Skill names and argument shapesThe name is the API — a rename is an edit, not a cleanup.

Step 1 — Resolve the target set

Inventory skills/*/SKILL.md and resources/** minus resources/datasets/ under the target .agents/. Everything must be revertible: clean in git, or snapshot first (cp -R .agents .agents.bak) when the tree isn't tracked.

Step 2 — Audit the contract (frontmatter)

Two questions per skill:

  • Invocation type — auto-fired by the model, or only typed by the user? User-only → disable-model-invocation: true, keeping its description out of the always-loaded skill list. Flipping also cuts reach from other skills — grep the set for the skill's name first (Step 4's proof); one referrer means it stays model-invoked.
  • Description — must match what the body does. Model-invoked → triggers only, one per branch: synonyms naming the same branch are duplication ("build with TDD" / "asks for test-first development" is one branch written twice). User-only → one sentence of what it does; trigger prose serves no router — delete it.

Done only when every skill in the set has both answers recorded — no sampling.

Step 3 — Apply the keep/delete test

An instruction survives only if deleting it would change what the agent does. The cuts apply to every file in the set — skill bodies and resources/ docs alike. Five cuts:

Duplicates — the same rule twice in one skill, repeated across skills, or restating a resources/ doc the skill already points at (a skill body repeating glossary.md definitions) — the resource is the home, the skill keeps the pointer. Two resources repeating each other collapse to one home the same way.

Baked-in claims — would the agent already behave this way with the line deleted (harness default, system-prompt rule)? Dead weight. "Read the file before editing it" dies; "write posts in the voice defined in resources/branding/" stays. The test is harness-relative — .agents/ serves non-Claude agents too: delete only defaults universal to whatever loads the skill; flag the Claude Code-specific ones. Test sentence by sentence; a failing sentence dies whole — never trim words from it.

Verbose logic — the exact same logic in the minimum words: collapse restatements, prefer a table row to a paragraph, caveman-terse wording. Collapse a restated quality into one pretrained leading word ("fast, deterministic, low-overhead" → a tight loop). If the caveman plugin is installed, /caveman-compress per file is a good first draft — re-check afterwards that the frontmatter is still parseable YAML.

Merges — steps or sections nobody reads apart become one; reorder so each idea appears once, at the point the agent needs it.

Disclosure — a skill body is paid for on every invocation, including the branches that never read it. Inline what every branch needs; push what only some branches reach — a lookup table, a per-platform appendix, a rare edge-case procedure — into a resources/ doc loaded on demand. Same home for a block ≥2 skills share. Size decides: ~20+ lines earns its own file, below that indirection costs a Read for less than it saves. The pointer must say when to load it, not just where it lives ("for the Slack variants, read platforms.md", not "see platforms.md"). Theory: /squid-write-skill.

Done only when every file in the set is read whole and judged against all five cuts.

Show full SKILL.md (347 more words)Show less

Step 4 — Dangling artifacts

A reference, script, agent, or resources/ doc is dead only with zero references outside its own definition:

sh
grep -rn "helper.py" <harness-root> <project-root>   # prove it, don't assume
  • A rule dangles by staleness, not references — nobody cites a rule, they read it. It dies when what it governs no longer exists: a step for a removed tool, a caveat for a branch that's gone.
  • Referenced but missing → a broken contract, not a deletion: flag it and ask.
  • Present but unreferenced → delete only on clean proof; a helper called from outside .agents/ (cron, vault automation) is invisible to grep — when unsure, flag, never auto-delete.

Done only when every artifact is proven dead, alive, or flagged.

Step 5 — Plan of attack (the output artifact)

Print one table in chat. Do not write it to disk unless the user asks.

FileCut (Step 2–4)Why~Words
skills/search/SKILL.mdfrontmatteruser-only; trigger prose serves no router−130
skills/post/ ∩ skills/thread/duplicateshared hook rules → one home in resources/−200
skills/article/SKILL.mdverboseStep 2 restated three ways−90
skills/publish/SKILL.mddisclosureper-platform appendix; 1 of 4 branches−240
resources/glossary.mdverboseeach term defined twice, prose + table−150

Stop and wait for explicit approval. Do not edit before it.

Step 6 — Execute

Apply the approved plan, one commit per category (frontmatter, cuts, dangling) so any revert is surgical.

Step 7 — Verify

Logic must be provably unchanged before hand-off:

  • Every SKILL.md frontmatter still parses as YAML with name + description — unparseable YAML loads the skill with every field silently dropped.
  • Every remaining reference (file, skill, script, agent) resolves, and every disclosed file has a pointer that states when to load it.
  • Per-file logic diff: every step and rule in the old version is still stated or merged — name its new home.
  • No skill or argument was renamed.

Anything off: revert that commit (or restore the snapshot), do not "fix forward".

Step 8 — Hand-off

Report wc -w before → after per file, what moved into resources/, and every flagged dangling item. Point the user at /squid-write-skill for flagged items that need rewriting rather than cutting — an edit is theirs to make, and only they can invoke it.

© iusztinpaul, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/squid-clean-harness of iusztinpaul/squid.

Open the folder on GitHubat commit f5bf6b3

Compare with similar skills

Squid Clean Harness next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Squid Clean Harness compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Squid Clean Harness this skilliusztinpaul/squid203—~1.9kAutomated safety check: PassApache-2.0
Android Clean Architectureaffaan-m/ECC276k4 repos~2.2kAutomated safety check: PassMIT
Cleanbergside/awesome-design-skills3.1k1 repos~918Automated safety check: PassMIT
Data Cleaningbrycewang-stanford/Auto-Empirical-Research-Skills4.6k—~2.9kAutomated safety check: PassCustom licence
Data Cleanbrycewang-stanford/Auto-Empirical-Research-Skills4.6k—~1.1kAutomated safety check: PassCustom licence
Cleancatlog22/Claude-Code-Workflow2.1k—~3.2kAutomated safety check: PassMIT

Similar skills

  • Applies Clean Architecture to Android and Kotlin Multiplatform projects: module layout, dependency rules, UseCases, Repositories and data layer patterns.

    276k GitHub starsUsed in 4 repos~2.2k tokens
    DevelopmentAuto-check passed
  • Clean

    bergside/awesome-design-skills

    Simplicity-focused design with ample whitespace, legible typography, and a limited color palette to reduce visual clutter.

    3.1k GitHub starsUsed in 1 repo~918 tokens
    Frontend & DesignAuto-check passed
  • Data Cleaning

    brycewang-stanford/Auto-Empirical-Research-Skills

    Clean and transform messy data for analysis in Python, R, or Stata

    4.6k GitHub stars~2.9k tokensUpdated 5 days ago
    Data & AnalyticsAuto-check passed
  • Data Clean

    brycewang-stanford/Auto-Empirical-Research-Skills

    Produce documented data cleaning scripts that log every transformation with N before/after each step, generate a CONSORT-style exclusion flow diagram, create decision log entries for every…

    4.6k GitHub stars~1.1k tokensUpdated 5 days ago
    Data & AnalyticsAuto-check passed
  • Clean

    catlog22/Claude-Code-Workflow

    Intelligent code cleanup with mainline detection, stale artifact discovery, and safe execution.

    2.1k GitHub stars~3.2k tokensUpdated 3 mo ago
    Auto-check passed
  • Clean Up Comments

    thedaviddias/Front-End-Checklist

    A skill your agent uses when reviewing templates, rendered HTML, or shared components related to Remove comments and debug code in production.

    74k GitHub stars~435 tokensUpdated 4 days ago
    Auto-check passed

More from iusztinpaul/squid

All 13 skills in this repo
  • Squid Implement Night

    iusztinpaul/squid

    Run the full agent-team pipeline end-to-end for one feature whose Tasks Plan is already approved by /squid-plan, handing the human a validated, ready-to-squash-merge PR.

    203 GitHub stars~1.2k tokensUpdated 1 mo ago
    Auto-check passed
  • Squid Implement Task

    iusztinpaul/squid

    Implement one task — or a whole list / an approved Tasks Plan — via the inner SWE↔Tester loop, committing each task on PASS.

    203 GitHub stars~1.3k tokensUpdated 1 mo ago
    Auto-check passed
  • Squid Review

    iusztinpaul/squid

    Push the committed feature branch, create or update its PR, then run Product Architect acceptance and PR-Reviewer on it.

    203 GitHub stars~873 tokensUpdated 1 mo ago
    Auto-check passed
  • Squid Review CI

    iusztinpaul/squid

    Drive CI green on a pushed, review-clean feature PR — On-Call diagnoses failures and hands fix tasks to the SWE.

    203 GitHub stars~607 tokensUpdated 1 mo ago
    Auto-check passed
  • Squid Testing Python

    iusztinpaul/squid

    Write and evaluate effective Python tests using pytest. An agent skill from iusztinpaul/squid.

    203 GitHub stars~1.3k tokensUpdated 1 mo ago
    Auto-check passed
  • Squid Architecture Review

    iusztinpaul/squid

    Periodic architectural sweep — reads existing ADRs, maps modules/dependencies/layering, and reports up to 10 prioritised findings shaped as refactor proposals /squid-refactor can consume directly.

    203 GitHub stars~2.6k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Squid Clean Harness

What does Squid Clean Harness do?

Shrink an agent harness (.agents/ skills + resources) to the minimum tokens that keep the exact same logic. Squid Clean Harness is an agent skill from iusztinpaul/squid.agents/ skills + resources) to the minimum tokens that keep the exact same logic.

How do I install Squid Clean Harness in Claude Code?

Run `npx skills add iusztinpaul/squid --skill squid-clean-harness -a claude-code`. Or copy the skill folder (skills/squid-clean-harness in iusztinpaul/squid) into .claude/skills/squid-clean-harness in your project. Claude Code loads it when a task matches its description.

How do I install Squid Clean Harness in Codex?

Run `npx skills add iusztinpaul/squid --skill squid-clean-harness -a codex`. Or copy the skill folder (skills/squid-clean-harness in iusztinpaul/squid) into .agents/skills/squid-clean-harness in your project. Codex loads it when a task matches its description.

Can I use Squid Clean Harness in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add iusztinpaul/squid --skill squid-clean-harness -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/squid-clean-harness, .gemini/skills/squid-clean-harness, .github/skills/squid-clean-harness and .opencode/skills/squid-clean-harness in your project.

What does Squid Clean Harness need to run?

SKILL.md names no scripts, command-line tools or credentials: Squid Clean Harness is instructions for the agent only.

Does Squid Clean Harness access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Squid Clean Harness safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Squid Clean Harness use?

Squid Clean Harness is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Squid Clean Harness use?

About 1.9k tokens (SKILL.md is roughly 7.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Squid Clean Harness?

Skills that share tags, products or a category with Squid Clean Harness: Android Clean Architecture (affaan-m/ECC, 276k stars), Clean (bergside/awesome-design-skills, 3.1k stars), Data Cleaning (brycewang-stanford/Auto-Empirical-Research-Skills, 4.6k stars) and Data Clean (brycewang-stanford/Auto-Empirical-Research-Skills, 4.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Squid Clean Harness?

iusztinpaul (a GitHub user) maintains it in iusztinpaul/squid, which has 203 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on September 3, 2026.

Source: iusztinpaul/squid on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.