rules
Strict file creation rules. Loaded FIRST by orchestrator and all agents before any action. Prevents pollution with .md, .json, scripts. Only allows code files and .build/ docs.
When & Why to Use This Skill
This Claude skill implements strict file creation protocols and architectural guardrails to prevent project pollution. It ensures that AI agents only modify authorized source code while centralizing all documentation and project state within a protected directory, maintaining a clean and professional codebase. By enforcing these non-negotiable rules, it minimizes technical debt and prevents the 'hallucination' of redundant documentation or non-standard configuration files.
Use Cases
- Preventing AI agents from cluttering the project root with redundant markdown files, temporary logs, or unverified setup scripts.
- Enforcing a centralized 'Source of Truth' for project context, tasks, and architectural decision logs (ADRs) within a protected .build/ directory.
- Standardizing multi-agent workflows by restricting file creation rights based on specific roles, ensuring only the orchestrator can update project-wide documentation.
- Automating the validation of file paths and extensions against a whitelist to maintain compliance with framework-specific structures like Next.js, React, or FastAPI.
| name | rules |
|---|---|
| description | Strict file creation rules. Loaded FIRST by orchestrator and all agents before any action. Prevents pollution with .md, .json, scripts. Only allows code files and .build/ docs. |
| allowed-tools | None |
Rules Skill - Règles Strictes Fichiers
Chargé EN PREMIER par orchestrator + tous agents AVANT toute action
🛡️ .build/ PROTECTION (VIOLATION = ARRÊT IMMÉDIAT)
RÈGLE ABSOLUE - NON NÉGOCIABLE:
❌ INTERDICTION TOTALE d'écrire dans .build/
AUCUN fichier .md à créer dans .build/ (sauf orchestrator)
AUCUN log, tmp, test, guide, install
AUCUNE documentation technique
AUCUNE création de fichiers par AGENTS
SEUL ORCHESTRATOR (Claude principal) peut écrire dans .build/
✅ WHITELIST .build/ (EXHAUSTIVE - ORCHESTRATOR uniquement)
Fichiers .build/ orchestrator-only:
context.md- État actuel (routes, composants, models, stack)timeline.md- Historique append-only des actionstasks.md- Todo dynamique (in progress, blocked, next)issues.md- Bugs résolus + solutions documentéesspecs.md- Plan stratégique du projetdecisions/*.md- ADRs numérotés (000-xxx.md, 001-xxx.md, etc)templates/*.md- Templates uniquement (si besoin)
JAMAIS par agents (EXECUTOR, RESEARCHER, TESTER):
- ❌
.build/context.md(orchestrator only) - ❌
.build/timeline.md(orchestrator only) - ❌
.build/issues.md(orchestrator only) - ❌
.build/decisions/*.md(orchestrator only) - ❌ Aucun nouveau .md dans .build/
Où documenter CORRECTEMENT
SI agent besoin documenter:
✅ Utilise `/home/pilote/projet/primaire/BUILDER/docs/`
✅ Utilise `/tmp/builder-agents/` pour logs temporaires
✅ Utilise bin/README.md pour CLI docs
❌ JAMAIS dans .build/ (sauf orchestrator)
SI violation détectée
Pseudo-code vérification (EXECUTOR responsable):
IF trying_to_write_in_build_dir:
STOP IMMÉDIATEMENT
IF .md file:
RAISE ERROR "Violation: .build/ protection"
RETURN info_structurée à orchestrator
ORCHESTRATOR update .build/context.md après
IF log/tmp/guide:
REDIRECT à /tmp/builder-agents/ ou docs/
Actions si violation détectée:
- STOP immédiatement (pas de création fichier .build/)
- Return info structurée à ORCHESTRATOR
- ORCHESTRATOR update .build/context.md après
- Résultat: Info centralisée, ZÉRO pollution .build/
❌ INTERDIT de créer
Fichiers Documentation
- ❌
.mdfiles (sauf orchestrator dans.build/) - ❌ AGENTS JAMAIS créer
.build/*.md(violates .build/ protection) - ❌ README, GUIDE, ARCHITECTURE, WORKFLOW fichiers hasardeux
- ❌ Documentation dispersée hors
.build/(sauf orchestrator) - ✅ Agents: Return info structurée à orchestrator (orchestrator update .build/ après)
Fichiers Configuration Non-Standards
.jsonSAUF package.json, tsconfig.json, components.json (standards projet).yaml/.ymlSAUF docker-compose.yml, .github/workflows/ (CI/CD standards)- Fichiers config custom hasardeux
Scripts Hasardeux
.shscripts inutiles (sauf si explicitement demandé user)- Setup scripts pollués
✅ AUTORISÉ uniquement
Code Source
.tsx, .ts, .jsx, .js(React/TypeScript/JavaScript).py(Python).css, .scss(Styles - préférer Tailwind dans globals.css).prisma(Prisma schema).sql(Migrations SQL si besoin)
Configuration Standards
package.json(Node.js dependencies)tsconfig.json(TypeScript config)tailwind.config.ts(Tailwind config)next.config.ts(Next.js config)components.json(shadcn config).env, .env.local, .env.example(Environment variables)prisma/schema.prisma(Database schema)
Documentation Centralisée (.build/ uniquement)
.build/context.md(état projet - routes, models, deployment, stack).build/timeline.md(historique actions).build/tasks.md(tâches en cours).build/issues.md(bugs/solutions).build/decisions/*.md(ADRs numérotés: 000-xxx.md, 001-xxx.md)
🔍 Vérification OBLIGATOIRE
AVANT Write/Edit fichier:
1. Check si path autorisé selon règles ci-dessus
2. SI path NON autorisé:
- STOP immédiatement
- Demander user: "Création [FICHIER] non-standard. Confirmes?"
3. SI user confirme: Procéder
4. SI user refuse: Abandonner
Exemple vérification:
User: "Crée dashboard"
Agent: Va créer app/dashboard/page.tsx
Check: .tsx → ✅ Autorisé (code source)
→ Procéder
User: "Crée feature"
Agent: Va créer FEATURE-GUIDE.md
Check: .md hors .build/ → ❌ Interdit
→ STOP + demander user
📁 Structure Fichiers Autorisée
Projet Frontend (Next.js)
projet/
├── .build/ # Documentation centralisée (SEUL endroit .md)
│ ├── context.md # Routes, models, deployment, stack
│ ├── timeline.md # Historique actions
│ ├── tasks.md # Tasks en cours
│ ├── issues.md # Bugs + solutions
│ └── decisions/ # ADRs
│ └── 000-xxx.md
├── app/ # Next.js pages
├── components/ # React components
├── lib/ # Utilities
├── prisma/ # Database schema
├── public/ # Static assets
├── package.json # Dependencies
├── tsconfig.json # TypeScript config
└── tailwind.config.ts # Tailwind config
Projet Backend (Python)
backend/
├── .build/ # Documentation centralisée
├── api/ # FastAPI routes
├── services/ # Business logic
├── models/ # Database models
├── config.py # Configuration (1 seul fichier)
├── requirements.txt # Dependencies
└── .env # Environment variables
Projet Full-Stack (Next.js + Prisma)
projet/
├── .build/ # Documentation centralisée
├── app/ # Next.js (frontend + Server Actions)
├── components/ # React components
├── prisma/ # Database schema + migrations
├── lib/ # Utilities + Prisma client
└── package.json
📁 Dossiers Autorisés par Type
Code Exécutable
- ✅
bin/- Scripts CLI (agent peut créer si demandé) - ✅
bin/lib/- Helper scripts bash
Documentation (Agent Doit Éviter)
- ✅
/home/pilote/projet/primaire/BUILDER/docs/- Docs techniques (si agent besoin documenter) - ✅
bin/README.md- CLI reference uniquement - ✅
/tmp/builder-agents/- Logs jetables temporaires
INTERDITS Absolus
- ❌
.build/(orchectrator only - voir section protection ci-dessus) - ❌ Racine projet (sauf scripts bin/, config standards)
- ❌
.mdà la racine (sauf user demande explicitement README)
Directive Agents Stricte
SI agent besoin documenter infos:
✅ Return info structurée (JSON/dict)
✅ ORCHESTRATOR update .build/ après
❌ JAMAIS créer .md agents
❌ JAMAIS écrire dans .build/
🚫 Exemples Interdictions
❌ Fichiers à NE JAMAIS créer (agents):
API_ROUTES.md # ❌ Return info à orchestrator → orchestrator update .build/context.md
BACKEND_SETUP.md # ❌ Return info à orchestrator → orchestrator update .build/
DEPLOYMENT.md # ❌ Return info à orchestrator → orchestrator update .build/context.md
FRONTEND_README.md # ❌ Return info à orchestrator → orchestrator update .build/
QUICK_START.md # ❌ Return info à orchestrator → orchestrator update .build/
PROJECT_STATUS.md # ❌ Orchestrator update .build/context.md uniquement
README.md # ❌ Sauf si user demande explicitement (validation user)
ARCHITECTURE.md # ❌ Orchestrator create .build/decisions/xxx.md uniquement
WORKFLOW.md # ❌ Return info → orchestrator update
GUIDE.md # ❌ Return info → orchestrator update
SETUP.md # ❌ Return info → orchestrator update
setup-project.sh # ❌ Sauf si user demande (validation user)
install.sh # ❌ Sauf si user demande (validation user)
deploy.sh # ❌ Sauf si user demande (validation user)
test-matrix.md # ❌ Pollution - interdite
capabilities-guide.md # ❌ Pollution - interdite
system-architecture.md # ❌ Pollution - interdite
custom-config.json # ❌ Non-standard - interdit
.build/context.md # ❌ AGENTS JAMAIS - orchestrator only
.build/timeline.md # ❌ AGENTS JAMAIS - orchestrator only
.build/issues.md # ❌ AGENTS JAMAIS - orchestrator only
.build/decisions/*.md # ❌ AGENTS JAMAIS - orchestrator only
✅ Fichiers autorisés:
.build/context.md # Documentation projet (routes, models, deployment)
.build/timeline.md # Historique actions
.build/decisions/001-use-prisma.md # ADR
app/dashboard/page.tsx # Code
components/ui/button.tsx # Code
lib/utils.ts # Code
prisma/schema.prisma # Config standard
package.json # Config standard
🎯 Responsabilités
Orchestrator (Claude principal)
- ✅ Créer/modifier
.build/*.md - ✅ Créer ADRs
.build/decisions/*.md - ❌ Créer autres fichiers .md
Agents (executor, researcher, tester)
- ✅ Créer code source (.tsx, .ts, .py, etc)
- ✅ Créer configs standards (si nécessaire)
- ❌ Créer fichiers .md (jamais, même dans .build/)
- ❌ Créer documentation
Skills
- Définissent conventions code
- Pas de création fichiers documentation
- Focus: patterns + anti-duplication
⚠️ Exceptions (validation user requise)
SI user demande explicitement:
- README.md projet
- Documentation technique spécifique
- Scripts deployment custom
- Configuration non-standard
Workflow:
User: "Crée README projet"
Agent: "Création README.md (hors règles standards). Confirmes?"
User: "oui" → Agent crée
🚨 ENFORCEMENT STRICT
AVANT toute création fichier .md:
# Pseudo-code vérification obligatoire
file_to_create = "QUICK_START.md"
allowed_md_patterns = [
r"^\.build/context\.md$",
r"^\.build/timeline\.md$",
r"^\.build/tasks\.md$",
r"^\.build/issues\.md$",
r"^\.build/decisions/\d{3}-.*\.md$" # ADRs numérotés
]
if not matches_any_pattern(file_to_create, allowed_md_patterns):
# ❌ VIOLATION DÉTECTÉE
raise Error(f"""
❌ VIOLATION RULES SKILL
Tentative création: {file_to_create}
→ Interdit (seul ORCHESTRATOR peut créer .md)
✅ SOLUTION:
- Return info structurée à ORCHESTRATOR
- ORCHESTRATOR update .build/context.md avec ces infos
Format return:
{{
"routes": [...],
"components": [...],
"models": [...],
"summary": "courte description"
}}
⚠️ STOP création fichier .md
""")
Actions si violation:
- STOP immédiatement (pas de création .md)
- Return info structurée à ORCHESTRATOR
- ORCHESTRATOR update .build/context.md
- Résultat: Info centralisée, zéro pollution
📌 Résumé Règle d'Or
1 SEUL endroit documentation: .build/
Tout le reste: CODE SOURCE uniquement
Si doute sur fichier → Demander user AVANT créer
Rappel chemins autorisés .md:
.build/context.md(orchestrator uniquement).build/timeline.md(orchestrator uniquement).build/tasks.md(orchestrator uniquement).build/issues.md(orchestrator uniquement).build/decisions/*.md(orchestrator uniquement)
Agents (executor, tester, research) = JAMAIS .md
Version: 1.3.0 Date: 2025-11-11 Application: Obligatoire pour orchestrator + tous agents + tous skills Changelog:
- v1.3.0: Add .build/ PROTECTION section (VIOLATION = ARRÊT IMMÉDIAT) - agents JAMAIS write .build/
- v1.3.0: Add "Dossiers Autorisés par Type" with strict directory rules
- v1.3.0: Clarify agent must return structured info, orchestrator update .build/ after
- v1.2.0: Suppression
.build/docs/(context.md suffit) - v1.2.0: Agents doivent return info structurée (pas créer .md)
- v1.1.0: Enforcement strict avec exemples violations