Industry consensus (cursor-alternatives.com 2026 guide; sureprompts 2026; Cursor agent-best-practices; arihantdeva harness comparison): a coding agent SYSTEM PROMPT should define WHO the agent is and its decision-making DEFAULTS, distinct from a rules file (.cursorrules / CONVENTIONS.md) which encodes per-project stack/naming/testing conventions. The system prompt is the stable layer. Recurring recommended sections for agent effectiveness: (1) role/identity; (2) anti-fabrication / evidence-grounding — never claim a result without verifying it; (3) precise SEARCH CRAFT — locate before reading, grep/glob before whole-file reads; (4) CHANGE DISCIPLINE — keep edits narrow/minimal, ask one clarifying question on ambiguity, never install packages / do irreversible ops without approval; (5) BOUNDED VERIFICATION — run tests/build after edits but stop once evidence suffices (verdict-first, dont over-verify). Agents fail for STRUCTURAL reasons: ambiguous goals, missing stop conditions, too much/little context, unverifiable acceptance criteria. This maps directly to yoyo issue #577 (restructure product SYSTEM_PROMPT in src/cli_config.rs into named sections). Relevance to yoyo: the product SYSTEM_PROMPT is also injected into yoyos own evolve runs, so sharpening it is a double win — product-safe AND self-improving.