The Problem

AI‑generated text often falls into a handful of over‑used patterns (“It’s not X. It’s Y.”, “What nobody tells you…”) that flatten a writer’s voice. Teams that rely on LLM‑assisted drafting spend extra time re‑introducing personality and nuance.

What This Does

no‑ai‑slop ships a ChatGPT/Codex skill that scans incoming text for 20+ hard‑coded slop patterns and rewrites or flags them while preserving the author’s style. The rule set lives in skills/no‑ai‑slop/SKILL.md; the evaluation checklist is in skills/no‑ai‑slop/eval.md.

The only executable component is scripts/build_plugin.py, which packages the skill’s assets (assets/no‑ai‑slop.png, agents/openai.yaml, plugin‑submission.md) and validates the JSON manifest .codex‑plugin/plugin.json. The GitHub Action defined in .github/workflows/plugin.yml runs this script on push to ensure the plugin can be built without error.

How It Is Wired

FileResponsibilityKey Functions / Effects
.codex‑plugin/plugin.jsonDeclares the plugin metadata (name, description, command triggers). The ChatGPT runtime reads this file to expose the /no‑ai‑slop slash command.
skills/no‑ai‑slop/SKILL.mdLists the textual patterns and the replacement logic in a declarative, human‑readable format. The skill engine parses this markdown at load time to generate the detection/rewriting rules.
scripts/build_plugin.pyEntry point for local builds. It: <br>1. Loads plugin.json. <br>2. Copies assets/, agents/, and skills/ into a temporary directory. <br>3. Zips the directory into no‑ai‑slop.zip. <br>4. Calls jsonschema.validate against the manifest. No external services are contacted; the script only touches the filesystem.
.github/workflows/plugin.ymlCI step that invokes python scripts/build_plugin.py on each push, failing the run if the manifest is invalid.
agents/openai.yamlProvides a minimal OpenAI agent definition used by the skill when it needs to call an LLM for re‑phrasing. The file is static; the runtime loads it when the skill is invoked.
README.md & plugin‑submission.mdDocumentation only; no code impact.

Call flow (runtime): When a user sends “/no‑ai‑slop <text>” in ChatGPT, the platform reads plugin.json to route the command to the skill. The platform parses SKILL.md into a pattern list, applies each regex to the supplied text, and returns the edited version together with a change summary. No Python code runs in this path; the transformation is performed by the host (ChatGPT) using the declarative rules. The only code path that a developer can modify locally is the build script, which has a single linear flow and a modest blast radius (only packaging artifacts).

How To Use It

# 1. Clone the repo (use the exact URL as requested)
git clone https://github.com/moses-y/no-ai-slop
cd no-ai-slop

# 2. Build the plugin package
python scripts/build_plugin.py   # produces no-ai-slop.zip

# 3. Install globally via the documented shortcut
#    (copy‑paste the block from README into ChatGPT, Claude Code, etc.)
#    or use the npx command:
npx skills add petergyang/no-ai-slop --skill no-ai-slop --global --yes

No additional configuration files, environment variables, or secret keys are required; the skill is self‑contained.

Real‑World Use

A content team integrates the skill into their internal ChatGPT instance. Writers draft a paragraph, prepend /no‑ai‑slop, and receive a version with the 20+ slop patterns removed and a bullet list of modifications. The team can then review the changes before publishing, saving roughly 10‑15 minutes per draft.

Code Health & Issues

  • Medium – No automated tests – repository‑wide; the only executable code (build_plugin.py) is untested.
  • Low – Single‑purpose build script – limited error handling; failures surface only as uncaught exceptions.
  • Low – CI only validates packaging.github/workflows/plugin.yml runs the build script but does not lint markdown or verify regex correctness.
  • Low – No type hints / static analysisbuild_plugin.py lacks type annotations, reducing IDE assistance.

No security‑related secrets are committed; the license (MIT) is present and valid.

The Bottom Line

no‑ai‑slop provides a lightweight, declarative skill for stripping common AI‑generated clichés from text, useful for teams that already rely on ChatGPT’s plugin ecosystem. The repo is minimal: a single packaging script, markdown rule definitions, and CI that only validates the zip build. Lack of tests and limited runtime code mean low maintenance overhead but also limited extensibility; developers needing custom pattern logic will have to edit SKILL.md directly. Suitable for organizations that want an out‑of‑the‑box slop filter without building their own NLP pipeline.