Hermes Agent InfoOps control dashboard
Dashboard Agent UX Review Agent
Agent · UX Review

UX Review Agent

Kvalitetsrevisor for Hermes Agent Info dashboardet. Gennemgår 65 checkliste-punkter på tværs af 10 kategorier og producerer en scored rapport. Reviewer kun — retter ikke selv.

Status
On-demand
Model
mimo-v2.5-pro
Scope
hermes-agent-info.nordicagent.academy
Sidste review
Score

📊 Seneste Rapport

Indlæser rapport...

🔧 Agentens Ressourcer

🧠 LLM

Primary modelmimo-v2.5-pro (Xiaomi)
Fallbackdeepseek-v4-flash
ContextFile reading + web extraction
Cost estimate~$0.10–0.30 per review

📚 Skills

hermes-agentCore Hermes knowledge, CLI, config
static-site-dashboard-maintenanceDashboard deploy patterns, nav, CSS
kanban-orchestratorTask routing for findings
kanban-workerCreating actionable task cards

🛠 Værktøjer

read_fileHTML structure analysis
search_filesContent/structure search
web_extractLive site verification
terminalFile stats, link checking

⚠️ Begrænsninger

  • Reviewer kun — retter ikke selv
  • Ingen browser automation (fil-læsning + web extraction)
  • Ingen adgang til native Hermes dashboard
  • Ingen kreditorienterede opgaver

✅ Hvad Gennemgås?

65 checkliste-punkter på tværs af 10 kategorier med vægtet scoring. Se den fulde tjekliste med resultater i 📋 Tjekliste nedenfor.

Kategori
Punkter
Vægt
Navigation & IA
7
15%
Interactive Elements
7
15%
Status Labels & Data
7
15%
Mission Compliance
8
10%
Content Quality
7
10%
Visual Design
6
8%
Mobile Responsiveness
6
8%
Accessibility
6
8%
Cross-page Consistency
6
6%
Performance
5
5%

Total: 65 checkliste-punkter

Scoringsystem

Critical
3 pts
Important
2 pts
Nice-to-have
1 pt
Score range
0–100

Verdicts

  • 90–100 ✅ Excellent — Ingen handling nødvendig
  • 75–89 ✅ Good — Mindre issues, tilføj til backlog
  • 60–74 ⚠️ Needs Work — Planlæg fixes i næste sprint
  • 40–59 ⚠️ Significant Gaps — Escaler til dedikeret fix-session
  • 0–39 🔴 Critical — Øjeblikkelig escalation

📋 Tjekliste

Indlæser tjekliste...

📜 Tidligere Reviews

Ingen tidligere reviews. Aktiver agenten for at starte.

▶ Aktiver Agent

Kør et on-demand UX review af alle dashboard-sider

Sådan aktiverer du UX Review Agent:

Da dette er et statisk site, kan agenten ikke udløses direkte herfra. Send denne besked til Hermes på Telegram:

Kør UX review nu — gennemgå alle nye sider på hermes-agent-info dashboardet og gem rapporten

Når rapporten er klar, vil den automatisk blive vist her på siden.

/* Shared constants */ var CAT_LABELS={navigation_ia:'Navigation & IA',interactive_elements:'Interactive Elements',status_labels_data:'Status Labels & Data',mission_compliance:'Mission Compliance',content_quality:'Content Quality',visual_design:'Visual Design',mobile_responsive:'Mobile Responsiveness',accessibility:'Accessibility',cross_page_consistency:'Cross-page Consistency',performance:'Performance'}; var CAT_WEIGHTS={navigation_ia:'15%',interactive_elements:'15%',status_labels_data:'15%',mission_compliance:'10%',content_quality:'10%',visual_design:'8%',mobile_responsive:'8%',accessibility:'8%',cross_page_consistency:'6%',performance:'5%'}; var SEV_LABELS={critical:'Kritisk',important:'Vigtig','nice-to-have':'Nice-to-have'}; var RESULT_ICONS={pass:'✅',fail:'❌',warning:'⚠️',null:'⬜'}; var RESULT_TEXTS={pass:'Bestået',fail:'Fejlet',warning:'Advarsel',null:'Ikke gennemgået'}; /* Load report */ fetch('/agent/ux-review-agent/latest-report.json').then(function(r){return r.json()}).then(function(d){ document.getElementById('report-loading').style.display='none'; if(d.score===null||d.score===undefined){ document.getElementById('report-empty').style.display='block'; document.getElementById('hero-last-review').textContent='Ingen reviews endnu'; document.getElementById('hero-score').textContent='—'; }else{ document.getElementById('report-content').style.display='block'; document.getElementById('r-score').textContent=d.score+'/100'; document.getElementById('r-verdict').textContent=d.verdict; document.getElementById('r-meta').textContent='Dato: '+d.date+' · Sider gennemgået: '+d.pages_reviewed+' af '+d.total_pages; document.getElementById('r-crit').textContent=d.critical_findings?d.critical_findings.length:0; document.getElementById('r-imp').textContent=d.important_findings?d.important_findings.length:0; document.getElementById('r-nice').textContent=d.nice_to_have?d.nice_to_have.length:0; document.getElementById('hero-last-review').textContent=d.date||'—'; document.getElementById('hero-score').textContent=d.score+'/100'; var cg=document.getElementById('r-categories'); var cats=d.categories||{}; Object.keys(CAT_LABELS).forEach(function(k){ var c=cats[k]||{score:null,passed:0,failed:0,total:0}; var pct=c.total>0?Math.round((c.passed/c.total)*100):0; var item=document.createElement('div');item.className='cat-item'; item.innerHTML='
'+CAT_LABELS[k]+''+(c.score!==null?c.score+'/100':'—')+' · '+CAT_WEIGHTS[k]+'
'; cg.appendChild(item); }); /* Verdict color */ var vd=document.getElementById('r-verdict'); if(d.score>=90)vd.style.cssText='background:rgba(37,212,130,.15);color:var(--green);border:1px solid rgba(37,212,130,.3)'; else if(d.score>=75)vd.style.cssText='background:rgba(105,168,255,.15);color:var(--blue);border:1px solid rgba(105,168,255,.3)'; else if(d.score>=60)vd.style.cssText='background:rgba(255,224,112,.15);color:var(--yellow);border:1px solid rgba(255,224,112,.3)'; else if(d.score>=40)vd.style.cssText='background:rgba(255,180,84,.15);color:var(--orange);border:1px solid rgba(255,180,84,.3)'; else vd.style.cssText='background:rgba(255,107,136,.15);color:var(--red);border:1px solid rgba(255,107,136,.3)'; } /* Item summary in report */ if(d.items&&d.items.length>0){ var passC=0,failC=0,warnC=0,naC=0; d.items.forEach(function(it){if(it.result==='pass')passC++;else if(it.result==='fail')failC++;else if(it.result==='warning')warnC++;else naC++;}); var sumDiv=document.getElementById('r-item-summary'); if(naC❌ '+failC+' fejlet⚠️ '+warnC+' advarsler⬜ '+naC+' ikke gennemgået'; } } /* History */ if(d.history&&d.history.length>0){ document.getElementById('history-empty').style.display='none'; document.getElementById('history-content').style.display='block'; var tbody=document.getElementById('history-rows'); d.history.forEach(function(h){ var tr=document.createElement('tr'); tr.innerHTML=''+h.date+''+h.score+'/100'+h.verdict+''+h.pages_reviewed+''+h.critical_count+'Fuldført'; tbody.appendChild(tr); }); } /* Render checklist */ renderChecklist(d); }).catch(function(){ document.getElementById('report-loading').style.display='none'; document.getElementById('report-empty').style.display='block'; document.getElementById('cl-loading').style.display='none'; document.getElementById('cl-empty').style.display='block'; }); function renderChecklist(d){ var items=d.items||[]; document.getElementById('cl-loading').style.display='none'; if(items.length===0){ document.getElementById('cl-empty').style.display='block'; return; } var container=document.getElementById('cl-content'); var catOrder=['navigation_ia','interactive_elements','status_labels_data','mission_compliance','content_quality','visual_design','mobile_responsive','accessibility','cross_page_consistency','performance']; var groups={}; items.forEach(function(it){ if(!groups[it.category])groups[it.category]=[]; groups[it.category].push(it); }); catOrder.forEach(function(catKey){ var catItems=groups[catKey]||[]; if(catItems.length===0)return; var passN=0,failN=0,warnN=0,naN=0; catItems.forEach(function(it){if(it.result==='pass')passN++;else if(it.result==='fail')failN++;else if(it.result==='warning')warnN++;else naN++;}); var reviewed=passN+failN+warnN; var total=catItems.length; var pct=total>0?Math.round((passN/total)*100):0; var barColor=passN===total?'var(--green)':(failN>0?'var(--red)':'var(--yellow)'); var details=document.createElement('details'); details.className='cl-cat'; var summary=document.createElement('summary'); summary.innerHTML=''+CAT_LABELS[catKey]+''+CAT_WEIGHTS[catKey]+''+reviewed+'/'+total+' gennemgået'+(reviewed>0?'
'+pct+'%':'')+'
'; details.appendChild(summary); var itemList=document.createElement('div'); itemList.className='cl-items'; catItems.forEach(function(it){ var sevClass=it.severity==='critical'?'cl-sev-critical':(it.severity==='important'?'cl-sev-important':'cl-sev-nice'); var sevLabel=SEV_LABELS[it.severity]||it.severity; var resIcon=RESULT_ICONS[it.result]||RESULT_ICONS['null']; var resText=RESULT_TEXTS[it.result]||RESULT_TEXTS['null']; var resColor=it.result==='pass'?'var(--green)':(it.result==='fail'?'var(--red)':(it.result==='warning'?'var(--yellow)':'var(--muted)')); var row=document.createElement('div'); row.className='cl-item'; row.innerHTML='
'+it.id+'
'+it.check+' '+sevLabel+'
'+it.pass_criteria+'
'+(it.evidence?'
📝 '+it.evidence+'
':'')+'
'+resIcon+'
'; itemList.appendChild(row); }); details.appendChild(itemList); container.appendChild(details); }); /* Auto-expand if all null */ var allNull=items.every(function(it){return it.result===null;}); if(allNull){ var msgDiv=document.createElement('div'); msgDiv.className='cl-empty-msg'; msgDiv.textContent='Aktiver agenten for at gennemgå alle '+items.length+' punkter.'; container.appendChild(msgDiv); } } /* Activate button */ function handleActivate(){ if(!confirm('UX Review Agent vil gennemgå alle 431+ sider på dashboardet og producere en rapport. Dette tager typisk 3-5 minutter. Vil du fortsætte?'))return; var btn=document.getElementById('activate-btn'); btn.disabled=true; btn.innerHTML=' Review kører... vent venligst'; setTimeout(function(){ btn.style.display='none'; document.getElementById('instruction-panel').classList.add('show'); },1500); } function copyCommand(){ var text=document.getElementById('copy-text').textContent; navigator.clipboard.writeText(text).then(function(){ var btn=document.querySelector('.copy-btn'); btn.textContent='✅ Kopieret!'; setTimeout(function(){btn.textContent='📋 Kopier til udklipsholder';2000}); }); }