Install any skill in seconds. Free to start, no credit card required.
Get Started Free →tywinlu1988/credit-report-builder
Use when turning a completed fixed-income credit analysis into a deliverable report — selecting the correct report template (Type 1–18), mapping findings to the L0/L1/L2 output tiers, rendering a multi-stakeholder dashboard, or assembling a layered credit report from an analysis artifact. Triggers on 'generate report', 'produce a credit approval report', 'build a dashboard', 'L0 signal card', or when a work-path sheet's templates must be produced. Requires an upstream analysis artifact; does not
Passed 16 of 21 test cases with the skill, and 7 of 21 without it.
and 13 more in the full report
11 fixed6 passed either way4 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 11 test cases the skill fixed. Same model, same prompt, with and without the skill.
The HTML report `phoenix-corp-type01.html` and Delivery Note `phoenix-corp-delivery-note.yaml` have been generated successfully. What is the mandatory next step in the pipeline before delivering the report package to the user?
| Checked | Without skill | With skill |
|---|---|---|
| Hands off the generated package to the credit-qa-verifier skill for pre-delivery review. | Missed | Passed |
| Withholds final delivery until the downstream QA verification step passes. | Missed | Passed |
The instructions your model reads when the skill loads.
See dev/engine/agent-protocol.md §1 — engine/ and templates/ paths resolve to the package root in both plugin-install and open-as-project modes.
Engine version: v0.3.2
Non-Negotiables (see AGENTS.md): no report without a template from dev/templates/ (never design ad-hoc HTML, dashboards, or layouts) · no numbers without a doc §section citation · no delivery without a QA Verdict.
Assembly layer — this skill does not perform analysis. Responsibility is two steps: map the Analysis Artifact produced by the upstream fixed-income-credit-analysis skill to L0/L1/L2 output tiers and select the correct template → assemble into a deliverable report and produce a Delivery Note. This skill does not replicate any engine thresholds/layered time budgets/rating mappings; template selection and tier semantics are always determined by engine documents as the single source of truth.
path_id / depth / quality_gates. path_id is the join key through the four-stage chain; this skill inherits it as-is and must not change it.dev/engine/pipeline-contract.md §2.2).dev/templates/ (template single source of truth — this skill does not carry template copies). Which template to use is determined by the templates field in dev/engine/work-path-registry.md for that path; do not substitute arbitrarily.dev/engine/pipeline-contract.md §2.3.path_id from both the Path Sheet and the Analysis Artifact; verify it points to a registered path in the registry. If inconsistent, stop and report.path_id, retrieve the template list from the registry's templates field (Type 1–18 or allowed marker values planned / L0-spec:). Marker value meanings are defined in registry §schema; when hitting planned, must explicitly state "template under development" and not fabricate rendered output.dev/engine/output-layered-framework.md §2 (three-tier overview) / §3 (L0 Signal Card) / §5 (L2 Deep Report) as the single source of truth; this skill does not redefine them.dev/templates/ to assemble the report; completeness lamp caliber follows output-layered-framework §8.4. Fill placeholders via the manifest: read the template's placeholders list from dev/templates/index.yaml (machine-generated) instead of scanning the whole template to discover fields. Two template families exist: token templates (fill every listed token from the Analysis Artifact) and exemplar templates (empty placeholders list — replace the sample content section-by-section, preserving structure and CSS classes). After rendering, verify zero {...}/{{...}} tokens remain — any leftover is an unfilled field: fill it or mark it explicitly n/a. Then make the file self-contained: read dev/templates/template-base.css, inject its content into a <style> block in the report's <head>, and remove the <link rel="stylesheet"> tag. This ensures reports render correctly when copied or forwarded — no missing CSS dependency.<issuer-slug>-type<NN>.html where <issuer-slug> is a lowercase-hyphenated issuer name (e.g., andritz-ag) and <NN> is the two-digit template type number (e.g., type01, type06). This makes reports sortable and identifiable without opening them.rendered. If the count (excluding report-index.html itself if already present) exceeds 1, generate a report-index.html navigation page from dev/templates/report-index.html. The index must:
rendered with: its file name, a relative-path link (e.g., ./andritz-ag-type01.html), and a one-sentence description/summary of that report's contentreport-index.html to the rendered list (NOT to templates_used — templates_used is reserved for per-path registry templates); use a relative path for portabilitypath_id — in multi-path engagements, write a separate note file per path (e.g., ad01-delivery-note.yaml); never merge paths into one note (pipeline-contract §2.3). All paths in rendered and source_analysis MUST be relative paths (no absolute paths) — the Delivery Note travels with the report files.Template (schema single source of truth is dev/engine/pipeline-contract.md §2.3):
test cases passed, vs 7 / 21 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.