Plain Writing
docwriter-org/plain-writing-skill
Writes and edits prose in a plain and boring style: simple everyday words, complete sentences, no dashes, no jargon, and no analogies.
Deterministic pre-publish scan that refuses AI-slop tells in anything about to be written, published, or sent: files, artifacts, slide titles, table headers, diagram labels, chat messages, commit…
$ npx skills add huytieu/COG-second-brain --skill slop-gate -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install huytieu/COG-second-brain slop-gate --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/huytieu/COG-second-brain.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/slop-gate .claude/skills/slop-gate && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "slop-gate" agent skill from https://github.com/huytieu/COG-second-brain/tree/main/skills/slop-gate into .claude/skills/slop-gate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "slop-gate", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/huytieu/COG-second-brain/tree/main/skills/slop-gateType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add huytieu/COG-second-brain --skill slop-gate -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install huytieu/COG-second-brain slop-gate --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/huytieu/COG-second-brain.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/slop-gate .agents/skills/slop-gate && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "slop-gate" agent skill from https://github.com/huytieu/COG-second-brain/tree/main/skills/slop-gate into .agents/skills/slop-gate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "slop-gate", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add huytieu/COG-second-brain --skill slop-gate -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install huytieu/COG-second-brain slop-gate --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/huytieu/COG-second-brain.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/slop-gate .cursor/skills/slop-gate && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "slop-gate" agent skill from https://github.com/huytieu/COG-second-brain/tree/main/skills/slop-gate into .cursor/skills/slop-gate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "slop-gate", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/huytieu/COG-second-brain.git --path skills/slop-gate--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add huytieu/COG-second-brain --skill slop-gate -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install huytieu/COG-second-brain slop-gate --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/huytieu/COG-second-brain.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/slop-gate .gemini/skills/slop-gate && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "slop-gate" agent skill from https://github.com/huytieu/COG-second-brain/tree/main/skills/slop-gate into .gemini/skills/slop-gate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "slop-gate", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install huytieu/COG-second-brain slop-gateInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add huytieu/COG-second-brain --skill slop-gate -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/huytieu/COG-second-brain.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/slop-gate .github/skills/slop-gate && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "slop-gate" agent skill from https://github.com/huytieu/COG-second-brain/tree/main/skills/slop-gate into .github/skills/slop-gate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "slop-gate", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add huytieu/COG-second-brain --skill slop-gate -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install huytieu/COG-second-brain slop-gate --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/huytieu/COG-second-brain.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/slop-gate .opencode/skills/slop-gate && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "slop-gate" agent skill from https://github.com/huytieu/COG-second-brain/tree/main/skills/slop-gate into .opencode/skills/slop-gate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "slop-gate", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
slop-gateDeterministic pre-publish scan that refuses AI-slop tells in anything about to be written, published, or sent: files, artifacts, slide titles, table headers, diagram labels, chat messages, commit…
Slop Gate is an agent skill from huytieu/COG-second-brain. Deterministic pre-publish scan that refuses AI-slop tells in anything about to be written, published, or sent: files, artifacts, slide titles, table headers, diagram labels, chat messages, commit messages. Use before publishing or sending any deliverable, in CI, or wired as a Claude Code hook so the check runs without being remembered. The editorial counterpart is no-ai-slop, which rewrites; this one blocks.
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including scripts (for example `scripts/model_compare.py` and `scripts/scan.py`).
It sits in Development, covering Slides and decks, Hooks and plugins and Commit messages. The repository describes itself as: Self-evolving second brain with 35 AI skills, 10 agents, and people CRM. Closed-loop harness: a V-model verification lifecycle where the worker never grades its own homework… The licence is MIT.
Read from SKILL.md and the folder at commit 36ac9d7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Slop Gate loads about 1.6k tokens when it runs. Until then it costs about 105 tokens; SKILL.md has 854 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from huytieu/COG-second-brain at commit 36ac9d7, republished under its MIT licence (© huytieu). 854 words, ~1,641 tokens.
.claude/skills/slop-gate/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.<!-- slop-ok: this skill quotes the tells it blocks -->
no-ai-slop is an editor you invoke. This is a gate that runs whether or not anyone
remembers it. It scans outgoing text, refuses on a tell, and returns the hit list so
the rewrite is targeted.
Two rules make it usable rather than annoying: hard tells fail on a single hit, and words that are decoration at volume but legitimate once are counted rather than banned. Text inside quotes or backticks is stripped before scanning, so a piece that quotes a tell as an exhibit does not fail on its own examples.
A rules file is advisory, and advisory rules fail in a specific, repeatable way: they fire in the step the model thinks of as writing and not in the steps it thinks of as something else. A deck built by an agent can carry clean paragraphs under headline slide titles, because the titles were produced in a layout step where the writing rules never ran. Every surface nobody named explicitly sits on the unchecked side:
slide titles, kickers table headers, row keys commit messages
tile and card labels diagram node and edge labels code comments
chart titles and legends button copy, subtitles memory files
alt text, image captions Slack, email, issue bodies PR descriptionsThe gate closes that by scanning the text on its way out, whatever produced it.
python3 scripts/scan.py DRAFT.md # one file
python3 scripts/scan.py content/**/*.md # many
cat draft.md | python3 scripts/scan.py - # stdinExit code 0 is clear, 1 is tells found, so it drops into CI or a pre-commit hook unchanged. Every hit prints its label and the surrounding text.
COG ships no hooks by default. If you want the check enforced rather than remembered,
add this to .claude/settings.json yourself. --hook reads the hook payload on stdin
and answers with a permission decision.
{
"hooks": {
"PreToolUse": [
{
"matcher": "Write|Edit|mcp__.*slack.*send.*|mcp__atlassian__(create|update)Confluence.*",
"hooks": [{ "type": "command",
"command": "python3 \"$CLAUDE_PROJECT_DIR/.claude/skills/slop-gate/scripts/scan.py\" --hook" }]
}
],
"Stop": [
{ "hooks": [{ "type": "command",
"command": "python3 \"$CLAUDE_PROJECT_DIR/.claude/skills/slop-gate/scripts/scan.py\" --hook" }] }
]
}
}The Stop entry scans the agent's own reply, which is where most of these land in a
working session. Expect it to fire on you within the hour; that is the point of it.
| Tell | Specimen |
|---|---|
| Em dash | any — |
| Honesty framing | "honestly", "the honest part:", "if I'm being honest" |
| "not X, it's Y" | "It's not about speed, it's about trust" |
| "X, not Y" (trailing form) | "a test, not a permission", "machinery, not memory" |
| Rhetorical heading | "Why this matters", "The bottom line", "What comes next" |
| "The <Noun>" heading | "The Wedge", "The Shot", "The Gamechanger" |
| Verdict kicker | "That is the point.", "That is all a title is for." |
| Fake-profound closer | "let that sink in", "this changes everything" |
| Throat-clearing | "Here's the thing", "It's worth noting", "At the end of the day" |
| Sycophancy | "Great question", "You were right to push back", "That's on me" |
| Recap ending | a final paragraph opening "In conclusion" or "Ultimately" |
| Emoji heading | ## 🚀 Results |
robust, seamless, leverage, utilize, delve, empower, streamline, genuinely, quietly, load-bearing, deep dive, clean, plain, simple, elegant, powerful, lightweight, tapestry, game-changer, paradigm shift, cutting-edge
Three or more in one piece fails, on the reading that density means decoration. One is a word choice. The test for any single use: remove the adjective, and if the reader would do nothing differently, it was decoration. "A robust retry" fails that test; "a retry that survives a mail-slot timeout" passes, because it names the behaviour. Keep the word when it is the term of art ("robust statistics").
A piece that must quote a tell (a style guide, a post about slop, a test fixture)
carries slop-ok: <reason> anywhere in the file, usually as an HTML comment or a
front-matter key. Quoted and backticked spans are already exempt, so the marker is
only needed when a tell appears in the author's own voice on purpose.
Never add the marker to get past a gate you disagree with. Rewrite instead, or change the pattern list and say why.
The gate is regular expressions, so it catches surface and near-surface tells. It is
blind to the structural ones: a declared count that the source does not contain, a
framework invented to organise two paragraphs, uniform sentence rhythm, a paragraph
that restates the previous one. Those need a reader. Use no-ai-slop in detect mode,
and prefer a reviewer from a different model family than the author, because a
same-family reviewer shares the author's sense of what a finished answer looks like
and waves through the same shapes.
For the tics that are yours rather than universal, measure them: voice-baseline.
scripts/model_compare.py replays your own Claude Code transcripts through scan.py and reports, per model, the share of chat replies and Markdown writes the gate would have refused and the hit rate per rule. It also reports workload per human prompt (tool calls, active minutes, tool error rate, subagent spawns) and punctuation per 10k words. When a hook refuses a reply, the transcript keeps the refused attempt as well as the rewrite, so the counts include what the model wrote before the gate saw it.
python3 scripts/model_compare.py --since 2026-09-15T00:00:00+00:00 --rulesPick a window in which the rules file and hook did not change. A rule that tightened mid-window makes the earlier model look worse than it was.
© huytieu, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (scripts) in skills/slop-gate of huytieu/COG-second-brain.
Open the folder on GitHubat commit 36ac9d7
Slop Gate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Slop Gate this skillhuytieu/COG-second-brain | 1.3k | — | ~1.6k | Automated safety check: Pass | MIT | |
| Plain Writingdocwriter-org/plain-writing-skill | 462 | — | ~3.6k | Automated safety check: Pass | MIT | |
| Create Opencode PluginIgorWarzocha/Opencode-Workflows | 122 | — | ~2.4k | Automated safety check: Pass | None | |
| Ckeditor5 Plugin DevelopmentTriliumNext/Trilium | 38k | — | ~4.9k | Automated safety check: Pass | AGPL-3.0 | |
| Debug Hooksparcadei/Continuous-Claude-v3 | 3.9k | 1 repos | ~863 | Automated safety check: Notes | MIT | |
| CodFlow Change Workflowbighadj22/codflow | 354 | — | ~1.1k | Automated safety check: Pass | Apache-2.0 |
docwriter-org/plain-writing-skill
Writes and edits prose in a plain and boring style: simple everyday words, complete sentences, no dashes, no jargon, and no analogies.
IgorWarzocha/Opencode-Workflows
Create OpenCode plugins using the @opencode-ai/plugin SDK. An agent skill from IgorWarzocha/Opencode-Workflows.
TriliumNext/Trilium
Write, extend, and review CKEditor 5 plugins in the Trilium (TriliumNext Notes) monorepo — the rich-text-note editor under packages/ckeditor5, whose plugins live in src/plugins/.
parcadei/Continuous-Claude-v3
Systematic hook debugging workflow. An agent skill from parcadei/Continuous-Claude-v3.
bighadj22/codflow
A step-by-step workflow for changing the CodFlow repository: read the AGENTS.md contract, respect package boundaries, verify before claiming done and keep PRs small.
openvetta/open-vetta
Create, implement, build, pack, install, reload, and manage Vetta desktop plugins for non-developers.
huytieu/COG-second-brain
Measure your own writing corpus for the words and sentence shapes you over-use, so an agent writing in your voice stops amplifying your tics into a style.
huytieu/COG-second-brain
A passive daily work journal that Claude keeps FOR you so you never have to write it yourself.
huytieu/COG-second-brain
Generate meaning-carrying editorial data-illustrations in the monotykamary / Linear aesthetic (near-black grayscale, Inter display + mono labels, hairline framed figures) with a single coral accent.
huytieu/COG-second-brain
Shared loop-engineering reference for COG skills - the agent loop, deterministic verifiers, termination conditions, in-loop context management, and named patterns.
huytieu/COG-second-brain
Turn a product release (the list of shipped items plus real screen recordings) into a motion recap video and one explained demo per feature, with sound effects tied to on-screen motion and a…
huytieu/COG-second-brain
Personalize COG for your workflow - creates profile, interests, and watchlist files with guided setup (run this first!)
Categories
Deterministic pre-publish scan that refuses AI-slop tells in anything about to be written, published, or sent: files, artifacts, slide titles, table headers, diagram labels, chat messages, commit…. Slop Gate is an agent skill from huytieu/COG-second-brain. Deterministic pre-publish scan that refuses AI-slop tells in anything about to be written, published, or sent: files, artifacts, slide titles, table headers, diagram labels, chat messages, commit messages.
Slop Gate fits situations like: tasks that involve Slides and decks; tasks that involve Hooks and plugins; tasks that involve Commit messages.
Run `npx skills add huytieu/COG-second-brain --skill slop-gate -a claude-code`. Or copy the skill folder (skills/slop-gate in huytieu/COG-second-brain) into .claude/skills/slop-gate in your project. Claude Code loads it when a task matches its description.
Run `npx skills add huytieu/COG-second-brain --skill slop-gate -a codex`. Or copy the skill folder (skills/slop-gate in huytieu/COG-second-brain) into .agents/skills/slop-gate in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add huytieu/COG-second-brain --skill slop-gate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/slop-gate, .gemini/skills/slop-gate, .github/skills/slop-gate and .opencode/skills/slop-gate in your project.
Going by SKILL.md and its folder, Slop Gate needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Slop Gate is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Slop Gate: Plain Writing (docwriter-org/plain-writing-skill, 462 stars), Create Opencode Plugin (IgorWarzocha/Opencode-Workflows, 122 stars), Ckeditor5 Plugin Development (TriliumNext/Trilium, 38k stars) and Debug Hooks (parcadei/Continuous-Claude-v3, 3.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
huytieu (a GitHub user) maintains it in huytieu/COG-second-brain, which has 1,268 GitHub stars. The repository holds 37 skills in this directory. The repository was last updated on October 2, 2026.
Source: huytieu/COG-second-brain on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.