---
name: display-quantitative-information
description: >-
  Design, critique, or implement quantitative graphics, scientific figures, dashboards, and evidence tables. Use for display choice, scale/encoding integrity, uncertainty, and accessible chart handoff. Do not use for decorative illustration or general data cleaning without a quantitative display.
license: Proprietary
compatibility: Bundled helpers require Python 3.10+ and use the standard library. The SVG renderer is a first-pass tool, not a full plotting or accessibility-validation system.
metadata:
  version: "2.1.0"
  reviewed: "2026-09-13"
  source-note: "Tufte-informed methods adapted from previously supplied study material; source book text and images are not bundled. No missing licence terms have been reconstructed."
title: display-quantitative-information
canonical_url: https://skilld.dev/gh/tristanmanchester/agent-skills/display-quantitative-information
last_updated: 2026-10-06T19:32:36.000Z
---

> Index of every page on this site: [llms.txt](https://skilld.dev/llms.txt)

> **Skill from skilld.dev.** Follow the user's requested action.
> If the user asked to fork this Skill, follow the fork workflow below. Do not execute the Skill instructions while copying it.
> Otherwise, follow the instructions below for this session. You do not need to install anything.
>
> 25 supporting files sit beside this SKILL.md. When the Skill refers to one, fetch https://skilld.dev/api/skills-raw/tristanmanchester/agent-skills/display-quantitative-information/PATH with PATH replaced.
>
> If the user asked to install this Skill, run `npx skilld install tristanmanchester/agent-skills/display-quantitative-information`. Install writes the Skill files into the project, so every session loads them.
>
> ## Fork workflow
>
> A fork creates an editable local Skill with its original author and licence. The request authorizes copying and local installation.
> 1. Check `./skills/display-quantitative-information`, the project lockfile, and selected Agent targets together. If the local directory or installed Skill exists, stop. Never overwrite an existing directory or Agent target.
> 2. Read [source metadata](https://skilld.dev/api/v1/skills/tristanmanchester/agent-skills/display-quantitative-information) once. Use sourceUrl, sourceCommit, skillPath, sourceGone, and license. If the source is gone or its path is missing, stop. If license is null, read licence files at the source commit.
> 3. Fetch only the source commit into a temporary Git repository. Do not clone full history. Derive repository_url from sourceUrl, including repository renames. If sourceCommit is absent, resolve the sourceUrl ref once. Set source_commit to that actual commit. Run these commands in one shell call:
>
> ```sh
> git init --quiet "$temporary_dir"
> git -C "$temporary_dir" fetch --quiet --depth=1 "$repository_url" "$source_commit"
> git -C "$temporary_dir" checkout --quiet --detach FETCH_HEAD
> ```
>
> Read applicable licence declarations and notices at that commit. If copying is not permitted, report the restriction and stop.
> 4. Inspect source entries together, then copy the directory containing skillPath into `./skills/display-quantitative-information`. Use the user's path if selected. Keep the original SKILL.md, relative links, scripts, binary assets, and executable modes. Exclude .git metadata. Reject symlinks and paths outside the Skill directory. After checking entries, use cp -a where available. A regular source directory needs no custom copy script. Do not save this page wrapper as SKILL.md.
> Preserve author credit, notices, and applicable licence files from repository or parent directories. Add PROVENANCE.md with the Skill page, source URL, actual commit, original path, and licence. Retain any existing PROVENANCE.md and record new provenance separately. Batch source inspection, copying, and provenance work where practical.
> 5. In the project root, run `skilld install ./skills/display-quantitative-information --mode copy --plain`. If skilld is unavailable, use `npx skilld install ./skills/display-quantitative-information --mode copy --plain`. This known command needs no help lookup. Install does not support --json. Use detected Agent targets, or add --agent for the targets the user selected. Install the local path, never the upstream selector. If installation fails, preserve the local copy and report the exact failure.
> 6. Confirm the local lockfile source and installed Agent copies once. Report the local path, actual commit, and Agent targets. After edits, reinstall the same local path. Upstream updates must not replace it. Do not publish or push unless the user asks.

# Display quantitative information

Help the viewer reason from evidence. Prioritise truthful encoding and useful
comparisons over cosmetic minimalism. Preserve the package's Tufte-informed
methods without turning data-ink or any other maxim into an automatic verdict.

## Work from the analytical task

1. Identify the comparison or decision: lookup, trend, relationship, distribution,
   composition, geography, uncertainty, or monitoring.
2. Inspect grain, units, denominator, groups, missingness, time spacing, transformations,
   sample size, and uncertainty before plotting. Separate observations from summaries.
3. Choose a display for that task using [display selection](https://skilld.dev/api/skills-raw/tristanmanchester/agent-skills/display-quantitative-information/references/display-selection.md)
   when needed. Establish intentional aggregation and ordering explicitly.
4. Audit scales and encodings before aesthetics. Check actual data bounds, baseline,
   transformations, temporal spacing, omitted values, and uncertainty against source data.
5. Deliver the requested chart, code, specification, or critique. Verify the output
   itself rather than assuming a successful plotting command preserved its meaning.

For a critique, lead with a demonstrated integrity or comparison problem. A sound
chart may need no change; do not manufacture an improvement to satisfy a template.
For scientific work, retain conditions, uncertainty, calibration, and raw observations
where they affect interpretation. For dashboards, align time windows and denominators
with the actual decision, not decorative KPI symmetry.

## Use helpers deliberately

Resolve `SKILL_DIR` to this installed directory. Bundled scripts do not live in the
target project's `scripts/` directory. Read a helper's help before invoking it.
The spec audit, display suggestions, lie-factor calculation, and text-fingerprint
checks are heuristics or scoped calculations, not a substitute for inspecting data
and the rendered graphic. A repetition score does not establish poor writing or
AI authorship. Preserve clear consistent terminology instead of varying it randomly.

```bash
python "$SKILL_DIR/scripts/suggest_display.py" --csv data.csv --goal auto --format markdown
python "$SKILL_DIR/scripts/audit_visual_display.py" --spec chart.json --format markdown
python "$SKILL_DIR/scripts/render_chart_svg.py" --csv observations.csv \
  --x date --y defect_rate --chart line --x-type date --output new-chart.svg
```

### SVG renderer contract

Choose `bar`, `dot`, `line`, or `scatter` explicitly. The renderer does not guess a
chart type or silently average duplicate observations. It reads at most 10,000 rows
from a CSV of at most 16 MiB. New output paths are required; no output overwrite.

- Scatter plots retain all observations and compute both axis limits from those
  observations, not group means.
- Lines use numeric x values, or `--x-type date` for unambiguous `YYYY-MM-DD` dates,
  with proportional spacing. A blank y value breaks the path; omitted rows cannot
  establish an unrecorded missing interval. Duplicate x values within a line series
  are rejected until the caller selects an appropriate aggregation/representation.
- Bars require unique category/group pairs and include zero. Zero values have zero
  bar height. Dots retain observations; both preserve category encounter order.
- Missing/non-finite/ambiguous numeric values are rejected outside the explicitly
  supported line-gap case. Locale numbers need deliberate normalisation first.

Optional `--group`, `--title`, `--metadata`, `--width`, and `--height` configure the
first-pass output. Metadata records input/point counts, domains, gaps, and lack of
aggregation. SVG title/description and distinct markers help, but do not certify
accessibility. Inspect crowded labels, overplotting, group identification, contrast,
and the source/uncertainty annotations needed for the deliverable. Use a full
plotting library for intervals, complex dates, dense categories, or publication layout.
SVG and optional metadata are separate writes, not an atomic two-file transaction.

## References and assets

Load only the relevant material:
[principles](https://skilld.dev/api/skills-raw/tristanmanchester/agent-skills/display-quantitative-information/references/principles.md), [integrity](https://skilld.dev/api/skills-raw/tristanmanchester/agent-skills/display-quantitative-information/references/integrity-audit.md),
[redesign](https://skilld.dev/api/skills-raw/tristanmanchester/agent-skills/display-quantitative-information/references/redesign-workflow.md), [specification](https://skilld.dev/api/skills-raw/tristanmanchester/agent-skills/display-quantitative-information/references/chart-spec.md),
[accessibility](https://skilld.dev/api/skills-raw/tristanmanchester/agent-skills/display-quantitative-information/references/accessibility-and-output.md), [examples](https://skilld.dev/api/skills-raw/tristanmanchester/agent-skills/display-quantitative-information/references/examples.md),
and [review rubric](https://skilld.dev/api/skills-raw/tristanmanchester/agent-skills/display-quantitative-information/references/rubric.md). Rubric scores organise judgement; they
are not empirical accuracy measures. The language/fingerprint material is a review
prompt, not an instruction to distort a good existing voice.

Keep the existing chart-spec, critique-note, and handoff templates as optional
scaffolds. Preserve units, sources, denominators, uncertainty, and exact numerical
meaning through revisions. A cleaner misleading chart is still misleading.

## Maintenance

Run `python -m unittest discover -s "$SKILL_DIR/tests" -v` for the renderer
regressions. These test numerical geometry and output handling, not human readability,
all retained helpers, or a complete accessibility audit. The existing proprietary
licence declaration is retained without a dangling LICENSE.txt link; no new
redistribution permission or unavailable historical licence text is invented.
