Skip to main content

moody-s-sector-brief

Produce a Sector Brief HTML report for any industry sector using Moody's GenAI MCP tools and web research. Use this skill whenever the user asks to analyze a sector, write a sector report, do an industry analysis, create a sector overview, or generate a sector deep-dive. Trigger even if they just name a sector and mention "analysis", "overview", "outlook", "report", or "deep-dive". Also trigger for phrases like "what's happening in the retail sector" or "give me a sector breakdown for aerospace".

跳到安装

来源信息

仓库
zhongjingyun/codex-plugins
最近来源活动
2026年7月6日 07:05
检测到的 SKILL.md 语言
英语
星标
16
分支
2

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
4 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
moody-s-sector-brief
description
Produce a Sector Brief HTML report for any industry sector using Moody's GenAI MCP tools and web research. Use this skill whenever the user asks to analyze a sector, write a sector report, do an industry analysis, create a sector overview, or generate a sector deep-dive. Trigger even if they just name a sector and mention "analysis", "overview", "outlook", "report", or "deep-dive". Also trigger for phrases like "what's happening in the retail sector" or "give me a sector breakdown for aerospace".
# Sector Brief Skill Generates a professional HTML report (styled like a Moody's sector brief document) for a specified industry sector. The report is research-heavy and text-driven, combining Moody's internal research with supplemental web data across six structured sections plus an executive summary and citations. The workflow is **single-artifact streaming**: gather all data, then stream the entire filled HTML document back to the user as one ` ```html ` fenced code block in the final assistant message. No file copy, no `open` step, no progressive `StrReplace` edits, no JSON payload, and no client-side render logic. The fenced code block is the deliverable. > ## ⚠️ CRITICAL — NON-NEGOTIABLE OUTPUT CONTRACT > > **The LLM MUST stream the final report back as a single HTML artifact inside the assistant > response.** This is the only acceptable form of delivery for this skill. Specifically: > > - The final assistant message **MUST** contain exactly one ` ```html ` fenced code block > holding the **complete, standalone HTML document** (`<!doctype html>` → `</html>`), with > every section from the streaming protocol populated inline. > - The LLM **MUST NOT** write the report to a file on disk (no `Write`, no `cp` of the > template, no `StrReplace` into a working artifact, no `open` command). > - The LLM **MUST NOT** split the report across multiple code blocks, multiple messages, > partial snippets, or summaries. > - The LLM **MUST NOT** substitute prose, Markdown, JSON, attachments, or links for the > fenced HTML artifact. The artifact itself is the answer. > - If data gathering fails partially, still emit the single ` ```html ` artifact with > the best-available content and brief `"Data unavailable"` placeholders for missing > sections — never skip the artifact. > > Treat any other output shape as a hard failure of the skill. ## Required MCP server `Moodys MCP server` — tools used: `searchEntityDocuments` (sector research), `getEntitySectorOutlook`, `searchNews`, `findEntity` Web research is also required via `searchNews` or general web search tools. If any of the tools required for a section do not exist, inform the user: One or more tools required for this section are not available under your current subscription. Unlock more of the expert insights, data, and analytics you trust. Get Link:https://www.moodys.com/web/en/us/capabilities/gen-ai/ai-ready-data.html with us to learn more. ## Bundled files - `assets/template.html` — pre-styled scaffold with the Moody's cover, a baked-in static 6-item table of contents, and empty fill-in targets (cover title, date, section-content divs, sources container). Treat this file as the **read-only structural reference**: read it, fill it in mentally, and emit the complete filled document in the final response. ## Template (shared) Before emitting the HTML report, **read both**: 1. [`skills/shared/template/SKILL.md`](../shared/template/SKILL.md) — authoring rules (which classes / snippets are owned by the shared layer, allowed per-skill overrides, outlook-badge usage). 2. [`skills/shared/template/assets/template.html`](../shared/template/assets/template.html) — canonical CSS (inside `<style id="shared-template-css">`) and literal HTML markup snippets (inside `<template>` tags) for the document head, cover, TOC, section block, sources-section wrapper, footer, and outlook-badge. **Lookup order — always check the shared template before inventing.** If a class, design token, layout primitive, or scaffold element you need is not defined in this `SKILL.md` or already present in this skill's `assets/template.html`, the shared template skill is authoritative. Do not invent CSS, HTML scaffolds, or design tokens that the shared skill already provides; do not silently restyle anything the shared skill owns (cover, TOC, section, sources-section wrapper, footer, outlook-badge, design tokens, reset, body / page base). At emit time, copy the **contents** (not the `<style>` wrapper) of `<style id="shared-template-css">` from the shared asset into the parent template's reserved marker region between the CSS-comment markers `/* BEGIN shared-template-css ... */` and `/* END shared-template-css */`. For HTML scaffolds (head boilerplate, cover, TOC, sources-section wrapper, footer), use the literal markup from the matching `<template>` snippet in the shared asset. The parent template no longer carries duplicated chrome CSS — those rules ship only in the shared asset. This skill uses the **`cover-simple`** variant. Skill-specific overrides retained above the marker region: **none** for SA (it inherits the canonical `body { font-size: 13px }` and `.page { max-width: 900px }` defaults). SA is the lightest of the four parent skills — almost all its visual chrome now lives in the shared layer. Any outlook-badge usage in this skill (e.g. for sector outlook indicators) must use the canonical pastel variants (`stable` / `positive` / `negative` / `review` / `na`) defined by the shared skill — no solid-fill or inline-color overrides. ## Citations (shared) Before emitting any `[n]` reference inline or the end-of-document Citations block, **read both**: 1. [`skills/shared/citations/SKILL.md`](../shared/citations/SKILL.md) — authoring rules (numbering, hyperlinking, source data shape, carve-outs). 2. [`skills/shared/citations/assets/template.html`](../shared/citations/assets/template.html) — canonical CSS (inside `<style id="shared-citations-css">`) and literal HTML markup snippets (inside `<template>` tags) for inline references and the end-of-document Citations block. At emit time, copy the **contents** (not the wrapper) of `<style id="shared-citations-css">` from the shared asset into the parent template's reserved marker region, located inside `assets/template.html` between the CSS-comment markers `/* BEGIN shared-citations-css … */` and `/* END shared-citations-css */`. The parent template no longer carries duplicated citation CSS — those rules ship only in the shared asset. The prefix used for the end-of-document container in this skill is `sa`, so the container id is `#sa-sources`. This skill does not use the optional per-section `.section-citations` recap component. ## Parameters The user should provide: - **Sector** (required — e.g., "Retail & Apparel", "Aerospace/Defense", "Banking") If the user specifies a sub-sector like "Luxury Retail", use it as-is for focused analysis. --- ## Step 0 — Sector Picker (run before anything else) If the user has not named a specific sector in their message, **stop** and call `ask_user_input_v0` with a single `single_select` question before proceeding. Do **not** begin any research or template reading until the sector is confirmed. **Preamble:** "Which Moody's-covered sector would you like to analyze? Select one below and I'll generate the full report." **Options:** - Aerospace & Defense - Automotive Manufacturing - Banking — Global - Building Materials & Construction - Chemicals - Commercial Real Estate & REITs - Consumer Products - Diversified Manufacturing - Food & Beverage - Forest Products & Paper - Gaming & Lodging - Healthcare — Hospitals & Health Systems - Healthcare — Medical Devices & Technology - Healthcare — Pharmaceuticals - Infrastructure & Project Finance - Insurance - Media & Entertainment - Metals & Mining - Oil & Gas — E&P - Oil & Gas — Integrated & Refining - Oil & Gas — Midstream & Pipeline - Packaging - Retail & Apparel - Shipping & Ports - Steel - Structured Finance — ABS/RMBS/CMBS - Technology — Hardware & Semiconductors - Technology — Software & Services - Telecommunications - Transportation & Logistics - Utilities — Electric - Utilities — Gas Distribution - Utilities — Water Once the user selects, treat their choice exactly as if they had typed `Run a sector brief for {selected sector}` and continue from Step 1. If the user already named a sector, **skip this step entirely** and go straight to Step 1. --- ## Step 1 — Read the template Read `assets/template.html` (relative to this skill directory) once. Keep its exact structure — CSS, `<head>`, cover, hardcoded TOC, section order, and element IDs — as the scaffold for the final artifact. Do **not** copy it to the workspace and do **not** open it. --- ## Step 2 — Research phase (parallel) Fire ALL of the following searches in a **single parallel batch**: ### Moody's internal research (via MCP) | Search | Purpose | |--------|---------| | `searchEntityDocuments` with criteria: "{Sector} Sector Overview" | Sector definition, methodology, key activities | | `searchEntityDocuments` with criteria: "Economic factors impact on {Sector} Sector" | Macro-economic context | | `searchEntityDocuments` with criteria: "{Sector} Sector, industry" | Financial performance data | | `searchEntityDocuments` with criteria: "{Sector} Sector Risk and challenges" | Risk analysis | | `searchEntityDocuments` with criteria: "{Sector} sector Outlook" | Sector outlook | | `getEntitySectorOutlook` for a major company in the sector | Formal Moody's outlook | ### Web research (via searchNews or web tools) | Search | Purpose | |--------|---------| | "Key players from {Sector} industry, market share, roles" | Key players for overview | | "Key regions of activity and growth markets for {Sector} sector" | Geographic scope | | "{Sector} sector aggregate revenue, profit margins, return on equity" | Financial metrics | | "Major companies from {Sector} sector benchmark comparison" | Industry structure and dynamics | --- ## Step 3 — Synthesize all sections Use Moody's internal research as the **primary foundation** for every section. Web sources serve only to supplement gaps or validate findings. When conflicts arise, prioritize Moody's unless external data provides substantial evidence for reconsideration. Write in professional credit-research language. Always attribute sources with numbered citation references inline. The exact inline markup, the URL-less fallback, and the rule that `n` matches the row position of the source inside `#sa-sources` are defined in [skills/shared/citations/SKILL.md](../shared/citations/SKILL.md). ### Executive Summary Write after all other sections are complete. Half-page maximum. Highlight the most relevant data from each section. No bullet points — flowing paragraphs only. ### Section 1: Sector Overview Four subsections: 1. **Description of the Sector** — Define the industry, key activities, product/service categories, and business-model differences 2. **Market Size and Growth Trends** — Current market size (revenue, volume), historical growth rates, regional growth data 3. **Key Players** — Major companies, market share, roles within the sector 4. **Geographic Scope** — Key regions of activity, potential growth markets, region-specific trends ### Section 2: Macro-Economic Context Three subsections: 1. **Economic Indicators** — How GDP growth, inflation, interest rates, consumer spending/confidence impact the sector 2. **Regulatory Environment** — Laws, regulations, compliance risks, tariff/trade policy 3. **Global Trends and External Factors** — Geopolitical issues, trade policies, technological disruptions, channel evolution ### Section 3: Financial Performance Analysis Three subsections with **mandatory quantitative data**: 1. **Sector-Level Financial Metrics** — Aggregate revenue, profit margins, return on equity, other key metrics. Every metric must include the actual number (e.g., "Aggregate revenue of $35.2 trillion in 2025") followed by analytical commentary 2. **Historical Trends** — Past performance trends, demand/earnings trajectories, recent growth rates 3. **Projected Financial Outlook** — Forecast key metrics, earnings outlook, key drivers shaping the near-term, structural offsets and strategic responses ### Section 4: Industry Structure and Dynamics Four subsections: 1. **Main Participants** — Benchmark major companies, roles, market share, significance 2. **Supply Chain Analysis** — Suppliers, manufacturers, distributors, customers, key pressure points 3. **Competitive Landscape** — Porter's Five Forces analysis with Moody's-grounded commentary for each force (use ratings High / Moderate / Low for each force) 4. **Barriers to Entry** — Capital requirements, regulatory hurdles, technology requirements, market saturation ### Section 5: Risks and Challenges Five subsections: 1. **Operational Risks** — Supply chain disruptions, labor shortages, working capital 2. **Regulatory Risks** — Compliance requirements, policy changes, tariff exposure 3. **Market Risks** — Demand volatility, competition, pricing, category weakness 4. **Financial Performance and Capital Structure** — Refinancing risk, default outlook, margin pressure, deleveraging 5. **Environmental and Social Risks** — ESG considerations, climate risk, social/governance pressures ### Section 6: Sector Outlook State the Moody's outlook (Positive, Stable, Negative) and date. Then provide 2-3 well-developed paragraphs explaining the rationale — primary drivers, regional nuances, key factors and considerations. All paragraph form, no bullet points. ### Sources Collect all sources. The source data shape (`id`, `title`, `source`, `date`, `url`) and the end-of-document Citations row markup are defined in [skills/shared/citations/SKILL.md](../shared/citations/SKILL.md). --- ## Inline SVG Charts — Section Instructions After synthesizing each of the following sections, embed one inline SVG chart directly in the section content at the position indicated. All charts must be self-contained (no external scripts or stylesheets), include a `<title>` element for accessibility, and use `font-family: 'Source Sans Pro', Arial, sans-serif` inside an embedded `<style>` block. ### Section 3 — Financial Performance Analysis Insert **Chart A** immediately after the Historical Trends subsection prose: - Type: grouped bar chart (revenue) with a right-axis line series (EBITDA margin %) - X-axis: fiscal years (last 3–5 years); left Y-axis: revenue ($B or $T); right Y-axis: margin (%) - Bar color: `#003087`; line color: `#0073CF` - `viewBox="0 0 700 320"` ### Section 4 — Industry Structure and Dynamics Insert **Chart C** immediately after the Porter's Five Forces prose: - Type: horizontal scored bar chart, one bar per force (5 bars) - Map ratings to scores: High = 3, Moderate = 2, Low = 1; scale bar lengths to a 1–3 axis - Bar colors: High = `#C0392B`, Moderate = `#E67E22`, Low = `#27AE60` - `viewBox="0 0 700 220"` ### Section 6 — Sector Outlook Insert **Chart D** immediately after the outlook paragraphs: - Type: horizontal three-zone sentiment track (Negative | Stable | Positive) with a triangular marker at the current outlook position - Zone colors: Negative = `#C0392B`, Stable = `#2980B9`, Positive = `#27AE60`; marker color matches active zone - Label the current outlook and date below the track - `viewBox="0 0 700 120"` ### Pre-computation requirement — mandatory, no exceptions Before writing any SVG `x`, `y`, `width`, `height`, or `points` attribute that depends on a calculated value (bar lengths, axis tick positions, scale factors, percentage-to-pixel conversions, label offsets, marker positions), compute every value programmatically. **If you do not have a calculator tool, use bash or Python to compute all of the above values before emitting any SVG — do not attempt to calculate them mentally.** Record the computed values, verify them, then substitute the confirmed numbers into the SVG markup. If source data for any chart is unavailable, emit a `<p>Chart data unavailable</p>` placeholder in its place — never omit it silently. --- ## Step 4 — Stream the complete HTML artifact After all sections are synthesized, produce **one** final assistant message. The message contains: 1. A one-line summary sentence (e.g. `Sector Brief for {Sector}:`). 2. A single fenced ` ```html ` code block containing the **entire filled `template.html` document** — with every element from the streaming protocol populated in place. No partial documents, no separate code blocks per section. The code block **must**: - Start at column 0 with ` ```html ` and end with a closing ` ``` ` on its own line. - Contain a complete, standalone HTML document (doctype → `</html>`) that renders without external dependencies. - Preserve the template's `<head>` (CSS, fonts), cover, hardcoded TOC, section order, and element IDs exactly. Only the empty targets defined below are populated. ### Cover + footer 1. `#sa-cover-title` — `<strong>{Sector}</strong><br>Analysis` (HTML, not plain text). 2. `#sa-date` — report date string, e.g. `April 15, 2026`. 3. `#sa-footer-date` — same date string. ### Section headings 4. `#sa-overview-title` — override the default "Sector Overview" with `{Sector} — Sector Overview`. ### Section content targets Each of the following divs takes fully-authored HTML (`<p>`, `<ul><li>`, and `<strong class="subsection-title">…</strong>` only — no other block tags): 5. `#sa-exec` — Executive Summary. Flowing paragraphs only, no bullets. 6. `#sa-overview` — Section 1 body with four `<strong class="subsection-title">` subheaders. 7. `#sa-macro` — Section 2 body with three subheaders. 8. `#sa-financial` — Section 3 body with three subheaders. Every metric must include a concrete number.
在 GitHub 查看
这个 SKILL.md 很大,SkillsMP 这里只预览前一段内容。 在 GitHub 查看