Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
139 changes: 49 additions & 90 deletions plugins/moody-s/skills/moody-s-earnings-brief/SKILL.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
interface:
display_name: "Moody's Earnings Brief"
short_description: "Produce a comprehensive Earnings Brief HTML report combining company overview, financials, peer comparison, credit profile, risks, and ESG"
default_prompt: "Use Moody's Earnings Brief skill to resolve the target entity, gather Moody's data across all sections, and generate a complete Earnings Brief HTML report."
short_description: "Produce an Earnings Call Summary HTML report for 2–5 companies, summarizing transcript insights across revenue, volumes, pricing, supply chain, guidance, and corporate events"
default_prompt: "Use Moody's Earnings Brief skill to resolve the target companies, gather their earnings call transcripts, and generate a complete Earnings Call Summary HTML report."
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
446 changes: 344 additions & 102 deletions plugins/moody-s/skills/moody-s-peer-analysis/SKILL.md

Large diffs are not rendered by default.

192 changes: 117 additions & 75 deletions plugins/moody-s/skills/moody-s-rating-analysis/SKILL.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
interface:
display_name: "Moody's Rating Pitch Deck"
short_description: "Generate an editable PowerPoint rating pitch deck covering sector analysis, company financials, SWOT, peer comparison, and ESG"
default_prompt: "Use Moody's Rating Pitch skill to resolve the target company, gather all credit and sector data, and build an editable Rating Pitch Deck (.pptx)."
display_name: "Moody's Rating Pitch"
short_description: "Generate a self-contained HTML rating pitch report covering sector analysis, company financials, SWOT, peer comparison, and ESG"
default_prompt: "Use Moody's Rating Pitch skill to resolve the target company, gather all credit and sector data, and build a Rating Pitch HTML report."
101 changes: 59 additions & 42 deletions plugins/moody-s/skills/moody-s-rating-analysis/evals/evals.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,63 +3,80 @@
"evals": [
{
"id": 1,
"prompt": "Create a rating pitch deck for Boeing Company in the Aerospace/Defense sector",
"expected_output": "An editable rating_pitch.pptx (>=500KB, ~20+ slides) built from the Moody's 2026 Corp template via scripts/build_pptx.py, plus the resolved payload.json saved alongside it under ~/Desktop/rating-pitch/<company>-<YYYYMMDD-HHMMSS>/. The deck covers cover, 3-part structure (Sector / Company / Peers), macro GDP table, rating actions, SWOT (4 quadrants), key metrics charts, peer summary/financials/debt/profitability/scatter tables, scorecard, ESG, and sources.",
"prompt": "Create a rating pitch report for Boeing Company in the Aerospace/Defense sector",
"expected_output": "Two output files: (a) rating_pitch.html — a single self-contained HTML report built from scripts/build_html.py containing all 26 sections (cover, agenda, 3 part dividers, 21 content sections, sources, thank-you, disclaimer) with inline Chart.js charts, styled tables, and bullet lists using the Moody's brand palette; (b) payload.json — the fully resolved data payload. No PPTX is produced. The HTML file opens directly in a browser with no additional dependencies beyond an internet connection for the Chart.js CDN.",
"files": [],
"assertions": [
"Both artifacts exist (rating_pitch.pptx, payload.json)",
"PowerPoint file built from Moody's corporate template (>= 500 KB)",
"PowerPoint has >= 20 slides",
"Both output files exist: rating_pitch.html and payload.json",
"rating_pitch.html is a valid standalone HTML document (starts with <!DOCTYPE html> and ends with </html>)",
"rating_pitch.html contains >= 20 <section> elements",
"rating_pitch.html contains all 3 part divider slides (Sector Analysis, Company Credit Overview, Company Positioning vs. Peers)",
"rating_pitch.html contains >= 14 <canvas> elements (one per Chart.js chart)",
"rating_pitch.html contains >= 14 new Chart( calls in <script> blocks",
"rating_pitch.html contains >= 6 <table> elements covering GDP, rating actions, peer summary, peer financials, scorecard, ESG",
"SWOT section present with 4 quadrants (Strengths, Weaknesses, Opportunities, Threats) each containing >= 2 <li> bullets",
"Peer summary table has >= 3 company columns",
"Peer financials table has >= 3 company columns and >= 5 financial metric rows",
"Macro GDP table has >= 3 country rows",
"Rating history line chart present with >= 2 data points",
"Scorecard table has >= 3 factor rows",
"ESG table has >= 1 data row",
"Sources section present with >= 5 listed references",
"payload.json matches the skill schema (report_date, target_company, sector, currency, companies, sources, sections)",
"payload.sections.swot has >= 2 items in each of strengths/weaknesses/opportunities/threats",
"payload.sections.peer_summary.table has >= 3 rows",
"payload.sections.peer_financials.rows has >= 3 rows",
"payload.sections.macro_outlook.gdp_table.rows has >= 3 rows",
"payload.sections.financial_analysis.rating_history has >= 2 rows",
"payload.sections.scorecard.factors has >= 3 entries",
"payload.sections.esg_analysis.table has >= 1 row",
"payload.sources contains >= 5 references"
"Peer debt and profitability bar charts include period labels on each bar (e.g. FY2024) and a value-axis title with unit"
]
},
{
"id": 2,
"prompt": "I need a rating pitch for Tesla Inc. \u2014 sector is Automotive. Use USD and compare against 6 peers",
"expected_output": "Same structural requirements as eval-1, with 6 peers (not 5) resolved via getEntityPeers, USD honored in payload.currency, and peer tables / scatters reflecting 6 comparators. Tests natural-language phrasing + parameter handling (currency, peer count).",
"prompt": "I need a rating pitch for Tesla Inc. sector is Automotive. Use USD and compare against 6 peers",
"expected_output": "Same structural requirements as eval-1, with 6 peers resolved via getEntityPeers, USD honoured in payload.currency, and peer tables/charts reflecting 6 comparators. Tests natural-language phrasing and parameter handling (currency, peer count). Output is rating_pitch.html + payload.json only — no PPTX.",
"files": [],
"assertions": [
"Both artifacts exist (rating_pitch.pptx, payload.json)",
"PowerPoint file built from Moody's corporate template (>= 500 KB)",
"PowerPoint has >= 20 slides",
"payload.currency == 'USD'",
"payload.companies has >= 6 entries (target + 6 peers, target first)",
"payload.sections.peer_summary.table has >= 6 rows",
"payload.sections.peer_financials.rows has >= 6 rows",
"payload.sections.swot has >= 2 items in each of strengths/weaknesses/opportunities/threats",
"payload.sections.macro_outlook.gdp_table.rows has >= 3 rows",
"payload.sections.financial_analysis.rating_history has >= 2 rows",
"payload.sections.scorecard.factors has >= 3 entries",
"payload.sections.esg_analysis.table has >= 1 row",
"payload.sources contains >= 5 references"
"Both output files exist: rating_pitch.html and payload.json",
"rating_pitch.html is a valid standalone HTML document (starts with <!DOCTYPE html> and ends with </html>)",
"rating_pitch.html contains >= 20 <section> elements",
"rating_pitch.html contains all 3 part divider slides (Sector Analysis, Company Credit Overview, Company Positioning vs. Peers)",
"rating_pitch.html contains >= 14 <canvas> elements (one per Chart.js chart)",
"rating_pitch.html contains >= 14 new Chart( calls in <script> blocks",
"rating_pitch.html contains >= 6 <table> elements",
"SWOT section present with 4 quadrants (Strengths, Weaknesses, Opportunities, Threats) each containing >= 2 <li> bullets",
"Peer summary table has >= 6 company columns (6 peers requested)",
"Peer financials table has >= 6 company columns and >= 5 financial metric rows",
"Macro GDP table has >= 3 country rows",
"Rating history line chart present with >= 2 data points",
"Scorecard table has >= 3 factor rows",
"ESG table has >= 1 data row",
"Sources section present with >= 5 listed references",
"payload.json currency field equals USD",
"payload.json companies array contains >= 6 peer entries",
"payload.json matches the skill schema (report_date, target_company, sector, currency, companies, sources, sections)",
"Peer debt and profitability bar charts include period labels on each bar and a value-axis title with unit"
]
},
{
"id": 3,
"prompt": "Generate a credit pitch deck for JPMorgan Chase, Banking sector",
"expected_output": "Same structural requirements as eval-1, applied to a financial-institution target where bank-specific credit metrics (deposits, capital ratios) substitute for generic Debt/EBITDA. Tests sector flex (Banking vs A&D/Auto).",
"prompt": "Generate a credit pitch report for JPMorgan Chase, Banking sector",
"expected_output": "Same structural requirements as eval-1, applied to a financial-institution target where bank-specific credit metrics (deposits, capital ratios, NIM) may substitute for generic Debt/EBITDA where appropriate. Tests sector flexibility (Banking vs A&D/Auto). Output is rating_pitch.html + payload.json only — no PPTX.",
"files": [],
"assertions": [
"Both artifacts exist (rating_pitch.pptx, payload.json)",
"PowerPoint file built from Moody's corporate template (>= 500 KB)",
"PowerPoint has >= 20 slides",
"payload.sector matches 'Banking' (case-insensitive)",
"payload.sections.swot has >= 2 items in each of strengths/weaknesses/opportunities/threats",
"payload.sections.peer_summary.table has >= 3 rows",
"payload.sections.peer_financials.rows has >= 3 rows",
"payload.sections.macro_outlook.gdp_table.rows has >= 3 rows",
"payload.sections.financial_analysis.rating_history has >= 2 rows",
"payload.sections.scorecard.factors has >= 3 entries",
"payload.sections.esg_analysis.table has >= 1 row",
"payload.sources contains >= 5 references"
"Both output files exist: rating_pitch.html and payload.json",
"rating_pitch.html is a valid standalone HTML document (starts with <!DOCTYPE html> and ends with </html>)",
"rating_pitch.html contains >= 20 <section> elements",
"rating_pitch.html contains all 3 part divider slides (Sector Analysis, Company Credit Overview, Company Positioning vs. Peers)",
"rating_pitch.html contains >= 14 <canvas> elements (one per Chart.js chart)",
"rating_pitch.html contains >= 14 new Chart( calls in <script> blocks",
"rating_pitch.html contains >= 6 <table> elements",
"SWOT section present with 4 quadrants (Strengths, Weaknesses, Opportunities, Threats) each containing >= 2 <li> bullets",
"Peer summary table has >= 3 company columns",
"Peer financials table has >= 3 company columns and >= 5 financial metric rows",
"Macro GDP table has >= 3 country rows",
"Rating history line chart present with >= 2 data points",
"Scorecard table has >= 3 factor rows",
"ESG table has >= 1 data row",
"Sources section present with >= 5 listed references",
"payload.json target_company field contains JPMorgan and sector field contains Banking",
"payload.json matches the skill schema (report_date, target_company, sector, currency, companies, sources, sections)",
"Peer debt and profitability bar charts include period labels on each bar and a value-axis title with unit"
]
}
]
Expand Down
Loading