Summary
Introduce a canonical terminal UX guidance layer in the agentic copilot so that cmdlets, nova CLI routes, and downstream nova init projects share one bar for terminal user experience. The new skill consolidates two complementary frameworks:
- Atlassian's 10 design principles for delightful CLIs — CLI-specific tactics (help, progress, errors, flags, next best step, etc.).
- Jakob Nielsen's 10 usability heuristics for user interface design — general usability heuristics adapted to terminal interfaces (match real world, error prevention, recognition vs. recall, flexibility/efficiency, aesthetic minimalism, etc.).
This issue covers the guidance only; existing commands are audited in separate follow-on issues (#215–#229).
Why
NovaModuleTools and every module scaffolded by nova init expose themselves to users only through a terminal. We currently have no shared standard for help discoverability, progress visibility, human-readable errors, sensible defaults, next-step hints, exit safety, flags-vs-args, terminology that matches users' mental models, error prevention, recognizable defaults, expert shortcuts, or minimal output. New work drifts on personal taste, and reviewer/architect/developer agents have nothing concrete to validate UX choices against.
Scope
- New skill
.github/skills/terminal-ux-design/SKILL.md containing both frameworks in our own words:
- Section Atlassian's 10 design principles for delightful CLIs — one paragraph per principle with explicit PowerShell-cmdlet and
nova CLI mappings.
- Section Jakob Nielsen's 10 usability heuristics for user interface design — one paragraph per heuristic with explicit PowerShell-cmdlet and
nova CLI mappings.
- One combined mapping table with columns for
Concern, Concrete PowerShell / nova mechanism, Atlassian principle(s), Nielsen heuristic(s) — so each row makes both framework links explicit.
- The usual When to use, Expected practices, Common pitfalls, and Definition of done blocks.
- New thin universal instruction
.github/instructions/terminal-ux-design.instructions.md with applyTo: "**" that points at the skill and states the rule applies to any code defining a user-facing command or emitting terminal output.
- Add
terminal-ux-design to Skills to use in architect.agent.md, powershell-developer.agent.md, and reviewer.agent.md.
- Update
.github/copilot-instructions.md task map (design-change, implement-issue, review-change rows) and Related guidance section.
- Run
./scripts/build/Sync-AgenticCopilotScaffold.ps1 and commit the regenerated src/resources/agentic-copilot/ tree so nova init projects inherit the guidance.
CHANGELOG.md entry under Unreleased → Added.
Out of scope
Acceptance criteria
Validation
pwsh -NoLogo -NoProfile -File ./run.ps1
./scripts/build/Invoke-ScriptAnalyzerCI.ps1
./scripts/build/Sync-AgenticCopilotScaffold.ps1
Recommended follow-on agent
powershell-developer for implementation; reviewer for merge gate.
Summary
Introduce a canonical terminal UX guidance layer in the agentic copilot so that cmdlets,
novaCLI routes, and downstreamnova initprojects share one bar for terminal user experience. The new skill consolidates two complementary frameworks:This issue covers the guidance only; existing commands are audited in separate follow-on issues (#215–#229).
Why
NovaModuleTools and every module scaffolded by
nova initexpose themselves to users only through a terminal. We currently have no shared standard for help discoverability, progress visibility, human-readable errors, sensible defaults, next-step hints, exit safety, flags-vs-args, terminology that matches users' mental models, error prevention, recognizable defaults, expert shortcuts, or minimal output. New work drifts on personal taste, and reviewer/architect/developer agents have nothing concrete to validate UX choices against.Scope
.github/skills/terminal-ux-design/SKILL.mdcontaining both frameworks in our own words:novaCLI mappings.novaCLI mappings.Concern,Concrete PowerShell / nova mechanism,Atlassian principle(s),Nielsen heuristic(s)— so each row makes both framework links explicit..github/instructions/terminal-ux-design.instructions.mdwithapplyTo: "**"that points at the skill and states the rule applies to any code defining a user-facing command or emitting terminal output.terminal-ux-designto Skills to use inarchitect.agent.md,powershell-developer.agent.md, andreviewer.agent.md..github/copilot-instructions.mdtask map (design-change,implement-issue,review-changerows) and Related guidance section../scripts/build/Sync-AgenticCopilotScaffold.ps1and commit the regeneratedsrc/resources/agentic-copilot/tree sonova initprojects inherit the guidance.CHANGELOG.mdentry underUnreleased → Added.Out of scope
nova initquestions, scaffold inputs, website docs, release automation, workflows, orproject.json.Acceptance criteria
.github/skills/terminal-ux-design/SKILL.mdexists with both framework sections and one combined mapping table as described above..github/instructions/terminal-ux-design.instructions.mdexists withapplyTo: "**"and stays ≤ 25 lines.architect.agent.md,powershell-developer.agent.md, andreviewer.agent.mdlist the new skill under Skills to use..github/copilot-instructions.mdtask map and Related guidance are updated.src/resources/agentic-copilot/is regenerated viaSync-AgenticCopilotScaffold.ps1and committed.CHANGELOG.mdhas a new entry underUnreleased → Added.pwsh -NoLogo -NoProfile -File ./run.ps1passes locally../scripts/build/Invoke-ScriptAnalyzerCI.ps1reports no new findings.Validation
pwsh -NoLogo -NoProfile -File ./run.ps1./scripts/build/Invoke-ScriptAnalyzerCI.ps1./scripts/build/Sync-AgenticCopilotScaffold.ps1Recommended follow-on agent
powershell-developerfor implementation;reviewerfor merge gate.