// design ideas
Six ways to sharpen the S.E.N.T.R.I tab
Proposals drawn from the app as the homepage demo shows it. Each one puts today’s screen next to a working mock of the change, in the app’s own colors, so you can click through the idea instead of imagining it.
Four rules behind every idea
01
Status before detail
Say what is happening first. The command, the raw output and the diff open when someone asks for them.
02
Risk visible at the gate
An approval should say how much can go wrong before it says how the command is spelled.
03
One control per decision
Provider, Favorites and Browse all answer one question - which model - so they belong in one place.
04
Results carry the next step
A finding that needs action should offer that action right where it is read.
idea 01
An approval card that leads with the risk
What gets in the way
Every approval looks the same. A read-only disk check and a command that deletes snapshots get the same green shield and the same Accept button, and what could go wrong has to be worked out from a long command in plain text.
What changes
Tag each call Read-only, Changes the system or Cannot be undone, and colour the card to match. Lead with one plain sentence of what will happen, keep the command one click away, and let the button name the action. Enter and Esc answer it from the keyboard.
Today
S.E.N.T.R.I wants to run:
Skill: Admin Mode
Use: invoke-cmd
--------------------------------------------
Host: WS22-DC1-1337.CForce-IT.network
Cmd: Get-PSDrive -PSProvider FileSystem | Select-Object Name, @{N='Used(GB)';E={[math]::Round($_.Used/1GB,2)}}, @{N='Free(GB)';E={[math]::Round($_.Free/1GB,2)}}, @{N='Total(GB)';E={[math]::Round(($_.Used+$_.Free)/1GB,2)}}Proposed
Read disk usage on every drive
Reads drive sizes. Nothing on the server changes.
Get-PSDrive -PSProvider FileSystem | Select-Object Name, @{N='Used(GB)';E={[math]::Round($_.Used/1GB,2)}}, @{N='Free(GB)';E={[math]::Round($_.Free/1GB,2)}}, @{N='Total(GB)';E={[math]::Round(($_.Used+$_.Free)/1GB,2)}}
- Risk readable in a second
- Destructive calls stand out
- Answers from the keyboard
- Fewer prompts for read-only work
idea 02
One run, one timeline
What gets in the way
One request leaves a trail of separate blocks - call lines, the accepted marker, the echoed command - and the answer ends up far below the question. On a long job the transcript turns into a scroll hunt.
What changes
Gather every call a turn makes into one run with a step per skill. Status, target and duration sit on one line, and the command and its output stay folded away until the step is clicked.
Today
Get-PSDrive -PSProvider FileSystem | Select-Object Name, @{N='Used(GB)';E={[math]::Round($_.Used/1GB,2)}}, @{N='Free(GB)';E={[math]::Round($_.Free/1GB,2)}}, @{N='Total(GB)';E={[math]::Round(($_.Used+$_.Free)/1GB,2)}}
Created OPS-2481 “Low disk space on WS22-DC1-1337 (C: 91%)” and attached the drive report.
Proposed
Approved by you
Created OPS-2481 “Low disk space on WS22-DC1-1337 (C: 91%)” and attached the drive report.
- The answer stays near the question
- Durations show where the time went
- Output one click away
idea 03
Results you can act on
What gets in the way
The disk report is a correct table, but the reader has to do the maths: which drive is in trouble, how close it is, and what should happen next is left to another prompt.
What changes
Draw the numbers as bars with the threshold marked, colour what is over it, and offer the next steps as buttons under the result. Anything that touches a server still goes through the approval card.
Today
Disk Space Report - WS22-DC1-1337
| Drive | Used | Free | Total |
|---|---|---|---|
| C: | 91.2 GB | 8.7 GB | 99.9 GB |
| D: | 68.4 GB | 131.6 GB | 200 GB |
Notes:
- C: drive — System drive — 91% used, only ~9 GB free
- D: drive — Data drive — 34% used, ~132 GB free (healthy)
C: is past the 85% threshold. Raising a ticket with the report attached.
Proposed
C:
System
91%
8.7 GB free
D:
Data
34%
131.6 GB free
C: is past the 85% line marked on the bars.
- The problem drive is obvious
- Next step without retyping
- Actions still pass the gate
idea 04
Keep the checklist in view
What gets in the way
When the agent writes itself a checklist, it lands in the transcript and scrolls away as the work piles up under it. Halfway through a job, the list that says how far along it is has gone off screen.
What changes
Pin a slim progress strip under the header: which step it is on, how many are left and how long it has run. Click it to open the whole list over the transcript.
Today
Checklist
[x] Change the slider color in styles.css
[x] Check no orange is left anywhere
[ ] Build and check the page in a browser
[ ] Deploy to Cloudflare Pages
- --slider-accent: #f97316;
+ --slider-accent: #8b5cf6;
No other matches. Building the site next.
Proposed
- --slider-accent: #f97316;
+ --slider-accent: #8b5cf6;
No other matches. Building the site next.
- Progress always in view
- Time per step
- The transcript keeps its space
idea 05
One switcher for the model
What gets in the way
The header carries eight controls at the same weight. Three of them - provider, Favorites and Browse - answer one question, and the chosen model then shows again inside the composer.
What changes
Fold provider, favorites and the full catalog into one model pill that opens a searchable palette. The view toggle becomes a two-way switch, the budget a small ring and the scope a chip. Try the pill.
Today
Budget (Resets in 17d 14h)
S.E.N.T.R.I online. What’s your command?
Proposed
S.E.N.T.R.I online. What’s your command?
- Three controls become one
- Search instead of scrolling
- A quieter header
idea 06
An Agent Workspace that says who needs you
What gets in the way
Five panes look identical until you read them. An approval can wait below the fold of one pane while you watch another, and nothing says an agent has stopped to wait for you.
What changes
Lead every pane with its state - Needs you, Working or Done - and filter by it. A waiting approval sits in its tile with its risk tier and can be answered right there.
Today
find disabled accounts older than 90 days
Searching Active Directory for disabled users. One query needs your approval:
Approval required
S.E.N.T.R.I wants to run:
Skill: Admin Mode
patch the test servers
Installing updates on TS-02, 14 of 31 done.
deploy the preview build
Deployed. The preview build is live.
free up space on C:
Found 6.2 GB in temp folders. Clearing them needs your approval:
Approval required
S.E.N.T.R.I wants to run:
Skill: Admin Mode
summarize today's IIS errors
Reading 1,240 log lines from IIS.
Proposed
Domaincontroller (2)
Find disabled accounts older than 90 days
Get-ADUser -Filter 'Enabled -eq $false' -Properties LastLogonDate
Test Server (3)
Installing updates on TS-02, 14 of 31 done
LOCAL
Deployed the preview build 2 min ago
LOCAL
Clear 6.2 GB of temp files on C:
Get-ChildItem $env:TEMP | Remove-Item -Recurse -Force
LOCAL
Summarizing 1,240 IIS log lines
- Nothing waits unseen
- State at a glance across agents
- Approve without switching panes
Where to start
A suggested order, cheapest first. The effort is a rough guess from how the demo is built, not an estimate measured against the app’s code.
Each skill use gets a risk tier - a hand-kept list covers the built-in skills - and the card draws from it.
Regroups what the transcript already writes. Nothing new has to be logged.
Needs a structured result from the skills that report numbers, and a follow-up call behind each button.
Three combos become one searchable popover over the same model catalog.
Every pane has to report its state upward, and approvals have to be answerable from outside the pane.
These are proposals only. Nothing here changes the app or the live demo.