I've included my favorite 6 steering documents I created, as a system for optimizing my steering for all execution in Kiro.
(after a significant amount of iteration)
Summary;
Key Problem Statement: The LLMs powering AI IDEs excels at Context Retrieval (long-term memory: the entire codebase/spec drive) and Code Generation (transforming text/spec to code).
It fails at Working Memory and Coordinated State Transition (short-term memory: tracking the necessary steps, side effects, and dependencies of a complex, multi-component task).
Strategic Justification: The highly serial, atomic, and test-validated workflow is a "human validated externalization of the AI's short term memory." By enforcing "one item, one test, one compile," we are forcing the AI to successfully complete and commit a single, unambiguous state transition before being handed the next state transition.
In my opinion most humans are bad at state transition too so I'm leveraging some agile, some waterfall etc etc to compensate for what AI is good at.
Other supporting ideas here driving additional iteration;
Specification (Spec Drive): The Spec Drive must detail functionality down to the atomic, single-purpose unit (e.g., "Add the API path /users/{id}/details," not "Build the User Profile module").
Task Granularity: Each task given to the AI must correspond to one atomic unit (one component, one API path, one database migration step).
Vertical Slice Prioritization: Always prioritize validated communication (Front-End \rightarrow Back-End \rightarrow Database) before expanding a layer (e.g., a simple, end-to-end hello-world route must be complete before adding another route).
Test-First, Commit-Atomic: The AI must first generate the test for the atomic unit. Then, it generates the code. Success is defined by:
Test Pass (Functional validation)
Successful Compile (Structural validation)
One Atomic Commit (Historical memory lock)
No silver bullet, but trying.