pliablepixels/gap-trap

★ 150⑂ 6

Turns vibe coding into high quality code. Sets up rules and gates in your repo so AI-written code stays correct without you reviewing every line.

About pliablepixels/gap-trap

pliablepixels/gap-trap is an open-source project on GitHub, mainly written in JavaScript. Turns vibe coding into high quality code. Sets up rules and gates in your repo so AI-written code stays correct without you reviewing every line. It currently holds 150 stars and 6 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

AI Homed tracks it on the Today's Trending board, currently at rank #99 with 0 new stars today.

GitHub Repository Details

Repository pliablepixels/gap-trap · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

https://github.com/pliablepixels/gap-trap/blob/HEAD/gap-trap logo: a net catching code puzzle pieces

gap-trap

Turns vibe coding into high quality code. Complements SDD if you are using it (think of it as the inner loop within)

The problem

An agent writes most of your code. It is fast, so you stop reading every diff. Quality drifts, and you find out when something breaks.

The drift looks the same in every codebase. The agent writes a helper that already exists. It crosses a layer boundary because the shortcut compiled. It writes a test that asserts the code ran, not that it did the right thing. It follows a rule in your instructions file for a week and then forgets it.

Nothing stops any of this. The rules are text, and the only thing that reads them is the agent that breaks them.

What gap-trap does

Run it once in a repository. It reads the code, writes the rules that fit that codebase, and adds a gate for each rule. A gate is a check that fails the commit or the CI run when the rule is broken. The agent cannot skip a gate.

It sets up four things:

| | What it is | |---|---| | Contracts | One entry per part of the code that has one right way to do things (HTTP, logging, settings, auth). Each says what to use, what never to use, and which check finds bypasses. | | Proven red | A CI job that runs every new test against the old code and fails when the test passes there. A test that cannot fail proves nothing. | | Ratchets | Counts of known problems, such as the lint backlog or files over 400 lines. They may go down, never up. | | Playbooks | The facts the project learned the hard way, written down so the next session does not learn them again. |

It also installs slop-mop, a sibling skill, so the agent's docs, commit messages, and PR bodies read like a person wrote them.

Works with any language. Node and Python repos get gates inside their test suite; everything else (Go, Rust, Java, Ruby, .NET, PHP, Swift, C++) gets shell versions that need only git, grep, awk, and your test command.

Install

With the skills CLI:

npx skills add pliablepixels/gap-trap

Or by hand, for Claude Code:

git clone https://github.com/pliablepixels/gap-trap.git
mkdir -p ~/.claude/skills
cp -r gap-trap/gap-trap ~/.claude/skills/

The skill runs on Opus or a more capable model and stops on anything smaller. Choosing the wrong contracts costs every later session.

Update

Every push to main is a new version. With the skills CLI:

npx skills update gap-trap

For a hand install, pull the clone and replace the copy, so files removed upstream do not linger:

git -C gap-trap pull
rm -rf ~/.claude/skills/gap-trap
cp -r gap-trap/gap-trap ~/.claude/skills/

A repository you already set up keeps the files setup wrote. Updating the skill changes what the next setup or refine run does.

Run

In the repository you want to set up:

/gap-trap setup

The skill reads the repo, shows you a short plan (contracts, gates, commands), asks about anything it could not settle, then writes the files, proves each gate red, and commits. It does not push. At the end it asks whether to check the repo against the new framework. On yes, it lists the existing violations by contract and rule and changes nothing.

Later, after the first incidents or about once a month:

/gap-trap refine

This looks for rules without gates, contracts that name code that no longer exists, and lessons in the commit history nobody wrote down. It proposes one PR.

Where it comes from

The framework is the one zmNinjaNg runs on. Agents write most of its code and no one reads the diffs line by line. Chapter 14 of its developer guide, Agent development model, is the inspiration for gap-trap. It explains rules, contracts, and gates, and follows one feature from spec to merge.

What it costs

The origin repo's full gate set (4,400 unit tests, a build, three lints) runs in about a minute locally. The instruction gate adds about a second. Proven red runs only in CI.

Layout

gap-trap/
  SKILL.md          the skill: model gate, setup, refine
  reference/        the framework, discovery, gates, refine
  templates/        AGENTS.md, AGENTS.project.md, playbooks, gate scripts

License

MIT.

GitHub Stars & Activity

150Stars
6Forks
0Open issues
JavaScriptLanguage

GitHub Popularity

GitHub stars150
Forks6
Open issues0
Primary languageJavaScript
License-
Stars gained today0
Created-
Last pushed-

Trending History

Daily boardrank #99 · ▲ 0 stars

Related AI Projects

1

addyosmani / agent-skills

JavaScript★ 94,981⑂ 10,074▲ 307 stars
2

asgeirtj / system_prompts_leaks

JavaScript★ 67,264⑂ 10,918▲ 579 stars
3

tt-a1i / archify

JavaScript★ 63,980⑂ 4,243▲ 1,373 stars
4

cloudflare / security-audit-skill

JavaScript★ 5,267⑂ 320▲ 1,434 stars
5

darkzOGx / youtube-automation-agent

JavaScript★ 3,551⑂ 1,015▲ 56 stars
6

xuanyustudio / LocalMiniDrama

JavaScript★ 1,746⑂ 422▲ 29 stars
7

plugin87 / ux-ui-agent-skills

JavaScript★ 1,466⑂ 140▲ 93 stars
8

atlassian / atlassian-mcp-server

JavaScript★ 1,111⑂ 129▲ 5 stars

More AI Rankings