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 skills add docxology/template --skill reportinggit clone --depth 1 https://github.com/docxology/templateWrote 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/docxology/template/reporting)<a href="https://agentmods.dev/skills/docxology/template/reporting"><img src="https://agentmods.dev/badge/skills/docxology/template/reporting/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/docxology/template/reporting"><img src="https://agentmods.dev/badge/skills/docxology/template/reporting.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.1 | $0.00053 | $0.00916 |
| Opus 5 | $0.00026 | $0.00458 |
| Sonnet 5 | $0.00011 | $0.00183 |
| Haiku 4.5 | $0.00005 | $0.00092 |
Grade A, and why
infrastructure-reporting 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 5d 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 — 152 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Reporting Module
Pipeline reporting, error aggregation, and executive dashboard generation.
Pipeline Reports (pipeline_report_model.py, pipeline_io.py)
from infrastructure.reporting import (
generate_pipeline_report, save_pipeline_report,
save_validation_report, save_test_results,
save_performance_report, save_error_summary,
)
from infrastructure.reporting.report_generator import generate_test_report
# Generate comprehensive pipeline report
report = generate_pipeline_report(
stage_results=stage_results,
total_duration=total_duration,
repo_root=Path("."),
test_results=test_data,
validation_results=validation_data,
performance_metrics=perf_data,
error_summary=error_summary,
)
# Save report to file
save_pipeline_report(report, output_dir)
# Individual report sections
test_report = generate_test_report(test_data)
saved_files = save_validation_report(validation_data, output_dir)
Error Aggregation (error_aggregator.py)
from infrastructure.reporting import (
ErrorAggregator, ErrorEntry,
get_error_aggregator, reset_error_aggregator,
)
# Singleton aggregator
aggregator = get_error_aggregator()
aggregator.add_error(error_type="rendering", message="Missing figure", stage="rendering")
aggregator.add_error(error_type="validation", message="Broken link", stage="validation")
# Construct ErrorEntry directly (type and message are required)
entry = ErrorEntry(type="rendering", message="Missing figure", stage="rendering")
# Get summary and save report
summary = aggregator.get_summary()
saved = aggregator.save_report(output_dir)
reset_error_aggregator()
Executive Summaries (executive_reporter.py)
from infrastructure.reporting import (
generate_executive_summary, save_executive_summary,
collect_project_metrics, ProjectMetrics, ExecutiveSummary,
)
# Generate cross-project executive summary
summary = generate_executive_summary(repo_root, project_names)
files = save_executive_summary(summary, output_dir)
# Collect metrics for a single project
metrics = collect_project_metrics(repo_root, project_name)
What ships with it
60 files 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.
- __init__.py 3.7 KB runs code
- _csv_comparative.py 6.3 KB runs code
- _csv_project_breakdown.py 7.1 KB runs code
- _csv_tables.py 12 KB runs code
- _dashboard_charts_health.py 4.3 KB runs code
- _dashboard_charts_outputs.py 15 KB runs code
- _dashboard_charts_pipeline.py 6.2 KB runs code
- _dashboard_charts.py 1.4 KB runs code
- _dashboard_codebase.py 10 KB runs code
- _dashboard_constants.py 224 B runs code
- _dashboard_csv.py 1.1 KB runs code
- _dashboard_grid.py 5.1 KB runs code
- _dashboard_health.py 18 KB runs code
- _dashboard_matplotlib.py 9.0 KB runs code
- _dashboard_outputs.py 11 KB runs code
- _dashboard_pipeline.py 11 KB runs code
- _executive_analysis.py 5.8 KB runs code
- _executive_collectors.py 11 KB runs code
- _executive_health.py 13 KB runs code
- _executive_models.py 2.7 KB runs code
- _executive_renderers.py 3.9 KB runs code
- _executive_report_formats.py 15 KB runs code
- _interactive_html.py 12 KB runs code
- _interactive_models.py 9.6 KB runs code
- AGENTS.md 8.2 KB
- coverage_analysis.py 7.3 KB runs code
- coverage_history.py 16 KB runs code
- coverage_json_parser.py 4.2 KB runs code
- coverage_parser.py 11 KB runs code
- coverage_reporter.py 1020 B runs code
- error_aggregator.py 11 KB runs code
- evidence_graph.py 19 KB runs code
- executive_outputs.py 4.9 KB runs code
- executive_reporter.py 2.6 KB runs code
- html_templates.py 8.8 KB runs code
- interactive_dashboard.py 13 KB runs code
- log_analysis.py 3.5 KB runs code
- manuscript_overview.py 5.0 KB runs code
- markdown_formatter.py 7.0 KB runs code
- multi_project_report.py 10 KB runs code
- multi_project_reporter.py 9.5 KB runs code
- output_organizer.py 10.0 KB runs code
- output_statistics.py 15 KB runs code
- page_grid.py 5.2 KB runs code
- page_rendering.py 7.3 KB runs code
- pipeline_html.py 6.3 KB runs code
- pipeline_io.py 8.7 KB runs code
- pipeline_markdown.py 4.0 KB runs code
- pipeline_report_model.py 4.5 KB runs code
- pipeline_test_reporting.py 8.6 KB runs code
- pipeline_test_runner.py 19 KB runs code
- project_verifier.py 13 KB runs code
- pytest_output_parser.py 5.8 KB runs code
- README.md 16 KB
- release_readiness.py 21 KB runs code
- report_builder.py 5.9 KB runs code
- report_generator.py 6.1 KB runs code
- result_loaders.py 4.7 KB runs code
- run_lessons.py 10 KB runs code
- suite_runner.py 16 KB runs code
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.
- 5d ago First seen · 152 lines · 53 tokens per session scan A dec6deb09513
infrastructure-reporting is a skill published in the GitHub repository docxology/template (19 stars, last pushed today), licensed Apache-2.0. It adds 53 tokens to every session and 916 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-09-03.
Other skills, from other repositories
planning-with-files
Persistent file-based planning for multi-step AI-agent work. Keeps taskplan.md, findings.md, and progress.md on disk; lifecycle hooks inject selected project planning context. Automatic recovery reads project planning files only. Explicit session-catchup.py --metadata reads same-project local agent session records and…
aerospace-engineering-technician
Use when a task needs the judgment of an Aerospace Engineering and Operations Technologist/Technician — verifying an installed fastener's preload against a drawing's torque callout via the T=K·D·F relationship, reducing strain-gauge data from a structural proof-load test into stress and checking it against an…
agricultural-sciences-professor
Use when a task needs the judgment of a tenure-track or tenured Agricultural Sciences faculty member at a land-grant university — deciding whether to submit a grant this cycle versus wait, allocating time across the teaching/research/extension appointment split, diagnosing a stalled graduate student or field trial, or…
aviation-inspector
Use when a task needs the judgment of an Aviation Inspector — determining whether an air carrier's fleet is in compliance with an Airworthiness Directive across a maintenance-records sample, deciding where the FAA's compliance-and-enforcement ladder places a finding (compliance action vs. Letter of Correction vs.…
compensation-benefits-specialist
Use when a task needs the judgment of a Compensation, Benefits, and Job Analysis Specialist — market-pricing a job against salary survey data, scoring a job through a point-factor or IPE job evaluation, running a pay-equity regression or cohort analysis, building or refreshing a salary structure and compa-ratio bands…
actor
Use when a task needs the judgment of a professional Actor — breaking down sides for a self-tape audition, preparing a character choice for rehearsal, deciding between two conflicting bookings, reading a contract offer for scale vs. scale-plus terms, or diagnosing why callbacks aren't converting to bookings.