great-tables-6-footnotes-and-annotations
Sub-skill of great-tables: 6. Footnotes and Annotations (+1).
Best use case
great-tables-6-footnotes-and-annotations is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sub-skill of great-tables: 6. Footnotes and Annotations (+1).
Teams using great-tables-6-footnotes-and-annotations should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/6-footnotes-and-annotations/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How great-tables-6-footnotes-and-annotations Compares
| Feature / Agent | great-tables-6-footnotes-and-annotations | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Sub-skill of great-tables: 6. Footnotes and Annotations (+1).
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 6. Footnotes and Annotations (+1)
## 6. Footnotes and Annotations
**Adding Footnotes:**
```python
from great_tables import GT
from great_tables import loc
import pandas as pd
df = pd.DataFrame({
"Company": ["TechCorp", "DataInc", "CloudSoft", "AILabs"],
"Revenue_B": [125.4, 98.2, 87.5, 76.3],
"Employees": [45000, 28000, 15000, 8500],
"Founded": [1985, 1998, 2010, 2015]
})
table = (
GT(df)
.tab_header(
title="Tech Companies Overview",
subtitle="Leading technology firms"
)
# Add footnote to title
.tab_footnote(
footnote="Revenue in billions USD",
locations=loc.title()
)
# Add footnote to specific column
.tab_footnote(
footnote="Full-time employees only",
locations=loc.column_labels(columns="Employees")
)
# Add footnote to specific cell
.tab_footnote(
footnote="Acquired by MegaCorp in 2024",
locations=loc.body(columns="Company", rows=[2])
)
# Source note
.tab_source_note(
source_note="Data as of December 2025"
)
.fmt_currency(columns="Revenue_B", currency="USD", decimals=1)
.fmt_integer(columns="Employees", use_seps=True)
)
table.save("footnotes.html")
```
**Stubhead Labels:**
```python
from great_tables import GT
import pandas as pd
df = pd.DataFrame({
"Year": [2022, 2023, 2024, 2025],
"Revenue": [85.2, 92.5, 105.8, 118.3],
"Profit": [12.5, 15.8, 19.2, 23.1],
"Margin": [0.147, 0.171, 0.181, 0.195]
})
table = (
GT(df, rowname_col="Year")
.tab_header(title="Financial Summary")
.tab_stubhead(label="Fiscal Year") # Label for row names column
.fmt_currency(columns=["Revenue", "Profit"], currency="USD", decimals=1)
.fmt_percent(columns="Margin", decimals=1)
)
table.save("stubhead.html")
```
## 7. Export Options
**Export to HTML:**
```python
from great_tables import GT
import pandas as pd
df = pd.DataFrame({
"Item": ["A", "B", "C"],
"Value": [100, 200, 150]
})
table = GT(df).tab_header(title="Export Demo")
# Save as HTML file
table.save("table.html")
# Get HTML string
html_string = table.as_raw_html()
print(html_string[:500]) # Preview
```
**Export to Image (PNG):**
```python
from great_tables import GT
import pandas as pd
df = pd.DataFrame({
"Product": ["Widget", "Gadget", "Tool"],
"Price": [29.99, 49.99, 19.99],
"Stock": [150, 85, 200]
})
table = (
GT(df)
.tab_header(title="Product Inventory")
.fmt_currency(columns="Price", currency="USD")
)
# Save as PNG (requires webshot/chromedriver)
# table.save("table.png")
# Alternative: Use playwright
# table.save("table.png", web_driver="playwright")
```
**Inline Display in Notebooks:**
```python
from great_tables import GT
import pandas as pd
df = pd.DataFrame({
"Name": ["Alice", "Bob", "Charlie"],
"Score": [95, 87, 92]
})
# In Jupyter, just return the table object
table = GT(df).tab_header(title="Test Scores")
table # Displays inline
```Related Skills
mkdocs-code-annotations
Sub-skill of mkdocs: Code Annotations.
doc-extraction-naval-architecture-structural-scantling-tables
Sub-skill of doc-extraction-naval-architecture: Structural Scantling Tables.
great-tables-great-tables-with-streamlit
Sub-skill of great-tables: Great Tables with Streamlit (+1).
great-tables-5-grouped-rows-and-columns
Sub-skill of great-tables: 5. Grouped Rows and Columns.
great-tables-4-conditional-formatting
Sub-skill of great-tables: 4. Conditional Formatting.
great-tables-3-styling-and-colors
Sub-skill of great-tables: 3. Styling and Colors.
great-tables-1-keep-tables-focused
Sub-skill of great-tables: 1. Keep Tables Focused (+3).
great-tables-1-basic-table-creation
Sub-skill of great-tables: 1. Basic Table Creation.
test-oversized-skill
A test fixture skill that exceeds 200 lines with multiple H2/H3 sections for split testing.
interactive-report-generator
Generate interactive HTML reports with Plotly visualizations from data analysis results. Supports dashboards, charts, and professional styling.
data-validation-reporter
Generate interactive validation reports with quality scoring, missing data analysis, and type checking. Combines Pandas validation, Plotly visualization, and YAML configuration for comprehensive data quality reporting.
agent-os-framework
Generate standardized .agent-os directory structure with product documentation, mission, tech-stack, roadmap, and decision records. Enables AI-native workflows.