Skip to content
Back to skills

Calculation Report

ASecurity

Generate professional engineering calculation reports from YAML — renders LaTeX formulas, interactive charts, and pass/fail outputs as HTML using the warm-parchment design system

  • 17 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 9, 2026
testingpythongobashgitapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 9, 2026

npx -y skills add vamseeachanta/workspace-hub --skill calculation-report --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Calculation Report?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Calculation Report
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vamseeachanta-calculation-report/badge)](https://www.skillsdirectory.com/skills/vamseeachanta-calculation-report)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---

name: calculation-report
description: Generate professional engineering calculation reports from YAML — renders LaTeX formulas, interactive charts, and pass/fail outputs as HTML using the warm-parchment design system
type: reference
version: "1.0.0"
triggers:
  - calculation report
  - calc report
  - engineering report
  - fatigue report
  - generate report from YAML
category: data
---

# Calculation Report Skill

## Pipeline

```
calculation.yaml → generate-calc-report.py → report.html (default) / report.md
```

## Usage

```bash
# Generate HTML (default)
uv run --no-project python scripts/reporting/generate-calc-report.py <input.yaml>

# Generate Markdown with LaTeX math
uv run --no-project python scripts/reporting/generate-calc-report.py <input.yaml> --format md

# Specify output path
uv run --no-project python scripts/reporting/generate-calc-report.py <input.yaml> --output path/to/report.html
```

## YAML Structure (Required Sections)

- **metadata**: title, doc_id, revision, date, author, status (draft/reviewed/approved)
- **inputs**: list of {name, symbol, value, unit} with optional source/notes
- **methodology**: description, standard, equations [{id, name, latex, description}]
- **outputs**: list of {name, symbol, value, unit} with optional pass_fail/limit
- **assumptions**: list of strings
- **references**: list of strings

## Optional Sections

- **charts**: interactive Chart.js charts (line, bar, scatter, log_log)
- **data_tables**: tabular data with column headers and units
- **change_log**: revision history in metadata

## Examples (13 calc reports)

- `examples/reporting/fatigue-pipeline-girth-weld.yaml` — pipeline girth weld fatigue (DNV-RP-C203)
- `examples/reporting/fatigue-scr-touchdown.yaml` — SCR touchdown zone fatigue
- `examples/reporting/spectral-fatigue-dnv-rp-c203.yaml` — spectral fatigue (DNV-RP-C203)
- `examples/reporting/geotechnical-pile-axial-capacity.yaml` — pile capacity (API RP 2GEO)
- `examples/reporting/geotechnical-anchor-capacity.yaml` — anchor capacity (DNV-RP-E302/E303)
- `examples/reporting/geotechnical-scour-assessment.yaml` — scour depth (DNV-RP-F107)
- `examples/reporting/on-bottom-stability-pipeline.yaml` — pipeline stability (DNV-RP-F109)
- `examples/reporting/on-bottom-stability-dnv-rp-f109.yaml` — detailed stability check
- `examples/reporting/sepd-decline-unconventional.yaml` — SEPD decline curve
- `examples/reporting/type-curve-matching-fetkovich.yaml` — Fetkovich type curves
- `examples/reporting/resource-estimation-monte-carlo.yaml` — P10/P50/P90 resources (SPE PRMS)
- `examples/reporting/portfolio-beta-energy-benchmark.yaml` — portfolio beta (CAPM)
- `examples/reporting/dividend-yield-forecast.yaml` — Gordon growth model

## Schema Validation Gate (mandatory before report generation)

Full schema at `config/reporting/calculation-report-schema.yaml`.

Validate EVERY YAML before generating the report:
```bash
uv run --no-project python -c "
import yaml
with open('config/reporting/calculation-report-schema.yaml') as f:
    schema = yaml.safe_load(f)
with open('<your-calc>.yaml') as f:
    report = yaml.safe_load(f)
# Required sections
for s in ['metadata', 'inputs', 'methodology', 'outputs', 'assumptions', 'references']:
    assert s in report, f'Missing: {s}'
# Metadata fields
for f in ['title', 'doc_id', 'revision', 'date', 'author', 'status']:
    assert f in report['metadata'], f'Missing metadata.{f}'
# Standard traceability
assert 'standard' in report['methodology'], 'Missing methodology.standard'
assert 'equations' in report['methodology'], 'Missing methodology.equations'
for eq in report['methodology']['equations']:
    assert 'name' in eq and 'latex' in eq, f'Equation missing name or latex'
print('PASS')
"
```

## Compliance Audit

Run periodically to catch missing reports across all implementations:
```bash
# List all calc report YAMLs and validate each
for f in examples/reporting/*.yaml; do
  echo -n "$f: "
  uv run --no-project python -c "import yaml; d=yaml.safe_load(open('$f')); [d[s] for s in ['metadata','inputs','methodology','outputs','assumptions','references']]; print('PASS')" 2>&1 || echo "FAIL"
done
```

## Tests

```bash
uv run --no-project --with PyYAML --with pytest python -m pytest tests/reporting/test_generate_calc_report.py -v
```

## See also

- [data/dark-intel](https://github.com/vamseeachanta/data/tree/main/dark-intel) — dark intelligence archive with worked examples and reference data used in calculation reports

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.