This protocol derives the correct README from the real project, the real reader, and the real job the README must perform. It does not mirror familiar GitHub templates, does not assume a comprehensive README is always appropriate, and does not treat the existing README as a primary source of truth. Every structural and editorial decision is grounded in workspace evidence and reader reality before a single line of prose is drafted.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/xxyoudeadpunkxx/ai-protocol-kit/llms.txt
Use this file to discover all available pages before exploring further.
Core Rule
Build the smallest correct README that accurately represents the real project, fits the real reader, uses the real reader’s language, and performs the real job the README needs to do.What the Protocol Prevents
This protocol explicitly rejects five common assumptions that produce incorrect READMEs:- Every repository needs the same README.
- Every README should be comprehensive.
- Every README should mirror familiar GitHub templates.
- The existing README is correct.
- The most visible files alone define the whole repository.
Phases
The protocol covers eight ordered phases. Each phase must be closed before the next begins. Unresolved ambiguity does not pass forward.Classify the project
Determine the project name, type, primary purpose, primary audience, current maturity, primary user or reader, and primary public or operational unit. Identify whether the repository is product-facing, developer-facing, research-facing, content-facing, internal-facing, or mixed. Identify whether the repository is primarily something to use, install, read, adapt, study, deploy, extend, evaluate, or reference. If classification remains materially ambiguous, stop and ask before proceeding to README role selection or section design.
Inspect the workspace
Read only enough to close the README decision perimeter. Determine and report: high-level repository structure, manifests and package descriptors, entry points, core modules or surfaces, executable surfaces, scripts relevant to running or building the project, configuration surfaces, dependency signals, deployment signals, documentation surfaces other than the README, licensing signals, contribution or governance signals, and whether the repository appears stable, evolving, experimental, archival, or mixed. README gate rule: if a README already exists, do not read it in this phase. Access to the existing README requires explicit operator authorization.
Determine the README role and reader action
Before drafting anything, decide what job the README must perform. Close the reader model before closing the structure. Determine: the README’s primary job, the primary reader, the reader’s level, the relationship between README and reader, the primary reader action the README should enable, what happens if the README fails, and whether the README should prioritize orientation, setup, usage, trust, explanation, reference, or navigation. Do not assume every README is mainly a quickstart or mainly a project overview. If the README’s primary role or primary reader remains materially ambiguous, stop and ask.
Determine editorial posture and language boundary
Before defining sections, decide how the README should sound and what kind of language it is allowed to use. Tone is not decoration — language is part of reader fit. Determine: whether the README should be technical-first or orientation-first, whether it should be concise or expansive, the real reader’s natural vocabulary, which terms are normal and clear for that reader, and which terms would sound internal, abstract, machine-like, inflated, or framework-native. Do not let tone overstate project maturity, polish, stability, or support.
Design the README model
Before writing full prose, decide the README structure. Determine: recommended title form, recommended opening pattern, what belongs above the fold, which sections are required, which sections are optional, which sections should be excluded, what order best fits the README role, and what claims are justified versus not justified. Treat possible sections (features, installation, quickstart, usage, contributing, license, etc.) as options, not defaults. Prefer the smallest correct structure. If section choice, section split, or claim perimeter remains materially ambiguous, stop and ask.
Draft the README
Write the README only after the model is defined. Write each section for its actual reader, actual job, and allowed technical depth. Write in plain, direct language. Avoid filler, ceremony, and generic GitHub mood. Start with what the project is and what it does. Make claims proportionate to actual maturity and scope. Do not let section count substitute for clarity. If commands, examples, configuration, installation steps, or environment claims cannot be verified from the workspace, stop and ask before asserting them.
Review against project truth and reader truth
Before finalizing, produce a concise review stating: what the README is trying to do, who it is for, what it foregrounds, what it deliberately keeps out, which claims it makes or avoids, which sections were included and why, which sections were excluded and why, and which risks or open assumptions remain. Check for overstatement of maturity or scope, invented features, generic template drag, missing core orientation, tone mismatches, and setup steps not grounded in the repository.
Optional existing README audit (gated)
This phase is gated. Only enter if the operator explicitly authorizes reading the existing README. If authorized, read it as material to audit, not as a primary source of truth. Determine what it gets right, what it overstates, what should be preserved, what should be revised, and what should be removed. Do not let the old README override the project model already established.
Operating Rules
The following rules govern every README session:- Follow the phases in order. Do not skip directly to drafting, formatting, badges, or polish.
- Before writing, close the project model, the README role, the reader model, the language boundary, and the section model.
- If ambiguity remains and could materially change reader fit, README role, claims, structure, language, or next action, stop and ask before proceeding.
- When asking the operator, ask one thing at a time. Keep materially distinct ambiguities separate.
- An unresolved ambiguity does not pass to the next phase.
- Use real evidence from the workspace. Do not invent features, workflows, maturity, stability, support level, or status.
- Do not generate sections, setup steps, examples, badges, architecture notes, feature lists, or contribution guidance unless they are justified by the real project and the real README role.
- Do not optimize for completeness by default. Optimize for correctness, clarity, fit, orientation value, and reader usefulness.
- Treat an existing README as gated material. Do not read it unless operator authorization is explicitly given.
- Do not let familiar GitHub conventions override the actual needs of the project.