# No AI Slop Plugin Archive Structure: Complete File Layout Guide

> Understand the No AI Slop plugin archive structure. Explore the ZIP file layout including metadata, assets, skill definitions, and legal documents for AI platform installation.

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

---

**The No AI Slop plugin archive is a ZIP file generated by [`scripts/build_plugin.py`](https://github.com/petergyang/no-ai-slop/blob/main/scripts/build_plugin.py) containing a structured directory with metadata, assets, skill definitions, and legal documents required for installation on AI platforms like ChatGPT and Codex.**

The **No AI Slop** plugin is distributed as a standardized archive package that follows specific conventions for AI agent compatibility. Understanding the internal structure of this archive is essential for developers who want to modify the plugin, validate builds, or integrate similar packaging workflows into their own projects.

## How the Plugin Archive is Built

The build process is orchestrated by [`scripts/build_plugin.py`](https://github.com/petergyang/no-ai-slop/blob/main/scripts/build_plugin.py), which automates the creation and validation of the distribution package. When executed, the script performs the following operations:

1. Creates a temporary staging directory at `dist/no-ai-slop`
2. Copies source files from the repository root and subdirectories
3. Validates the presence of required files using the `validate_build` function
4. Compresses the directory into `no-ai-slop-plugin-<version>.zip`

According to the source code in `petergyang/no-ai-slop`, the `validate_build` function (lines 84-91) enforces a strict manifest of expected files. The copy operations occur on lines 64-70, while the final archive creation happens on lines 75-78.

## Directory Structure of the No AI Slop Plugin

The extracted archive follows this hierarchy:

```

no-ai-slop/
├─ .codex-plugin/
│   └─ plugin.json
├─ assets/
│   └─ no-ai-slop.png
├─ skills/
│   └─ no-ai-slop/
│      ├─ SKILL.md
│      └─ eval.md
├─ LICENSE
├─ PRIVACY.md
└─ TERMS.md

```

Each directory serves a distinct purpose in the plugin's operation and distribution.

### Plugin Metadata ([`.codex-plugin/plugin.json`](https://github.com/petergyang/no-ai-slop/blob/main/.codex-plugin/plugin.json))

The `.codex-plugin/` directory contains **plugin.json**, which declares the plugin's identity and capabilities to the host platform. This file specifies the name, version, author information, UI strings, and functional capabilities. Host platforms like ChatGPT and Codex parse this manifest to register the plugin and render its interface correctly.

### Visual Assets (`assets/no-ai-slop.png`)

The `assets/` directory houses the plugin icon displayed in user interfaces. The file `no-ai-slop.png` serves as the visual identifier when users browse or manage installed skills. This asset is referenced by the metadata file and must follow platform-specific format requirements.

### Core Skill Definitions (`skills/no-ai-slop/`)

The `skills/no-ai-slop/` subdirectory contains the operational logic of the plugin:

- **SKILL.md**: Defines the core editing rules, command-line workflow, and interaction patterns. This file instructs the AI agent how to analyze text for "AI slop" and apply corrective editing.
- **eval.md**: Specifies validation checks that run on the skill's output to ensure correctness and adherence to quality standards.

These files constitute the actual "intelligence" of the plugin, determining how it processes and improves written content.

### Legal Documentation

The archive root includes three required legal files:

- **LICENSE**: MIT license text governing usage and distribution
- **PRIVACY.md**: Privacy policy detailing data handling practices
- **TERMS.md**: Terms of service governing user interaction with the plugin

Distribution platforms require these documents for compliance and transparency.

## Building the Plugin Locally

To generate the No AI Slop plugin archive from source:

```bash

# From the repository root

python scripts/build_plugin.py

```

The script outputs a versioned archive to the `dist/` directory:

```bash
Built dist/no-ai-slop-plugin-1.0.6.zip

```

The `validate_build` function ensures all required files are present before compression, preventing incomplete builds from distribution.

## Installing and Using the Plugin

Once built, install the plugin globally using the Codex skills system:

```text
Install the /no-ai-slop skill globally from https://github.com/petergyang/no-ai-slop

```

Alternatively, install via npx:

```bash
npx skills add petergyang/no-ai-slop --skill no-ai-slop --global --yes

```

Invoke the skill during chat sessions:

```text
/no-ai-slop (your writing)

```

Or use the detection query format:

```text
/no-ai-slop is this slop? (your writing)

```

## Summary

- The **No AI Slop plugin archive** is a ZIP file created by [`scripts/build_plugin.py`](https://github.com/petergyang/no-ai-slop/blob/main/scripts/build_plugin.py) containing exactly seven required files validated by the `validate_build` function.
- The structure includes metadata ([`.codex-plugin/plugin.json`](https://github.com/petergyang/no-ai-slop/blob/main/.codex-plugin/plugin.json)), assets (`assets/no-ai-slop.png`), skill logic ([`skills/no-ai-slop/SKILL.md`](https://github.com/petergyang/no-ai-slop/blob/main/skills/no-ai-slop/SKILL.md) and [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md)), and legal documents (`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)).
- The build process copies files from the repository root into `dist/no-ai-slop` before compressing them into `no-ai-slop-plugin-<version>.zip`.
- All functional behavior is defined in [`SKILL.md`](https://github.com/petergyang/no-ai-slop/blob/main/SKILL.md), while [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md) provides automated quality validation.

## Frequently Asked Questions

### What files are required inside the No AI Slop plugin archive?

The archive must contain [`.codex-plugin/plugin.json`](https://github.com/petergyang/no-ai-slop/blob/main/.codex-plugin/plugin.json), `assets/no-ai-slop.png`, [`skills/no-ai-slop/SKILL.md`](https://github.com/petergyang/no-ai-slop/blob/main/skills/no-ai-slop/SKILL.md), [`skills/no-ai-slop/eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/skills/no-ai-slop/eval.md), `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). The `validate_build` function in [`scripts/build_plugin.py`](https://github.com/petergyang/no-ai-slop/blob/main/scripts/build_plugin.py) (lines 84-91) enforces this manifest and rejects incomplete builds.

### How do I modify the No AI Slop plugin and create a new archive?

Edit the source files in your local clone of `petergyang/no-ai-slop`, particularly [`skills/no-ai-slop/SKILL.md`](https://github.com/petergyang/no-ai-slop/blob/main/skills/no-ai-slop/SKILL.md) for behavior changes. Run `python scripts/build_plugin.py` to generate a new `no-ai-slop-plugin-<version>.zip` in the `dist/` directory with your modifications.

### Where is the plugin behavior defined?

The core editing logic resides in [`skills/no-ai-slop/SKILL.md`](https://github.com/petergyang/no-ai-slop/blob/main/skills/no-ai-slop/SKILL.md), which contains the rules for detecting AI-generated text patterns and the workflow for humanizing content. The validation criteria are specified separately in [`skills/no-ai-slop/eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/skills/no-ai-slop/eval.md).

### What is the purpose of the `.codex-plugin` directory?

The `.codex-plugin/` directory contains [`plugin.json`](https://github.com/petergyang/no-ai-slop/blob/main/plugin.json), which serves as the machine-readable manifest telling AI platforms (like ChatGPT or Codex) how to register, display, and execute the plugin. It defines the plugin name, version, capabilities, and UI presentation strings.