A good specification tells the agent what outcome is required and how success will be checked. Include the current problem, relevant files or interfaces, expected behavior, important edge cases, constraints, and clear non-goals. Name the tests or commands that should pass.
Keep the task small enough for one coherent change. Point to a current example rather than describing every style rule. State which files or public contracts must remain unchanged and which actions require approval. If important information is missing, tell the agent to stop and ask instead of guessing. A specification should guide implementation without forcing details that the agent can safely discover from the repository.
Rewriting in plainer words…
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.