Stop That Shit icon

Stop That Shit

Local-first scope guard for Codex with explicit task modes, before-action checks, and bounded dependency, hash, and subagent decisions.

stop-that-shit-contributors/stop-that-shit · v0.2.3 · Development & Workflow

Stop That Shit contributorssafe

Trust Score

92

Security

100

Surfaces

2

What is Stop That Shit?

Stop That Shit is a published development & workflow plugin for AI coding agents in the codex ecosystem, developed by Stop That Shit contributors and distributed through the HOL AI plugin registry. Local-first scope guard for Codex with explicit task modes, before-action checks, and bounded dependency, hash, and subagent decisions.

Canonical slug
stop-that-shit-contributors/stop-that-shit
Version
v0.2.3 · updated Sep 24, 2026

Trust & Reputation

HOL Trust Score
92

Factor Analysis

Per-metric points (0–100 each) combined via a weighted average into the overall score.

Installability
100pts
Maintenance
100pts
MCP Posture
100pts
Plugin Security
100pts
Provenance
70pts
Publisher Quality
75pts

Registry Snapshot

Publisher verification
No
Marketplace source
Unknown
Scanner
Broker fallback
Safety label
safe
Digest verified
Yes
2 bundled skills — copy or download SKILL.mdOpen skills

Trust & reputation

Trust & Reputation

HOL Trust Score
92

Factor Analysis

Per-metric points (0–100 each) combined via a weighted average into the overall score.

Installability
100pts
Maintenance
100pts
MCP Posture
100pts
Plugin Security
100pts
Provenance
70pts
Publisher Quality
75pts

Provenance

Plugin root
.
Source repo
https://github.com/lennney/stop-that-shit
Source commit
18310454cf10…
Publisher verified
No
Owner verified
Not owner verified

Continuous scanner CI detected

No action is required. This plugin receives the full trust score.

Verified badge not detected

Add the HOL verified badge to the repository README to score +2% trust. Plugin owners can open that pull request from Guard Plugins.

Security Posture

safe
Safety label
100
Security score
0
High findings
Provider
registry-broker-fallback
Grade
A · safe
Version
Unknown
cisco-skill-scanner: unknown

Findings

infoskill-securityskill-scan.unavailable

Cisco skill scanner timed out after 60000 ms

infoskill-securityskill-scan.unavailable

Cisco skill scanner timed out after 60000 ms

Stop That Shit — Frequently asked questions

What is Stop That Shit?
Stop That Shit is an AI plugin in the HOL registry. Local-first scope guard for Codex with explicit task modes, before-action checks, and bounded dependency, hash, and subagent decisions.
How do I install Stop That Shit?
Install Stop That Shit in your harness: Codex — codex plugin marketplace add lennney/stop-that-shit; Claude Code — /plugin marketplace add lennney/stop-that-shit; Any agent — npx skills add lennney/stop-that-shit. Full step-by-step guidance is on the HOL plugin page.
How do I install Stop That Shit in Codex?
To install Stop That Shit in Codex, start with codex plugin marketplace add lennney/stop-that-shit. The complete step-by-step install guide for Codex is on the HOL plugin page.
How do I install Stop That Shit in Claude Code?
To install Stop That Shit in Claude Code, start with /plugin marketplace add lennney/stop-that-shit. The complete step-by-step install guide for Claude Code is on the HOL plugin page.
Is Stop That Shit free?
Pricing for Stop That Shit is published on its HOL plugin page when the maker schedules a launch.
Who publishes Stop That Shit?
Stop That Shit is published by Stop That Shit contributors and listed on HOL.
Is Stop That Shit available now?
Stop That Shit availability is listed on its HOL plugin page.

Install Guidance

Install in Claude Code

Install through the Claude Code plugin marketplace.

Claude Code plugin docs
  1. 1

    Add the marketplace

    Run this inside a Claude Code session.

    claude code
  2. 2

    Install the plugin

    Use the plugin name and the marketplace name shown by the previous command.

    claude code
  3. 3

    Scripted alternative

    Non-interactive equivalent for scripts and CI pipelines. Add --scope project to pin the install to one repository.

    shell

Plugin Manifest

{
  "name": "stop-that-shit",
  "version": "0.2.3",
  "description": "Keep Codex tasks bounded and reduce defensive wording with local-first guardrails and two Skills.",
  "author": {
    "name": "Stop That Shit contributors",
    "url": "https://github.com/lennney"
  },
  "homepage": "https://github.com/lennney/stop-that-shit",
  "repository": "https://github.com/lennney/stop-that-shit",
  "license": "MIT",
  "keywords": [
    "codex",
    "scope-control",
    "overengineering",
    "guardrail"
  ],
  "skills": "./",
  "hooks": "./hooks/codex-hooks.json",
  "interface": {
    "displayName": "Stop That Shit(别再造史了)",
    "developerName": "Stop That Shit contributors",
    "shortDescription": "Bound agent work and reduce defensive writing.",
    "longDescription": "Stop That Shit runs locally. Its Guard blocks covered unneeded actions, and its optional STSS Skill reduces defensive wording in decision-facing text.",
    "category": "Productivity",
    "capabilities": [
      "Local",
      "Guardrail"
    ],
    "websiteURL": "https://github.com/lennney/stop-that-shit",
    "privacyPolicyURL": "https://github.com/lennney/stop-that-shit/blob/main/PRIVACY.md",
    "termsOfServiceURL": "https://github.com/lennney/stop-that-shit/blob/main/LICENSE",
    "brandColor": "#D92D20",
    "composerIcon": "./assets/stop-icon.svg",
    "logo": "./assets/stop-icon.svg",
    "defaultPrompt": [
      "$stop-that-shit review -- Review this diff. Report findings; do not edit.",
      "$stop-that-shit change -- Fix the failing test only.",
      "$stop-that-shit lock change agents=0 -- Make the requested change without delegation.",
      "$stss rewrite -- Make this proposal direct."
    ]
  },
  "registryIndexVersion": 5
}

Marketplace Source

Repo URL
https://github.com/lennney/stop-that-shit
Marketplace path
Unknown
Source path
plugins/lennney/stop-that-shit
Install policy
AVAILABLE

Skills

Copy or download the SKILL.md files this plugin ships, then install them with the Skills CLI.

Share
skills-cli

stop-that-shit

skills/stop-that-shit/SKILL.md

Complete requested work while preventing speculative defenses and scope creep. Use when considering extra hardening, reviewing possible overengineering, resolving repeated verification loops, following explicit task boundaries, or when the user invokes Stop That Shit. Ordinary use of validation, retries, or dependencies alone is not a trigger.

Raw SKILL.md
---
name: stop-that-shit
description: Complete requested work while preventing speculative defenses and scope creep. Use when considering extra hardening, reviewing possible overengineering, resolving repeated verification loops, following explicit task boundaries, or when the user invokes Stop That Shit. Ordinary use of validation, retries, or dependencies alone is not a trigger.
license: MIT
---

# Stop That Shit

Meet the task's responsibilities in full. Let real needs drive complexity.

This Skill is advisory and works without the Guard hooks. It cannot guarantee
model behavior. When the Guard is installed, the same directives also provide
machine-enforced boundaries on supported host action paths.

## Follow the Stop Ladder

Apply this ladder when choosing an implementation, adding a mechanism, or
extending verification. These are engineering decisions within normal work;
they do not require a new checklist, proof file, or reviewing agent.

1. **Understand the current responsibility.** Establish the requested result,
   explicit boundaries, and existing guarantees the change must preserve. Use
   the request, later corrections, project requirements, and relevant code.
   Trace affected callers and failure paths before choosing a fix. Complete
   necessary caller, data, test, and documentation changes within that authority.
   A plan or an easier subset does not fulfill the requested result.
2. **Start with a direct solution.** Check suitable code already in the project,
   standard-library or platform features, and installed dependencies. Compare
   actual behavior, failure handling, and state lifetime. Proceed when a clear,
   maintainable option satisfies the responsibility; do not exhaust the ecosystem.
3. **Expand to close a concrete gap.** Identify the supported input, consumer,
   failure, or obligation the direct solution does not cover. Adapt or implement
   that missing behavior at the responsible layer. Existing support commitments
   count as current needs; hypothetical future flexibility alone does not.
   A larger diff is justified when it completes the affected flow.
4. **Judge defenses by their effect.** Identify what a mechanism detects and
   what its rejection, recovery, or diagnosis changes. Keep effective protection.
   Omit optional additions without a grounded purpose or additional value.
   Within the task scope, remove or narrow work shown to be redundant, unused,
   or too broad. Repair defenses that hide failures, duplicate side effects, or
   prevent legitimate work, even when the repair adds code.
5. **Verify the result and finish.** Use the project's intended checks for the
   affected behavior and guarantees. Honor explicit acceptance criteria and
   mandatory checks. Reuse evidence while it remains valid for the final state.
   Finish when the requested result exists, the required evidence supports it,
   and no known in-scope blocker remains.

## Resolve uncertainty without inventing work

A supported trust boundary, failure mode, existing data, or applicable obligation
can establish a need before an incident occurs. Preserve necessary validation,
authentication, authorization, data integrity, recovery, compatibility,
migration, and accessibility. Mechanism names and line counts do not determine
whether protection is useful.

New optional work without a purpose can wait. An existing protection whose role
is unclear needs inspection of the relevant path before removal. Missing
evidence is not proof that it is unnecessary. Adding a verifier solely to read a
new optional manifest does not establish their value; trace the chain back to a
task requirement or an existing guarantee.

For example, a release consumer can make a checksum necessary. A TTL requirement
can require more than an available cache provides. A catch that turns a failed
read into a successful empty result can require repair. Choose from the actual
contract and behavior in each case.

Resolve ordinary choices from available context. Ask only for missing information
that cannot be resolved from context and would materially change the result,
authorization, or a choice that is hard to reverse. Do not request authorization
already given.

Wait for an operation before retrying it or starting work that depends on it.
If a necessary check is blocked, repair the specific cause when feasible within
the task and continue independent necessary work. Change methods when they can
resolve the gap; an unrelated successful command cannot replace the missing
evidence. Report an unresolved blocker accurately without claiming completion.

## Keep the deliverable focused

Report the result and relevant verification. Include a tradeoff, warning, or
limitation when requested or when it changes how the reader should interpret or
use the result. Put required disclosure at the decision point. Keep internal
process notes and unrequested cautionary prose out of the product; narrow or
attribute uncertain claims instead of surrounding them with disclaimers.

## Respect the task mode

- `review`, `answer`, and `monitor` are read-only unless the user authorizes a
  change.
- `change` permits only requested work and necessary consequences.
- Necessary work does not override an explicit file lock or a narrower action
  boundary. Explain a required boundary change before acting outside it.

With Skill only, treat the mode as an instruction. With the Guard installed,
use the host-native invocation form.

Claude Code plugin:

```text
/stop-that-shit:stop-that-shit change -- Fix the failing config test.
/stop-that-shit:stop-that-shit review -- Review this diff. Report findings; do not edit.
```

Codex plugin or host-neutral directive at the start of a prompt:

```text
$stop-that-shit change -- Fix the failing config test.
$stop-that-shit review -- Review this diff. Report findings; do not edit.
```

Submit one directive on the first non-empty line, outside quotes and code
blocks. Put task text after `--`, `: `, or a newline. Embedded examples do not
set directive fields. Unknown fields or conflicting values leave the previous
contract unchanged and require a corrected directive.

An installed Guard begins in observation-only `unconfirmed` mode. Do not claim
that an action was blocked unless an explicit mode armed the Guard and the Guard
returned a host-specific denial. Even then, describe the host effect as
unobserved.

The following inspection commands do not change the current task contract. In
Claude Code, pass the text after the namespaced slash command; in Codex, use the
`$stop-that-shit` form shown below.

```text
$stop-that-shit status
$stop-that-shit runtime
$stop-that-shit explain evt_...
$stop-that-shit label evt_... correct|incorrect|inconclusive
```

Use a hard file lock only when the complete boundary is already known:

```text
$stop-that-shit lock change files=src/config.cjs|test/config.test.cjs -- Fix this behavior.
```

The active delegation limit is a session control:

```text
$stop-that-shit change agents=N -- Run the task.
```

`agents=N` limits reserved concurrent capacity. It defaults to unlimited, and
`0` forbids new delegation. A batch that exceeds the limit is rejected
atomically. Request parameters do not prove completion: the host must confirm
that a call did not execute, joined all its children, or ended an associated
run. Unknown results keep their existing capacity; session-end alone does not
prove completion. Permitted unbounded or unversioned resume calls remain
unresolved until matching terminal evidence arrives. With unresolved activity,
finite Guard requires that evidence or a new host session. Migration preserves
valid budgets including `0`. Lifecycle association uses explicit host identities,
never event arrival order.

Claude Code equivalent:

```text
/stop-that-shit:stop-that-shit lock change files=src/config.cjs|test/config.test.cjs -- Fix this behavior.
```

Do not invent a file list to appear precise. Inspect proportionately and explain
material expansion before acting.

## Finish

Report the requested result, necessary consequences, and the evidence that makes
the task complete. Do not add a final audit loop only to satisfy this Skill.

stss

skills/stss/SKILL.md

Reduce defensive disclaimers, stacked hedging, and self-protective narration in proposals and decision-facing writing. Use when the user asks to rewrite or audit a proposal, plan, research contribution, executive summary, or similar text for directness. Do not use for ordinary code work or unrelated prose.

Raw SKILL.md
---
name: stss
description: Reduce defensive disclaimers, stacked hedging, and self-protective narration in proposals and decision-facing writing. Use when the user asks to rewrite or audit a proposal, plan, research contribution, executive summary, or similar text for directness. Do not use for ordinary code work or unrelated prose.
license: MIT
---

# Stop That Shit Slop

别再废话。

Make the point without writing for an imaginary critic. Preserve any limitation that changes the reader's decision.

## Stay in scope

Reduce defensive wording in decision-facing text. Do not classify text as AI-written, promise to remove an "AI voice," humanize unrelated prose, or perform a general style cleanup.

Judge sentences by their decision use, not by who or what may have written them.

## Select the mode

- `rewrite`: Return a tighter version. This is the default when the user provides text without a mode.
- `audit`: Identify defensive writing and propose the smallest useful fix. Do not rewrite the full text.

Follow an explicit mode. Infer the mode from the request only when none is given.

## Record the claims

Before editing, build a private Claim Ledger from the supplied material:

- facts and numbers;
- named actors and sources;
- evidence strength;
- stated uncertainty and scope;
- the action requested from the reader.

Do not print the ledger unless the user asks for it. Do not add facts, sources, numbers, certainty, or causality.

## Test each defensive sentence

Apply the Sentence Consumer Test:

1. Who will use this sentence?
2. What decision does it change?
3. What becomes false or misleading if it is removed?

Choose one action:

- `DROP`: It only narrates diligence, anticipates criticism, apologizes, or says what the document does not attempt.
- `CALIBRATE`: It contains real uncertainty but uses stacked hedges. Keep one precise limitation.
- `RELOCATE`: It matters, but interrupts the main claim. Move it next to the affected claim or decision.
- `KEEP`: It changes a legal, safety, financial, methodological, contractual, or scope decision.

Do not decide from a keyword alone. The same phrase can be waste in one context and necessary in another.

## Rewrite

1. Lead with the requested claim, decision, or proposal.
2. State scope positively: say what the work covers.
3. Replace stacked hedges with one evidence-matched qualifier.
4. Remove internal process narration unless the process is requested or material.
5. Put a necessary limitation beside the claim it limits.
6. Compare the result with the Claim Ledger.

Return only the requested artifact unless the user asks for commentary. If the text is already direct and faithful, return it unchanged.

## Audit

Report only actionable findings. For each finding, give:

- the span or sentence;
- `DROP`, `CALIBRATE`, `RELOCATE`, or `KEEP`;
- the decision reason;
- the smallest replacement when one is needed.

Use `NO_DECISION_CONSUMER` when a sentence has no reader decision to serve. If there are no actionable findings, say so and stop.

## Check the claim diff

Before returning the result, verify:

- no supplied fact, number, source, or actor disappeared without reason;
- no new fact, number, source, or actor appeared;
- uncertainty did not become certainty;
- correlation did not become causation;
- a requested or decision-relevant limitation remains visible.

Run one claim-preserving pass. Do not add a score, a probability that text is AI-written, a change diary, or repeated self-review.

Read [references/examples.md](references/examples.md) when the boundary is ambiguous or the user asks for examples.

File Inventory

.codex-plugin/plugin.json

plugin-manifest

1,524 bytes

22aaabf01876f40c…

.claude-plugin/plugin.json

file

613 bytes

b605a782144cbaa9…

package-lock.json

file

2,810 bytes

ca1c7d098905c78f…

SECURITY.md

file

1,371 bytes

acbaf171cff0c9e2…

package.json

file

2,820 bytes

5c6a64a13ecab0c2…

README.md

file

13,488 bytes

1488c708e4d56cb5…

skills/stop-that-shit/agents/openai.yaml

skill

263 bytes

e899bc82bf4aa161…

hooks/codex-hooks.json

file

1,651 bytes

ca48e9b8c26986a5…

skills/stop-that-shit/SKILL.md

skill

8,197 bytes

d414f5d6532230ce…

hooks/hooks.json

file

2,340 bytes

4d91f299427a35b8…

hooks/stop-that-shit-claude.cjs

file

1,069 bytes

e3e3d46feac31beb…

hooks/stop-that-shit.cjs

file

1,025 bytes

f3c98367790c95f7…

skills/stss/references/examples.md

skill

5,374 bytes

bce9d6c27e47e165…

skills/stss/SKILL.md

skill

3,618 bytes

45572e089d4353e6…

skills/stss/agents/openai.yaml

skill

271 bytes

750abe94a4fc186e…

assets/stop-icon.svg

asset

727 bytes

db9b6faed9b2d900…