Agent skill

Grinding Until Pass

by spencerpauly in spencerpauly/awesome-cursor-skills

Keep iterating on code changes until the tests pass, the build succeeds, or linting is clean.

CC0-1.0Auto-check passedDevelopment

Install Grinding Until Pass

skills CLI
$ npx skills add spencerpauly/awesome-cursor-skills --skill grinding-until-pass -a claude-code

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

GitHub CLI
$ gh skill install spencerpauly/awesome-cursor-skills grinding-until-pass --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/spencerpauly/awesome-cursor-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/resources/grinding-until-pass .claude/skills/grinding-until-pass && 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
grinding-until-pass
GitHub stars
844
Token cost
~796 tokens
SKILL.md length
430 words
Files
1
Skills in repo
60
Repo updated
First seen
Licence
CC0-1.0

At a glance

Keep iterating on code changes until the tests pass, the build succeeds, or linting is clean.

  • Works in 4 steps: Define the goal command — the command… → Run the command — execute it and capture… → If it fails — analyze and fix → …
  • You want the agent to autonomously grind through test failures
  • SKILL.md covers Steps, Rules for the Loop, When to Use This and Advanced: Cursor Hooks…, plus 1 more section
  • Calls npm and npx

What it does

Grinding Until Pass is an agent skill from spencerpauly/awesome-cursor-skills. Keep iterating on code changes until the tests pass, the build succeeds, or linting is clean. Runs in a tight loop of fix → run → check → repeat. Use when you want the agent to autonomously grind through test failures or build errors.

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

It sits in Development, covering Linting and formatting and Failing and flaky tests. It works with npm. The repository describes itself as: A curated list of awesome skills for Cursor. The licence is CC0-1.0.

When your agent uses it

  • You want the agent to autonomously grind through test failures
  • Tasks that involve Linting and formatting
  • Tasks that involve Failing and flaky tests

Example prompts

  • “/grinding-until-pass”

Requirements

  • Node.js

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Define the goal command — the command whose exit code determines success
  2. Run the command — execute it and capture the output.
  3. If it fails — analyze and fix
  4. If it passes — stop and report

What it can do on your machine

Read from SKILL.md and the folder at commit 99cd265. 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

    Shell commands in SKILL.md call:

    • npm
    • npx

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

  • Network

    No URLs in SKILL.md. Its commands use npm and npx, which can reach the network depending on how they are called.

    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

Grinding Until Pass loads about 796 tokens when it runs. Until then it costs about 64 tokens; SKILL.md has 430 words of instructions outside code blocks.

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

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 spencerpauly/awesome-cursor-skills at commit 99cd265, republished under its CC0-1.0 licence (© spencerpauly). 430 words, ~796 tokens.

Download SKILL.mdSave it as .claude/skills/grinding-until-pass/SKILL.md (or your agent's skills folder).
name
grinding-until-pass
description
Keep iterating on code changes until the tests pass, the build succeeds, or linting is clean. Runs in a tight loop of fix → run → check → repeat. Use when you want the agent to autonomously grind through test failures or build errors.

Grind Until Pass

Use this skill when you want the agent to keep working autonomously until a specific goal is met — all tests pass, the build succeeds, or linting is clean. Instead of stopping after one attempt, the agent loops until done.

Steps

  1. Define the goal command — the command whose exit code determines success:

    • Tests: npm test or npx vitest run
    • Build: npm run build
    • Lint: npm run lint
    • Type-check: npx tsc --noEmit
    • All of the above: npm run lint && npx tsc --noEmit && npm test && npm run build
  2. Run the command — execute it and capture the output.

  3. If it fails — analyze and fix:

    • Read the error output carefully.
    • Identify the root cause: failing test assertion, type error, lint violation, import error, etc.
    • Make the minimal fix. Don't refactor — just fix the error.
    • Go back to step 2.
  4. If it passes — stop and report:

    • Report what was fixed and how many iterations it took.
    • Summarize the changes made.

Rules for the Loop

  • Maximum 10 iterations — if after 10 attempts the command still fails, stop and report what's blocking progress. Something fundamental is wrong and needs human input.
  • Fix one thing at a time — don't try to fix all errors at once. Fix the first error, re-run, and see if the fix resolves downstream errors too.
  • Don't delete tests — if a test is failing, fix the code to make it pass. Don't modify the test unless the test itself is clearly wrong (testing old behavior that was intentionally changed).
  • Don't suppress errors — don't add @ts-ignore, eslint-disable, or any types to silence errors. Fix the actual problem.
  • Track progress — if the number of errors is increasing instead of decreasing, stop and reassess the approach.
Show full SKILL.md (145 more words)Show less

When to Use This

  • After a large refactor that broke multiple tests
  • After upgrading a dependency that introduced type errors
  • After merging a branch with conflicts that need resolution
  • When you want to "just make it green" and trust the agent to grind through it

Advanced: Cursor Hooks Integration

You can automate this with a Cursor hook in .cursor/hooks.json that triggers after the agent's turn ends, checks if tests pass, and sends a follow-up message if they don't:

json
{
  "hooks": [
    {
      "event": "stop",
      "command": "bash .cursor/scripts/check-tests.sh",
      "description": "Re-run tests after agent stops and send follow-up if failing"
    }
  ]
}

The script checks the exit code and returns a followup_message if tests are still failing.

Notes

  • This works best with fast test suites. If your tests take 5+ minutes, the loop will be slow.
  • Use --bail or --fail-fast flags to stop at the first failure for faster iteration.
  • The agent will be thorough but not creative — if the fix requires a design change, it'll need human guidance.

© spencerpauly, CC0-1.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 resources/grinding-until-pass of spencerpauly/awesome-cursor-skills.

Open the folder on GitHubat commit 99cd265

Compare with similar skills

Grinding Until Pass 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.

Grinding Until Pass compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Grinding Until Pass this skillspencerpauly/awesome-cursor-skills844—~796Automated safety check: PassCC0-1.0
Manor CI Triagemanor-os/manor-ai162—~533Automated safety check: PassCustom licence
Install Anti-Slop Oxlint Rulesdmmulroy/anti-slop5.4k—~2.2kAutomated safety check: PassMIT
Setup Pre Commitfossasia/eventyay-interpretation1.6k12 repos~565Automated safety check: PassApache-2.0
Debugging and Error Recoveryaddyosmani/agent-skills104k1 repos~2.6kAutomated safety check: PassMIT
Releasehyhmrright/brooks-lint1.5k—~1.2kAutomated safety check: PassMIT

Similar skills

  • Manor CI Triage

    manor-os/manor-ai

    A skill your agent uses when Manor GitHub Actions, .github/workflows/ci.yml, OSS smoke/regression jobs, web source smoke, frontend build, lint, or public CI failure logs need diagnosis or repair.

    162 GitHub stars~533 tokensUpdated 1 mo ago
    DevOps & CloudAuto-check passed
  • Installs, updates or migrates the vendored anti-slop Oxlint plugin in a repository, keeping local rule changes and the plugin's license and provenance files.

    5.4k GitHub stars~2.2k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Setup Pre Commit

    fossasia/eventyay-interpretation

    Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo.

    1.6k GitHub starsUsed in 12 repos~565 tokens
    DevelopmentAuto-check passed
  • Debugging and Error Recovery

    addyosmani/agent-skills

    Applies a stop-the-line rule and a step-by-step triage when tests fail, builds break or something stops working, aiming at the root cause instead of guesses.

    104k GitHub starsUsed in 1 repo~2.6k tokens
    DevelopmentAuto-check passed
  • Release

    hyhmrright/brooks-lint

    Cut a brooks-lint release: set the version in package.json, propagate it across all four plugin manifests and every version-bearing text file (README badges, docs site metadata), write the CHANGELOG…

    1.5k GitHub stars~1.2k tokensUpdated 5 days ago
    DevelopmentAuto-check passed
  • Prepare Rslint npm Release

    web-infra-dev/rslint

    Prepare a stable release PR for the unified rslint npm packages by updating package versions and rule/TypeScript release metadata.

    461 GitHub stars~1.5k tokensUpdated today
    DevelopmentAuto-check passed

More from spencerpauly/awesome-cursor-skills

All 60 skills in this repo
  • Generating Images

    spencerpauly/awesome-cursor-skills

    Generate or edit images using the OpenAI Image API (gpt-image-2).

    844 GitHub stars~3.7k tokensUpdated 2 mo ago
    Auto-check: notes
  • Babysitting PR

    spencerpauly/awesome-cursor-skills

    Monitor a pull request for CI failures, review comments, and merge conflicts — then fix them automatically.

    844 GitHub stars~930 tokensUpdated 2 mo ago
    Auto-check passed
  • Best Of N Solving

    spencerpauly/awesome-cursor-skills

    Solve a hard problem by trying multiple approaches in parallel using isolated git worktrees.

    844 GitHub stars~698 tokensUpdated 2 mo ago
    Auto-check passed
  • Parallel CI Triage

    spencerpauly/awesome-cursor-skills

    When GitHub Actions fails, fetch failing job logs and assign each failing job to a separate subagent that fixes its slice of the problem in parallel.

    844 GitHub stars~793 tokensUpdated 2 mo ago
    Auto-check passed
  • Parallel Exploring

    spencerpauly/awesome-cursor-skills

    Explore a large codebase in parallel by launching multiple explore subagents that each investigate a different area simultaneously.

    844 GitHub stars~787 tokensUpdated 2 mo ago
    Auto-check: notes
  • Profiling Performance

    spencerpauly/awesome-cursor-skills

    Profile a running web application's CPU performance using Cursor's built-in browser profiler.

    844 GitHub stars~686 tokensUpdated 2 mo ago
    Auto-check passed

Works with

Categories

Questions about Grinding Until Pass

What does Grinding Until Pass do?

Keep iterating on code changes until the tests pass, the build succeeds, or linting is clean. Grinding Until Pass is an agent skill from spencerpauly/awesome-cursor-skills. Keep iterating on code changes until the tests pass, the build succeeds, or linting is clean.

When should I use Grinding Until Pass?

Grinding Until Pass fits situations like: you want the agent to autonomously grind through test failures; tasks that involve Linting and formatting; tasks that involve Failing and flaky tests.

How do I install Grinding Until Pass in Claude Code?

Run `npx skills add spencerpauly/awesome-cursor-skills --skill grinding-until-pass -a claude-code`. Or copy the skill folder (resources/grinding-until-pass in spencerpauly/awesome-cursor-skills) into .claude/skills/grinding-until-pass in your project. Claude Code loads it when a task matches its description.

How do I install Grinding Until Pass in Codex?

Run `npx skills add spencerpauly/awesome-cursor-skills --skill grinding-until-pass -a codex`. Or copy the skill folder (resources/grinding-until-pass in spencerpauly/awesome-cursor-skills) into .agents/skills/grinding-until-pass in your project. Codex loads it when a task matches its description.

Can I use Grinding Until Pass 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 spencerpauly/awesome-cursor-skills --skill grinding-until-pass -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/grinding-until-pass, .gemini/skills/grinding-until-pass, .github/skills/grinding-until-pass and .opencode/skills/grinding-until-pass in your project.

What does Grinding Until Pass need to run?

Going by SKILL.md and its folder, Grinding Until Pass needs the command-line tools its instructions call (npm and npx). Our summary lists: Node.js.

Does Grinding Until Pass access the network?

SKILL.md contains no URLs. Its commands use npm and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Grinding Until Pass 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 Grinding Until Pass use?

Grinding Until Pass is published under the CC0-1.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Grinding Until Pass use?

About 796 tokens (SKILL.md is roughly 3.2k 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 Grinding Until Pass?

Skills that share tags, products or a category with Grinding Until Pass: Manor CI Triage (manor-os/manor-ai, 162 stars), Install Anti-Slop Oxlint Rules (dmmulroy/anti-slop, 5.4k stars), Setup Pre Commit (fossasia/eventyay-interpretation, 1.6k stars) and Debugging and Error Recovery (addyosmani/agent-skills, 104k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Grinding Until Pass?

spencerpauly (a GitHub user) maintains it in spencerpauly/awesome-cursor-skills, which has 844 GitHub stars. The repository holds 60 skills in this directory. The repository was last updated on August 2, 2026.

Source: spencerpauly/awesome-cursor-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.