# 14 prompts pass. One never got checked.

> A hook on staged files never audits the past.

- **Format:** short video, 9 steps, ~51 seconds
- **Topic:** The meta agents that maintain an AI agent prompt library — a refusal-condition hook that checks only staged files has never run on the one prompt that fails it, and how prompt, skill, hook and AGENTS.md generator agents audit the library and keep it from drifting.
- **Author:** Suthahar Jegatheesan (MSDEVBUILD)
- **Category:** AI · AI
- **Published:** 2026-09-20
- **Tags:** promptengineering, aiagents, githubcopilot, agentsmd, githooks, devex, aicoding, msdevbuild
- **Canonical URL:** https://blog.msdevbuild.com/shorts/ai-meta-agents-say-what-not-to-output/

---
## What you'll learn

- Why refusal conditions matter more than instructions
- Why a new hook misses files that already exist
- When a rule belongs in AGENTS.md instead of a prompt

## Understand it one step at a time

### 1. A rule for every prompt

Every prompt must state what it will not output, on a line starting Do not or Never.

### 2. Run it over everything

The same check, once, over all 15 prompts, not only what is staged.

### 3. Buried mid-sentence

Its only refusal is on line 18, in the middle of a list item.

### 4. Never checked

The prompt and the hook arrived in the same commit. Staged-only means never run.

### 5. The smallest diff

The prompt agent lifts the refusal onto its own line. Meaning unchanged.

### 6. Rule to hook, or refuse

"Handle errors properly" cannot be checked. "No empty catch" can.

### 7. Shared rules, one place

A rule two agents need lives in AGENTS.md. Prompts cite it.

### 8. A library that holds

Refusals on their own lines, hooks run once over everything, rules in one place.

### 9. Say what not to output

Fix with the smallest diff, turn rules into hooks, keep shared rules in AGENTS.md.

---

## The takeaway

**Say what not to output.**

A hook on staged files never audits the past. Run it over everything once.
