When AI Starts Participating in Real Project Work
When we used ChatGPT to write code, the main question was usually, “How should I phrase the prompt?” We described what we wanted, copied the code, ran it, brought the error back, and continued. Coding agents such as Claude Code, Codex, and GitHub Copilot have changed that arrangement. They can read a repository, search and edit files, invoke a terminal, run tests, inspect Git history, and carry out several development steps in sequence.
The question is no longer only how to ask. It is now: if AI can operate across an entire project, how should we manage it? A common response is to keep expanding one AGENTS.md with every TypeScript, database, API, security, UI, and Git rule. Yet more information does not guarantee more accurate attention. It can make mistakes more likely and their causes harder to trace.
PROSE addresses this problem by treating the agent’s working environment as an engineering system.
A Closer Look: What Is PROSE?
PROSE is neither a programming language nor software you install. It is an engineering discipline for agentic software development.
| Principle | Meaning | Problem addressed |
|---|---|---|
| P | Progressive Disclosure | The agent sees too much at once |
| R | Reduced Scope | A single assignment is too large |
| O | Orchestrated Composition | The prompt keeps becoming more complex |
| S | Safety Boundaries | The agent has excessive authority |
| E | Explicit Hierarchy | Rules with different scopes are mixed together |
At the right moment, let the agent see only the right information, complete one clear task, and operate only what the task genuinely requires.
To make the principles concrete, imagine a campus-event registration site where users sign in, browse events, register, and administrators review attendee lists.
P: Do Not Make AI Read the Entire Project at Once
Progressive Disclosure
If the task is only to move the registration button, the agent needs the React component rules, UI guidance, and current page code. It does not need database migrations, JWT refresh policy, deployment, logging, and API permissions. Correct but irrelevant information still dilutes attention.
Turn AGENTS.md from an Encyclopedia into a Map
The root file can route frontend work to frontend.md, API work to backend.md, database work to database.md, and authentication work to auth.md. Knowledge enters context only when it becomes relevant.
A Skill Is Also On-Demand Loading
A Skill’s description acts as a capability index. Database work should not load form-validation instructions; building a registration form should. Progressive disclosure is not about telling the agent everything. It tells the agent where knowledge lives and when to retrieve it.
R: Do Not Ask an Agent to Build the Entire Feature in One Go
Reduced Scope
“Implement event registration” sounds like one task, but it contains data design, an API, a form, authorization, duplicate-registration handling, and tests. A useful test is: what should remain when the agent is finished? If the deliverable cannot be described in one sentence, split the work again.
- Design the registration data structure; deliver
registration_schema. - Create the API from that schema; deliver
registration.ts. - Build the form; deliver
RegistrationForm.tsx. - Connect the API; update the form and
api.ts. - Verify normal and duplicate registration; deliver
registration.test.ts.
The Golden Debugging Sequence
For “the UI says success but the database has no record,” use Diagnose → Implement → Validate. First investigate only the root cause and evidence. Then fix only the relevant code. Finally run the real tests and prove that data is written and duplicates are rejected. Each stage answers one question: why did it fail, how should it be fixed, and is it truly fixed?
O: Stop Searching for the Ultimate Prompt
Orchestrated Composition
A super-prompt pours code, database, testing, security, UI, API, output, and Git rules into one block of concrete. When the agent fails, you cannot tell which rule or context layer caused the problem.
Build with modules instead: project rules + frontend rules + database rules + Skill + agent role + current task. AGENTS.md answers “when to use what.” Instructions define project rules. Skills describe how a class of task is done. Docs explain the project itself. The prompt composes those modules for this assignment.
A project might therefore contain a root AGENTS.md, domain files under instructions/, reusable skills/, task templates under prompts/, and project knowledge under docs/. The prompt coordinates existing modules instead of storing all knowledge itself.
S: Do Not Assume AI Will Never Make a Mistake
Safety Boundaries
The useful question is not whether AI will make a mistake, but how much it could damage when it does. Writing “be careful” cannot replace real limits on files, terminals, databases, secrets, deletion, and deployment.
Give Different Agents Different Keys
- Code Writer: may read and edit
src, search, and test, but cannot deploy production, read secrets, delete databases, or modify CI/CD. - Reviewer: may read, search, lint, and test, but finds problems rather than silently fixing them.
- Test Runner: may execute tests but cannot make them pass by deleting failed tests or changing production code.
STOP: Keep Certain Decisions Human
Dropping a table, changing authentication, public APIs, permissions, or production deployment should trigger a STOP gate. The agent first explains why, what is affected, and which migration is required, then waits for human approval.
“Should Pass” Is Not “Passed”
A reliable process actually runs npm test and reports reality, such as “23 passed, 1 failed.” Commands, tests, API responses, and filesystem results anchor the agent to the world. The goal is not merely to feel correct but to demonstrate correctness.
E: Why Should a Project Have More Than One AGENTS.md?
Explicit Hierarchy
Rules should follow code location. The root establishes TypeScript, testing, secret, and commit rules. frontend/AGENTS.md adds React, PascalCase, and loading states. backend/AGENTS.md adds response formats, validation, and repositories. backend/auth/AGENTS.md adds “never log tokens,” a STOP gate for auth changes, and HttpOnly cookies.
Editing backend/auth/session.ts combines Global + Backend + Auth rules. Editing frontend/Button.tsx does not need token and session rules. Like national law, local regulation, and company policy, hierarchy makes each rule’s jurisdiction explicit.
From Prompt Engineering to Agent Engineering
- P: What should the agent see?
- R: How much should it do this time?
- O: How should rules and capabilities be composed?
- S: What is the maximum it may do?
- E: Which rules apply to which code?
Together, the principles control information, tasks, capabilities, permissions, and scope. We are no longer managing one prompt; we are designing a complete working environment.
A Practical Starting Point for Beginners
A personal project does not need dozens of agents and Skills on day one. Start with one root AGENTS.md, plus docs/, instructions/, and src/.
- Say when to read what: route frontend, backend, and database work to the matching guidance.
- Say when to ask a human: stop before deleting files, changing schemas, authentication, public APIs, or production.
- Say how completion is proved: run relevant tests, report actual results, list changed files, and name remaining problems.
Those three practices already create a more maintainable system than one all-powerful agent carrying a thousand-line prompt.
The Real Shift: Designing AI’s Working Environment
Prompt engineering asks, “How should I tell AI?” Agent engineering asks what AI can see and do, when it should load information, how large its task should be, which decisions return to humans, and how results are verified.
Once AI becomes an operator that can change code, use tools, and affect production, “please be careful” is not enough. A reliable system is built from Context + Rules + Skills + Agents + Tools + Permissions + Validation.
The next capability worth learning is not how to make AI write more code, but how to make it work inside a controlled and verifiable system.
Source Note
The conceptual framework for the five PROSE principles draws on Chapter 13, “The PROSE Constraints,” in The Agentic SDLC Handbook. Its authors position PROSE as an engineering discipline for agentic software development, not a formal industry standard. The campus-event site, agent roles, and development examples here were redesigned as original teaching examples.
