The sidebar translation panel is the primary interface for converting informal requirements into technical specifications.
| Control | Options | Description |
| ----------------------- | --------------------------------------------------------------------------- | -------------------------------------------- |
| Target Audience | Junior Dev, Senior Dev, Tech Lead, SRE, Data Engineer | Adjusts the technical depth and terminology |
| Tech Context | Backend, Frontend, Mobile, Data/ML, DevOps | Adds domain-specific framing |
| Output Format | Technical Spec, Jira Tickets, API Design, RFC, Data Model, Prompt, Optimize | Defines the document structure |
| Tone | 10 (Strict) → 90 (Creative) | Controls verbosity and detail level |
| Custom Instructions | Free text | Persistent guidance appended to every prompt |
1. Type or paste your informal requirement into the text area.
2. Adjust the controls to match your desired output.
3. Click Translate.
4. The translated output renders as formatted Markdown directly in the sidebar.
At the top of the panel, you can see your current tier (e.g., ENTERPRISE), refinement count, and remaining translation quota. These update in real time after each translation.
While a translation runs, the panel reports each step as it completes — preparing the request, reading the codebase, writing the specification, and finalizing — alongside a progress bar and an elapsed timer.
Steps that do not apply to your request are not shown. Grounding is skipped when no Context Project is selected and no files are attached, and on every refinement, since a refinement reuses the context from the original translation.
Drop files directly onto the attachment area, or click it to open the file picker. Both paths accept several files at once.
Accepted formats are PNG, JPEG, WebP, PDF, TXT, and MD, up to 10 MB each. Screenshots are downscaled automatically before they are sent, so a Retina capture does not consume the whole request on its own.
Two limits apply per translation:
| Limit | Value |
| ----------------- | -------------------------- |
| Files per request | 20 |
| Combined size | ~3.15 MB after downscaling |
The combined size is usually what you reach first, so the panel shows how much of it you have used rather than just a file count. If a file cannot be added, it is listed with the reason — the files that did fit stay attached.
You can also drag files straight from the VS Code Explorer, Search results, or an editor tab, and select several at once. If you drop more than 20, the first 20 are attached and the panel tells you the rest were not.
The header above the input box carries a live character count and four actions:
| Action | Effect |
| --------- | ------------------------------------------------------------ |
| Copy | Copies the input to the clipboard, leaving the text in place |
| Cut | Copies the input, then empties the box |
| Undo | Restores the previous input |
| Clear | Empties the box without touching the clipboard |
Cut and Clear are both undoable, so neither loses your text permanently. Cmd+Z / Ctrl+Z inside the box does the same thing as Undo.
The Custom Instructions field accepts persistent free-text guidance. Whatever you write here is appended to every translation prompt — useful for project-specific terminology, style preferences, or recurring constraints.