# How to Build the No AI Slop Plugin Locally: A Complete Guide

> Build the No AI Slop plugin locally with this guide. Follow simple steps from the petergyang/no-ai-slop repo to create your plugin zip for Codex or ChatGPT.

- Repository: [Peter Yang/no-ai-slop](https://github.com/petergyang/no-ai-slop)
- Tags: how-to-guide
- Published: 2026-09-13

---

**Run `python scripts/build_plugin.py` from the cloned repository to generate a distributable zip in `dist/` ready for Codex or ChatGPT submission.**

The **No AI Slop** plugin from the `petergyang/no-ai-slop` repository provides content quality enforcement for AI interactions. Building this plugin locally requires only Python and the source code—no external dependencies—using the automated build script provided in [`scripts/build_plugin.py`](https://github.com/petergyang/no-ai-slop/blob/main/scripts/build_plugin.py).

## Step-by-Step Instructions to Build the No AI Slop Plugin Locally

### Clone the Repository

Retrieve the complete source tree including skills, assets, and build scripts:

```bash
git clone https://github.com/petergyang/no-ai-slop.git
cd no-ai-slop

```

### Execute the Build Script

Run the Python build orchestrator from the repository root:

```bash
python scripts/build_plugin.py

```

This command parses [`.codex-plugin/plugin.json`](https://github.com/petergyang/no-ai-slop/blob/main/.codex-plugin/plugin.json) (lines 13-16), validates that required files exist (lines 49-52), and packages everything into `dist/no-ai-slop-plugin-<version>.zip` (lines 72-79).

### Verify the Output

Confirm successful generation of the plugin archive:

```bash
ls dist/

```

You should see `no-ai-slop-plugin-<version>.zip` containing the exact file structure required for platform submission.

## Understanding the Build Architecture

The local build process orchestrated by [`scripts/build_plugin.py`](https://github.com/petergyang/no-ai-slop/blob/main/scripts/build_plugin.py) performs three critical operations:

1. **Manifest Validation** – Reads [`.codex-plugin/plugin.json`](https://github.com/petergyang/no-ai-slop/blob/main/.codex-plugin/plugin.json) to extract version metadata and verify prompt limits against platform requirements.

2. **Asset Assembly** – Copies [`skills/no-ai-slop/SKILL.md`](https://github.com/petergyang/no-ai-slop/blob/main/skills/no-ai-slop/SKILL.md) (core editing rules), [`skills/no-ai-slop/eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/skills/no-ai-slop/eval.md) (validation checks), `assets/no-ai-slop.png` (plugin icon), and legal files (`LICENSE`, [`PRIVACY.md`](https://github.com/petergyang/no-ai-slop/blob/main/PRIVACY.md), [`TERMS.md`](https://github.com/petergyang/no-ai-slop/blob/main/TERMS.md)) into a staging directory under `dist/`.

3. **Strict Packaging** – Enforces an explicit file manifest (lines 84-91) to ensure the final zip contains exactly the files the Codex platform expects, preventing accidental inclusions that could cause upload failures.

## Dry-Run Validation Without Artifacts

To validate your plugin structure without creating permanent files, use the check-only mode:

```bash
python scripts/build_plugin.py --check

```

This executes the same validation and assembly steps, then automatically deletes the temporary folder and zip archive (lines 17-24). Use this flag in CI/CD pipelines to verify pull requests without generating build artifacts.

## Required Files for Successful Build

The build script enforces strict existence checks at lines 49-52 for these components:

- [`skills/no-ai-slop/SKILL.md`](https://github.com/petergyang/no-ai-slop/blob/main/skills/no-ai-slop/SKILL.md) – Contains the editing workflow and quality rules
- [`skills/no-ai-slop/eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/skills/no-ai-slop/eval.md) – Defines validation checks for skill output
- `assets/no-ai-slop.png` – The plugin icon displayed in the UI
- Legal documentation – `LICENSE`, [`PRIVACY.md`](https://github.com/petergyang/no-ai-slop/blob/main/PRIVACY.md), and [`TERMS.md`](https://github.com/petergyang/no-ai-slop/blob/main/TERMS.md) copied verbatim into the package (lines 68-70)

The script fails with an error if any required file is missing or if unexpected files are present in the source tree, ensuring compliance with the platform's strict file list requirements (lines 84-91).

## Summary

- The `petergyang/no-ai-slop` repository includes [`scripts/build_plugin.py`](https://github.com/petergyang/no-ai-slop/blob/main/scripts/build_plugin.py) to automate local packaging using only the Python standard library
- The script validates [`.codex-plugin/plugin.json`](https://github.com/petergyang/no-ai-slop/blob/main/.codex-plugin/plugin.json) and required skill files before packaging begins
- Successful builds generate `dist/no-ai-slop-plugin-<version>.zip` containing exactly the files Codex expects
- Use the `--check` flag to validate the build without creating artifacts in the `dist/` directory
- No external dependencies are required, though a virtual environment is recommended for isolation

## Frequently Asked Questions

### What Python version is required to build the No AI Slop plugin locally?

The build script relies exclusively on the Python standard library, making it compatible with Python 3.6 and higher. No `pip install` steps or third-party packages are necessary, though creating a virtual environment remains a best practice for isolation.

### Where does the build script get the plugin version number?

According to lines 13-16 of [`scripts/build_plugin.py`](https://github.com/petergyang/no-ai-slop/blob/main/scripts/build_plugin.py), the script reads the version field from [`.codex-plugin/plugin.json`](https://github.com/petergyang/no-ai-slop/blob/main/.codex-plugin/plugin.json). This version string is appended to the output filename generated at lines 72-79, creating `dist/no-ai-slop-plugin-<version>.zip`.

### Can I validate the plugin without creating the zip file?

Yes. Execute `python scripts/build_plugin.py --check` to perform complete validation and assembly steps while automatically deleting the temporary folder and final zip archive afterward (lines 17-24). This mode validates your manifest syntax and file structure without leaving build artifacts on disk.

### What happens if a required file is missing during the build?

The build fails immediately at lines 49-52 with a descriptive error indicating which required file is absent. The script checks for [`SKILL.md`](https://github.com/petergyang/no-ai-slop/blob/main/SKILL.md), [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md), the PNG icon, and all legal documentation before proceeding to the packaging phase, ensuring incomplete packages never reach the `dist/` directory.