# Create prompts and reusable snippets

Use Prompts for repeatable instructions with typed inputs. Use snippets for shared fragments that several prompts include.

## Create a prompt
Open **Prompts** and create one. Choose a stable name such as `summarize-thread`, then a readable title and description. Write the body using ordinary instructions and placeholders such as `{{audience}}` where the input changes.

Declare variables in the form so the prompt can collect the intended types. Add tags to make it easier to find. Test the rendered prompt with a small example before using it for consequential work.

## Include a snippet
Create a snippet for a shared fragment such as a formatting rule. Give it a stable name and include it with `{{> name}}`. Snippet variables merge into the prompt that includes it. Keep nested includes understandable and avoid creating circular or conflicting instructions.

## Invoke it
At the start of a chat message, use the @ menu to select a saved prompt and provide its values. Preview or review the resulting brief so you know what Gideon will receive.

## Runnable templates
Enable **Runnable template** when the rendered prompt should become a fill-and-launch project or loop task. Make the expected outcome, workspace, and stop condition explicit; a reusable template should not hide external actions.

## Runtime prompt bindings
**Settings → Prompts** chooses which saved prompt serves a runtime context. Leaving a context unset uses its bundled default. This is different from editing a prompt body. Test a changed binding on representative work before relying on it broadly.
