@v587d/capital-generation 2.7.11 → 2.8.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 (208) hide show
  1. package/CHANGELOG.md +76 -3
  2. package/README.md +4 -2
  3. package/chart-ui/package.json +1 -1
  4. package/config/package.json +1 -1
  5. package/lib/agents/bash-guard.d.ts +22 -17
  6. package/lib/agents/bash-guard.js +32 -28
  7. package/lib/agents/root-tool-policy.d.ts +29 -3
  8. package/lib/agents/root-tool-policy.js +100 -14
  9. package/lib/index.js +14 -8
  10. package/lib/web-retriever/local-fetch.d.ts +1 -1
  11. package/lib/web-retriever/local-fetch.js +1 -1
  12. package/lib/web-retriever/wind-client.d.ts +1 -1
  13. package/lib/web-retriever/wind-client.js +1 -1
  14. package/package.json +1 -1
  15. package/preset/capital-generation/README.md +22 -15
  16. package/preset/capital-generation/agent.patch.yml +20 -4
  17. package/preset/capital-generation/skills/capital-data-profile/SKILL.md +177 -0
  18. package/preset/capital-generation/skills/capital-data-protocol/SKILL.md +11 -269
  19. package/preset/capital-generation/skills/capital-data-query/SKILL.md +109 -0
  20. package/preset/capital-generation/skills/capital-equity-research/SKILL.md +2 -2
  21. package/preset/capital-generation/skills/capital-orchestration/SKILL.md +3 -2
  22. package/preset/capital-generation/skills/capital-web-evidence/SKILL.md +134 -0
  23. package/preset/capital-generation/skills/capital-web-protocol/SKILL.md +10 -130
  24. package/selected-skills/InvestSkill/UPSTREAM.md +18 -0
  25. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/10k-digest/SKILL.md +10 -296
  26. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/10k-digest/references/10-retrieving-the-filing.md +130 -0
  27. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/10k-digest/references/11-key-metrics-table.md +129 -0
  28. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/10k-digest/references/12-language-mode.md +60 -0
  29. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/bear-case/SKILL.md +13 -152
  30. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/bear-case/references/10-analysis-framework.md +75 -0
  31. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/bear-case/references/11-output-and-signal.md +51 -0
  32. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/bear-case/references/12-thesis-invalidation.md +44 -0
  33. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/catalyst-calendar/SKILL.md +10 -284
  34. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/catalyst-calendar/references/10-persona.md +113 -0
  35. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/catalyst-calendar/references/11-section-c-company-specific.md +108 -0
  36. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/catalyst-calendar/references/12-section-f-90-day.md +85 -0
  37. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/competitor-analysis/SKILL.md +11 -433
  38. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/competitor-analysis/references/10-overview.md +82 -0
  39. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/competitor-analysis/references/11-porter-s-five-forces.md +137 -0
  40. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/competitor-analysis/references/12-innovation-disruption-assessment.md +112 -0
  41. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/competitor-analysis/references/13-input-formats.md +130 -0
  42. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/dividend-analysis/SKILL.md +12 -639
  43. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/dividend-analysis/references/10-analysis-framework.md +138 -0
  44. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/dividend-analysis/references/11-dividend-history-and-reliability.md +131 -0
  45. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/dividend-analysis/references/12-share-buyback-analysis.md +125 -0
  46. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/dividend-analysis/references/13-fcf-deployment-scorecard.md +133 -0
  47. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/dividend-analysis/references/14-output.md +149 -0
  48. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/earnings-call-analysis/SKILL.md +10 -411
  49. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/earnings-call-analysis/references/10-analysis-framework.md +194 -0
  50. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/earnings-call-analysis/references/11-data-sources.md +196 -0
  51. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/earnings-call-analysis/references/12-thesis-invalidation.md +43 -0
  52. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/earnings-preview/SKILL.md +11 -234
  53. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/earnings-preview/references/10-overview.md +86 -0
  54. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/earnings-preview/references/11-phase-4-the-implied.md +60 -0
  55. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/earnings-preview/references/12-output-format.md +83 -0
  56. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/earnings-preview/references/13-standard-signal-output.md +34 -0
  57. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/economics-analysis/SKILL.md +10 -304
  58. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/economics-analysis/references/10-key-economic-indicators.md +98 -0
  59. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/economics-analysis/references/11-credit-market-indicators.md +114 -0
  60. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/economics-analysis/references/12-recession-probability-scoring.md +114 -0
  61. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/etf-analysis/SKILL.md +11 -236
  62. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/etf-analysis/references/10-overview.md +83 -0
  63. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/etf-analysis/references/11-phase-5-overlap-with.md +69 -0
  64. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/etf-analysis/references/12-output-format.md +79 -0
  65. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/etf-analysis/references/13-standard-signal-output.md +34 -0
  66. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/fact-check/SKILL.md +11 -243
  67. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/fact-check/references/10-overview.md +61 -0
  68. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/fact-check/references/11-phase-2-source-hierarchy.md +54 -0
  69. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/fact-check/references/12-phase-5-consistency.md +90 -0
  70. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/fact-check/references/13-notes.md +68 -0
  71. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/financial-report-analyst/SKILL.md +11 -499
  72. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/financial-report-analyst/references/10-overview.md +143 -0
  73. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/financial-report-analyst/references/11-phase-3-financial-statement.md +167 -0
  74. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/financial-report-analyst/references/12-phase-6-management-tone.md +176 -0
  75. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/financial-report-analyst/references/13-thesis-invalidation.md +43 -0
  76. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/industry-map/SKILL.md +10 -291
  77. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/industry-map/references/10-overview.md +117 -0
  78. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/industry-map/references/11-step-3-position-locator.md +112 -0
  79. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/industry-map/references/12-visualization-support.md +84 -0
  80. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/insider-trading/SKILL.md +10 -457
  81. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/insider-trading/references/10-analysis-framework.md +185 -0
  82. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/insider-trading/references/11-pattern-recognition.md +175 -0
  83. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/insider-trading/references/12-interpretation-guidelines.md +120 -0
  84. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/institutional-ownership/SKILL.md +11 -503
  85. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/institutional-ownership/references/10-analysis-framework.md +132 -0
  86. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/institutional-ownership/references/11-ownership-concentration-analysis.md +166 -0
  87. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/institutional-ownership/references/12-red-flags-warning-signs.md +192 -0
  88. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/institutional-ownership/references/13-thesis-invalidation.md +43 -0
  89. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/learning-coach/SKILL.md +11 -264
  90. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/learning-coach/references/10-overview.md +63 -0
  91. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/learning-coach/references/11-phase-2-explanation-card.md +108 -0
  92. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/learning-coach/references/12-output-format.md +88 -0
  93. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/learning-coach/references/13-standard-signal-output.md +34 -0
  94. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/options-analysis/SKILL.md +11 -448
  95. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/options-analysis/references/10-analysis-framework.md +109 -0
  96. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/options-analysis/references/11-implied-volatility-iv-analysis.md +102 -0
  97. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/options-analysis/references/12-earnings-play-analysis.md +109 -0
  98. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/options-analysis/references/13-data-sources.md +159 -0
  99. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/portfolio-review/SKILL.md +11 -435
  100. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/portfolio-review/references/10-phase-1-portfolio-snapshot.md +124 -0
  101. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/portfolio-review/references/11-phase-6-correlation-diversification.md +124 -0
  102. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/portfolio-review/references/12-phase-9-rebalancing-decision.md +153 -0
  103. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/portfolio-review/references/13-data-verification.md +62 -0
  104. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/position-ladder/SKILL.md +11 -372
  105. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/position-ladder/references/10-overview.md +102 -0
  106. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/position-ladder/references/11-phase-3-the-trim.md +88 -0
  107. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/position-ladder/references/12-phase-6-the-thesis.md +105 -0
  108. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/position-ladder/references/13-input-formats.md +105 -0
  109. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/risk-stress-test/SKILL.md +10 -250
  110. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/risk-stress-test/references/10-overview.md +92 -0
  111. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/risk-stress-test/references/11-phase-4-correlation-spike.md +116 -0
  112. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/risk-stress-test/references/12-notes.md +65 -0
  113. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/sector-analysis/SKILL.md +11 -381
  114. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/sector-analysis/references/10-sector-overview.md +123 -0
  115. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/sector-analysis/references/11-sector-correlation-matrix.md +90 -0
  116. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/sector-analysis/references/12-peer-benchmarking-within-sector.md +92 -0
  117. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/sector-analysis/references/13-consumer-staples.md +105 -0
  118. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/short-interest/SKILL.md +10 -352
  119. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/short-interest/references/10-analysis-framework.md +110 -0
  120. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/short-interest/references/11-bearish-thesis-evaluation.md +118 -0
  121. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/short-interest/references/12-data-sources.md +148 -0
  122. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-eval/SKILL.md +16 -603
  123. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-eval/references/10-analysis-components.md +122 -0
  124. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-eval/references/11-dupont-decomposition.md +121 -0
  125. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-eval/references/12-quality-scoring-framework.md +115 -0
  126. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-eval/references/13-dcf-framework.md +113 -0
  127. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-eval/references/14-analyst-consensus-tracking.md +127 -0
  128. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-eval/references/15-thesis-invalidation.md +43 -0
  129. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-screener/SKILL.md +13 -177
  130. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-screener/references/10-scoring-framework.md +85 -0
  131. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-screener/references/11-output-format.md +58 -0
  132. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-screener/references/12-invalidation-and-signal.md +51 -0
  133. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-valuation/SKILL.md +12 -595
  134. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-valuation/references/10-overview.md +133 -0
  135. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-valuation/references/11-method-2-comparable-company.md +127 -0
  136. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-valuation/references/12-football-field-summary-valuation.md +140 -0
  137. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-valuation/references/13-terminal-value-two-methods.md +121 -0
  138. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-valuation/references/14-when-dcf-is.md +110 -0
  139. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/tax-lens/SKILL.md +12 -304
  140. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/tax-lens/references/10-overview.md +73 -0
  141. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/tax-lens/references/11-phase-3-dividends-qualified.md +67 -0
  142. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/tax-lens/references/12-framework-non-us-module.md +61 -0
  143. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/tax-lens/references/13-scoring-tax-efficiency-score.md +83 -0
  144. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/tax-lens/references/14-thesis-invalidation.md +55 -0
  145. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/technical-analysis/SKILL.md +16 -612
  146. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/technical-analysis/references/10-chart-pattern-analysis.md +172 -0
  147. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/technical-analysis/references/11-chart-visualization-support.md +181 -0
  148. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/technical-analysis/references/12-multi-timeframe-analysis-mtf.md +95 -0
  149. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/technical-analysis/references/13-advanced-indicators-ichimoku-cloud.md +61 -0
  150. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/technical-analysis/references/14-options-flow-integration.md +95 -0
  151. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/technical-analysis/references/15-thesis-invalidation.md +45 -0
  152. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/thesis-tracker/SKILL.md +10 -274
  153. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/thesis-tracker/references/10-overview.md +94 -0
  154. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/thesis-tracker/references/11-phase-5-the-pre.md +113 -0
  155. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/thesis-tracker/references/12-example.md +90 -0
  156. package/selected-skills/claude-for-financial-services-cn/UPSTREAM.md +1 -0
  157. package/selected-skills/claude-for-financial-services-cn/vertical-plugins/china-finance/skills/china-catalyst-calendar/SKILL.md +18 -184
  158. package/selected-skills/claude-for-financial-services-cn/vertical-plugins/china-finance/skills/china-catalyst-calendar/references/10-catalyst-types.md +64 -0
  159. package/selected-skills/claude-for-financial-services-cn/vertical-plugins/china-finance/skills/china-catalyst-calendar/references/11-workflow-and-calendar.md +131 -0
  160. package/selected-skills/claude-for-financial-services-cn/vertical-plugins/china-finance/skills/china-idea-generation/SKILL.md +16 -195
  161. package/selected-skills/claude-for-financial-services-cn/vertical-plugins/china-finance/skills/china-idea-generation/references/10-workflow.md +201 -0
  162. package/selected-skills/claude-for-financial-services-cn/vertical-plugins/china-finance/skills/china-sector-overview/SKILL.md +17 -156
  163. package/selected-skills/claude-for-financial-services-cn/vertical-plugins/china-finance/skills/china-sector-overview/references/10-workflow.md +161 -0
  164. package/selected-skills/investment-skills/UPSTREAM.md +1 -0
  165. package/selected-skills/investment-skills/skills/buffett-investment-framework/SKILL.md +31 -122
  166. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/{01-decision-posture.md → 01-decision-posture-D01-D04.md} +0 -119
  167. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/01-decision-posture-D05-D09.md +123 -0
  168. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/02-business-economics-B01-B03.md +94 -0
  169. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/{02-business-economics.md → 02-business-economics-B04-B07.md} +3 -93
  170. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/{03-management-governance.md → 03-management-governance-M01-M04.md} +0 -93
  171. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/03-management-governance-M05-M08.md +97 -0
  172. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/04-financial-reality-F01-F03.md +95 -0
  173. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/{04-financial-reality.md → 04-financial-reality-F04-F07.md} +3 -94
  174. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/{05-valuation.md → 05-valuation-V01-V03.md} +0 -72
  175. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/05-valuation-V04-V06.md +76 -0
  176. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/{06-capital-allocation.md → 06-capital-allocation-C01-C04.md} +0 -115
  177. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/06-capital-allocation-C05-C09.md +119 -0
  178. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/{07-risk-monitoring.md → 07-risk-monitoring-R01-R03.md} +0 -94
  179. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/07-risk-monitoring-R04-R07.md +98 -0
  180. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/08-specialized-overlays-S01-S03.md +99 -0
  181. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/08-specialized-overlays-S04-S06.md +72 -0
  182. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/08-specialized-overlays-S07-S09.md +74 -0
  183. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/08-specialized-overlays-S10-S12.md +76 -0
  184. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/09-workflows.md +96 -0
  185. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/10-method.md +12 -0
  186. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/11-deterministic-router.md +11 -0
  187. package/selected-skills/peter-lynch-skill/UPSTREAM.md +1 -0
  188. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/SKILL.md +12 -86
  189. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/10-workflow.md +94 -0
  190. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/methodology-1.md +220 -0
  191. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/methodology-2.md +146 -0
  192. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/methodology-3.md +114 -0
  193. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/methodology-4.md +113 -0
  194. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/methodology.md +8 -521
  195. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/web-research-1.md +119 -0
  196. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/web-research-2.md +82 -0
  197. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/web-research-3.md +158 -0
  198. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/web-research-4.md +123 -0
  199. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/web-research.md +8 -454
  200. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/quick/methodology-1.md +155 -0
  201. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/quick/methodology-2.md +43 -0
  202. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/quick/methodology.md +6 -180
  203. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/quick/web-research-1.md +114 -0
  204. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/quick/web-research-2.md +180 -0
  205. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/quick/web-research-3.md +92 -0
  206. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/quick/web-research.md +7 -359
  207. package/watchlist/package.json +1 -1
  208. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/08-specialized-overlays.md +0 -309
@@ -0,0 +1,34 @@
1
+ # Standard Signal Output
2
+
3
+ Part 4 of 4 for `etf-analysis` — Standard Signal Output
4
+ See `SKILL.md` for what to read and when; this part is procedure, not routing.
5
+
6
+ ## Standard Signal Output
7
+
8
+ This skill measures **vehicle fitness, not market direction**, so state the mapping: `Signal: BULLISH` means the fund is a fit way to hold the stated exposure for this portfolio; `NEUTRAL` means it is acceptable but a cheaper, better-tracking, or less overlapping alternative exists (name it); `BEARISH` means do not use this wrapper (structure cap fired, redundant overlap, or a tracking gap that peers do not have). `Action: BUY` here means "this fund is fit for the purpose" — it is not a view on the asset class. Read *whether* to own the exposure from `sector-analysis` or `portfolio-review`, not from this block.
9
+
10
+ All analysis concludes with this standardized block:
11
+
12
+ ```
13
+ ╔══════════════════════════════════════════════╗
14
+ ║ INVESTMENT SIGNAL ║
15
+ ╠══════════════════════════════════════════════╣
16
+ ║ Signal: BULLISH / NEUTRAL / BEARISH ║
17
+ ║ Confidence: HIGH / MEDIUM / LOW ║
18
+ ║ Horizon: SHORT / MEDIUM / LONG-TERM ║
19
+ ║ Score: X.X / 10 ║
20
+ ╠══════════════════════════════════════════════╣
21
+ ║ Action: BUY / HOLD / SELL ║
22
+ ║ Conviction: STRONG / MODERATE / WEAK ║
23
+ ╚══════════════════════════════════════════════╝
24
+ ```
25
+
26
+ Score Guide: 8.0–10.0 Strongly Bullish | 6.0–7.9 Moderately Bullish | 4.0–5.9 Neutral | 2.0–3.9 Moderately Bearish | 0.0–1.9 Strongly Bearish
27
+ Confidence: HIGH (strong data, clear signals) | MEDIUM (mixed signals) | LOW (limited data, conflicting signals)
28
+ Horizon: SHORT-TERM (1 week–3 months) | MEDIUM-TERM (3 months–1 year) | LONG-TERM (1+ years)
29
+
30
+ **Note:** The Score above is the ETF Fitness Score, mapped onto the standard scale for cross-skill comparability. It rates *how fit this fund is as a vehicle for the stated exposure and portfolio* — not how attractive the exposure is. Confidence is LOW whenever the issuer factsheet was not retrieved or the overlap was computed from the top 10 only.
31
+
32
+ **Disclaimer:** Educational analysis only. Not financial advice. Fund facts change; verify every figure against the issuer's current factsheet and prospectus before acting.
33
+
34
+
@@ -40,249 +40,17 @@ For this skill the header describes the **sources used to verify**, not the repo
40
40
 
41
41
  ---
42
42
 
43
- ## Overview
43
+ ## Read the Parts
44
44
 
45
- Every InvestSkill analysis opens with a `Data & Sources` header, and `result-validator` scores whether sources are "cited or identifiable". Neither answers the question a careful reader actually has: **is this specific number true, and where exactly does it come from?** A report can carry an honest header, a tidy methodology, and a consistent signal — and still be built on a revenue figure from the wrong fiscal year, a margin computed on non-GAAP earnings, or a share count that was stale when the model wrote it.
45
+ Everything below the surface of this file lives in `references/`. **whole, with no line window** — quoting a rule or a template out of a slice of one is how a
46
+ file gets reported as read when it was only skimmed. The file names below are the only
47
+ addressing this entry has.
46
48
 
47
- This skill closes that gap at the level of the individual claim. It takes any report — an InvestSkill output, a broker note, a spreadsheet, a paragraph from a forum post — pulls out **every figure and factual assertion**, checks each one against a **primary source**, **recomputes** every derived number from verified inputs, and hands back three things: a claim ledger with a verdict per claim (✅ verified · ⚠️ mismatch · ❓ unverifiable · 🔁 recomputed · 🕒 stale), a **corrected copy of the report with inline citations and a References section**, and a **Verification Score 0–10** that `result-validator` can consume as the evidence behind its Data Quality dimension.
49
+ - `references/10-overview.md` — Overview; 1. Modes; 2. Inputs; 3. Framework
50
+ - `references/11-phase-2-source-hierarchy.md` — (continued) 3. Framework
51
+ - `references/12-phase-5-consistency.md` — (continued) 3. Framework; References; 4. Output Format; Example
52
+ - `references/13-notes.md` — Notes; Thesis Invalidation; Standard Signal Output
48
53
 
49
- **Division of labour.** `result-validator` asks *is this analysis well built?* (methodology, consistency, risk coverage, transparency). `fact-check` asks *are the inputs true?* Run this one first when the stakes are real; the validator's score means little if the numbers underneath it are wrong. `learning-coach` then explains the result to a beginner.
50
-
51
- **What it is not.** It does not re-run the analysis, form its own view on the stock, or change the report's signal. It never invents a source to make a claim look verified: an unverifiable claim stays `❓`, and a claim that cannot be traced is more honestly left uncited than given a plausible-looking reference. Fabricating a citation is the one failure mode that makes this skill worse than useless — it is a hard-cap-to-zero offence in the score.
52
-
53
- ---
54
-
55
- ## 1. Modes
56
-
57
- | Mode | Invocation | What it does |
58
- |------|------------|--------------|
59
- | **Verify** (default) | paste the report (+ sources, or permission to retrieve them) | Full ledger, recomputation, consistency check, corrected report with citations, Verification Score |
60
- | **Cite** | `--cite-only` + the report + its sources | Attach inline citations and a References section to figures the sources confirm; no recomputation, no score beyond coverage — for a report you already trust but need to make traceable |
61
- | **Recompute** | `--recompute` + the report | Only the arithmetic: rebuild every derived figure from the reported inputs and flag disagreements — fast, needs no external source |
62
- | **Diff** | `--diff` + two versions of a report or two data sets | Which figures changed, by how much, and whether the change is a restatement, a period roll, or an error |
63
-
64
- If a source cannot be retrieved in the environment, the skill says which claims that blocks and leaves them `❓`; asking the user for the document is only for a host with no retrieval path. It never fills the gap from memory.
65
-
66
- ## 2. Inputs
67
-
68
- | Input | Required | Default if unstated |
69
- |-------|----------|---------------------|
70
- | The report or data to check (pasted, or a file) | ✅ | — |
71
- | Sources: pasted filing text / IR release / data table, URLs, or permission to retrieve | ✅ for Verify and Cite | ask; without sources every claim is `❓` and the score is capped |
72
- | Ticker and fiscal calendar (FY end month) | recommended | infer from the report; state it — half of all "mismatches" are fiscal-year confusions |
73
- | Tolerance for market data (price, market cap) | optional | ±1% and same trading day |
74
- | Which claims are **signal-driving** (the 3–5 numbers the report's conclusion rests on) | optional | infer from the report's own signal box and thesis; state the choice |
75
- | Output form: corrected copy vs. annotated diff | optional | corrected copy with strike-through of originals |
76
-
77
- ---
78
-
79
- ## 3. Framework
80
-
81
- ### Phase 1 — Extract every claim into a ledger
82
-
83
- Read the report once and list **every** checkable statement — not just the headline numbers. One row per claim:
84
-
85
- | # | Claim (as written) | Value · unit · period | Type | Signal-driving? | Where in report |
86
- |---|--------------------|-----------------------|------|-----------------|-----------------|
87
- | 1 | "Revenue grew 20% to $6.12B in FY2026" | $6,120M · FY2026 · +20% YoY | reported (filing) | ✅ | §2 Financial Health |
88
- | 2 | "FCF of $930M" | $930M · FY2026 | derived (OCF − capex) | ✅ | §2 |
89
- | 3 | "trades at 24× forward earnings" | 24.2× · as of ? | market × estimate | ✅ | §3 Valuation |
90
- | 4 | "CFO bought $1.2M of stock in May" | $1.2M · 2026-05 | fact (Form 4) | — | §5 Insider |
91
- | 5 | "top customer is 18% of revenue" | 18% · FY2026 | reported (10-K risk factors) | — | §1 |
92
-
93
- **Claim types** decide which source can verify them: *reported* (a figure stated in a filing or release), *derived* (computed from reported figures — must be recomputed, not just matched), *market* (price, market cap, yield — needs an as-of date), *estimate* (consensus, guidance — needs the source and date of the estimate), *macro* (rates, CPI — FRED / BLS series and vintage), *fact* (an event: a filing, a transaction, an appointment), *qualitative* (a characterization — "dominant", "improving" — checked for whether the cited evidence supports it, never marked verified on its own).
94
-
95
- Mark the **signal-driving** claims. They carry more weight in the score and a mismatch on one of them changes the report's standing.
96
-
97
- ### Phase 2 — Source hierarchy
98
-
99
- Only a source the reader could open verifies a claim. Rank what you use, and record the tier in the ledger:
100
-
101
- | Tier | Sources | Verifies |
102
- |------|---------|----------|
103
- | **1 — Primary** | SEC EDGAR filings (10-K, 10-Q, 8-K, DEF 14A, Form 4, 13F, S-1), the company's own IR release or presentation, FRED / BLS / BEA series, the exchange's or ETF issuer's published data, IRS publications, the fund prospectus / factsheet | reported figures, facts, macro, fund data |
104
- | **1 — User-supplied** | The document the user pasted (a filing excerpt, a broker statement, a data export) | its own figures — labelled `user-supplied` so the reader knows verification stops at the user's document |
105
- | **2 — Secondary** | Reputable financial data vendors and press explicitly quoting a primary document, consensus aggregators for estimates | market data and estimates, with the vendor and date recorded; a reported figure verified only at Tier 2 is marked `✅ (secondary)` |
106
- | **3 — Not a source** | Model memory, forum posts, uncited summaries, a second AI output | nothing — a claim matched only against these stays `❓` |
107
-
108
- Prefer the most specific location: Item and Note number, statement line, table, page. "The 10-K" is a document, not a citation.
109
-
110
- **Retrieving a Tier-1 source without an API key.** Once retrieval is approved, go straight to SEC EDGAR rather than a summary site — in a role-split host, hand the URL and the fields needed to the agent that owns retrieval rather than fetching here: resolve the CIK from `https://www.sec.gov/files/company_tickers.json` (zero-pad `cik_str` to 10 digits); list filings from `https://data.sec.gov/submissions/CIK##########.json`, where `filings.recent.form` / `filingDate` / `reportDate` / `accessionNumber` / `primaryDocument` line up by index (`10-K`, `10-Q`, `8-K`, `DEF 14A`, `4` for insider transactions — Form 4s are filed under the issuer's CIK as well as the insider's — and `20-F` / `6-K` for foreign issuers); open the document at `https://www.sec.gov/Archives/edgar/data/<CIK without leading zeros>/<accession without dashes>/<primaryDocument>`; and cross-check statement figures against the tagged facts at `https://data.sec.gov/api/xbrl/companyfacts/CIK##########.json`. Send an identifying `User-Agent` and stay under 10 requests per second. Record `Retrieval: web/tool retrieval`, the accession number and the filing date. **Institutional holdings are the exception to the issuer-CIK route:** Form `13F-HR` is filed by the investment *manager*, so it never appears under the target company's CIK. Resolve the manager (from the claim: "Vanguard holds 8.9%") to *its* CIK, list its `13F-HR` filings, and verify the position in the information table by the target's CUSIP — or use EDGAR full-text search (`https://www.sec.gov/edgar/search/#/q=%22<company or CUSIP>%22&forms=13F-HR`) to find which managers report the security. A 13F verifies one manager's position at one quarter-end; an aggregate "institutional ownership %" is a secondary-source figure and is marked `✅ (secondary)` at best. Only where the host has no retrieval path at all, ask the user to paste the document and mark `Retrieval: pasted by user` — the repository's helper scripts are not part of this plugin and are never run from here. A source that could not be retrieved leaves its claims `❓`; it is never filled from memory.
111
-
112
- ### Phase 3 — Verify each claim
113
-
114
- For each ledger row, locate the figure in the source, compare, and assign one verdict:
115
-
116
- | Verdict | Meaning | Rule |
117
- |---------|---------|------|
118
- | ✅ **VERIFIED** | The source states the figure | Reported figures: exact, or rounding within 0.5%. Market data: same trading day and within the stated tolerance. Percentages: within 0.1 pp. Record source · location · as-of |
119
- | ⚠️ **MISMATCH** | The source states a different figure | Record the source value, the delta (absolute and %), and the **likely cause** — the usual suspects: wrong fiscal year or quarter; TTM vs. fiscal year; GAAP vs. adjusted; basic vs. diluted shares; a restated prior period; a currency or unit slip (thousands vs. millions); a stale price |
120
- | ❓ **UNVERIFIABLE** | No Tier 1–2 source available | Say what source would settle it. This is *not* "false" — never let the corrected report read as if the claim were disproven |
121
- | 🔁 **RECOMPUTED** | A derived figure rebuilt from verified inputs | Show the arithmetic (Phase 4); mark `agrees` or `disagrees (report X, recomputed Y)` |
122
- | 🕒 **STALE** | Verified, but the as-of date is older than the report implies or than 90 days | Verified figure, wrong vintage — give the current value alongside |
123
-
124
- A qualitative claim is judged only on whether the evidence the report cites for it holds; it is never `✅` on its own.
125
-
126
- ### Phase 4 — Recompute every derived figure
127
-
128
- Never accept a derived number by matching it to a secondary source that may have made the same mistake. Rebuild it from verified inputs and show the work:
129
-
130
- ```
131
- Free cash flow = OCF − capex 1,240 − 310 = 930 ✓ report 930
132
- Gross margin = gross profit ÷ revenue 3,550 ÷ 6,120 = 58.0% ✓ report 58%
133
- Revenue growth = rev / prior rev − 1 6,120 ÷ 5,100 − 1 = 20.0% ✓
134
- Net debt = total debt − cash 800 − 1,650 = −850 (net cash) ✓
135
- Market cap = price × shares outstanding 48.20 × 412 = 19,858 (shares outstanding at the price date — not the diluted count used for EPS)
136
- Enterprise value = market cap + debt − cash 19,858 + 800 − 1,650 = 19,008
137
- P/E (trailing) = price ÷ diluted EPS 48.20 ÷ 1.99 = 24.2× ✓ report "24× forward" ✗ — trailing, not forward
138
- FCF yield = FCF ÷ market cap 930 ÷ 19,858 = 4.7%
139
- Payout (FCF basis) = dividends paid ÷ FCF 165 ÷ 930 = 17.7%
140
- ```
141
-
142
- Standard checks: FCF, margins, growth rates, per-share figures (which share count?), P/E · P/S · EV/EBITDA · P/FCF (trailing vs. forward, and whose estimate), net debt and EV, payout and yield, ROE / ROIC (state the denominator), any score or weighted composite in the report (do the weights sum to 100%? does the weighted sum match?). Where the report's definition is ambiguous, say so rather than picking one silently.
143
-
144
- ### Phase 5 — Consistency and honesty of the report itself
145
-
146
- - **Numbers vs. narrative** — does the text say what the tables say? ("margins expanding" next to a table where they fell)
147
- - **Internal contradictions** — the same figure quoted two ways in two sections.
148
- - **Signal vs. score** — the signal box's Score must sit in the band its Signal implies (≥ 6.0 BULLISH · 4.0–5.9 NEUTRAL · < 4.0 BEARISH); a mismatch is a red flag, not a rounding issue.
149
- - **The report's `Data & Sources` header vs. what was verifiable** — a header claiming `Retrieval: web/tool retrieval · Confidence: HIGH` over a report whose figures cannot be traced is itself a finding. Quote the header and state whether the verification supports it.
150
- - **Fabricated or unopenable citations** in the report — a reference that does not exist, or a page/Item that does not contain the figure, is the most serious finding this skill can make. Say so plainly.
151
-
152
- ### Phase 6 — Re-issue the report with citations
153
-
154
- Produce the corrected copy (or the diff, if asked):
155
-
156
- - Every `✅` figure gets an inline citation `[n]`; every `🔁 agrees` figure gets the citation of its inputs plus `(recomputed)`.
157
- - Every `⚠️` figure is corrected **in place**, with the original struck through: ~~$5.9B~~ **$6.12B** [1] — and a one-line note on the cause. Never silently change a number.
158
- - Every `❓` figure is marked `[?]` and left as written. Every `🕒` figure keeps its citation and gains `(as of <date>; current: <value> [m])`.
159
- - Qualitative claims whose evidence failed are marked `[unsupported]`.
160
- - A **References** section closes the report:
161
-
162
- ```
163
- ## References
164
- [1] Zephyr Robotics Inc., Form 10-K for FY ended 2026-03-31 — Item 8, Consolidated Statements of Operations, p. 54 (SEC EDGAR, accession 0000000000-26-000000; retrieved 2026-06-30)
165
- [2] Same filing — Item 8, Consolidated Statements of Cash Flows, p. 58
166
- [3] Zephyr Robotics Q4 FY2026 earnings release, 2026-05-14 — segment table (company IR)
167
- [4] Form 4, filed 2026-05-19 — CFO open-market purchase (SEC EDGAR)
168
- [5] User-supplied: price and shares outstanding as of 2026-06-30 close (pasted by user; not independently verified)
169
- ```
170
-
171
- Each reference names the document, the exact location, the as-of or filing date, and how it was retrieved. If the environment cannot produce a URL or accession number, say so rather than inventing one.
172
-
173
- ### Phase 7 — Verification Score (0–10)
174
-
175
- The headline number measures **how much of the report is demonstrably true**, not whether the report's conclusion is right.
176
-
177
- | Component | Weight | 10 looks like | 0 looks like |
178
- |-----------|--------|---------------|--------------|
179
- | Coverage | 30% | ≥ 95% of claims `✅` or `🔁 agrees` | < 40% |
180
- | Signal-driving accuracy | 30% | Every signal-driving claim verified within tolerance | A signal-driving claim off by > 5% or from the wrong period |
181
- | Recomputation | 15% | Every derived figure agrees | Derived figures disagree or cannot be rebuilt from the report's own inputs |
182
- | Source quality | 15% | All Tier 1, specific locations | Mostly secondary or user-supplied only |
183
- | Freshness | 10% | Every as-of date matches the report's claim and is < 90 days old for market data | Stale figures presented as current |
184
-
185
- **Hard caps** (state any that fires): a signal-driving `⚠️` **or `🔁 disagrees`** with delta > 5% → **max 4.0** · more than half the claims `❓` → **max 5.0** · the report's own `Data & Sources` header overstates its retrieval or confidence → **max 6.0** · **any fabricated or unopenable citation found in the report → 0.0**. Always print a `Caps fired:` line under the score (`none`, or the list) so a capped 4.0 is never mistaken for an earned 4.0 — **a report whose score was capped by a signal-driving mismatch is a failed verification regardless of the number.**
186
-
187
- Map onto the standard bands: **≥ 6.0** the report's inputs are sound (BULLISH on the *report*) · **4.0–5.9** usable with the listed corrections (NEUTRAL) · **< 4.0** do not rely on it — re-run the analysis with verified inputs (BEARISH). Hand the score and the ledger to `result-validator`, whose Data Quality dimension should not exceed what this score supports.
188
-
189
- ---
190
-
191
- ## 4. Output Format
192
-
193
- 1. `Data & Sources` header — the sources *used to verify*, with retrieval path
194
- 2. **Verification summary** — one line: `N claims · V verified · R recomputed (r agree) · M mismatch · U unverifiable · S stale · Verification Score X.X · Caps fired: none | <list>`
195
- 3. **Signal-driving claims first** — the 3–5 that matter, each with verdict, source, and delta
196
- 4. **Claim ledger** — the full table from Phase 1 with verdict, source tier, location, as-of
197
- 5. **Mismatches in detail** — original · source value · delta · likely cause · what the corrected figure does to the report's conclusion
198
- 6. **Recomputation table** — Phase 4, arithmetic shown
199
- 7. **Report consistency findings** — Phase 5, including the judgment on the report's own header
200
- 8. **Corrected report with citations** (or `--diff` output) and the **References** section
201
- 9. **Thesis Invalidation** — what would change these verdicts (below)
202
- 10. **Investment Signal block** — mirrors the report's signal with the verification verdict attached (below)
203
-
204
- ---
205
-
206
- ## Example
207
-
208
- ```
209
- User: [pastes a stock-eval output on ZEPH that concludes BULLISH 7.4 / 10] Verify every number
210
- and add sources. Here is the FY2026 10-K excerpt and the Q4 release. [pasted]
211
-
212
- The assistant lists 23 claims, flags 5 as signal-driving (revenue growth, gross margin, FCF,
213
- net cash, forward P/E). Verifies 17 against the 10-K and the release with Item/statement/page
214
- locations; recomputes 6 derived figures — all agree except one: the report's "24× forward P/E"
215
- is 48.20 ÷ 1.99, i.e. the *trailing* multiple on FY2026 diluted EPS; no forward estimate is
216
- cited, so the claim becomes ⚠️ MISMATCH (label) with the corrected wording "24.2× trailing";
217
- consensus forward EPS would be needed for the forward figure → ❓ until supplied. Two claims
218
- are 🕒 STALE: the price and market cap are from a date 40 days before the report. One
219
- qualitative claim ("dominant share of warehouse robotics") cites no evidence → [unsupported].
220
- The report's own header said "Retrieval: web/tool retrieval · Confidence: HIGH"; 17/23 verified
221
- supports MEDIUM, so that is noted. No fabricated citations. Verification Score 6.8 — the report's
222
- inputs are sound; the signal stands with the valuation sentence corrected. Emits the corrected
223
- report with [1]–[9] inline and a References section, and hands the ledger to result-validator.
224
- ```
225
-
226
- ---
227
-
228
- ## Notes
229
-
230
- - **Run it before `result-validator`, not instead of it.** This skill checks the inputs; the validator checks the reasoning built on them. The validator's Data Quality score should never exceed what the Verification Score supports.
231
- - **Every InvestSkill report is a candidate**, but so is anything else the user brings — a broker note, a newsletter, a spreadsheet, a screenshot transcribed to text. The ledger discipline is the same.
232
- - **Unverifiable is not false.** The corrected copy must never read as if a `❓` claim were refuted. The honest output for a claim without a source is the claim, unchanged, with `[?]`.
233
- - **Fiscal calendars cause most false mismatches.** Establish the fiscal year end and the period each table covers before comparing anything.
234
- - **Do not fabricate a reference to fill a gap.** No accession number, page, or URL that was not actually seen. If the environment cannot retrieve, report the claim as blocked — do not fall back to memory.
235
- - **Pairs with**: `result-validator` (consumes the score), `learning-coach` (explains the ledger to a beginner), `10k-digest` and `financial-report-analyst` (produce well-cited inputs in the first place), `full-report` (run this on the composite before shipping it), `thesis-tracker` (verify the KPI values before recording them at a check).
236
-
237
- ## Thesis Invalidation
238
-
239
- After delivering the analysis signal, specify what would reverse it:
240
-
241
- **If signal is BULLISH (the report's inputs verified) — the verdicts break if:**
242
- - A new filing restates a figure the report relied on (an 8-K or an amended 10-K/A) — every `✅` on that figure becomes `🕒` until re-checked
243
- - A signal-driving figure that was verified at Tier 2 (secondary) is later contradicted by the primary document
244
- - The market-data as-of dates pass 90 days — verified prices become stale prices, and the valuation claims built on them lose their `✅`
245
-
246
- **If signal is BEARISH (the report's inputs did not verify) — the verdicts break if:**
247
- - The user supplies the source that turns the `❓` claims into `✅` — the ledger is re-run, not amended by hand
248
- - A mismatch is traced to a period or definition difference the report actually disclosed elsewhere (then it is a labelling issue, not a wrong number — downgrade to a note)
249
- - The report is re-issued by its author with the corrected figures, in which case fact-check the new version, not the old
250
-
251
- **Re-run this analysis when:**
252
- - [ ] The company files its next 10-Q / 10-K, or any 8-K restating prior figures
253
- - [ ] The report is edited or re-generated
254
- - [ ] 90 days pass on any market-data claim
255
- - [ ] Before the report is shared, published, or used to size a position
256
- - [ ] `result-validator` scores Data Quality above what the ledger supports
257
-
258
- ## Standard Signal Output
259
-
260
- This skill does **not** form a view on the stock. `Score` is always the **Verification Score**, and `Confidence` is capped at the tier it supports (≥ 8.0 HIGH · 6.0–7.9 MEDIUM · < 6.0 LOW). The other fields depend on the outcome:
261
-
262
- - **Verification passed** (Score ≥ 4.0 **and no signal-driving cap fired** — `Caps fired: none`, or only the coverage / header caps): Signal, Horizon, Action, and Conviction **mirror the verified report's own**, and a line under the box states `Mirrors the report's signal — quoted, not re-derived`. If a signal-driving claim mismatched by more than 5%, add `Signal not supported at stated confidence — re-run the analysis with verified inputs`.
263
- - **Verification failed** (Score < 4.0, **or** the signal-driving mismatch cap fired — even if the capped score reads exactly 4.0 — or a fabricated citation → 0): the box does **not** carry the report's Signal or Action forward — an unsupported BUY must not survive into the verification result. Fill `Signal: NEUTRAL · Action: HOLD · Conviction: WEAK · Confidence: LOW`, and under the box write `Verification failed — the report's own signal (BULLISH / BUY, quoted) is not supported by its inputs; do not act on it`.
264
- - For a report with no signal block, fill Signal / Action / Conviction with `n/a`.
265
-
266
- All analysis concludes with this standardized block:
267
-
268
- ```
269
- ╔══════════════════════════════════════════════╗
270
- ║ INVESTMENT SIGNAL ║
271
- ╠══════════════════════════════════════════════╣
272
- ║ Signal: BULLISH / NEUTRAL / BEARISH ║
273
- ║ Confidence: HIGH / MEDIUM / LOW ║
274
- ║ Horizon: SHORT / MEDIUM / LONG-TERM ║
275
- ║ Score: X.X / 10 ║
276
- ╠══════════════════════════════════════════════╣
277
- ║ Action: BUY / HOLD / SELL ║
278
- ║ Conviction: STRONG / MODERATE / WEAK ║
279
- ╚══════════════════════════════════════════════╝
280
- ```
281
-
282
- Score Guide: 8.0–10.0 Strongly Bullish | 6.0–7.9 Moderately Bullish | 4.0–5.9 Neutral | 2.0–3.9 Moderately Bearish | 0.0–1.9 Strongly Bearish
283
- Confidence: HIGH (strong data, clear signals) | MEDIUM (mixed signals) | LOW (limited data, conflicting signals)
284
- Horizon: SHORT-TERM (1 week–3 months) | MEDIUM-TERM (3 months–1 year) | LONG-TERM (1+ years)
285
-
286
- **Note:** The Score above is the Verification Score — *how much of the report is demonstrably true* — mapped onto the standard scale for cross-skill comparability. When verification passes, Signal, Horizon, Action, and Conviction are the verified report's own, quoted unchanged; when it fails, they are replaced by NEUTRAL / HOLD / WEAK so that no unsupported call is carried forward.
287
-
288
- **Disclaimer:** Educational analysis only. Not financial advice. Verification is limited to the sources available at run time; an unverifiable claim is neither confirmed nor refuted.
54
+ Loading this file is not reading the skill: the steps, templates, and thresholds exist only
55
+ in the parts above. Say which parts you opened, name the ones you did not, and never report a
56
+ step or a template you have not read in this session.
@@ -0,0 +1,61 @@
1
+ # Overview
2
+
3
+ Part 1 of 4 for `fact-check` — Overview; 1. Modes; 2. Inputs; 3. Framework
4
+ See `SKILL.md` for what to read and when; this part is procedure, not routing.
5
+
6
+ ## Overview
7
+
8
+ Every InvestSkill analysis opens with a `Data & Sources` header, and `result-validator` scores whether sources are "cited or identifiable". Neither answers the question a careful reader actually has: **is this specific number true, and where exactly does it come from?** A report can carry an honest header, a tidy methodology, and a consistent signal — and still be built on a revenue figure from the wrong fiscal year, a margin computed on non-GAAP earnings, or a share count that was stale when the model wrote it.
9
+
10
+ This skill closes that gap at the level of the individual claim. It takes any report — an InvestSkill output, a broker note, a spreadsheet, a paragraph from a forum post — pulls out **every figure and factual assertion**, checks each one against a **primary source**, **recomputes** every derived number from verified inputs, and hands back three things: a claim ledger with a verdict per claim (✅ verified · ⚠️ mismatch · ❓ unverifiable · 🔁 recomputed · 🕒 stale), a **corrected copy of the report with inline citations and a References section**, and a **Verification Score 0–10** that `result-validator` can consume as the evidence behind its Data Quality dimension.
11
+
12
+ **Division of labour.** `result-validator` asks *is this analysis well built?* (methodology, consistency, risk coverage, transparency). `fact-check` asks *are the inputs true?* Run this one first when the stakes are real; the validator's score means little if the numbers underneath it are wrong. `learning-coach` then explains the result to a beginner.
13
+
14
+ **What it is not.** It does not re-run the analysis, form its own view on the stock, or change the report's signal. It never invents a source to make a claim look verified: an unverifiable claim stays `❓`, and a claim that cannot be traced is more honestly left uncited than given a plausible-looking reference. Fabricating a citation is the one failure mode that makes this skill worse than useless — it is a hard-cap-to-zero offence in the score.
15
+
16
+ ---
17
+
18
+ ## 1. Modes
19
+
20
+ | Mode | Invocation | What it does |
21
+ |------|------------|--------------|
22
+ | **Verify** (default) | paste the report (+ sources, or permission to retrieve them) | Full ledger, recomputation, consistency check, corrected report with citations, Verification Score |
23
+ | **Cite** | `--cite-only` + the report + its sources | Attach inline citations and a References section to figures the sources confirm; no recomputation, no score beyond coverage — for a report you already trust but need to make traceable |
24
+ | **Recompute** | `--recompute` + the report | Only the arithmetic: rebuild every derived figure from the reported inputs and flag disagreements — fast, needs no external source |
25
+ | **Diff** | `--diff` + two versions of a report or two data sets | Which figures changed, by how much, and whether the change is a restatement, a period roll, or an error |
26
+
27
+ If a source cannot be retrieved in the environment, the skill says which claims that blocks and leaves them `❓`; asking the user for the document is only for a host with no retrieval path. It never fills the gap from memory.
28
+
29
+ ## 2. Inputs
30
+
31
+ | Input | Required | Default if unstated |
32
+ |-------|----------|---------------------|
33
+ | The report or data to check (pasted, or a file) | ✅ | — |
34
+ | Sources: pasted filing text / IR release / data table, URLs, or permission to retrieve | ✅ for Verify and Cite | ask; without sources every claim is `❓` and the score is capped |
35
+ | Ticker and fiscal calendar (FY end month) | recommended | infer from the report; state it — half of all "mismatches" are fiscal-year confusions |
36
+ | Tolerance for market data (price, market cap) | optional | ±1% and same trading day |
37
+ | Which claims are **signal-driving** (the 3–5 numbers the report's conclusion rests on) | optional | infer from the report's own signal box and thesis; state the choice |
38
+ | Output form: corrected copy vs. annotated diff | optional | corrected copy with strike-through of originals |
39
+
40
+ ---
41
+
42
+ ## 3. Framework
43
+
44
+ ### Phase 1 — Extract every claim into a ledger
45
+
46
+ Read the report once and list **every** checkable statement — not just the headline numbers. One row per claim:
47
+
48
+ | # | Claim (as written) | Value · unit · period | Type | Signal-driving? | Where in report |
49
+ |---|--------------------|-----------------------|------|-----------------|-----------------|
50
+ | 1 | "Revenue grew 20% to $6.12B in FY2026" | $6,120M · FY2026 · +20% YoY | reported (filing) | ✅ | §2 Financial Health |
51
+ | 2 | "FCF of $930M" | $930M · FY2026 | derived (OCF − capex) | ✅ | §2 |
52
+ | 3 | "trades at 24× forward earnings" | 24.2× · as of ? | market × estimate | ✅ | §3 Valuation |
53
+ | 4 | "CFO bought $1.2M of stock in May" | $1.2M · 2026-05 | fact (Form 4) | — | §5 Insider |
54
+ | 5 | "top customer is 18% of revenue" | 18% · FY2026 | reported (10-K risk factors) | — | §1 |
55
+
56
+ **Claim types** decide which source can verify them: *reported* (a figure stated in a filing or release), *derived* (computed from reported figures — must be recomputed, not just matched), *market* (price, market cap, yield — needs an as-of date), *estimate* (consensus, guidance — needs the source and date of the estimate), *macro* (rates, CPI — FRED / BLS series and vintage), *fact* (an event: a filing, a transaction, an appointment), *qualitative* (a characterization — "dominant", "improving" — checked for whether the cited evidence supports it, never marked verified on its own).
57
+
58
+ Mark the **signal-driving** claims. They carry more weight in the score and a mismatch on one of them changes the report's standing.
59
+
60
+
61
+ This section is not finished here: `3. Framework` continues in `references/11-phase-2-source-hierarchy.md`.
@@ -0,0 +1,54 @@
1
+ # 3. Framework(continued)
2
+
3
+ Part 2 of 4 for `fact-check` — 3. Framework
4
+ See `SKILL.md` for what to read and when; this part is procedure, not routing.
5
+
6
+ ### Phase 2 — Source hierarchy
7
+
8
+ Only a source the reader could open verifies a claim. Rank what you use, and record the tier in the ledger:
9
+
10
+ | Tier | Sources | Verifies |
11
+ |------|---------|----------|
12
+ | **1 — Primary** | SEC EDGAR filings (10-K, 10-Q, 8-K, DEF 14A, Form 4, 13F, S-1), the company's own IR release or presentation, FRED / BLS / BEA series, the exchange's or ETF issuer's published data, IRS publications, the fund prospectus / factsheet | reported figures, facts, macro, fund data |
13
+ | **1 — User-supplied** | The document the user pasted (a filing excerpt, a broker statement, a data export) | its own figures — labelled `user-supplied` so the reader knows verification stops at the user's document |
14
+ | **2 — Secondary** | Reputable financial data vendors and press explicitly quoting a primary document, consensus aggregators for estimates | market data and estimates, with the vendor and date recorded; a reported figure verified only at Tier 2 is marked `✅ (secondary)` |
15
+ | **3 — Not a source** | Model memory, forum posts, uncited summaries, a second AI output | nothing — a claim matched only against these stays `❓` |
16
+
17
+ Prefer the most specific location: Item and Note number, statement line, table, page. "The 10-K" is a document, not a citation.
18
+
19
+ **Retrieving a Tier-1 source without an API key.** Once retrieval is approved, go straight to SEC EDGAR rather than a summary site — in a role-split host, hand the URL and the fields needed to the agent that owns retrieval rather than fetching here: resolve the CIK from `https://www.sec.gov/files/company_tickers.json` (zero-pad `cik_str` to 10 digits); list filings from `https://data.sec.gov/submissions/CIK##########.json`, where `filings.recent.form` / `filingDate` / `reportDate` / `accessionNumber` / `primaryDocument` line up by index (`10-K`, `10-Q`, `8-K`, `DEF 14A`, `4` for insider transactions — Form 4s are filed under the issuer's CIK as well as the insider's — and `20-F` / `6-K` for foreign issuers); open the document at `https://www.sec.gov/Archives/edgar/data/<CIK without leading zeros>/<accession without dashes>/<primaryDocument>`; and cross-check statement figures against the tagged facts at `https://data.sec.gov/api/xbrl/companyfacts/CIK##########.json`. Send an identifying `User-Agent` and stay under 10 requests per second. Record `Retrieval: web/tool retrieval`, the accession number and the filing date. **Institutional holdings are the exception to the issuer-CIK route:** Form `13F-HR` is filed by the investment *manager*, so it never appears under the target company's CIK. Resolve the manager (from the claim: "Vanguard holds 8.9%") to *its* CIK, list its `13F-HR` filings, and verify the position in the information table by the target's CUSIP — or use EDGAR full-text search (`https://www.sec.gov/edgar/search/#/q=%22<company or CUSIP>%22&forms=13F-HR`) to find which managers report the security. A 13F verifies one manager's position at one quarter-end; an aggregate "institutional ownership %" is a secondary-source figure and is marked `✅ (secondary)` at best. Only where the host has no retrieval path at all, ask the user to paste the document and mark `Retrieval: pasted by user` — the repository's helper scripts are not part of this plugin and are never run from here. A source that could not be retrieved leaves its claims `❓`; it is never filled from memory.
20
+
21
+ ### Phase 3 — Verify each claim
22
+
23
+ For each ledger row, locate the figure in the source, compare, and assign one verdict:
24
+
25
+ | Verdict | Meaning | Rule |
26
+ |---------|---------|------|
27
+ | ✅ **VERIFIED** | The source states the figure | Reported figures: exact, or rounding within 0.5%. Market data: same trading day and within the stated tolerance. Percentages: within 0.1 pp. Record source · location · as-of |
28
+ | ⚠️ **MISMATCH** | The source states a different figure | Record the source value, the delta (absolute and %), and the **likely cause** — the usual suspects: wrong fiscal year or quarter; TTM vs. fiscal year; GAAP vs. adjusted; basic vs. diluted shares; a restated prior period; a currency or unit slip (thousands vs. millions); a stale price |
29
+ | ❓ **UNVERIFIABLE** | No Tier 1–2 source available | Say what source would settle it. This is *not* "false" — never let the corrected report read as if the claim were disproven |
30
+ | 🔁 **RECOMPUTED** | A derived figure rebuilt from verified inputs | Show the arithmetic (Phase 4); mark `agrees` or `disagrees (report X, recomputed Y)` |
31
+ | 🕒 **STALE** | Verified, but the as-of date is older than the report implies or than 90 days | Verified figure, wrong vintage — give the current value alongside |
32
+
33
+ A qualitative claim is judged only on whether the evidence the report cites for it holds; it is never `✅` on its own.
34
+
35
+ ### Phase 4 — Recompute every derived figure
36
+
37
+ Never accept a derived number by matching it to a secondary source that may have made the same mistake. Rebuild it from verified inputs and show the work:
38
+
39
+ ```
40
+ Free cash flow = OCF − capex 1,240 − 310 = 930 ✓ report 930
41
+ Gross margin = gross profit ÷ revenue 3,550 ÷ 6,120 = 58.0% ✓ report 58%
42
+ Revenue growth = rev / prior rev − 1 6,120 ÷ 5,100 − 1 = 20.0% ✓
43
+ Net debt = total debt − cash 800 − 1,650 = −850 (net cash) ✓
44
+ Market cap = price × shares outstanding 48.20 × 412 = 19,858 (shares outstanding at the price date — not the diluted count used for EPS)
45
+ Enterprise value = market cap + debt − cash 19,858 + 800 − 1,650 = 19,008
46
+ P/E (trailing) = price ÷ diluted EPS 48.20 ÷ 1.99 = 24.2× ✓ report "24× forward" ✗ — trailing, not forward
47
+ FCF yield = FCF ÷ market cap 930 ÷ 19,858 = 4.7%
48
+ Payout (FCF basis) = dividends paid ÷ FCF 165 ÷ 930 = 17.7%
49
+ ```
50
+
51
+ Standard checks: FCF, margins, growth rates, per-share figures (which share count?), P/E · P/S · EV/EBITDA · P/FCF (trailing vs. forward, and whose estimate), net debt and EV, payout and yield, ROE / ROIC (state the denominator), any score or weighted composite in the report (do the weights sum to 100%? does the weighted sum match?). Where the report's definition is ambiguous, say so rather than picking one silently.
52
+
53
+
54
+ This section is not finished here: `3. Framework` continues in `references/12-phase-5-consistency.md`.
@@ -0,0 +1,90 @@
1
+ # 3. Framework(continued)
2
+
3
+ Part 3 of 4 for `fact-check` — 3. Framework; References; 4. Output Format; Example
4
+ See `SKILL.md` for what to read and when; this part is procedure, not routing.
5
+
6
+ ### Phase 5 — Consistency and honesty of the report itself
7
+
8
+ - **Numbers vs. narrative** — does the text say what the tables say? ("margins expanding" next to a table where they fell)
9
+ - **Internal contradictions** — the same figure quoted two ways in two sections.
10
+ - **Signal vs. score** — the signal box's Score must sit in the band its Signal implies (≥ 6.0 BULLISH · 4.0–5.9 NEUTRAL · < 4.0 BEARISH); a mismatch is a red flag, not a rounding issue.
11
+ - **The report's `Data & Sources` header vs. what was verifiable** — a header claiming `Retrieval: web/tool retrieval · Confidence: HIGH` over a report whose figures cannot be traced is itself a finding. Quote the header and state whether the verification supports it.
12
+ - **Fabricated or unopenable citations** in the report — a reference that does not exist, or a page/Item that does not contain the figure, is the most serious finding this skill can make. Say so plainly.
13
+
14
+ ### Phase 6 — Re-issue the report with citations
15
+
16
+ Produce the corrected copy (or the diff, if asked):
17
+
18
+ - Every `✅` figure gets an inline citation `[n]`; every `🔁 agrees` figure gets the citation of its inputs plus `(recomputed)`.
19
+ - Every `⚠️` figure is corrected **in place**, with the original struck through: ~~$5.9B~~ **$6.12B** [1] — and a one-line note on the cause. Never silently change a number.
20
+ - Every `❓` figure is marked `[?]` and left as written. Every `🕒` figure keeps its citation and gains `(as of <date>; current: <value> [m])`.
21
+ - Qualitative claims whose evidence failed are marked `[unsupported]`.
22
+ - A **References** section closes the report:
23
+
24
+ ```
25
+ ## References
26
+ [1] Zephyr Robotics Inc., Form 10-K for FY ended 2026-03-31 — Item 8, Consolidated Statements of Operations, p. 54 (SEC EDGAR, accession 0000000000-26-000000; retrieved 2026-06-30)
27
+ [2] Same filing — Item 8, Consolidated Statements of Cash Flows, p. 58
28
+ [3] Zephyr Robotics Q4 FY2026 earnings release, 2026-05-14 — segment table (company IR)
29
+ [4] Form 4, filed 2026-05-19 — CFO open-market purchase (SEC EDGAR)
30
+ [5] User-supplied: price and shares outstanding as of 2026-06-30 close (pasted by user; not independently verified)
31
+ ```
32
+
33
+ Each reference names the document, the exact location, the as-of or filing date, and how it was retrieved. If the environment cannot produce a URL or accession number, say so rather than inventing one.
34
+
35
+ ### Phase 7 — Verification Score (0–10)
36
+
37
+ The headline number measures **how much of the report is demonstrably true**, not whether the report's conclusion is right.
38
+
39
+ | Component | Weight | 10 looks like | 0 looks like |
40
+ |-----------|--------|---------------|--------------|
41
+ | Coverage | 30% | ≥ 95% of claims `✅` or `🔁 agrees` | < 40% |
42
+ | Signal-driving accuracy | 30% | Every signal-driving claim verified within tolerance | A signal-driving claim off by > 5% or from the wrong period |
43
+ | Recomputation | 15% | Every derived figure agrees | Derived figures disagree or cannot be rebuilt from the report's own inputs |
44
+ | Source quality | 15% | All Tier 1, specific locations | Mostly secondary or user-supplied only |
45
+ | Freshness | 10% | Every as-of date matches the report's claim and is < 90 days old for market data | Stale figures presented as current |
46
+
47
+ **Hard caps** (state any that fires): a signal-driving `⚠️` **or `🔁 disagrees`** with delta > 5% → **max 4.0** · more than half the claims `❓` → **max 5.0** · the report's own `Data & Sources` header overstates its retrieval or confidence → **max 6.0** · **any fabricated or unopenable citation found in the report → 0.0**. Always print a `Caps fired:` line under the score (`none`, or the list) so a capped 4.0 is never mistaken for an earned 4.0 — **a report whose score was capped by a signal-driving mismatch is a failed verification regardless of the number.**
48
+
49
+ Map onto the standard bands: **≥ 6.0** the report's inputs are sound (BULLISH on the *report*) · **4.0–5.9** usable with the listed corrections (NEUTRAL) · **< 4.0** do not rely on it — re-run the analysis with verified inputs (BEARISH). Hand the score and the ledger to `result-validator`, whose Data Quality dimension should not exceed what this score supports.
50
+
51
+ ---
52
+
53
+ ## 4. Output Format
54
+
55
+ 1. `Data & Sources` header — the sources *used to verify*, with retrieval path
56
+ 2. **Verification summary** — one line: `N claims · V verified · R recomputed (r agree) · M mismatch · U unverifiable · S stale · Verification Score X.X · Caps fired: none | <list>`
57
+ 3. **Signal-driving claims first** — the 3–5 that matter, each with verdict, source, and delta
58
+ 4. **Claim ledger** — the full table from Phase 1 with verdict, source tier, location, as-of
59
+ 5. **Mismatches in detail** — original · source value · delta · likely cause · what the corrected figure does to the report's conclusion
60
+ 6. **Recomputation table** — Phase 4, arithmetic shown
61
+ 7. **Report consistency findings** — Phase 5, including the judgment on the report's own header
62
+ 8. **Corrected report with citations** (or `--diff` output) and the **References** section
63
+ 9. **Thesis Invalidation** — what would change these verdicts (below)
64
+ 10. **Investment Signal block** — mirrors the report's signal with the verification verdict attached (below)
65
+
66
+ ---
67
+
68
+ ## Example
69
+
70
+ ```
71
+ User: [pastes a stock-eval output on ZEPH that concludes BULLISH 7.4 / 10] Verify every number
72
+ and add sources. Here is the FY2026 10-K excerpt and the Q4 release. [pasted]
73
+
74
+ The assistant lists 23 claims, flags 5 as signal-driving (revenue growth, gross margin, FCF,
75
+ net cash, forward P/E). Verifies 17 against the 10-K and the release with Item/statement/page
76
+ locations; recomputes 6 derived figures — all agree except one: the report's "24× forward P/E"
77
+ is 48.20 ÷ 1.99, i.e. the *trailing* multiple on FY2026 diluted EPS; no forward estimate is
78
+ cited, so the claim becomes ⚠️ MISMATCH (label) with the corrected wording "24.2× trailing";
79
+ consensus forward EPS would be needed for the forward figure → ❓ until supplied. Two claims
80
+ are 🕒 STALE: the price and market cap are from a date 40 days before the report. One
81
+ qualitative claim ("dominant share of warehouse robotics") cites no evidence → [unsupported].
82
+ The report's own header said "Retrieval: web/tool retrieval · Confidence: HIGH"; 17/23 verified
83
+ supports MEDIUM, so that is noted. No fabricated citations. Verification Score 6.8 — the report's
84
+ inputs are sound; the signal stands with the valuation sentence corrected. Emits the corrected
85
+ report with [1]–[9] inline and a References section, and hands the ledger to result-validator.
86
+ ```
87
+
88
+ ---
89
+
90
+
@@ -0,0 +1,68 @@
1
+ # Notes
2
+
3
+ Part 4 of 4 for `fact-check` — Notes; Thesis Invalidation; Standard Signal Output
4
+ See `SKILL.md` for what to read and when; this part is procedure, not routing.
5
+
6
+ ## Notes
7
+
8
+ - **Run it before `result-validator`, not instead of it.** This skill checks the inputs; the validator checks the reasoning built on them. The validator's Data Quality score should never exceed what the Verification Score supports.
9
+ - **Every InvestSkill report is a candidate**, but so is anything else the user brings — a broker note, a newsletter, a spreadsheet, a screenshot transcribed to text. The ledger discipline is the same.
10
+ - **Unverifiable is not false.** The corrected copy must never read as if a `❓` claim were refuted. The honest output for a claim without a source is the claim, unchanged, with `[?]`.
11
+ - **Fiscal calendars cause most false mismatches.** Establish the fiscal year end and the period each table covers before comparing anything.
12
+ - **Do not fabricate a reference to fill a gap.** No accession number, page, or URL that was not actually seen. If the environment cannot retrieve, report the claim as blocked — do not fall back to memory.
13
+ - **Pairs with**: `result-validator` (consumes the score), `learning-coach` (explains the ledger to a beginner), `10k-digest` and `financial-report-analyst` (produce well-cited inputs in the first place), `full-report` (run this on the composite before shipping it), `thesis-tracker` (verify the KPI values before recording them at a check).
14
+
15
+ ## Thesis Invalidation
16
+
17
+ After delivering the analysis signal, specify what would reverse it:
18
+
19
+ **If signal is BULLISH (the report's inputs verified) — the verdicts break if:**
20
+ - A new filing restates a figure the report relied on (an 8-K or an amended 10-K/A) — every `✅` on that figure becomes `🕒` until re-checked
21
+ - A signal-driving figure that was verified at Tier 2 (secondary) is later contradicted by the primary document
22
+ - The market-data as-of dates pass 90 days — verified prices become stale prices, and the valuation claims built on them lose their `✅`
23
+
24
+ **If signal is BEARISH (the report's inputs did not verify) — the verdicts break if:**
25
+ - The user supplies the source that turns the `❓` claims into `✅` — the ledger is re-run, not amended by hand
26
+ - A mismatch is traced to a period or definition difference the report actually disclosed elsewhere (then it is a labelling issue, not a wrong number — downgrade to a note)
27
+ - The report is re-issued by its author with the corrected figures, in which case fact-check the new version, not the old
28
+
29
+ **Re-run this analysis when:**
30
+ - [ ] The company files its next 10-Q / 10-K, or any 8-K restating prior figures
31
+ - [ ] The report is edited or re-generated
32
+ - [ ] 90 days pass on any market-data claim
33
+ - [ ] Before the report is shared, published, or used to size a position
34
+ - [ ] `result-validator` scores Data Quality above what the ledger supports
35
+
36
+ ## Standard Signal Output
37
+
38
+ This skill does **not** form a view on the stock. `Score` is always the **Verification Score**, and `Confidence` is capped at the tier it supports (≥ 8.0 HIGH · 6.0–7.9 MEDIUM · < 6.0 LOW). The other fields depend on the outcome:
39
+
40
+ - **Verification passed** (Score ≥ 4.0 **and no signal-driving cap fired** — `Caps fired: none`, or only the coverage / header caps): Signal, Horizon, Action, and Conviction **mirror the verified report's own**, and a line under the box states `Mirrors the report's signal — quoted, not re-derived`. If a signal-driving claim mismatched by more than 5%, add `Signal not supported at stated confidence — re-run the analysis with verified inputs`.
41
+ - **Verification failed** (Score < 4.0, **or** the signal-driving mismatch cap fired — even if the capped score reads exactly 4.0 — or a fabricated citation → 0): the box does **not** carry the report's Signal or Action forward — an unsupported BUY must not survive into the verification result. Fill `Signal: NEUTRAL · Action: HOLD · Conviction: WEAK · Confidence: LOW`, and under the box write `Verification failed — the report's own signal (BULLISH / BUY, quoted) is not supported by its inputs; do not act on it`.
42
+ - For a report with no signal block, fill Signal / Action / Conviction with `n/a`.
43
+
44
+ All analysis concludes with this standardized block:
45
+
46
+ ```
47
+ ╔══════════════════════════════════════════════╗
48
+ ║ INVESTMENT SIGNAL ║
49
+ ╠══════════════════════════════════════════════╣
50
+ ║ Signal: BULLISH / NEUTRAL / BEARISH ║
51
+ ║ Confidence: HIGH / MEDIUM / LOW ║
52
+ ║ Horizon: SHORT / MEDIUM / LONG-TERM ║
53
+ ║ Score: X.X / 10 ║
54
+ ╠══════════════════════════════════════════════╣
55
+ ║ Action: BUY / HOLD / SELL ║
56
+ ║ Conviction: STRONG / MODERATE / WEAK ║
57
+ ╚══════════════════════════════════════════════╝
58
+ ```
59
+
60
+ Score Guide: 8.0–10.0 Strongly Bullish | 6.0–7.9 Moderately Bullish | 4.0–5.9 Neutral | 2.0–3.9 Moderately Bearish | 0.0–1.9 Strongly Bearish
61
+ Confidence: HIGH (strong data, clear signals) | MEDIUM (mixed signals) | LOW (limited data, conflicting signals)
62
+ Horizon: SHORT-TERM (1 week–3 months) | MEDIUM-TERM (3 months–1 year) | LONG-TERM (1+ years)
63
+
64
+ **Note:** The Score above is the Verification Score — *how much of the report is demonstrably true* — mapped onto the standard scale for cross-skill comparability. When verification passes, Signal, Horizon, Action, and Conviction are the verified report's own, quoted unchanged; when it fails, they are replaced by NEUTRAL / HOLD / WEAK so that no unsupported call is carried forward.
65
+
66
+ **Disclaimer:** Educational analysis only. Not financial advice. Verification is limited to the sources available at run time; an unverifiable claim is neither confirmed nor refuted.
67
+
68
+