We analyzed 11 examples of how GitHub handles ai input & output across their product, spanning 4 different approaches: entry point, input composition, model selector, slash command.

Model selector dropdown open on the Copilot chat home screen, showing three tiers of models with the current selection checked. The input field, context chip, attachment button, starter prompts, and model picker are all visible beneath the dropdown.

Copilot chat home/empty state with the main input field, a pre-attached repository context chip, attachment button, model selector, send button, and starter prompt buttons below the input area.

GitHub repository page (janhaaland/stock-widget) with the Copilot entry-point dropdown menu open from the top-right header. The dropdown shows options to start a new conversation in different surfaces.

Active conversation showing a user message, Copilot response, and the follow-up input field at the bottom. The input field retains the placeholder, model selector, attachment button, and send icon. The conversation also shows the context chip (janhaaland/stock-widget) attached to the user message bubble.

Streaming/loading state. Copilot is actively generating a response. The input field shows a disabled state with 'Copilot is responding...' replacing the placeholder. The send button is replaced by a red stop button. The model selector and attachment button remain visible.

Input field with a /create-issue slash command actively being composed. The slash command text '/create-issue' is highlighted/styled distinctly (in teal/green) within the input field, followed by the user's natural language instruction. Starter prompt buttons are visible below. The attachment button and model selector are present.

Streaming state for a 'Write code' flow. The user asked to generate a calculator. Copilot is streaming code output with file tabs (index.html, styles.css) in a side panel. The input field shows the disabled streaming state with 'Copilot is responding...' and a red stop button.

Completed 'Write code' response showing generated code files (index.html, styles.css, script.js) with a live preview of a calculator in a side panel. The follow-up input field is visible at bottom with placeholder, attachment button, model selector, and send button.

Conversation triggered by the /create-issue slash command. The response has generated a draft issue panel on the right side with a confirmation dialog asking to create all linked draft issues. The follow-up input field is visible at the bottom with placeholder, attachment button, and model selector.

Same /create-issue conversation but without the confirmation dialog, showing the full issue draft panel on the right with title, description editor, metadata fields, and sub-issues. The follow-up input field is visible at the bottom.

Streaming state after submitting a /create-issue slash command. The user message is shown at top, Copilot shows a progress indicator 'Drafting issue in janhaaland/case-study-writer...', and the input field is in its disabled streaming state.