Official agent skill

Report

by microsoft in microsoft/data-formulator

Turn an exploration (threads, findings, charts) into a single Markdown report — note, blog post, executive summary, KPI dashboard, slide brief, or multi-section analytical report, with embedded…

OfficialMITAuto-check passedWriting & Content

Install Report

skills CLI
$ npx skills add microsoft/data-formulator --skill report -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install microsoft/data-formulator report --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/microsoft/data-formulator.git skills-src && mkdir -p .claude/skills && cp -r skills-src/py-src/data_formulator/analyst/skills/report .claude/skills/report && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
report
GitHub stars
18k
Token cost
~1.5k tokens
SKILL.md length
803 words
Files
4
Skills in repo
6
Repo updated
First seen
Licence
MIT

At a glance

Turn an exploration (threads, findings, charts) into a single Markdown report — note, blog post, executive summary, KPI dashboard, slide brief, or multi-section analytical report, with embedded…

  • Tasks that involve Summarization
  • SKILL.md covers Emitting the report (the…, Context available to you, Ground the report in the… and Inspecting charts and data, plus 1 more section
  • Runs Python scripts from its folder
  • Tasks that involve Blog and article writing

What it does

Report is an agent skill from microsoft/data-formulator, published by the product's own GitHub organization. Turn an exploration (threads, findings, charts) into a single Markdown report — note, blog post, executive summary, KPI dashboard, slide brief, or multi-section analytical report, with embedded charts.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `__init__.py`, `skill.py` and `tools.json`).

It sits in Writing & Content, covering Summarization, Blog and article writing and Slides and decks. The repository describes itself as: 🪄 Data Formulator is an interactive AI-powered data analysis system makes it easy to connect, explore and visualize data. The licence is MIT.

When your agent uses it

  • Tasks that involve Summarization
  • Tasks that involve Blog and article writing
  • Tasks that involve Slides and decks

Example prompts

  • “/report”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 5477f0e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Report loads about 1.5k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 803 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~52
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from microsoft/data-formulator at commit 5477f0e, republished under its MIT licence (© microsoft). 803 words, ~1,484 tokens.

Download SKILL.mdSave it as .claude/skills/report/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
report
description
Turn an exploration (threads, findings, charts) into a single Markdown report — note, blog post, executive summary, KPI dashboard, slide brief, or multi-section analytical report, with embedded charts.
when_to_use
The user asks to write up / summarize / report on what they explored, or wants a shareable narrative document built from the charts and findings in the data…
always_on
false
tools
inspect_chart
actions
write_report

Skill: Report writing

You are a data journalist / analyst who creates insightful, well-organized reports based on data explorations. The output is a single Markdown document that may play many roles — short note, blog post, executive summary, dashboard, multi-section report, FAQ, slide-style brief, etc. Adapt structure and length to what the user actually asks for; do not force a fixed template.

Emitting the report (the write_report action)

First inspect whatever charts and data you need (see below), then write the entire report and commit it by calling the write_report tool — it is the committing action that ends this turn. Its report argument carries the full Markdown of the finished report:

  • report — the complete report in Markdown: headings, prose, tables, and embedded charts via ![caption](chart://chart_id).

Produce any charts the report needs before calling write_report, and do all chart/data inspection first — once you call write_report, the report is delivered as-is and the run ends.

Context available to you

  • [PRIMARY TABLE(S)] / [OTHER AVAILABLE TABLES]: Lightweight schema of datasets.
  • [FOCUSED THREAD] (optional): The exploration thread the user is continuing — the ordered steps with the user's questions, the agent's thinking, and the findings at each step. This is the spine of the story you are telling.
  • [OTHER THREADS] (optional): Brief per-step summaries of other exploration threads the user ran. These are additional findings worth weaving in.
  • [AVAILABLE CHARTS]: List of charts with their type, encodings, and table references.

Ground the report in the exploration

The thread context is your most important input. The user already did real analysis — your job is to turn that journey into a coherent narrative, not to summarize a single chart. Before writing:

  • Read the FOCUSED THREAD and OTHER THREADS to understand the full set of questions asked and findings reached.
  • Plan a report that covers the meaningful findings across the exploration, not just the last or most obvious chart.

Inspecting charts and data

You have two inspection tools available the whole time: inspect_chart and inspect_source_data. Use them on your own whenever you need to verify a detail before writing about it — a chart's exact numbers, its data, or a table's schema. inspect_chart lets you read a chart from its encodings, a data sample, and the code that produced it (and points you to the backing table so you can interrogate the full data with execute_python_script); a rendered image is included only when one is available. Read the charts behind the key findings you present before you compose the report.

Write the report

Write the complete report in Markdown and pass it as the report argument of the write_report tool. Do all your inspecting first, then compose the whole document and make the one write_report call.

Embedding charts (REQUIRED FORMAT — do not change this)

To embed a chart image, use markdown image syntax with a chart:// URL: Image: Caption describing the chart

Example: ![Monthly trade balance trend](chart://chart-123)

The chart_id must match one from [AVAILABLE CHARTS]. Place each chart embed on its own line (it renders as a block). You can embed the same chart at most once. Captions are short — one line describing what the chart shows.

Show full SKILL.md (289 more words)Show less
Tables

For data tables, write standard markdown tables directly:

datevalue
2020-01-43.5
Style & structure — adapt to the user's request

The user may ask for any of:

  • a short note or social-style summary (a few sentences, one or two charts),
  • a blog post / narrative report (intro → findings → takeaway),
  • an executive summary (key numbers up top, then context),
  • a KPI dashboard / multi-section overview (headings per topic, multiple charts arranged with short commentary between them),
  • a slide-style brief (compact sections with bullet points and embedded charts),
  • a deeper analytical report with sub-sections, methodology notes, and caveats.

Pick the structure that fits the request and the available material. Match the breadth of the report to the breadth of the exploration: if the user explored several questions, the report should reflect that — don't collapse a rich exploration into a single-chart blurb unless the user explicitly asked for something that short. Reasonable defaults if the user is vague:

  • Start with a # Title that reflects the topic.
  • Group related findings under ## (and ### if useful) headings, typically one section per key finding / thread.
  • Around each embedded chart, briefly explain what it shows and the key insight.
  • Use bullets / short paragraphs / tables where they help; don't pad.
  • Close with a brief takeaway or summary section if the report is more than a few paragraphs. For very short outputs (notes, single-chart blurbs), a closing summary is optional.
Guardrails
  • Write in Markdown. Keep prose tight; let the data and charts carry the weight.
  • Stay faithful to the data — do not invent numbers, comparisons, or causation that the data does not actually support.
  • It is fine to flag uncertainty ("based on the sample shown…") when appropriate.
  • Embed every chart you discuss; don't reference a chart in prose without showing it.

© microsoft, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files in py-src/data_formulator/analyst/skills/report of microsoft/data-formulator.

  • SKILL.md
  • __init__.py
  • skill.py
  • tools.json

Open the folder on GitHubat commit 5477f0e

Compare with similar skills

Report next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Report compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Report this skillmicrosoft/data-formulator18k—~1.5kAutomated safety check: PassMIT
Blog Cover Posterdigoal/blog8.6k—~1.4kAutomated safety check: PassGPL-2.0
Board Meeting Prepw95/awesome-claude-corporate-skills235—~3.2kAutomated safety check: PassMIT
Editorial Illustrationshuytieu/COG-second-brain1.3k—~2.4kAutomated safety check: PassMIT
Reading Guidechingswy/Skill-Research-Figure178—~4.5kAutomated safety check: PassNone
Blog WriteAgriciDaniel/claude-blog2.3k1 repos~5.6kAutomated safety check: PassMIT

Similar skills

  • Turn a blog post, article, notes, or any source material into a set of vertical poster images — one cover plus several coherent content slides that explain the core points.

    8.6k GitHub stars~1.4k tokensUpdated 9 days ago
    Writing & ContentAuto-check passed
  • Board Meeting Prep

    w95/awesome-claude-corporate-skills

    ACTIVATE when preparing for board meetings, creating board decks, drafting board materials, developing executive summaries for directors, writing talking points, crafting board agendas, addressing…

    235 GitHub stars~3.2k tokensUpdated 7 mo ago
    Business, Finance & HRAuto-check passed
  • Editorial Illustrations

    huytieu/COG-second-brain

    Generate meaning-carrying editorial data-illustrations in the monotykamary / Linear aesthetic (near-black grayscale, Inter display + mono labels, hairline framed figures) with a single coral accent.

    1.3k GitHub stars~2.4k tokensUpdated 5 days ago
    Writing & ContentAuto-check passed
  • Reading Guide

    chingswy/Skill-Research-Figure

    Structured learning navigator for blog posts and articles. An agent skill from chingswy/Skill-Research-Figure.

    178 GitHub stars~4.5k tokensUpdated 26 days ago
    Writing & ContentAuto-check passed
  • Blog Write

    AgriciDaniel/claude-blog

    Write new blog articles from scratch optimized for Google rankings and AI citations.

    2.3k GitHub starsUsed in 1 repo~5.6k tokens
    Writing & ContentAuto-check passed
  • Exec Summary

    mvschwarz/openrig

    Generate a 1-2 page executive summary for a feature — orients sales, leadership, and engineering from a single document.

    5.5k GitHub stars~723 tokensUpdated today
    Writing & ContentAuto-check passed

More from microsoft/data-formulator

  • Error Handling

    microsoft/data-formulator

    Official

    统一错误处理系统。在添加 API 端点、修改错误处理、添加前端 API 调用、编写错误相关测试时使用. An agent skill from microsoft/data-formulator.

    18k GitHub stars~3.8k tokensUpdated yesterday
    Auto-check passed
  • Language Injection

    microsoft/data-formulator

    Official

    LLM Agent 多语言注入规范。在修改 Agent 提示词、添加新的 Agent 端点、处理用户可见的后端消息(messagecode)时使用。

    18k GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • Path Safety

    microsoft/data-formulator

    Official

    服务端路径安全与文件访问编码规范。在编写文件下载路由、Agent 工具(文件读取/目录列出)、数据连接器/Loader、Workspace 路径操作、沙箱配置时使用。

    18k GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • Data Loading

    microsoft/data-formulator

    Official

    Discover connected data sources, add new data connectors through a user-confirmed form, inspect table metadata, and run bounded read-only probes when the current workspace data is insufficient.

    18k GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Core

    microsoft/data-formulator

    Official

    The analyst's built-in capabilities: data-inspection tools and the always-available actions (visualize and askuser).

    18k GitHub stars~5.4k tokensUpdated yesterday
    Auto-check passed

Questions about Report

What does Report do?

Turn an exploration (threads, findings, charts) into a single Markdown report — note, blog post, executive summary, KPI dashboard, slide brief, or multi-section analytical report, with embedded…. Report is an agent skill from microsoft/data-formulator, published by the product's own GitHub organization. Turn an exploration (threads, findings, charts) into a single Markdown report — note, blog post, executive summary, KPI dashboard, slide brief, or multi-section analytical report, with embedded charts.

When should I use Report?

Report fits situations like: tasks that involve Summarization; tasks that involve Blog and article writing; tasks that involve Slides and decks.

How do I install Report in Claude Code?

Run `npx skills add microsoft/data-formulator --skill report -a claude-code`. Or copy the skill folder (py-src/data_formulator/analyst/skills/report in microsoft/data-formulator) into .claude/skills/report in your project. Claude Code loads it when a task matches its description.

How do I install Report in Codex?

Run `npx skills add microsoft/data-formulator --skill report -a codex`. Or copy the skill folder (py-src/data_formulator/analyst/skills/report in microsoft/data-formulator) into .agents/skills/report in your project. Codex loads it when a task matches its description.

Can I use Report in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add microsoft/data-formulator --skill report -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/report, .gemini/skills/report, .github/skills/report and .opencode/skills/report in your project.

What does Report need to run?

Going by SKILL.md and its folder, Report needs Python for the scripts in its folder. Our summary lists: Python 3.

Does Report access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Report safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Report use?

Report is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Report use?

About 1.5k tokens (SKILL.md is roughly 5.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Report?

Skills that share tags, products or a category with Report: Blog Cover Poster (digoal/blog, 8.6k stars), Board Meeting Prep (w95/awesome-claude-corporate-skills, 235 stars), Editorial Illustrations (huytieu/COG-second-brain, 1.3k stars) and Reading Guide (chingswy/Skill-Research-Figure, 178 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Report?

microsoft (a GitHub organization, an official publisher) maintains it in microsoft/data-formulator, which has 17,538 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 5, 2026.

Source: microsoft/data-formulator on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.