@laitszkin/apollo-toolkit 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/AGENTS.md +62 -0
  2. package/CHANGELOG.md +100 -0
  3. package/LICENSE +21 -0
  4. package/README.md +144 -0
  5. package/align-project-documents/SKILL.md +94 -0
  6. package/align-project-documents/agents/openai.yaml +4 -0
  7. package/analyse-app-logs/LICENSE +21 -0
  8. package/analyse-app-logs/README.md +126 -0
  9. package/analyse-app-logs/SKILL.md +121 -0
  10. package/analyse-app-logs/agents/openai.yaml +4 -0
  11. package/analyse-app-logs/references/investigation-checklist.md +58 -0
  12. package/analyse-app-logs/references/log-signal-patterns.md +52 -0
  13. package/answering-questions-with-research/SKILL.md +46 -0
  14. package/answering-questions-with-research/agents/openai.yaml +4 -0
  15. package/bin/apollo-toolkit.js +7 -0
  16. package/commit-and-push/LICENSE +21 -0
  17. package/commit-and-push/README.md +26 -0
  18. package/commit-and-push/SKILL.md +70 -0
  19. package/commit-and-push/agents/openai.yaml +4 -0
  20. package/commit-and-push/references/branch-naming.md +15 -0
  21. package/commit-and-push/references/commit-messages.md +19 -0
  22. package/deep-research-topics/LICENSE +21 -0
  23. package/deep-research-topics/README.md +43 -0
  24. package/deep-research-topics/SKILL.md +84 -0
  25. package/deep-research-topics/agents/openai.yaml +4 -0
  26. package/develop-new-features/LICENSE +21 -0
  27. package/develop-new-features/README.md +52 -0
  28. package/develop-new-features/SKILL.md +105 -0
  29. package/develop-new-features/agents/openai.yaml +4 -0
  30. package/develop-new-features/references/testing-e2e.md +35 -0
  31. package/develop-new-features/references/testing-integration.md +42 -0
  32. package/develop-new-features/references/testing-property-based.md +44 -0
  33. package/develop-new-features/references/testing-unit.md +37 -0
  34. package/discover-edge-cases/CHANGELOG.md +19 -0
  35. package/discover-edge-cases/LICENSE +21 -0
  36. package/discover-edge-cases/README.md +87 -0
  37. package/discover-edge-cases/SKILL.md +124 -0
  38. package/discover-edge-cases/agents/openai.yaml +4 -0
  39. package/discover-edge-cases/references/architecture-edge-cases.md +41 -0
  40. package/discover-edge-cases/references/code-edge-cases.md +46 -0
  41. package/docs-to-voice/.env.example +106 -0
  42. package/docs-to-voice/CHANGELOG.md +71 -0
  43. package/docs-to-voice/LICENSE +21 -0
  44. package/docs-to-voice/README.md +118 -0
  45. package/docs-to-voice/SKILL.md +107 -0
  46. package/docs-to-voice/agents/openai.yaml +4 -0
  47. package/docs-to-voice/scripts/docs_to_voice.py +1385 -0
  48. package/docs-to-voice/scripts/docs_to_voice.sh +11 -0
  49. package/docs-to-voice/tests/test_docs_to_voice_api_max_chars.py +210 -0
  50. package/docs-to-voice/tests/test_docs_to_voice_sentence_timeline.py +115 -0
  51. package/docs-to-voice/tests/test_docs_to_voice_settings.py +43 -0
  52. package/docs-to-voice/tests/test_docs_to_voice_speech_rate.py +57 -0
  53. package/enhance-existing-features/CHANGELOG.md +35 -0
  54. package/enhance-existing-features/LICENSE +21 -0
  55. package/enhance-existing-features/README.md +54 -0
  56. package/enhance-existing-features/SKILL.md +120 -0
  57. package/enhance-existing-features/agents/openai.yaml +4 -0
  58. package/enhance-existing-features/references/e2e-tests.md +25 -0
  59. package/enhance-existing-features/references/integration-tests.md +30 -0
  60. package/enhance-existing-features/references/property-based-tests.md +33 -0
  61. package/enhance-existing-features/references/unit-tests.md +29 -0
  62. package/feature-propose/LICENSE +21 -0
  63. package/feature-propose/README.md +23 -0
  64. package/feature-propose/SKILL.md +107 -0
  65. package/feature-propose/agents/openai.yaml +4 -0
  66. package/feature-propose/references/enhancement-features.md +25 -0
  67. package/feature-propose/references/important-features.md +25 -0
  68. package/feature-propose/references/mvp-features.md +25 -0
  69. package/feature-propose/references/performance-features.md +25 -0
  70. package/financial-research/SKILL.md +208 -0
  71. package/financial-research/agents/openai.yaml +4 -0
  72. package/financial-research/assets/weekly_market_report_template.md +45 -0
  73. package/fix-github-issues/SKILL.md +98 -0
  74. package/fix-github-issues/agents/openai.yaml +4 -0
  75. package/fix-github-issues/scripts/list_issues.py +148 -0
  76. package/fix-github-issues/tests/test_list_issues.py +127 -0
  77. package/generate-spec/LICENSE +21 -0
  78. package/generate-spec/README.md +61 -0
  79. package/generate-spec/SKILL.md +96 -0
  80. package/generate-spec/agents/openai.yaml +4 -0
  81. package/generate-spec/references/templates/checklist.md +78 -0
  82. package/generate-spec/references/templates/spec.md +55 -0
  83. package/generate-spec/references/templates/tasks.md +35 -0
  84. package/generate-spec/scripts/create-specs +123 -0
  85. package/harden-app-security/CHANGELOG.md +27 -0
  86. package/harden-app-security/LICENSE +21 -0
  87. package/harden-app-security/README.md +46 -0
  88. package/harden-app-security/SKILL.md +127 -0
  89. package/harden-app-security/agents/openai.yaml +4 -0
  90. package/harden-app-security/references/agent-attack-catalog.md +117 -0
  91. package/harden-app-security/references/common-software-attack-catalog.md +168 -0
  92. package/harden-app-security/references/red-team-extreme-scenarios.md +81 -0
  93. package/harden-app-security/references/risk-checklist.md +78 -0
  94. package/harden-app-security/references/security-test-patterns-agent.md +101 -0
  95. package/harden-app-security/references/security-test-patterns-finance.md +88 -0
  96. package/harden-app-security/references/test-snippets.md +73 -0
  97. package/improve-observability/SKILL.md +114 -0
  98. package/improve-observability/agents/openai.yaml +4 -0
  99. package/learn-skill-from-conversations/CHANGELOG.md +15 -0
  100. package/learn-skill-from-conversations/LICENSE +22 -0
  101. package/learn-skill-from-conversations/README.md +47 -0
  102. package/learn-skill-from-conversations/SKILL.md +85 -0
  103. package/learn-skill-from-conversations/agents/openai.yaml +4 -0
  104. package/learn-skill-from-conversations/scripts/extract_recent_conversations.py +369 -0
  105. package/learn-skill-from-conversations/tests/test_extract_recent_conversations.py +176 -0
  106. package/learning-error-book/SKILL.md +112 -0
  107. package/learning-error-book/agents/openai.yaml +4 -0
  108. package/learning-error-book/assets/error_book_template.md +66 -0
  109. package/learning-error-book/scripts/render_markdown_to_pdf.py +367 -0
  110. package/lib/cli.js +338 -0
  111. package/lib/installer.js +225 -0
  112. package/maintain-project-constraints/SKILL.md +109 -0
  113. package/maintain-project-constraints/agents/openai.yaml +4 -0
  114. package/maintain-skill-catalog/README.md +18 -0
  115. package/maintain-skill-catalog/SKILL.md +66 -0
  116. package/maintain-skill-catalog/agents/openai.yaml +4 -0
  117. package/novel-to-short-video/CHANGELOG.md +53 -0
  118. package/novel-to-short-video/LICENSE +21 -0
  119. package/novel-to-short-video/README.md +63 -0
  120. package/novel-to-short-video/SKILL.md +233 -0
  121. package/novel-to-short-video/agents/openai.yaml +4 -0
  122. package/novel-to-short-video/references/plan-template.md +71 -0
  123. package/novel-to-short-video/references/roles-json.md +41 -0
  124. package/open-github-issue/LICENSE +21 -0
  125. package/open-github-issue/README.md +97 -0
  126. package/open-github-issue/SKILL.md +119 -0
  127. package/open-github-issue/agents/openai.yaml +4 -0
  128. package/open-github-issue/scripts/open_github_issue.py +380 -0
  129. package/open-github-issue/tests/test_open_github_issue.py +159 -0
  130. package/open-source-pr-workflow/CHANGELOG.md +32 -0
  131. package/open-source-pr-workflow/LICENSE +21 -0
  132. package/open-source-pr-workflow/README.md +23 -0
  133. package/open-source-pr-workflow/SKILL.md +123 -0
  134. package/open-source-pr-workflow/agents/openai.yaml +4 -0
  135. package/openai-text-to-image-storyboard/.env.example +10 -0
  136. package/openai-text-to-image-storyboard/CHANGELOG.md +49 -0
  137. package/openai-text-to-image-storyboard/LICENSE +21 -0
  138. package/openai-text-to-image-storyboard/README.md +99 -0
  139. package/openai-text-to-image-storyboard/SKILL.md +107 -0
  140. package/openai-text-to-image-storyboard/agents/openai.yaml +4 -0
  141. package/openai-text-to-image-storyboard/scripts/generate_storyboard_images.py +763 -0
  142. package/package.json +36 -0
  143. package/record-spending/SKILL.md +113 -0
  144. package/record-spending/agents/openai.yaml +4 -0
  145. package/record-spending/references/account-format.md +33 -0
  146. package/record-spending/references/workbook-layout.md +84 -0
  147. package/resolve-review-comments/SKILL.md +122 -0
  148. package/resolve-review-comments/agents/openai.yaml +4 -0
  149. package/resolve-review-comments/references/adoption-criteria.md +23 -0
  150. package/resolve-review-comments/scripts/review_threads.py +425 -0
  151. package/resolve-review-comments/tests/test_review_threads.py +74 -0
  152. package/review-change-set/LICENSE +21 -0
  153. package/review-change-set/README.md +55 -0
  154. package/review-change-set/SKILL.md +103 -0
  155. package/review-change-set/agents/openai.yaml +4 -0
  156. package/review-codebases/LICENSE +21 -0
  157. package/review-codebases/README.md +67 -0
  158. package/review-codebases/SKILL.md +109 -0
  159. package/review-codebases/agents/openai.yaml +4 -0
  160. package/scripts/install_skills.ps1 +283 -0
  161. package/scripts/install_skills.sh +262 -0
  162. package/scripts/validate_openai_agent_config.py +194 -0
  163. package/scripts/validate_skill_frontmatter.py +110 -0
  164. package/specs-to-project-docs/LICENSE +21 -0
  165. package/specs-to-project-docs/README.md +57 -0
  166. package/specs-to-project-docs/SKILL.md +111 -0
  167. package/specs-to-project-docs/agents/openai.yaml +4 -0
  168. package/specs-to-project-docs/references/templates/architecture.md +29 -0
  169. package/specs-to-project-docs/references/templates/configuration.md +29 -0
  170. package/specs-to-project-docs/references/templates/developer-guide.md +33 -0
  171. package/specs-to-project-docs/references/templates/docs-index.md +39 -0
  172. package/specs-to-project-docs/references/templates/features.md +25 -0
  173. package/specs-to-project-docs/references/templates/getting-started.md +38 -0
  174. package/specs-to-project-docs/references/templates/readme.md +49 -0
  175. package/systematic-debug/LICENSE +21 -0
  176. package/systematic-debug/README.md +81 -0
  177. package/systematic-debug/SKILL.md +59 -0
  178. package/systematic-debug/agents/openai.yaml +4 -0
  179. package/text-to-short-video/.env.example +36 -0
  180. package/text-to-short-video/LICENSE +21 -0
  181. package/text-to-short-video/README.md +82 -0
  182. package/text-to-short-video/SKILL.md +221 -0
  183. package/text-to-short-video/agents/openai.yaml +4 -0
  184. package/text-to-short-video/scripts/enforce_video_aspect_ratio.py +350 -0
  185. package/version-release/CHANGELOG.md +53 -0
  186. package/version-release/LICENSE +21 -0
  187. package/version-release/README.md +28 -0
  188. package/version-release/SKILL.md +94 -0
  189. package/version-release/agents/openai.yaml +4 -0
  190. package/version-release/references/branch-naming.md +15 -0
  191. package/version-release/references/changelog-writing.md +8 -0
  192. package/version-release/references/commit-messages.md +19 -0
  193. package/version-release/references/readme-writing.md +12 -0
  194. package/version-release/references/semantic-versioning.md +12 -0
  195. package/video-production/CHANGELOG.md +104 -0
  196. package/video-production/LICENSE +18 -0
  197. package/video-production/README.md +68 -0
  198. package/video-production/SKILL.md +213 -0
  199. package/video-production/agents/openai.yaml +4 -0
  200. package/video-production/references/plan-template.md +54 -0
  201. package/video-production/references/roles-json.md +41 -0
  202. package/weekly-financial-event-report/SKILL.md +195 -0
  203. package/weekly-financial-event-report/agents/openai.yaml +4 -0
  204. package/weekly-financial-event-report/assets/financial_event_report_template.md +53 -0
@@ -0,0 +1,41 @@
1
+ # `roles.json` Definition
2
+
3
+ Use this schema when preparing recurring-role prompts:
4
+
5
+ - `<project_dir>/roles/roles.json`
6
+
7
+ ## JSON Shape
8
+
9
+ ```json
10
+ {
11
+ "characters": [
12
+ {
13
+ "id": "lin_xia",
14
+ "name": "Lin Xia",
15
+ "appearance": "short black hair, amber eyes, slim build",
16
+ "outfit": "dark trench coat, silver pendant, leather boots",
17
+ "description": "standing calmly, observant expression"
18
+ }
19
+ ]
20
+ }
21
+ ```
22
+
23
+ ## Rules
24
+
25
+ - Top-level key must be `characters` (array).
26
+ - If the file does not exist, create `roles.json` first with this schema before prompt generation.
27
+ - Each character entry must include:
28
+ - `id`
29
+ - `name`
30
+ - `appearance`
31
+ - `outfit`
32
+ - `description`
33
+ - Reuse existing role entries first; add only missing roles.
34
+ - Keep role `id` stable so prompts can reference the same character across scenes.
35
+ - If there are no recurring roles, use:
36
+
37
+ ```json
38
+ {"characters": []}
39
+ ```
40
+
41
+ Use this shared file so long-video workflows can reuse the same role definitions across runs within one project.
@@ -0,0 +1,195 @@
1
+ ---
2
+ name: weekly-financial-event-report
3
+ description: Read a user-specified PDF that marks the week's key financial events, deeply research each marked event with current sources, capture any additional breaking financial developments, and produce a concise Chinese-capable PDF briefing that explains what happened and why it matters.
4
+ ---
5
+
6
+ # Weekly Financial Event Report
7
+
8
+ ## Dependencies
9
+
10
+ - Required: `pdf` to read the source PDF and render the final report.
11
+ - Conditional: none.
12
+ - Optional: none.
13
+ - Fallback: If `pdf` is unavailable, stop and report the missing dependency instead of improvising another PDF workflow.
14
+
15
+ ## Standards
16
+
17
+ - Evidence: Research only events explicitly marked in the source PDF plus clearly material breaking developments, and verify claims with current authoritative sources.
18
+ - Execution: Read the PDF first, lock the research window, research each marked event, then hand the final briefing to `pdf` for rendering and QA.
19
+ - Quality: Keep the report concise, Chinese-compatible, and explicit about source-versus-breaking events, conflicts, uncertainty, and PDF font safety.
20
+ - Output: Save only the final standardized PDF under the month folder using the financial-event-report naming scheme.
21
+
22
+ ## Overview
23
+
24
+ Turn a marked weekly finance PDF into a short, evidence-based report that a user can read in a few minutes. The workflow starts from the user's source PDF, extracts the explicitly marked key events, validates each event with current reporting and primary sources, adds any material breaking financial developments, and delivers the final briefing as a Chinese-compatible PDF.
25
+
26
+ ## Behavior Contract
27
+
28
+ GIVEN the user provides a PDF that marks weekly key financial events
29
+ WHEN the agent uses this skill
30
+ THEN the agent must read the PDF first
31
+ AND identify only the events that are explicitly marked or clearly designated in the document
32
+ AND research each marked event with current sources
33
+ AND capture any additional breaking financial events that materially changed the week's interpretation
34
+ AND produce a concise, standardized PDF report that explains the event timeline, market impact, and why the events matter
35
+ AND default the report language to Chinese unless the user explicitly requests another language.
36
+
37
+ ## Required Inputs
38
+
39
+ Before writing, confirm these facts from the PDF, user context, or current sources:
40
+
41
+ - Path to the source PDF
42
+ - The week or date range covered by the source PDF
43
+ - Any user-specified geography, market, sector, or asset-class focus
44
+ - Output directory if the user specified one
45
+ - Language preference if different from the Chinese default
46
+
47
+ Do not guess any input that materially changes the research window or report scope.
48
+
49
+ ## Source Rules
50
+
51
+ - Use current web research for time-sensitive claims.
52
+ - Prefer primary or authoritative sources first:
53
+ - central banks
54
+ - government statistical agencies
55
+ - regulators
56
+ - exchanges
57
+ - company filings or official releases
58
+ - Use high-quality financial reporting to triangulate facts, surface timelines, or explain market reactions.
59
+ - Record the event date or publication date for every material claim.
60
+ - Separate confirmed facts from interpretation.
61
+ - Distinguish between:
62
+ - events explicitly marked in the source PDF
63
+ - additional breaking events added during research
64
+
65
+ ## Workflow
66
+
67
+ ### 1) Read the source PDF and extract the marked events
68
+
69
+ - Use the `pdf` skill to open and extract the source PDF.
70
+ - Identify the document's explicit markers, such as highlights, comments, callouts, boxed sections, bookmarks, or clearly labeled weekly key-event sections.
71
+ - Build a source-event table before searching. For each marked event capture:
72
+ - page number
73
+ - event label in the source PDF
74
+ - date or date range if present
75
+ - short note about why the source document highlighted it
76
+ - If the PDF does not expose machine-readable annotations, fall back to clearly visible marked sections or headings.
77
+ - If the document still does not make the marked events unambiguous, stop and report the ambiguity rather than inventing events.
78
+
79
+ ### 2) Lock the research window
80
+
81
+ - Prefer the exact week or date range stated in the source PDF.
82
+ - If the PDF lacks an explicit range, infer the window only from unambiguous document evidence such as the title, cover date, or repeated date markers.
83
+ - If the research window remains unclear, report the ambiguity instead of assuming one.
84
+ - State exact calendar dates and timezone in the report.
85
+
86
+ ### 3) Research each marked event deeply
87
+
88
+ - For every marked event, gather:
89
+ - what happened
90
+ - when it happened
91
+ - the direct trigger or official announcement
92
+ - market or macro channels affected
93
+ - the immediate reaction
94
+ - why the event matters after the initial headline
95
+ - Prefer direct evidence over commentary.
96
+ - When multiple sources disagree, explain the conflict instead of forcing a single narrative.
97
+
98
+ ### 4) Capture additional breaking financial events
99
+
100
+ - Search for material financial or macro developments that occurred within the report window or after the source PDF was prepared but before report finalization.
101
+ - Add an event only when it materially changes the user's understanding of the week, such as:
102
+ - surprise central-bank communication
103
+ - emergency policy action
104
+ - major bank, fund, or exchange stress
105
+ - sharp cross-asset repricing
106
+ - geopolitical shocks with direct market spillovers
107
+ - unexpected company events with broad market consequences
108
+ - Label these clearly as newly added breaking events rather than source-PDF items.
109
+
110
+ ### 5) Write the standardized report
111
+
112
+ - Start from `assets/financial_event_report_template.md`.
113
+ - Keep the report short enough for a fast read; default target is roughly 2-5 pages unless the user asks otherwise.
114
+ - Default to Chinese if the user does not specify another language.
115
+ - Explain both the sequence of events and the practical market impact.
116
+ - For each marked event, answer:
117
+ - what happened
118
+ - why it mattered
119
+ - what markets or sectors moved
120
+ - what remains unresolved
121
+ - Include a dedicated section for additional breaking events.
122
+ - Include a final section on implications and watchpoints.
123
+
124
+ ### 6) Prepare PDF requirements for the `pdf` skill
125
+
126
+ - The final PDF must support Chinese text cleanly.
127
+ - Pass the font and rendering requirements to the `pdf` skill instead of implementing a separate export path here.
128
+ - On macOS, require the `pdf` skill to verify the font path before rendering.
129
+ - When the PDF workflow allows explicit font selection, ask the `pdf` skill to prefer a locally verified CJK font in this order:
130
+ - `/System/Library/Fonts/Hiragino Sans GB.ttc`
131
+ - `/System/Library/Fonts/Supplemental/Songti.ttc`
132
+ - `/Library/Fonts/Arial Unicode.ttf`
133
+ - `/System/Library/Fonts/STHeiti Medium.ttc`
134
+ - `/System/Library/Fonts/STHeiti Light.ttc`
135
+ - Do not assume `PingFang` is available on every macOS host.
136
+ - If the active `pdf` workflow already has a verified Chinese-safe default on the current machine, reuse that verified default instead of overriding it.
137
+ - Avoid emoji and uncommon glyphs that often break during rendering.
138
+
139
+ ### 7) Delegate rendering and PDF QA to the `pdf` skill
140
+
141
+ - Hand the completed report content and font requirements to the `pdf` skill for rendering.
142
+ - Require the `pdf` skill to open the rendered PDF locally before finishing.
143
+ - Require the `pdf` skill to capture temporary screenshots from the rendered PDF before considering the report complete.
144
+ - Require the `pdf` skill to inspect at least:
145
+ - the first page
146
+ - one page with a table or timeline
147
+ - one page with dense paragraph text
148
+ - Require the `pdf` skill to verify:
149
+ - Chinese glyphs render correctly
150
+ - no tofu boxes or missing characters
151
+ - headings and body text are visually balanced
152
+ - line wrapping is readable
153
+ - tables remain legible
154
+ - Treat those screenshots as temporary QA artifacts only.
155
+ - If the output fails visual QA, revise the content or PDF requirements and call the `pdf` skill again.
156
+ - After the final PDF passes QA, require the `pdf` skill to delete all temporary screenshots before finishing.
157
+
158
+ ## Standard Report Requirements
159
+
160
+ The report must contain these sections in order:
161
+
162
+ 1. Report title and source document
163
+ 2. Generated time and research window
164
+ 3. Executive summary
165
+ 4. Source PDF marked-event overview
166
+ 5. Key marked events and deep analysis
167
+ 6. Additional breaking financial events
168
+ 7. Cross-market impact and implications
169
+ 8. Watchpoints for the coming days
170
+ 9. Risks, uncertainty, and source limitations
171
+
172
+ ## File Layout Rules
173
+
174
+ - Store reports inside a month-based folder named `YYYY-MM`.
175
+ - If the user gives a base output directory, create or reuse `YYYY-MM` beneath it.
176
+ - If the user does not give a base output directory, use the current working directory as the base.
177
+ - Keep only the final PDF as the persistent deliverable.
178
+ - Remove temporary working files after rendering.
179
+ - Do not keep QA screenshots unless the user explicitly asks to preserve them.
180
+
181
+ ## Report Naming Rules
182
+
183
+ - The visible report title must use this exact pattern:
184
+ - `[YYYY/M/D-YYYY/M/D]-financial-event-report`
185
+ - Build the date range from the exact research window start and end dates.
186
+ - Because `/` is not safe in macOS filenames, the PDF filename must use:
187
+ - `[YYYY-M-D-YYYY-M-D]-financial-event-report.pdf`
188
+
189
+ ## Output Rules
190
+
191
+ - The default deliverable is a PDF.
192
+ - Save the final file at `YYYY-MM/[YYYY-M-D-YYYY-M-D]-financial-event-report.pdf`.
193
+ - The default language is Chinese unless the user explicitly requests another language.
194
+ - Keep the report evidence-based, concise, and decision-useful.
195
+ - Make it easy for a user to understand the week's important financial developments within a few minutes.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Weekly Financial Event Report"
3
+ short_description: "Turn a marked finance PDF into a concise Chinese-capable PDF briefing"
4
+ default_prompt: "Use $weekly-financial-event-report to read the user's marked weekly finance PDF, extract the explicitly marked events, research each one with current sources, add any material breaking financial developments, prepare the report content, and then delegate final PDF generation and PDF QA to $pdf."
@@ -0,0 +1,53 @@
1
+ # {{report_title}}
2
+
3
+ - Source PDF: {{source_pdf}}
4
+ - Generated at: {{generated_at}}
5
+ - Research window: {{window_start}} to {{window_end}} ({{timezone}})
6
+ - Output file: {{report_filename}}
7
+ - Verified font: {{font_name_or_path}}
8
+ - Scope: {{scope}}
9
+ - Language: {{language}}
10
+
11
+ ## {{executive_summary_heading}}
12
+
13
+ {{executive_summary}}
14
+
15
+ ## {{source_event_overview_heading}}
16
+
17
+ | Page | Marked event | Source note | Why it was highlighted |
18
+ | --- | --- | --- | --- |
19
+ | {{page_1}} | {{source_event_1}} | {{source_note_1}} | {{source_reason_1}} |
20
+
21
+ ## {{key_events_analysis_heading}}
22
+
23
+ ### {{event_heading_1}}
24
+
25
+ - What happened: {{what_happened_1}}
26
+ - Why it mattered: {{why_it_mattered_1}}
27
+ - Immediate market reaction: {{market_reaction_1}}
28
+ - What still matters now: {{follow_through_1}}
29
+ - Sources: {{sources_1}}
30
+
31
+ ## {{breaking_events_heading}}
32
+
33
+ | Date | Event | Why it changed the picture | Most affected assets |
34
+ | --- | --- | --- | --- |
35
+ | {{breaking_date_1}} | {{breaking_event_1}} | {{breaking_impact_1}} | {{breaking_assets_1}} |
36
+
37
+ ## {{cross_market_impact_heading}}
38
+
39
+ - Rates: {{rates_impact}}
40
+ - Equities: {{equities_impact}}
41
+ - Foreign exchange: {{fx_impact}}
42
+ - Commodities: {{commodities_impact}}
43
+ - Credit or liquidity: {{credit_liquidity_impact}}
44
+
45
+ ## {{watchpoints_heading}}
46
+
47
+ | Date | Watchpoint | Why it matters | Related events or assets |
48
+ | --- | --- | --- | --- |
49
+ | {{watch_date_1}} | {{watchpoint_1}} | {{watch_impact_1}} | {{watch_assets_1}} |
50
+
51
+ ## {{risks_and_limitations_heading}}
52
+
53
+ {{risks_and_limitations}}