bar-list — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited bar-list (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Horizontal bar list for ranking data. Renders semantic HTML (not SVG) with animated bars, configurable label/value positions, sorting, and percentage mode.
import { BarList, BarListSeries } from 'reaviz';| Prop | Type | Default | Description | ||
|---|---|---|---|---|---|
data | ChartShallowDataShape[] | [] | Chart data | ||
type | `'count' \ | 'percent'` | 'count' | Value scaling — count scales to max value, percent scales to 100 | |
sortDirection | `'asc' \ | 'desc' \ | 'none'` | 'desc' | Sort bars by value |
series | ReactElement<BarListSeriesProps> | <BarListSeries /> | Series component | ||
id | string | — | CSS ID | ||
className | string | — | CSS class | ||
style | React.CSSProperties | — | Inline styles |
| Prop | Type | Default | Description |
|---|---|---|---|
colorScheme | ColorSchemeType | 'cybertron' | Color scheme name or function |
labelPosition | BarListLabelPosition | 'top' | Key label placement |
valuePosition | BarListLabelPosition | 'none' | Value label placement |
labelFormat | (data, index) => any | — | Custom label formatter |
valueFormat | (data, index) => any | — | Custom value formatter |
itemClassName | string | — | CSS class for each bar item |
labelClassName | string | — | CSS class for key labels |
valueClassName | string | — | CSS class for value labels |
barClassName | string | — | CSS class for the inner bar |
outerBarClassName | string | — | CSS class for the bar container |
onItemClick | (data: ChartShallowDataShape) => void | — | Click handler |
onItemMouseEnter | (data: ChartShallowDataShape) => void | — | Mouse enter handler |
onItemMouseLeave | (data: ChartShallowDataShape) => void | — | Mouse leave handler |
BarListLabelPosition: 'none' | 'top' | 'start' | 'end' | 'bottom'
const data = [
{ key: 'Phishing', data: 10 },
{ key: 'Malware', data: 8 },
{ key: 'DDoS', data: 5 },
{ key: 'Ransomware', data: 3 },
];
<BarList data={data} /><BarList
data={data}
series={<BarListSeries valuePosition="end" />}
/><BarList
data={data}
type="percent"
series={
<BarListSeries
valuePosition="end"
valueFormat={(data) => `${data}%`}
/>
}
/>// Ascending (smallest first)
<BarList data={data} sortDirection="asc" />
// Descending (largest first, default)
<BarList data={data} sortDirection="desc" />
// Original data order
<BarList data={data} sortDirection="none" />// Label above bar (default)
<BarListSeries labelPosition="top" />
// Label at start of bar
<BarListSeries labelPosition="start" />
// Label at end of bar
<BarListSeries labelPosition="end" />
// Label below bar
<BarListSeries labelPosition="bottom" />
// No label
<BarListSeries labelPosition="none" /><BarList
data={data}
series={
<BarListSeries
valuePosition="end"
onItemClick={(item) => console.log(item)}
/>
}
/><BarList
data={data}
series={
<BarListSeries
barClassName="rounded-full"
outerBarClassName="bg-gray-100 rounded-full"
valueClassName="text-sm font-mono"
/>
}
/>role="list" / role="listitem"), not SVGvalue and calculated percent~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.