Set up a persistent, agent-managed task footer for GitHub Copilot CLI on this machine.
Before changing anything:
- Inspect this installed Copilot CLI version’s documentation and current settings.
- Check whether
/footer,/statusline, hooks, or custom instructions already provide part of this behavior. - Preserve all existing settings, hooks, instructions, and unrelated files. Do not assume configuration schemas from older versions.
Requirements:
- Install everything under
$COPILOT_HOMEwhen set, otherwise~/.copilot. - Do not modify the current repository.
- Use dependency-free POSIX shell on macOS/Linux and PowerShell 7 on Windows.
- Show a concise 3–6 word description of the session’s current primary task.
- Center the label in a full-width, high-contrast status line.
- Leave one visually blank line above it.
- Keep the latest substantive task visible until the primary task changes.
- Do not change it for greetings, quick side questions, status checks, or unrelated lightweight requests.
- Store state on disk, scoped by Copilot session ID. Do not use browser local storage.
- Add user-level Copilot instructions telling the primary agent to set the label at session start and whenever the substantive goal changes.
- If hooks are supported, add safe enforcement that reminds the agent when no label was set, but never creates an infinite stop-hook loop.
- Configure the status-line command without overwriting unrelated settings.
- Handle narrow terminals and long labels by truncating safely.
- Avoid printing secrets, prompts, repository contents, or other sensitive information.
Validation:
- Verify the renderer with representative session payloads.
- Verify separate sessions retain separate labels.
- Confirm existing Copilot settings still work.
- Start or restart a Copilot CLI session and confirm the footer renders.
When finished, report:
- Every file created or changed.
- The exact behavior installed.
- How to change the label manually.
- How to disable or completely uninstall it.