Chart request
A person asks an agent to review, recommend, evaluate, or explain a chart decision.
Experimental
chartcoach helps agents retrieve, inspect, cite, apply, and improve visualization guidelines. Each guideline links to its sources, so agents can explain where guidance comes from when reviewing charts, recommending encodings, and evaluating trade-offs.
$ npx skills add chartcoach/skills$ claude 'hey $chartcoach, evaluate this chart for mobile use.'Agent workflow
A person asks an agent to review, recommend, evaluate, or explain a chart decision.
The agent searches the Guideline Catalog by label, section role, reference, and semantic match.
The answer cites the guideline entries it used and names the guidance applied to the chart.
When guidance is missing, weak, or contested, the agent drafts a catalog issue after receiving confirmation so the community can review the proposed guideline entry.
Research
chartcoach is developed by researchers from ETH Zürich, Carnegie Mellon University, the University of Vienna, and MBZUAI.
The catalog draws on research and practical guidance for chart design, accessibility, and data journalism. It builds on work such as Draco, which recommends and checks chart designs, and studies of how people create and interpret charts.
Each guideline links to its sources so people can review the evidence and agents can cite it.
Representation
chartcoach represents each visualization design guideline as a catalog entry that people can author and read while agents can query it. The same entry carries sources, roles, labels, formats, and contribution paths.
Plain Markdown
A guideline is a Markdown document with a small metadata header and natural-language sections for advice, rationale, context, checks, and fixes.
---
id: direct-labels
title: Use direct labels
labels:
- chart:bar
- task:compare
- quality:readability
---
## Label marks directly <!-- role: advice -->
Place labels next to compared values.
## Why it works <!-- role: reason -->
Direct labels reduce legend lookup work.
## Where it applies <!-- role: context -->
Use this for a small number of bars or series.
## When to keep a legend <!-- role: exceptions -->
Keep a legend when labels would crowd marks.
## Trade-off <!-- role: costs -->
Labels use plot space and may need manual placement.
## Common mistake <!-- role: mistakes -->
Label only the marks readers need to compare in a dense chart.
## Check the chart <!-- role: check -->
Can each value be read without matching color to a legend?
## Fix <!-- role: fix -->
Move labels beside marks and remove the legend.References
Guidelines cite papers, standards, and practitioner material, so feedback can name where its recommendation came from.
advice
Place labels next to compared values.
reason
Direct labels reduce legend lookup work.
context
Use this for a small number of bars or series.
exceptions
Keep a legend when labels would crowd marks.
costs
Labels use plot space and may need manual placement.
mistakes
Label only the marks readers need to compare in a dense chart.
check
Can each value be read without matching color to a legend?
fix
Move labels beside marks and remove the legend.
references
Lisa Charlotte Muth
What to consider when using text in data visualizations. Datawrapper Blog, 2022.
Section Roles
Agents can ask for the advice, rationale, context, exceptions, costs, mistakes, checks, and fixes separately.
[
{
"role": "advice",
"title": "Advice",
"content": "Label marks."
},
{
"role": "reason",
"title": "Reason",
"content": "Less lookup."
},
{
"role": "context",
"title": "Context",
"content": "Few series."
},
{
"role": "exceptions",
"title": "Exceptions",
"content": "Crowded marks."
},
{
"role": "costs",
"title": "Costs",
"content": "Uses space."
},
{
"role": "mistakes",
"title": "Mistakes",
"content": "Avoid clutter."
},
{
"role": "check",
"title": "Check",
"content": "Clear values?"
},
{
"role": "fix",
"title": "Fix",
"content": "Move labels."
}
]Semantic Index
The Guideline Catalog supports semantic search across guideline sections, so agents can retrieve the relevant passage for a chart task.
Open Formats
People and apps can open the same guidance through public pages, Markdown, JSON, Python, TypeScript, and the CLI.
from chartcoach import open_catalog
catalog = open_catalog()
release = catalog.release
entry = catalog.read(ids=["direct-labels"], source_detail="full")[0]
summary = {
"title": entry["title"],
"labels": entry["labels"],
"references": entry["references"],
}Agent skills
Agent skills give agents a repeatable path from retrieval to cited answer, chart evaluation, and contribution draft.
chartcoach/skills
skill runevaluate chart
retrieve
guideline
cite
source
answer
advice
Public Review
After human confirmation, agents can draft a GitHub issue for missing or contested guidance in the catalog repository.
The chart issue needs a new guideline.
Draft the issue with references, context, and proposed labels.
Review the proposed guideline entry in the catalog repository.
Experimental
chartcoach is a research prototype for chart agents, critique tools, evaluation workflows, and visualization design systems. Browse the Guideline Catalog, request missing guidance in GitHub, or contact the research team about deployment and collaboration.