Finishing a prototype triggers persistent Git and issue-record changes
Source references: 3The Skill goes beyond creating temporary files: it directs the agent to commit a throwaway branch and record a branch pointer, verdict, and settled question in an implementation issue or commit. These are persistent repository and project-record changes, not merely a local preview.
If the user authorized only building or viewing a prototype, the agent could still create commits, alter branch state, or use the user's account to edit a shared issue, leaving unwanted history and notifications.
The skill explicitly requires committing the prototype to a throwaway branch and recording a branch pointer, verdict, and resolved question in an implementation issue or commit. These are persistent Git and potentially hosted-project account changes, beyond merely producing a local preview. Keeping the branch outside main and cleaning main reduces production contamination, but the instructions do not require separate approval before committing or updating an issue. Users can restrict it to local files and require confirmation before branch, commit, or issue changes.
5. **Surface the state.** After every action (logic) or on every variant switch (UI), print or render the full relevant state so the user can see what changed.6. **Capture it when done.** Fold any validated decision into the real code, then capture the prototype itself as a **primary source**: commit it to a throwaway branch, out of main, and leave a context pointer to that branch on the implementation issue. Capture the answer too (the verdict and the question it settled) in the issue or a commit. The main branch keeps only the validated decision.Show 2 other places
### 6. Capture the answer and clean upOnce a variant has won, capture the answer (which variant and why), then capture the prototype the way the [SKILL](SKILL.md) describes. Fold the winner into the real code and move the rest onto the throwaway branch, not into main:- **Sub-shape A**: fold the winner into the existing page; drop the losing variants and the switcher from main.- **Sub-shape B**: promote the winning variant to a real route; drop the throwaway route and the switcher from main.The full set of variants is the primary source, so it lands on the throwaway branch, not the bin, since variant components and the switcher left in the main branch rot fast and confuse the next reader.1. **Throwaway from day one, and clearly marked as such.** Locate the prototype code close to where it will actually be used (next to the module or page it's prototyping for) so context is obvious, but name it so a casual reader can see it's a prototype, not production. For throwaway UI routes, obey whatever routing convention the project already uses; don't invent a new top-level structure.2. **Trivial to run.** A UI prototype starts from one command in the project's task runner: `pnpm <name>`, `python <path>`, `bun <path>`, etc. A logic demo is a single HTML file the user double-clicks. Either way, no thinking required to start it.3. **No persistence by default.** State lives in memory. Persistence is the thing the prototype is _checking_, not something it should depend on. If the question explicitly involves a database, hit a scratch DB or a local file with a clear "PROTOTYPE, wipe me" name.4. **Skip the polish.** No tests, no error handling beyond what makes the prototype _runnable_, no abstractions. The point is to learn something fast.5. **Surface the state.** After every action (logic) or on every variant switch (UI), print or render the full relevant state so the user can see what changed.6. **Capture it when done.** Fold any validated decision into the real code, then capture the prototype itself as a **primary source**: commit it to a throwaway branch, out of main, and leave a context pointer to that branch on the implementation issue. Capture the answer too (the verdict and the question it settled) in the issue or a commit. The main branch keeps only the validated decision.