@v587d/capital-generation 2.7.10 → 2.7.12

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 (93) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/README.md +3 -2
  3. package/chart-ui/package.json +1 -1
  4. package/{capital-config → config}/client.js +2 -2
  5. package/{capital-config → config}/client.src.cjs +2 -2
  6. package/{capital-config → config}/package.json +2 -2
  7. package/cordis.patch.yml +7 -3
  8. package/lib/index.d.ts +1 -1
  9. package/lib/index.js +2 -2
  10. package/lib/sources/fuyao-core.d.ts +1 -1
  11. package/lib/sources/fuyao-core.js +1 -1
  12. package/lib/sources/tencent-public-core.js +1 -1
  13. package/lib/web-retriever/local-fetch.d.ts +1 -1
  14. package/lib/web-retriever/local-fetch.js +1 -1
  15. package/lib/web-retriever/wind-client.d.ts +1 -1
  16. package/lib/web-retriever/wind-client.js +1 -1
  17. package/package.json +5 -5
  18. package/preset/capital-generation/agent.patch.yml +6 -3
  19. package/preset/capital-generation/skills/capital-data-profile/SKILL.md +177 -0
  20. package/preset/capital-generation/skills/capital-data-protocol/SKILL.md +11 -269
  21. package/preset/capital-generation/skills/capital-data-query/SKILL.md +109 -0
  22. package/preset/capital-generation/skills/capital-equity-research/SKILL.md +2 -2
  23. package/preset/capital-generation/skills/capital-orchestration/SKILL.md +3 -2
  24. package/preset/capital-generation/skills/capital-web-evidence/SKILL.md +134 -0
  25. package/preset/capital-generation/skills/capital-web-protocol/SKILL.md +10 -130
  26. package/selected-skills/InvestSkill/UPSTREAM.md +1 -0
  27. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/bear-case/SKILL.md +11 -152
  28. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/bear-case/references/10-analysis-framework.md +75 -0
  29. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/bear-case/references/11-output-and-signal.md +51 -0
  30. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/bear-case/references/12-thesis-invalidation.md +44 -0
  31. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-screener/SKILL.md +11 -177
  32. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-screener/references/10-scoring-framework.md +85 -0
  33. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-screener/references/11-output-format.md +58 -0
  34. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-screener/references/12-invalidation-and-signal.md +51 -0
  35. package/selected-skills/claude-for-financial-services-cn/UPSTREAM.md +1 -0
  36. package/selected-skills/claude-for-financial-services-cn/vertical-plugins/china-finance/skills/china-catalyst-calendar/SKILL.md +16 -184
  37. package/selected-skills/claude-for-financial-services-cn/vertical-plugins/china-finance/skills/china-catalyst-calendar/references/10-catalyst-types.md +64 -0
  38. package/selected-skills/claude-for-financial-services-cn/vertical-plugins/china-finance/skills/china-catalyst-calendar/references/11-workflow-and-calendar.md +131 -0
  39. package/selected-skills/claude-for-financial-services-cn/vertical-plugins/china-finance/skills/china-idea-generation/SKILL.md +14 -195
  40. package/selected-skills/claude-for-financial-services-cn/vertical-plugins/china-finance/skills/china-idea-generation/references/10-workflow.md +201 -0
  41. package/selected-skills/claude-for-financial-services-cn/vertical-plugins/china-finance/skills/china-sector-overview/SKILL.md +15 -156
  42. package/selected-skills/claude-for-financial-services-cn/vertical-plugins/china-finance/skills/china-sector-overview/references/10-workflow.md +161 -0
  43. package/selected-skills/financeskills/UPSTREAM.md +1 -1
  44. package/selected-skills/investment-skills/UPSTREAM.md +1 -0
  45. package/selected-skills/investment-skills/skills/buffett-investment-framework/SKILL.md +31 -122
  46. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/{01-decision-posture.md → 01-decision-posture-D01-D04.md} +0 -119
  47. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/01-decision-posture-D05-D09.md +123 -0
  48. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/02-business-economics-B01-B03.md +94 -0
  49. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/{02-business-economics.md → 02-business-economics-B04-B07.md} +3 -93
  50. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/{03-management-governance.md → 03-management-governance-M01-M04.md} +0 -93
  51. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/03-management-governance-M05-M08.md +97 -0
  52. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/04-financial-reality-F01-F03.md +95 -0
  53. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/{04-financial-reality.md → 04-financial-reality-F04-F07.md} +3 -94
  54. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/{05-valuation.md → 05-valuation-V01-V03.md} +0 -72
  55. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/05-valuation-V04-V06.md +76 -0
  56. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/{06-capital-allocation.md → 06-capital-allocation-C01-C04.md} +0 -115
  57. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/06-capital-allocation-C05-C09.md +119 -0
  58. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/{07-risk-monitoring.md → 07-risk-monitoring-R01-R03.md} +0 -94
  59. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/07-risk-monitoring-R04-R07.md +98 -0
  60. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/08-specialized-overlays-S01-S03.md +99 -0
  61. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/08-specialized-overlays-S04-S06.md +72 -0
  62. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/08-specialized-overlays-S07-S09.md +74 -0
  63. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/08-specialized-overlays-S10-S12.md +76 -0
  64. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/09-workflows.md +96 -0
  65. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/10-method.md +12 -0
  66. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/11-deterministic-router.md +11 -0
  67. package/selected-skills/peter-lynch-skill/UPSTREAM.md +1 -0
  68. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/SKILL.md +10 -86
  69. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/10-workflow.md +94 -0
  70. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/methodology-1.md +220 -0
  71. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/methodology-2.md +146 -0
  72. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/methodology-3.md +114 -0
  73. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/methodology-4.md +113 -0
  74. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/methodology.md +8 -521
  75. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/web-research-1.md +119 -0
  76. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/web-research-2.md +82 -0
  77. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/web-research-3.md +158 -0
  78. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/web-research-4.md +123 -0
  79. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/web-research.md +8 -454
  80. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/quick/methodology-1.md +155 -0
  81. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/quick/methodology-2.md +43 -0
  82. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/quick/methodology.md +6 -180
  83. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/quick/web-research-1.md +114 -0
  84. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/quick/web-research-2.md +180 -0
  85. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/quick/web-research-3.md +92 -0
  86. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/quick/web-research.md +7 -359
  87. package/{capital-watchlist → watchlist}/client.js +2 -2
  88. package/{capital-watchlist → watchlist}/client.src.cjs +2 -2
  89. package/{capital-watchlist → watchlist}/index.js +1 -1
  90. package/{capital-watchlist → watchlist}/package.json +2 -2
  91. package/selected-skills/investment-skills/skills/buffett-investment-framework/references/08-specialized-overlays.md +0 -309
  92. /package/{capital-config → config}/index.js +0 -0
  93. /package/{capital-watchlist → watchlist}/holding-rules.js +0 -0
@@ -61,184 +61,18 @@ Screen and rank multiple US equity tickers across five analytical dimensions —
61
61
 
62
62
  ---
63
63
 
64
- ## Scoring Framework
64
+ ## Read the Parts
65
65
 
66
- Score every stock on five dimensions, each rated 0–10. Scores are composites — compute sub-scores for each factor listed, then average them into the dimension score (round to one decimal).
66
+ Everything below the surface of this file lives in `references/`. Open a part with `read`,
67
+ resolved against this skill's base directory; each part is sized to arrive complete in one
68
+ `read`. If a receipt shows `[... tool result middle pruned ...]`, re-read it with `offset`
69
+ before concluding anything is missing.
67
70
 
68
- ### 1. Valuation Score (0–10)
71
+ - `references/10-scoring-framework.md` — Scoring Framework
72
+ - `references/11-output-format.md` — Output Format
73
+ - `references/12-invalidation-and-signal.md` — Thesis Invalidation; Standard Signal Output (Multi-Stock)
69
74
 
70
- Higher score = cheaper relative to fundamentals.
75
+ Loading this file is not reading the skill: the steps, templates, and thresholds exist only
76
+ in the parts above. Say which parts you opened, name the ones you did not, and never report a
77
+ step or a template you have not read in this session.
71
78
 
72
- | Sub-factor | How to score |
73
- |---|---|
74
- | P/E vs. sector median | Score 10 if P/E < 50 % of sector median, scale linearly to 0 if P/E > 200 % |
75
- | Price-to-Sales (P/S) | Score 10 if P/S < 1, score 0 if P/S > 20, linear in between |
76
- | EV/EBITDA | Score 10 if < 8x, score 0 if > 40x, linear in between |
77
- | PEG Ratio | Score 10 if PEG < 0.75, score 0 if PEG > 3.0, linear in between; use N/A weight if earnings negative |
78
-
79
- Average the available sub-scores → **Valuation Score**.
80
-
81
- ### 2. Quality Score (0–10)
82
-
83
- Higher score = stronger business fundamentals.
84
-
85
- | Sub-factor | How to score |
86
- |---|---|
87
- | Piotroski F-Score | Score = F-Score × (10/9), capped at 10 |
88
- | ROIC vs. WACC spread | Score 10 if spread ≥ +10 pp, score 5 if at parity, score 0 if spread ≤ −10 pp |
89
- | Gross margin trend (3-year) | Score 10 if expanding ≥ +3 pp/yr, score 5 if flat, score 0 if contracting ≥ −3 pp/yr |
90
- | Debt-to-equity | Score 10 if D/E < 0.2, score 0 if D/E > 3.0, linear in between |
91
-
92
- Average the available sub-scores → **Quality Score**.
93
-
94
- ### 3. Momentum Score (0–10)
95
-
96
- Higher score = stronger price and relative performance momentum.
97
-
98
- | Sub-factor | How to score |
99
- |---|---|
100
- | Price vs. MA50 | Score 10 if price ≥ 10 % above MA50, score 5 at MA50, score 0 if ≥ 10 % below |
101
- | Price vs. MA200 | Score 10 if price ≥ 20 % above MA200, score 5 at MA200, score 0 if ≥ 20 % below |
102
- | RSI (14-day) | Score 10 if RSI 55–70 (strong but not overbought), score 5 at RSI 50, score 0 if RSI < 30 or > 80 |
103
- | 3M relative performance vs. SPY | Score 10 if outperforming by ≥ +10 %, score 5 if in-line, score 0 if underperforming by ≥ −10 % |
104
- | 6M relative performance vs. SPY | Same scale as 3M |
105
- | 12M relative performance vs. SPY | Same scale as 12M |
106
-
107
- Average the available sub-scores → **Momentum Score**.
108
-
109
- ### 4. Sentiment Score (0–10)
110
-
111
- Higher score = more positive smart-money and market positioning signals.
112
-
113
- | Sub-factor | How to score |
114
- |---|---|
115
- | Insider net buying (trailing 6M) | Score 10 if net buy value > $5 M, score 5 if neutral/mixed, score 0 if net sell > $5 M |
116
- | Institutional accumulation (QoQ) | Score 10 if institutions net added ≥ +2 % of float, score 5 if flat, score 0 if reduced ≥ −2 % |
117
- | Short interest direction | Score 10 if short interest fell ≥ −20 % MoM (shorts covering), score 5 if flat, score 0 if short interest rose ≥ +20 % |
118
- | Analyst estimate revisions (90d) | Score 10 if ≥ 3 upgrades and no downgrades, score 0 if ≥ 3 downgrades and no upgrades |
119
-
120
- Average the available sub-scores → **Sentiment Score**.
121
-
122
- ### 5. Growth Score (0–10)
123
-
124
- Higher score = stronger and more reliable growth trajectory.
125
-
126
- | Sub-factor | How to score |
127
- |---|---|
128
- | Revenue growth YoY | Score 10 if ≥ 30 %, score 5 if 10 %, score 0 if ≤ 0 % |
129
- | EPS growth YoY | Score 10 if ≥ 40 %, score 5 if 15 %, score 0 if ≤ 0 %; use N/A weight if negative base |
130
- | Forward revenue growth estimate | Same scale as revenue growth YoY |
131
- | Guidance trend (most recent quarter) | Score 10 if raised, score 5 if maintained, score 0 if lowered or withdrawn |
132
-
133
- Average the available sub-scores → **Growth Score**.
134
-
135
- ### TOTAL Score
136
-
137
- ```
138
- TOTAL = (Valuation × 0.20) + (Quality × 0.25) + (Momentum × 0.20) + (Sentiment × 0.15) + (Growth × 0.20)
139
- ```
140
-
141
- Weights reflect: quality as the most durable factor, with equal emphasis on valuation, momentum, and growth, and a slight discount on sentiment which is noisier.
142
-
143
- ---
144
-
145
- ## Output Format
146
-
147
- ### Section 1 — Data Sources
148
-
149
- State the date and source(s) used for prices and financials.
150
-
151
- ### Section 2 — Screener Leaderboard
152
-
153
- Produce a ranked table sorted by TOTAL score descending:
154
-
155
- ```
156
- | Rank | Ticker | Val | Quality | Momentum | Sentiment | Growth | TOTAL | Signal |
157
- |------|--------|------|---------|----------|-----------|--------|-------|------------|
158
- | 1 | AAPL | 7.2 | 8.1 | 6.9 | 7.5 | 8.0 | 7.5 | BUY |
159
- | 2 | MSFT | 6.8 | 8.4 | 7.1 | 6.9 | 7.8 | 7.4 | BUY |
160
- | ... | ... | ... | ... | ... | ... | ... | ... | ... |
161
- ```
162
-
163
- Signal legend:
164
- - TOTAL ≥ 7.5 → 🟢 STRONG BUY
165
- - TOTAL 6.0–7.4 → 🟢 BUY
166
- - TOTAL 4.5–5.9 → 🟡 HOLD
167
- - TOTAL 3.0–4.4 → 🔴 AVOID
168
- - TOTAL < 3.0 → 🔴 STRONG AVOID
169
-
170
- ### Section 3 — Top 3 Deep Dives
171
-
172
- For each of the top 3 ranked stocks, provide:
173
-
174
- **[RANK] [TICKER] — [Company Name]**
175
-
176
- - **Why it scores high**: 3–5 bullet points, one per standout dimension
177
- - **Key risk**: The single most important risk that could invalidate the bull case
178
- - **Entry consideration**: Suggested price zone or trigger (e.g., pullback to MA50, post-earnings confirmation)
179
- - **Investment horizon**: Short / Medium / Long-term suitability
180
-
181
- ### Section 4 — Avoid List (Bottom 3)
182
-
183
- For each of the bottom 3 ranked stocks, provide:
184
-
185
- **[RANK] [TICKER] — [Company Name]**
186
-
187
- - **Why it scores low**: 2–3 bullet points identifying the weakest dimensions
188
- - **Potential catalyst to watch**: One event or data point that could change the thesis (don't ignore — flag for reassessment)
189
-
190
- ### Section 5 — Screening Notes
191
-
192
- - Any tickers excluded by filters (and which filter triggered)
193
- - Data gaps or caveats (e.g., "ROIC unavailable for XXXX, sub-score excluded")
194
- - Sector / macro context relevant to this batch of stocks
195
- - Correlation warning if top picks are highly correlated (e.g., all mega-cap tech)
196
-
197
- ---
198
-
199
- ## Thesis Invalidation
200
-
201
- A ranking is a snapshot. After the screening summary, state what would reorder it:
202
-
203
- **The Top Pick loses its rank if:**
204
- - Its composite falls below the #2 ticker's score on the next re-run — name the dimension most likely to slip (usually Momentum or Sentiment, which move fastest)
205
- - Its Valuation score was carried by a single depressed multiple that mean-reverts
206
- - A `bear-case` run on it surfaces a red flag none of the five dimensions weight (accounting quality, governance, customer concentration)
207
-
208
- **The Avoid list is wrong if:**
209
- - A name was penalized for a one-off (impairment, litigation charge, guidance reset) that the next quarter normalizes
210
- - Momentum was measured across a market-wide drawdown rather than a stock-specific one
211
-
212
- **The Market Bias flips if:**
213
- - The average composite crosses 6.0 or 4.0 — check whether one outlier dragged it, not the universe
214
-
215
- **Re-run this screen when:**
216
- - [ ] Any screened ticker reports earnings
217
- - [ ] The universe changes (add/remove a ticker — the ranking is relative)
218
- - [ ] 30 days have elapsed (momentum and sentiment decay fastest)
219
- - [ ] The sector or factor regime shifts (`economics-analysis` / `sector-analysis`)
220
-
221
- ---
222
-
223
- ## Standard Signal Output (Multi-Stock)
224
-
225
- End every screening session with this standardized block reflecting the overall health of the screened universe:
226
-
227
- ```
228
- ╔══════════════════════════════════════════════╗
229
- ║ INVESTMENT SIGNAL — SCREENING SUMMARY ║
230
- ╠══════════════════════════════════════════════╣
231
- ║ Top Pick: [TICKER] — Score X.X / 10 ║
232
- ║ Avg Score: X.X / 10 (screened universe) ║
233
- ║ Tickers Screened: N ║
234
- ╠══════════════════════════════════════════════╣
235
- ║ Market Bias: BULLISH / NEUTRAL / BEARISH ║
236
- ║ Best Sector: [SECTOR] ║
237
- ╚══════════════════════════════════════════════╝
238
- ```
239
-
240
- 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
241
- Market Bias: derived from the average composite score of the screened universe. BULLISH if avg ≥ 6.0, NEUTRAL if 4.0–5.9, BEARISH if < 4.0.
242
- Best Sector: the GICS sector with the highest average composite score across all screened tickers in that sector.
243
-
244
- **Disclaimer:** Educational analysis only. Not financial advice.
@@ -0,0 +1,85 @@
1
+ # Scoring Framework
2
+
3
+ Part 1 of 3 for `stock-screener` — the five scores, their bands, and how TOTAL is composed
4
+ See `SKILL.md` for what to read and when; this part is procedure, not routing.
5
+
6
+ ## Scoring Framework
7
+
8
+ Score every stock on five dimensions, each rated 0–10. Scores are composites — compute sub-scores for each factor listed, then average them into the dimension score (round to one decimal).
9
+
10
+ ### 1. Valuation Score (0–10)
11
+
12
+ Higher score = cheaper relative to fundamentals.
13
+
14
+ | Sub-factor | How to score |
15
+ |---|---|
16
+ | P/E vs. sector median | Score 10 if P/E < 50 % of sector median, scale linearly to 0 if P/E > 200 % |
17
+ | Price-to-Sales (P/S) | Score 10 if P/S < 1, score 0 if P/S > 20, linear in between |
18
+ | EV/EBITDA | Score 10 if < 8x, score 0 if > 40x, linear in between |
19
+ | PEG Ratio | Score 10 if PEG < 0.75, score 0 if PEG > 3.0, linear in between; use N/A weight if earnings negative |
20
+
21
+ Average the available sub-scores → **Valuation Score**.
22
+
23
+ ### 2. Quality Score (0–10)
24
+
25
+ Higher score = stronger business fundamentals.
26
+
27
+ | Sub-factor | How to score |
28
+ |---|---|
29
+ | Piotroski F-Score | Score = F-Score × (10/9), capped at 10 |
30
+ | ROIC vs. WACC spread | Score 10 if spread ≥ +10 pp, score 5 if at parity, score 0 if spread ≤ −10 pp |
31
+ | Gross margin trend (3-year) | Score 10 if expanding ≥ +3 pp/yr, score 5 if flat, score 0 if contracting ≥ −3 pp/yr |
32
+ | Debt-to-equity | Score 10 if D/E < 0.2, score 0 if D/E > 3.0, linear in between |
33
+
34
+ Average the available sub-scores → **Quality Score**.
35
+
36
+ ### 3. Momentum Score (0–10)
37
+
38
+ Higher score = stronger price and relative performance momentum.
39
+
40
+ | Sub-factor | How to score |
41
+ |---|---|
42
+ | Price vs. MA50 | Score 10 if price ≥ 10 % above MA50, score 5 at MA50, score 0 if ≥ 10 % below |
43
+ | Price vs. MA200 | Score 10 if price ≥ 20 % above MA200, score 5 at MA200, score 0 if ≥ 20 % below |
44
+ | RSI (14-day) | Score 10 if RSI 55–70 (strong but not overbought), score 5 at RSI 50, score 0 if RSI < 30 or > 80 |
45
+ | 3M relative performance vs. SPY | Score 10 if outperforming by ≥ +10 %, score 5 if in-line, score 0 if underperforming by ≥ −10 % |
46
+ | 6M relative performance vs. SPY | Same scale as 3M |
47
+ | 12M relative performance vs. SPY | Same scale as 12M |
48
+
49
+ Average the available sub-scores → **Momentum Score**.
50
+
51
+ ### 4. Sentiment Score (0–10)
52
+
53
+ Higher score = more positive smart-money and market positioning signals.
54
+
55
+ | Sub-factor | How to score |
56
+ |---|---|
57
+ | Insider net buying (trailing 6M) | Score 10 if net buy value > $5 M, score 5 if neutral/mixed, score 0 if net sell > $5 M |
58
+ | Institutional accumulation (QoQ) | Score 10 if institutions net added ≥ +2 % of float, score 5 if flat, score 0 if reduced ≥ −2 % |
59
+ | Short interest direction | Score 10 if short interest fell ≥ −20 % MoM (shorts covering), score 5 if flat, score 0 if short interest rose ≥ +20 % |
60
+ | Analyst estimate revisions (90d) | Score 10 if ≥ 3 upgrades and no downgrades, score 0 if ≥ 3 downgrades and no upgrades |
61
+
62
+ Average the available sub-scores → **Sentiment Score**.
63
+
64
+ ### 5. Growth Score (0–10)
65
+
66
+ Higher score = stronger and more reliable growth trajectory.
67
+
68
+ | Sub-factor | How to score |
69
+ |---|---|
70
+ | Revenue growth YoY | Score 10 if ≥ 30 %, score 5 if 10 %, score 0 if ≤ 0 % |
71
+ | EPS growth YoY | Score 10 if ≥ 40 %, score 5 if 15 %, score 0 if ≤ 0 %; use N/A weight if negative base |
72
+ | Forward revenue growth estimate | Same scale as revenue growth YoY |
73
+ | Guidance trend (most recent quarter) | Score 10 if raised, score 5 if maintained, score 0 if lowered or withdrawn |
74
+
75
+ Average the available sub-scores → **Growth Score**.
76
+
77
+ ### TOTAL Score
78
+
79
+ ```
80
+ TOTAL = (Valuation × 0.20) + (Quality × 0.25) + (Momentum × 0.20) + (Sentiment × 0.15) + (Growth × 0.20)
81
+ ```
82
+
83
+ Weights reflect: quality as the most durable factor, with equal emphasis on valuation, momentum, and growth, and a slight discount on sentiment which is noisier.
84
+
85
+ ---
@@ -0,0 +1,58 @@
1
+ # Output Format
2
+
3
+ Part 2 of 3 for `stock-screener` — the five output sections of a screening report
4
+ See `SKILL.md` for what to read and when; this part is procedure, not routing.
5
+
6
+ ## Output Format
7
+
8
+ ### Section 1 — Data Sources
9
+
10
+ State the date and source(s) used for prices and financials.
11
+
12
+ ### Section 2 — Screener Leaderboard
13
+
14
+ Produce a ranked table sorted by TOTAL score descending:
15
+
16
+ ```
17
+ | Rank | Ticker | Val | Quality | Momentum | Sentiment | Growth | TOTAL | Signal |
18
+ |------|--------|------|---------|----------|-----------|--------|-------|------------|
19
+ | 1 | AAPL | 7.2 | 8.1 | 6.9 | 7.5 | 8.0 | 7.5 | BUY |
20
+ | 2 | MSFT | 6.8 | 8.4 | 7.1 | 6.9 | 7.8 | 7.4 | BUY |
21
+ | ... | ... | ... | ... | ... | ... | ... | ... | ... |
22
+ ```
23
+
24
+ Signal legend:
25
+ - TOTAL ≥ 7.5 → 🟢 STRONG BUY
26
+ - TOTAL 6.0–7.4 → 🟢 BUY
27
+ - TOTAL 4.5–5.9 → 🟡 HOLD
28
+ - TOTAL 3.0–4.4 → 🔴 AVOID
29
+ - TOTAL < 3.0 → 🔴 STRONG AVOID
30
+
31
+ ### Section 3 — Top 3 Deep Dives
32
+
33
+ For each of the top 3 ranked stocks, provide:
34
+
35
+ **[RANK] [TICKER] — [Company Name]**
36
+
37
+ - **Why it scores high**: 3–5 bullet points, one per standout dimension
38
+ - **Key risk**: The single most important risk that could invalidate the bull case
39
+ - **Entry consideration**: Suggested price zone or trigger (e.g., pullback to MA50, post-earnings confirmation)
40
+ - **Investment horizon**: Short / Medium / Long-term suitability
41
+
42
+ ### Section 4 — Avoid List (Bottom 3)
43
+
44
+ For each of the bottom 3 ranked stocks, provide:
45
+
46
+ **[RANK] [TICKER] — [Company Name]**
47
+
48
+ - **Why it scores low**: 2–3 bullet points identifying the weakest dimensions
49
+ - **Potential catalyst to watch**: One event or data point that could change the thesis (don't ignore — flag for reassessment)
50
+
51
+ ### Section 5 — Screening Notes
52
+
53
+ - Any tickers excluded by filters (and which filter triggered)
54
+ - Data gaps or caveats (e.g., "ROIC unavailable for XXXX, sub-score excluded")
55
+ - Sector / macro context relevant to this batch of stocks
56
+ - Correlation warning if top picks are highly correlated (e.g., all mega-cap tech)
57
+
58
+ ---
@@ -0,0 +1,51 @@
1
+ # Thesis Invalidation and Signal Output
2
+
3
+ Part 3 of 3 for `stock-screener` — the invalidation contract and the multi-stock signal shape
4
+ See `SKILL.md` for what to read and when; this part is procedure, not routing.
5
+
6
+ ## Thesis Invalidation
7
+
8
+ A ranking is a snapshot. After the screening summary, state what would reorder it:
9
+
10
+ **The Top Pick loses its rank if:**
11
+ - Its composite falls below the #2 ticker's score on the next re-run — name the dimension most likely to slip (usually Momentum or Sentiment, which move fastest)
12
+ - Its Valuation score was carried by a single depressed multiple that mean-reverts
13
+ - A `bear-case` run on it surfaces a red flag none of the five dimensions weight (accounting quality, governance, customer concentration)
14
+
15
+ **The Avoid list is wrong if:**
16
+ - A name was penalized for a one-off (impairment, litigation charge, guidance reset) that the next quarter normalizes
17
+ - Momentum was measured across a market-wide drawdown rather than a stock-specific one
18
+
19
+ **The Market Bias flips if:**
20
+ - The average composite crosses 6.0 or 4.0 — check whether one outlier dragged it, not the universe
21
+
22
+ **Re-run this screen when:**
23
+ - [ ] Any screened ticker reports earnings
24
+ - [ ] The universe changes (add/remove a ticker — the ranking is relative)
25
+ - [ ] 30 days have elapsed (momentum and sentiment decay fastest)
26
+ - [ ] The sector or factor regime shifts (`economics-analysis` / `sector-analysis`)
27
+
28
+ ---
29
+
30
+ ## Standard Signal Output (Multi-Stock)
31
+
32
+ End every screening session with this standardized block reflecting the overall health of the screened universe:
33
+
34
+ ```
35
+ ╔══════════════════════════════════════════════╗
36
+ ║ INVESTMENT SIGNAL — SCREENING SUMMARY ║
37
+ ╠══════════════════════════════════════════════╣
38
+ ║ Top Pick: [TICKER] — Score X.X / 10 ║
39
+ ║ Avg Score: X.X / 10 (screened universe) ║
40
+ ║ Tickers Screened: N ║
41
+ ╠══════════════════════════════════════════════╣
42
+ ║ Market Bias: BULLISH / NEUTRAL / BEARISH ║
43
+ ║ Best Sector: [SECTOR] ║
44
+ ╚══════════════════════════════════════════════╝
45
+ ```
46
+
47
+ 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
48
+ Market Bias: derived from the average composite score of the screened universe. BULLISH if avg ≥ 6.0, NEUTRAL if 4.0–5.9, BEARISH if < 4.0.
49
+ Best Sector: the GICS sector with the highest average composite score across all screened tickers in that sector.
50
+
51
+ **Disclaimer:** Educational analysis only. Not financial advice.
@@ -166,6 +166,7 @@
166
166
  而 catalog 反查只会说"包里找不到 SKILL.md")。
167
167
  `package.json` 的 `files` 已登记 `selected-skills/claude-for-financial-services-cn`;随包的是 63 份
168
168
  `SKILL.md`(规范根 31 + 另五条线 32)+ `LICENSE` + 本文件,净增 65 个文件,整包未压缩 3.49 → 3.98 MiB。
169
+ - Visibility layering(2026-10-14,§8.6 第三个改写理由):`china-idea-generation`、`china-sector-overview`、`china-catalyst-calendar` 三颗的 `SKILL.md` 超过宿主一次加载的可见上限(剪枝阈值 8,192 码点,回执里中段换成 `[... tool result middle pruned ...]`),改成「入口册 + 分册」:流程与模板搬进 `references/10-*.md`、`11-*.md`,入口只留 Purpose、Data Sources、China-Specific 与 Quality Checks。三颗分别 8,475→9,385、8,600→9,523、9,121→10,512 字符(只增不减),逐行核对原正文**没有一行丢失**,只有入口里那几行分派指针是我改写的。**Apache-2.0 §4(b) 那行声明跟着搬**:每份新分册的第一行都带同一句可见声明(口径已定:凡被改写的正文各带一行,不留给入口册独占),`test/selected-skills-content.test.mjs` 现在逐份 `.md` 问这一行,不只问 `SKILL.md`。分层的体积判据是 `read` **渲染后**的长度(每行前缀 `N: ` + `<path>`/`<content>` 包装),不是文件字符数,建模只在那条闸门的 `readEnvelopeChars` 有一份。
169
170
  - Maintenance snapshot (checked 2026-10-11): 15 次提交里 10 次落在 2026-06-08 与 06-09 两天,
170
171
  此后三个月无动作,直到 2026-09-14 那一次修 AkShare 服务端返回空数组的 bug(也就是本 commit)。
171
172
  831 stars、3 open issue,无 release / tag。因此标 `watchlist`:内容成体系、维护靠一次性的集中搬运,
@@ -11,64 +11,6 @@ description: Track upcoming catalysts for A-share coverage universe — earnings
11
11
 
12
12
  Build and maintain a **A股催化剂日历** tracking upcoming events that could materially impact stock prices within a coverage universe.
13
13
 
14
- ## Catalyst Types (A-share Specific)
15
-
16
- ### 1. Earnings & Financial Reports
17
-
18
- | Event | Typical Timing | Notes |
19
- |-------|---------------|-------|
20
- | 业绩预告 (earnings preview) | 1-4 weeks before | Mandatory if variance >50% from prior |
21
- | 季报 (quarterly report) | 1 month after quarter-end | 10-day grace period possible |
22
- | 中报 (semi-annual report) | 2 months after H1 | 15-day grace period |
23
- | 年报 (annual report) | 4 months after year-end | Most important event of the year |
24
- | 业绩说明会 (earnings call) | Same day or next trading day | 上证e互动 / 深交所互动易 |
25
-
26
- ### 2. Regulatory & Policy Events
27
-
28
- | Event | Impact | Typical Timing |
29
- |-------|--------|---------------|
30
- | 央行MLF/LPR操作 | High (liquidity, rates) | 15th of each month (MLF) |
31
- | 央行降准/降息 | Very high | Ad-hoc, 国新办发布会 |
32
- | 国务院政策发布 | Sector-specific | Ad-hoc |
33
- | 部委监管政策 (NMPA, MIIT, etc.) | Industry-specific | Ad-hoc |
34
- | 集采结果 (volume-based procurement) | Pharma/medtech | Quarterly cycles |
35
- | 行业准入政策变化 | Sector-specific | Ad-hoc |
36
- | 反垄断调查 | Specific companies | Ad-hoc |
37
-
38
- ### 3. Corporate Events
39
-
40
- | Event | Impact | Notes |
41
- |-------|--------|-------|
42
- | 股东大会 (AGM) | Low-medium | Voting on key items |
43
- | 分红/送股/转增 (dividend/rights) | Medium | Ex-dividend date matters |
44
- | 限售股解禁 (lock-up expiry) | Medium-high | Watch large blocks |
45
- | 增减持公告 (shareholder transactions) | Low-medium | 5% threshold triggers disclosure |
46
- | 回购 (share buyback) | Low-medium | Implementation tracking |
47
- | 并购重组 (M&A announcements) | High | 停牌 until announcement |
48
- | 增发/配股 (seasoned equity) | High | Dilution impact |
49
- | 可转债发行/转股 | Medium | Conversion tracking |
50
-
51
- ### 4. Sector / Industry Events
52
-
53
- | Event | Example Sectors | Notes |
54
- |-------|----------------|-------|
55
- | 行业展会/论坛 | 新能源, 半导体, 医药 | Networking, product announcements |
56
- | 政策研讨会 | 环保, 教育, 互联网 | Policy direction signals |
57
- | 行业协会数据发布 | 汽车, 光伏, 风电 | Monthly/quarterly stats |
58
- | 国际展会 (CES, IFA, etc.) | 消费电子 | New product launches |
59
-
60
- ### 5. Macro Data Releases
61
-
62
- | Indicator | Frequency | Impact |
63
- |-----------|-----------|--------|
64
- | PMI (制造业/非制造业) | Monthly (1st) | Market-wide |
65
- | CPI / PPI | Monthly (9-10th) | Rates, commodities |
66
- | 社会融资规模 / M2 | Monthly (10-15th) | Liquidity |
67
- | 外汇储备 | Monthly | FX sentiment |
68
- | 工业增加值 | Monthly | Growth indicator |
69
- | 零售数据 | Monthly | Consumption |
70
- | 就业数据 | Quarterly | Labor market |
71
-
72
14
  ## Data Sources
73
15
 
74
16
  A calendar is a list of dates and documents, and this plugin obtains none of them from inside this step: retrieval has exactly one entry — the main agent delegating it to the role that owns market data or web and disclosure material — and a calendar holds no data-service key and issues no query of its own.
@@ -79,123 +21,10 @@ Hand over one brief per family, each naming the ticker or the indicator, the fie
79
21
  - 公司底色:profile, 股本结构, and the historical earnings pattern that tells you which quarter is material
80
22
  - 交易状态:current quote and trading context for each name on the calendar
81
23
  - 全市场:指数行情 as macro backdrop, and market-wide news flow
82
- - 宏观发布:the indicator calendar above (CPI / PMI / 工业增加值 / 零售 / 就业) with its release dates
24
+ - 宏观发布:the indicator calendar in `references/10-catalyst-types.md` (CPI / PMI / 工业增加值 / 零售 / 就业) with its release dates
83
25
 
84
26
  The disclosure venues these briefs eventually resolve to — 巨潮公告、上交所公告、深交所公告 — are the host retrieval role's business, not a browsing task for this step: name the document type you need and let the retrieval path decide where it lives. In a role-split host, delegate rather than searching from here, then keep calendar entries that came back and mark the rest as unconfirmed dates.
85
27
 
86
- ## Workflow
87
-
88
- ### Step 1: Define Coverage Universe
89
-
90
- Identify the stocks and sectors to track. Typical A-share coverage universe:
91
- - 50-200 names
92
- - Organized by sector/industry
93
- - Priority tiers (P1 = must-track, P2 = watchlist)
94
-
95
- ### Step 2: Build Calendar Entries
96
-
97
- **For each catalyst, record:**
98
-
99
- ```json
100
- {
101
- "date": "2024-04-25",
102
- "type": "earnings",
103
- "subtype": "季报",
104
- "ticker": "{{TICKER}}",
105
- "company": "{{COMPANY_NAME}}",
106
- "importance": "high",
107
- "notes": "Q1 2024 results; watch 批价 and inventory",
108
- "status": "confirmed"
109
- }
110
- ```
111
-
112
- **Catalyst types in JSON:**
113
- - `earnings` — quarterly/semi/annual reports
114
- - `earnings_call` — 业绩说明会
115
- - `regulatory` — 监管政策发布
116
- - `policy` — 宏观政策 (央行, 国务院)
117
- - `corporate` — 公司事件 (分红, 解禁, M&A)
118
- - `macro_data` — 经济数据发布
119
- - `sector_event` — 行业展会/论坛
120
- - `lockup_expiry` — 限售股解禁
121
-
122
- ### Step 3: Prioritize Catalysts
123
-
124
- **Importance levels:**
125
- - **Critical**: Likely to move stock >10% (earnings, M&A, major policy)
126
- - **High**: Likely to move stock 5-10% (regulatory decisions, industry data)
127
- - **Medium**: Watch item, context-setting (dividend, conference participation)
128
- - **Low**: Background noise (routine filings, minor announcements)
129
-
130
- ### Step 4: Pre-Catalyst Preparation
131
-
132
- **1 week before critical catalysts:**
133
- - Pull latest data and consensus
134
- - Prepare scenario analysis
135
- - Draft preliminary positioning note
136
- - Alert stakeholders if high-impact
137
-
138
- **1 day before critical catalysts:**
139
- - Final data check
140
- - Confirm release timing (morning vs afternoon)
141
- - Prepare pre-market positioning note
142
- - Set monitoring alerts
143
-
144
- ### Step 5: Post-Catalyst Update
145
-
146
- After catalyst passes:
147
- - Record actual outcome
148
- - Compare vs scenario framework
149
- - Update price target / thesis if material
150
- - Move to "completed" section
151
- - Flag next catalyst in queue
152
-
153
- ## Calendar Format
154
-
155
- ### Weekly View
156
-
157
- ```
158
- 【本周催化剂日历】[YYYY-MM-DD 至 YYYY-MM-DD]
159
-
160
- 周一 [Date]
161
- - [Time] [Ticker] [Company] — [Event type] — [Importance]
162
- - [Time] [Macro event] — [Impact assessment]
163
-
164
- 周二 [Date]
165
- ...
166
-
167
- 本周重点:
168
- - [Top 2-3 catalysts to watch]
169
- - [Market-wide risk events]
170
- ```
171
-
172
- ### Monthly View
173
-
174
- ```
175
- 【X月重要事件日历】
176
-
177
- 财报窗口:
178
- - [Week 1]: [Sector] Q[X] results: [List of companies]
179
- - [Week 2]: [Sector] Q[X] results: [List of companies]
180
-
181
- 政策窗口:
182
- - [Date]: [Policy event] — [Expected impact]
183
-
184
- 解禁窗口:
185
- - [Date]: [Ticker] — [Amount] shares unlocking — [Risk assessment]
186
-
187
- 宏观数据:
188
- - [Date]: [Indicator] — [Consensus] — [Previous]
189
- ```
190
-
191
- ### Upcoming Catalysts Table
192
-
193
- | Date | Company | Event | Importance | Watch Item |
194
- |------|---------|-------|------------|------------|
195
- | {{DATE}} | {{COMPANY_NAME}} ({{TICKER}}) | {{EVENT_TYPE}} | {{IMPORTANCE}} | {{WATCH_ITEMS}} |
196
- | Example | 贵州茅台 (600519) | Q1 年报 | Critical | 批价, 动销 |
197
- | 04-30 | 工信部 | 新能源车月度数据 | Medium | 销量, 渗透率 |
198
-
199
28
  ## China-Specific Considerations
200
29
 
201
30
  ### Earnings Calendar Patterns
@@ -235,18 +64,6 @@ After catalyst passes:
235
64
  - 分红实施公告: typically 2-4 weeks after AGM approval
236
65
  - 高送转 (high bonus issue): historically market-positive event
237
66
 
238
- ## Integration with Other Skills
239
-
240
- | Related Skill | Integration Point |
241
- |---------------|-------------------|
242
- | china-earnings-analysis | Post-earnings catalyst review |
243
- | china-earnings-preview | Pre-earnings scenario setup |
244
- | china-thesis-tracker | Catalyst milestone tracking |
245
- | china-morning-note | Daily catalyst briefing |
246
- | china-market-researcher | Sector catalyst themes |
247
-
248
- A skill named above is an option for the user, not a step this role can take: only the skills the user switched on exist in this session, and what this plugin deliberately does not offer — placing or amending an order on the user's behalf — is not reachable at all. Say what you would check next and let the user decide.
249
-
250
67
  ## Quality Checks
251
68
 
252
69
  Before delivering:
@@ -256,3 +73,18 @@ Before delivering:
256
73
  - [ ] Importance levels assigned consistently
257
74
  - [ ] Watch items specific and actionable
258
75
  - [ ] Pre-catalyst preparation tasks defined
76
+
77
+ ## Read the Parts
78
+
79
+ Everything below the surface of this file lives in `references/`. Open a part with `read`,
80
+ resolved against this skill's base directory; each part is sized to arrive complete in one
81
+ `read`. If a receipt shows `[... tool result middle pruned ...]`, re-read it with `offset`
82
+ before concluding anything is missing.
83
+
84
+ - `references/10-catalyst-types.md` — Catalyst Types (A-share Specific)
85
+ - `references/11-workflow-and-calendar.md` — Workflow; Calendar Format; Integration with Other Skills
86
+
87
+ Loading this file is not reading the skill: the steps, templates, and thresholds exist only
88
+ in the parts above. Say which parts you opened, name the ones you did not, and never report a
89
+ step or a template you have not read in this session.
90
+