Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/minhlucvan/notebookmd/analyzenpx skills add minhlucvan/notebookmd --skill analyzegit clone --depth 1 https://github.com/minhlucvan/notebookmdWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/minhlucvan/notebookmd/analyze)<a href="https://agentmods.dev/skills/minhlucvan/notebookmd/analyze"><img src="https://agentmods.dev/badge/skills/minhlucvan/notebookmd/analyze.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00052 | $0.00926 |
| Opus 5 | $0.00026 | $0.00463 |
| Sonnet 5 | $0.00010 | $0.00185 |
| Haiku 4.5 | $0.00005 | $0.00093 |
Grade A, and why
analyze scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 116 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Data Analysis Report Generator
Generate a comprehensive, structured data analysis report using the notebookmd library.
The report should read like a professional analyst's notebook — with clear sections,
key metrics, data tables, visualizations, and actionable insights.
Input
Analyze: $ARGUMENTS
Instructions
1. Setup
from notebookmd import nb, NotebookConfig
import pandas as pd
cfg = NotebookConfig(max_table_rows=30)
n = nb("dist/analysis.md", title="<descriptive title based on the data>", cfg=cfg)
2. Report Structure
Build the report with these sections (adapt to the data):
# Section 1: Data Overview
n.section("Data Overview")
n.kv({
"Source": "<where the data came from>",
"Records": f"{len(df):,}",
"Columns": str(len(df.columns)),
"Date Range": f"{df['date'].min()} to {df['date'].max()}", # if applicable
}, title="Dataset Info")
n.summary(df, title="Statistical Summary")
# Section 2: Key Metrics
n.section("Key Metrics")
n.metric_row([
{"label": "Total", "value": f"{total:,.0f}"},
{"label": "Mean", "value": f"{mean:.2f}"},
{"label": "Trend", "value": f"{trend:+.1f}%", "delta": f"{trend:+.1f}%"},
])
# Section 3: Data Sample
n.section("Data Preview")
n.dataframe(df.head(15), name="First 15 rows")
# Section 4: Analysis & Patterns
n.section("Analysis")
# Group by, aggregate, compute derived metrics
n.table(grouped_df, name="Aggregated Results")
# Section 5: Visualization (if matplotlib available)
try:
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
n.section("Visualizations")
n.line_chart(df, x="date_col", y="value_col", title="Trend Over Time")
n.bar_chart(top_n, x="category", y="count", title="Top Categories")
except ImportError:
n.note("Install matplotlib for chart generation: pip install notebookmd[plotting]")
# Section 6: Export
n.section("Export")
n.export_csv(df, "analysis_data.csv", name="Full dataset")
# Section 7: Findings & Recommendations
n.section("Key Findings")
n.write("""
- **Finding 1**: Description with supporting evidence
- **Finding 2**: Description with supporting evidence
- **Finding 3**: Description with supporting evidence
""")
n.section("Recommendations")
n.write("""
1. Action item based on findings
2. Action item based on findings
3. Action item based on findings
""")
n.success("Analysis complete!")
out = n.save()
print(f"Report saved to: {out}")
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 116 lines · 52 tokens per session scan A 6e8af1e8cb32
analyze is a skill published in the GitHub repository minhlucvan/notebookmd (10 stars, last pushed 4mo ago), licensed MIT. It adds 52 tokens to every session and 926 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
html-artifact-report
Create HTML report artifacts from notes or Markdown with paired JSON manifests for AI-agent audit and reuse.
agent-evaluation-reporting
Use when summarizing agent evaluations where autonomous, assisted, failed, timed-out, or invalid outcomes must remain distinct and comparable.
trulens-notebook-execution
Execute and display Jupyter notebooks for TruLens demos and quickstarts.
markstream-react
Integrate the beta markstream-react package into a React 18+ or Next app. Use when Codex needs to add the React renderer, choose the root, next, or server entrypoint, import CSS correctly, choose between content and nodes, keep client boundaries safe, add renderer-local streamingComponents or htmlComponents, use…
nba
Read the live cycle state and return the single highest-leverage next best action, not a menu. Use when a project is between phases, the author asks what to do next, too many valid threads are open, or the work needs re-entry into frame, build, drive, re0-memo, hate, re0-work, or ship.
review-validation
Validate review findings from specialist agents by reading the actual repo file content and checking each finding for accuracy, applicability, and false positives.