@v587d/capital-generation 2.7.0 → 2.7.2
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.
- package/CHANGELOG.md +77 -1
- package/LICENSE +1 -1
- package/README.md +10 -9
- package/THIRD_PARTY_NOTICES.md +14 -4
- package/capital-config/client.js +50 -10
- package/capital-config/client.src.cjs +376 -62
- package/capital-config/index.js +168 -5
- package/capital-config/package.json +1 -1
- package/capital-watchlist/package.json +1 -1
- package/chart-ui/package.json +1 -1
- package/lib/agents/selected-skills-provider.js +5 -5
- package/lib/index.d.ts +4 -28
- package/lib/index.js +8 -18
- package/lib/web-retriever/local-fetch.d.ts +1 -1
- package/lib/web-retriever/local-fetch.js +1 -1
- package/lib/web-retriever/wind-client.d.ts +1 -1
- package/lib/web-retriever/wind-client.js +1 -1
- package/package.json +3 -1
- package/selected-skills/InvestSkill/ADDING-NEW-SKILLS.md +546 -0
- package/selected-skills/InvestSkill/CHANGELOG.md +373 -0
- package/selected-skills/InvestSkill/CI-CD-GUIDE.md +432 -0
- package/selected-skills/InvestSkill/CLAUDE.md +148 -0
- package/selected-skills/InvestSkill/CONTRIBUTING.md +291 -0
- package/selected-skills/InvestSkill/DEPLOYMENTS.md +321 -0
- package/selected-skills/InvestSkill/FAQ.md +509 -0
- package/selected-skills/InvestSkill/GEMINI.md +419 -0
- package/selected-skills/InvestSkill/LICENSE +21 -0
- package/selected-skills/InvestSkill/PLATFORM-COMPATIBILITY.md +529 -0
- package/selected-skills/InvestSkill/README-claude-code.md +435 -0
- package/selected-skills/InvestSkill/README-cursor.md +475 -0
- package/selected-skills/InvestSkill/README-gemini.md +532 -0
- package/selected-skills/InvestSkill/README-ollama.md +106 -0
- package/selected-skills/InvestSkill/README-zh-TW.md +461 -0
- package/selected-skills/InvestSkill/README.md +311 -0
- package/selected-skills/InvestSkill/RELEASE-QUICK-REFERENCE.md +230 -0
- package/selected-skills/InvestSkill/RELEASE_NOTES.md +121 -0
- package/selected-skills/InvestSkill/SECURITY.md +232 -0
- package/selected-skills/InvestSkill/TODO.md +28 -0
- package/selected-skills/InvestSkill/UPSTREAM.md +62 -0
- package/selected-skills/InvestSkill/install.sh +212 -0
- package/selected-skills/InvestSkill/package.json +64 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/README.md +119 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/10k-digest/SKILL.md +338 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/bear-case/SKILL.md +233 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/catalyst-calendar/SKILL.md +327 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/chart-master/SKILL.md +648 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/competitor-analysis/SKILL.md +478 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/dcf-valuation/SKILL.md +109 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/dividend-analysis/SKILL.md +684 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/earnings-call-analysis/SKILL.md +456 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/earnings-preview/SKILL.md +277 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/economics-analysis/SKILL.md +349 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/etf-analysis/SKILL.md +279 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/fact-check/SKILL.md +288 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/financial-report-analyst/SKILL.md +544 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/full-report/SKILL.md +301 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/fundamental-analysis/SKILL.md +67 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/industry-map/SKILL.md +336 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/insider-trading/SKILL.md +502 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/institutional-ownership/SKILL.md +548 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/learning-coach/SKILL.md +311 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/options-analysis/SKILL.md +495 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/portfolio-review/SKILL.md +465 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/position-ladder/SKILL.md +429 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/report-generator/SKILL.md +857 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/research-bundle/SKILL.md +94 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/result-validator/SKILL.md +174 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/risk-stress-test/SKILL.md +293 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/sector-analysis/SKILL.md +426 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/short-interest/SKILL.md +397 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-eval/SKILL.md +645 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-screener/SKILL.md +244 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-valuation/SKILL.md +640 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/tax-lens/SKILL.md +351 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/technical-analysis/SKILL.md +654 -0
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/thesis-tracker/SKILL.md +317 -0
- package/selected-skills/README.md +15 -5
- package/selected-skills/catalog.js +589 -14
- package/selected-skills/investment-skills/UPSTREAM.md +1 -1
- package/selected-skills/investment-skills/skills/buffett-investment-framework/SKILL.md +1 -1
- package/selected-skills/peter-lynch-skill/LICENSE +21 -0
- package/selected-skills/peter-lynch-skill/README.md +305 -0
- package/selected-skills/peter-lynch-skill/UPSTREAM.md +71 -0
- package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/SKILL.md +142 -0
- package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/methodology.md +587 -0
- package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/system-prompt.md +102 -0
- package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/web-research.md +471 -0
- package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/disclaimer.md +2 -0
- package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/filing-rules.md +64 -0
- package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/quick/methodology.md +195 -0
- package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/quick/system-prompt.md +72 -0
- package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/quick/web-research.md +379 -0
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
//
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
'
|
|
7
|
-
'
|
|
8
|
-
'
|
|
9
|
-
|
|
10
|
-
'
|
|
11
|
-
|
|
12
|
-
'strategy',
|
|
13
|
-
'valuation',
|
|
14
|
-
])
|
|
1
|
+
// 快照的 skills 根:repository(= 快照目录名)→ 上游放 SKILL.md 的相对子路径。
|
|
2
|
+
// provider 的 customSkillDirs、test/packaging.test.mjs 的反查路径、test/persona.test.mjs 的
|
|
3
|
+
// files 登记都从这里取,所以"第三颗快照的 skill 不在 <repo>/skills/"这种结构差异只需要改一处。
|
|
4
|
+
// 上游目录结构本身不动(见 docs/dev/selected-skills.md §8.6)。
|
|
5
|
+
export const SELECTED_SKILL_SKILL_DIRS = Object.freeze({
|
|
6
|
+
'investment-skills': 'skills',
|
|
7
|
+
'china-stock-research-skills': 'skills',
|
|
8
|
+
InvestSkill: 'plugins/us-stock-analysis/skills',
|
|
9
|
+
// 上游把 SKILL.md 放在仓库根,快照因此套了一层 skills/<name>/(理由见该快照的 UPSTREAM.md)。
|
|
10
|
+
'peter-lynch-skill': 'skills',
|
|
11
|
+
})
|
|
15
12
|
|
|
13
|
+
// Selected-skill metadata owned by Capital Generation. Upstream snapshots remain unchanged.
|
|
14
|
+
// 能力标签的词表就是下面 SELECTED_SKILL_TAG_LABELS 的键:卡片按条目实际用到的标签现算筛选条,
|
|
15
|
+
// 少一套语言的显示名就会露出英文原词(test/capital-config.test.mjs 钉着)。
|
|
16
16
|
export const SELECTED_SKILL_CATALOG = Object.freeze([
|
|
17
17
|
{
|
|
18
18
|
key: 'buffettFramework',
|
|
@@ -147,6 +147,557 @@ export const SELECTED_SKILL_CATALOG = Object.freeze([
|
|
|
147
147
|
en: 'Cold-start experiment; it does not make final valuation or trading recommendations.',
|
|
148
148
|
},
|
|
149
149
|
},
|
|
150
|
+
{
|
|
151
|
+
key: 'tenKDigest',
|
|
152
|
+
name: '10k-digest',
|
|
153
|
+
label: { zh: '年报(10-K)逐节精读', en: '10-K Report Digest' },
|
|
154
|
+
description: {
|
|
155
|
+
zh: '逐节精读美股年报 10-K,产出摘要、分节要点、关键指标与可核对的出处引用。',
|
|
156
|
+
en: 'Reads a 10-K section by section into an abstract, section summaries, key metrics and sourced references.',
|
|
157
|
+
},
|
|
158
|
+
owner: 'yennanliu',
|
|
159
|
+
repository: 'InvestSkill',
|
|
160
|
+
status: 'experimental',
|
|
161
|
+
lastCommit: '2026-09-25',
|
|
162
|
+
reviewBy: '2026-11-06',
|
|
163
|
+
tags: ['us-stock', 'filings', 'business-analysis'],
|
|
164
|
+
riskNote: {
|
|
165
|
+
zh: '实验性质;章节口径按美股 10-K 写,A 股年报的披露结构不同,不能直接平移。',
|
|
166
|
+
en: 'Experimental; the section map follows US 10-K disclosure and does not transfer to A-share annual reports.',
|
|
167
|
+
},
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
key: 'bearCase',
|
|
171
|
+
name: 'bear-case',
|
|
172
|
+
label: { zh: '空头视角红队反驳', en: 'Bear Case Red Team' },
|
|
173
|
+
description: {
|
|
174
|
+
zh: '针对一个看多论点刻意构建最强的反面论证,逐条找出反证与脆弱假设。',
|
|
175
|
+
en: 'Builds the strongest deliberate short-side counter-argument to a bullish thesis, with counterevidence.',
|
|
176
|
+
},
|
|
177
|
+
owner: 'yennanliu',
|
|
178
|
+
repository: 'InvestSkill',
|
|
179
|
+
status: 'experimental',
|
|
180
|
+
lastCommit: '2026-09-25',
|
|
181
|
+
reviewBy: '2026-11-06',
|
|
182
|
+
tags: ['us-stock', 'risk', 'perspective'],
|
|
183
|
+
riskNote: {
|
|
184
|
+
zh: '实验性质;只做反面论证,不构成卖出或做空建议,也不预测跌幅。',
|
|
185
|
+
en: 'Experimental; a counter-argument only, not a sell or short recommendation and no downside forecast.',
|
|
186
|
+
},
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
key: 'catalystCalendar',
|
|
190
|
+
name: 'catalyst-calendar',
|
|
191
|
+
label: { zh: '90 天催化剂日历', en: 'Catalyst Calendar' },
|
|
192
|
+
description: {
|
|
193
|
+
zh: '列出未来 90 天的事件催化剂与预期影响,用来安排复查节奏。',
|
|
194
|
+
en: 'Lists upcoming catalysts over a 90-day window with expected impact and a review cadence.',
|
|
195
|
+
},
|
|
196
|
+
owner: 'yennanliu',
|
|
197
|
+
repository: 'InvestSkill',
|
|
198
|
+
status: 'experimental',
|
|
199
|
+
lastCommit: '2026-09-25',
|
|
200
|
+
reviewBy: '2026-11-06',
|
|
201
|
+
tags: ['us-stock', 'earnings', 'monitoring'],
|
|
202
|
+
riskNote: {
|
|
203
|
+
zh: '实验性质;事件影响是定性判断,不预测具体涨跌。',
|
|
204
|
+
en: 'Experimental; catalyst impact is qualitative and does not forecast price moves.',
|
|
205
|
+
},
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
key: 'competitorAnalysis',
|
|
209
|
+
name: 'competitor-analysis',
|
|
210
|
+
label: { zh: '直接对手与护城河', en: 'Competitor Analysis' },
|
|
211
|
+
description: {
|
|
212
|
+
zh: '围绕一家公司与其直接对手做护城河、市场地位与行业格局分析。',
|
|
213
|
+
en: 'Moat, market position and industry dynamics for one company against its direct rivals.',
|
|
214
|
+
},
|
|
215
|
+
owner: 'yennanliu',
|
|
216
|
+
repository: 'InvestSkill',
|
|
217
|
+
status: 'experimental',
|
|
218
|
+
lastCommit: '2026-09-25',
|
|
219
|
+
reviewBy: '2026-11-06',
|
|
220
|
+
tags: ['us-stock', 'competition', 'business-analysis', 'risk'],
|
|
221
|
+
riskNote: {
|
|
222
|
+
zh: '与「行业竞争与护城河」视角重叠,同业名单与口径按美股披露取材;结论仍要回到公开证据。',
|
|
223
|
+
en: 'Overlaps the industry/moat lens; peer sets follow US disclosure, so conclusions still need public evidence.',
|
|
224
|
+
},
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
key: 'dividendAnalysis',
|
|
228
|
+
name: 'dividend-analysis',
|
|
229
|
+
label: { zh: '分红回购与资本配置', en: 'Dividend & Capital Allocation' },
|
|
230
|
+
description: {
|
|
231
|
+
zh: '把分红、回购、并购、债务管理与自由现金流去向合起来看资本配置纪律。',
|
|
232
|
+
en: 'Reviews dividends, buybacks, M&A, debt and FCF deployment as one capital-allocation discipline.',
|
|
233
|
+
},
|
|
234
|
+
owner: 'yennanliu',
|
|
235
|
+
repository: 'InvestSkill',
|
|
236
|
+
status: 'experimental',
|
|
237
|
+
lastCommit: '2026-09-25',
|
|
238
|
+
reviewBy: '2026-11-06',
|
|
239
|
+
tags: ['us-stock', 'capital-allocation', 'cash-flow', 'valuation'],
|
|
240
|
+
riskNote: {
|
|
241
|
+
zh: '实验性质;不承诺股息可持续性,也不预测收益。',
|
|
242
|
+
en: 'Experimental; it does not promise dividend sustainability or returns.',
|
|
243
|
+
},
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
key: 'earningsCallAnalysis',
|
|
247
|
+
name: 'earnings-call-analysis',
|
|
248
|
+
label: { zh: '业绩电话会文本分析', en: 'Earnings Call Analysis' },
|
|
249
|
+
description: {
|
|
250
|
+
zh: '从业绩电话会纪要里读情绪、主题与管理层口径的变化。',
|
|
251
|
+
en: 'Reads sentiment, themes and shifts in management tone from earnings call transcripts.',
|
|
252
|
+
},
|
|
253
|
+
owner: 'yennanliu',
|
|
254
|
+
repository: 'InvestSkill',
|
|
255
|
+
status: 'experimental',
|
|
256
|
+
lastCommit: '2026-09-25',
|
|
257
|
+
reviewBy: '2026-11-06',
|
|
258
|
+
tags: ['us-stock', 'earnings', 'perspective'],
|
|
259
|
+
riskNote: {
|
|
260
|
+
zh: '必须先拿到纪要原文;没有原文时不许凭印象补写管理层表态。',
|
|
261
|
+
en: 'Needs the actual transcript; never reconstruct management remarks from memory.',
|
|
262
|
+
},
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
key: 'earningsPreview',
|
|
266
|
+
name: 'earnings-preview',
|
|
267
|
+
label: { zh: '财报前三档情景推演', en: 'Earnings Preview' },
|
|
268
|
+
description: {
|
|
269
|
+
zh: '对比一致预期与期权隐含波动,给出超预期/符合/不及三档情景与各自要盯的指标。',
|
|
270
|
+
en: 'Compares consensus with the implied move and lays out beat / in-line / miss scenarios with watch KPIs.',
|
|
271
|
+
},
|
|
272
|
+
owner: 'yennanliu',
|
|
273
|
+
repository: 'InvestSkill',
|
|
274
|
+
status: 'experimental',
|
|
275
|
+
lastCommit: '2026-09-25',
|
|
276
|
+
reviewBy: '2026-11-06',
|
|
277
|
+
tags: ['us-stock', 'earnings', 'risk', 'monitoring'],
|
|
278
|
+
riskNote: {
|
|
279
|
+
zh: '实验性质;正文每档情景带仓位写法,只当推演练习,不是交易指令。',
|
|
280
|
+
en: 'Experimental; each scenario carries position wording — read it as a rehearsal, not a trade instruction.',
|
|
281
|
+
},
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
key: 'economicsAnalysis',
|
|
285
|
+
name: 'economics-analysis',
|
|
286
|
+
label: { zh: '美国宏观指标解读', en: 'US Economics Analysis' },
|
|
287
|
+
description: {
|
|
288
|
+
zh: '解读美国宏观数据与利率路径,并交代它传导到市场的路径。',
|
|
289
|
+
en: 'Interprets US macro prints and the rate path, and spells out the transmission to markets.',
|
|
290
|
+
},
|
|
291
|
+
owner: 'yennanliu',
|
|
292
|
+
repository: 'InvestSkill',
|
|
293
|
+
status: 'experimental',
|
|
294
|
+
lastCommit: '2026-09-25',
|
|
295
|
+
reviewBy: '2026-11-06',
|
|
296
|
+
tags: ['us-stock', 'macro', 'risk'],
|
|
297
|
+
riskNote: {
|
|
298
|
+
zh: '口径是美国宏观,对 A 股只能当外部环境变量,不直接推政策。',
|
|
299
|
+
en: 'US macro only; for A-shares treat it as an external condition, not a policy read.',
|
|
300
|
+
},
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
key: 'etfAnalysis',
|
|
304
|
+
name: 'etf-analysis',
|
|
305
|
+
label: { zh: 'ETF 尽调与契合度评分', en: 'ETF Analysis' },
|
|
306
|
+
description: {
|
|
307
|
+
zh: '费率、跟踪误差、流动性、成分集中度与持仓重叠,汇成一枚 ETF 契合度评分。',
|
|
308
|
+
en: 'Expense ratio, tracking difference, liquidity, concentration and overlap rolled into a fitness score.',
|
|
309
|
+
},
|
|
310
|
+
owner: 'yennanliu',
|
|
311
|
+
repository: 'InvestSkill',
|
|
312
|
+
status: 'experimental',
|
|
313
|
+
lastCommit: '2026-09-25',
|
|
314
|
+
reviewBy: '2026-11-06',
|
|
315
|
+
tags: ['us-stock', 'instruments', 'portfolio', 'risk'],
|
|
316
|
+
riskNote: {
|
|
317
|
+
zh: '实验性质;评分衡量结构特征,不代表收益预期。',
|
|
318
|
+
en: 'Experimental; the score describes structure, not expected return.',
|
|
319
|
+
},
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
key: 'factCheck',
|
|
323
|
+
name: 'fact-check',
|
|
324
|
+
label: { zh: '逐条主张核验与补引用', en: 'Fact Check' },
|
|
325
|
+
description: {
|
|
326
|
+
zh: '把报告里的每个数字与事实主张拆出来逐条比对一手来源,标注已核验/不符/无法核验并回填引用。',
|
|
327
|
+
en: 'Extracts every figure and claim, checks each against a primary source, and marks verified / mismatch / unverifiable.',
|
|
328
|
+
},
|
|
329
|
+
owner: 'yennanliu',
|
|
330
|
+
repository: 'InvestSkill',
|
|
331
|
+
status: 'experimental',
|
|
332
|
+
lastCommit: '2026-09-25',
|
|
333
|
+
reviewBy: '2026-11-06',
|
|
334
|
+
tags: ['us-stock', 'filings', 'verification'],
|
|
335
|
+
riskNote: {
|
|
336
|
+
zh: '一手来源清单按 SEC 文件、公司 IR、FRED 与交易所数据写;A 股材料要换成公告与官方披露。',
|
|
337
|
+
en: 'Its primary-source list is SEC / IR / FRED / exchange data; swap in announcements and official disclosure for A-shares.',
|
|
338
|
+
},
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
key: 'financialReportAnalyst',
|
|
342
|
+
name: 'financial-report-analyst',
|
|
343
|
+
label: { zh: '财报质量与红旗解读', en: 'Financial Report Analyst' },
|
|
344
|
+
description: {
|
|
345
|
+
zh: '从 10-K / 10-Q 读报表质量、异常红旗与一个可交代出处的信号。',
|
|
346
|
+
en: 'Reads statement quality, red flags and one sourced signal from 10-K / 10-Q filings.',
|
|
347
|
+
},
|
|
348
|
+
owner: 'yennanliu',
|
|
349
|
+
repository: 'InvestSkill',
|
|
350
|
+
status: 'experimental',
|
|
351
|
+
lastCommit: '2026-09-25',
|
|
352
|
+
reviewBy: '2026-11-06',
|
|
353
|
+
tags: ['us-stock', 'filings', 'financial-health', 'risk'],
|
|
354
|
+
riskNote: {
|
|
355
|
+
zh: '实验性质;红旗是提示复查的线索,不是结论。',
|
|
356
|
+
en: 'Experimental; red flags are prompts to re-check, not conclusions.',
|
|
357
|
+
},
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
key: 'industryMap',
|
|
361
|
+
name: 'industry-map',
|
|
362
|
+
label: { zh: '产业链地图与咽喉点', en: 'Industry Map' },
|
|
363
|
+
description: {
|
|
364
|
+
zh: '把上下游画成有向图,定位公司位置、找供需瓶颈与利润池,并派生二线线索。',
|
|
365
|
+
en: 'Maps the value chain as a directed graph to locate the company, find chokepoints and second-order ideas.',
|
|
366
|
+
},
|
|
367
|
+
owner: 'yennanliu',
|
|
368
|
+
repository: 'InvestSkill',
|
|
369
|
+
status: 'experimental',
|
|
370
|
+
lastCommit: '2026-09-25',
|
|
371
|
+
reviewBy: '2026-11-06',
|
|
372
|
+
tags: ['us-stock', 'macro', 'competition', 'business-analysis'],
|
|
373
|
+
riskNote: {
|
|
374
|
+
zh: '实验性质;产业链判断仍需逐条回到公开证据。',
|
|
375
|
+
en: 'Experimental; value-chain reads still need claim-by-claim public evidence.',
|
|
376
|
+
},
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
key: 'insiderTrading',
|
|
380
|
+
name: 'insider-trading',
|
|
381
|
+
label: { zh: '内部人增减持追踪', en: 'Insider Trading' },
|
|
382
|
+
description: {
|
|
383
|
+
zh: '从 SEC Form 4 追踪高管与董事的增减变动并做解读。',
|
|
384
|
+
en: 'Tracks executive and director buying and selling from SEC Form 4 filings.',
|
|
385
|
+
},
|
|
386
|
+
owner: 'yennanliu',
|
|
387
|
+
repository: 'InvestSkill',
|
|
388
|
+
status: 'experimental',
|
|
389
|
+
lastCommit: '2026-09-25',
|
|
390
|
+
reviewBy: '2026-11-06',
|
|
391
|
+
tags: ['us-stock', 'filings', 'monitoring', 'perspective'],
|
|
392
|
+
riskNote: {
|
|
393
|
+
zh: '依赖美国内部人申报制度;A 股要换成大股东与董监高变动公告,口径不可直接平移。',
|
|
394
|
+
en: 'Assumes US insider filings; A-shares need major-holder and director-change announcements instead.',
|
|
395
|
+
},
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
key: 'institutionalOwnership',
|
|
399
|
+
name: 'institutional-ownership',
|
|
400
|
+
label: { zh: '机构持仓变动', en: 'Institutional Ownership' },
|
|
401
|
+
description: {
|
|
402
|
+
zh: '从 13F 文件读机构持仓变化,识别机构资金的迁移方向。',
|
|
403
|
+
en: 'Reads changes in institutional holdings from 13F filings to spot where the money is moving.',
|
|
404
|
+
},
|
|
405
|
+
owner: 'yennanliu',
|
|
406
|
+
repository: 'InvestSkill',
|
|
407
|
+
status: 'experimental',
|
|
408
|
+
lastCommit: '2026-09-25',
|
|
409
|
+
reviewBy: '2026-11-06',
|
|
410
|
+
tags: ['us-stock', 'filings', 'monitoring'],
|
|
411
|
+
riskNote: {
|
|
412
|
+
zh: '13F 有一个季度滞后且不含空头仓位;读成趋势之前先记住这两点。',
|
|
413
|
+
en: '13F lags a quarter and omits shorts — remember both before reading it as a trend.',
|
|
414
|
+
},
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
key: 'learningCoach',
|
|
418
|
+
name: 'learning-coach',
|
|
419
|
+
label: { zh: '把分析讲成课程', en: 'Learning Coach' },
|
|
420
|
+
description: {
|
|
421
|
+
zh: '像导师一样逐指标解释一份分析结果,再反问 3–5 个检验理解的问题。',
|
|
422
|
+
en: 'Explains an analysis metric by metric in plain words, then asks 3–5 Socratic questions.',
|
|
423
|
+
},
|
|
424
|
+
owner: 'yennanliu',
|
|
425
|
+
repository: 'InvestSkill',
|
|
426
|
+
status: 'experimental',
|
|
427
|
+
lastCommit: '2026-09-25',
|
|
428
|
+
reviewBy: '2026-11-06',
|
|
429
|
+
tags: ['education', 'perspective'],
|
|
430
|
+
riskNote: {
|
|
431
|
+
zh: '教学性质;它解释的是上游分析的口径,不额外产生投资判断。',
|
|
432
|
+
en: 'Educational; it explains the analysis it is handed and forms no investment view of its own.',
|
|
433
|
+
},
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
key: 'optionsAnalysis',
|
|
437
|
+
name: 'options-analysis',
|
|
438
|
+
label: { zh: '期权希腊字母与隐波', en: 'Options Analysis' },
|
|
439
|
+
description: {
|
|
440
|
+
zh: '看希腊字母、隐含波动率与策略适配度,用来理解期权的风险形状。',
|
|
441
|
+
en: 'Reviews Greeks, implied volatility and strategy fit to characterise an options risk shape.',
|
|
442
|
+
},
|
|
443
|
+
owner: 'yennanliu',
|
|
444
|
+
repository: 'InvestSkill',
|
|
445
|
+
status: 'experimental',
|
|
446
|
+
lastCommit: '2026-09-25',
|
|
447
|
+
reviewBy: '2026-11-06',
|
|
448
|
+
tags: ['us-stock', 'instruments', 'risk'],
|
|
449
|
+
riskNote: {
|
|
450
|
+
zh: '实验性质;只解释期权风险,不推荐具体合约或策略组合。',
|
|
451
|
+
en: 'Experimental; it explains options risk and does not recommend contracts or spreads.',
|
|
452
|
+
},
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
key: 'portfolioReview',
|
|
456
|
+
name: 'portfolio-review',
|
|
457
|
+
label: { zh: '组合表现与配置偏离', en: 'Portfolio Review' },
|
|
458
|
+
description: {
|
|
459
|
+
zh: '复盘组合的收益来源、集中度与配置偏离,并列出需要盯的观察项。',
|
|
460
|
+
en: 'Reviews portfolio performance, concentration and allocation drift, with items to watch.',
|
|
461
|
+
},
|
|
462
|
+
owner: 'yennanliu',
|
|
463
|
+
repository: 'InvestSkill',
|
|
464
|
+
status: 'experimental',
|
|
465
|
+
lastCommit: '2026-09-25',
|
|
466
|
+
reviewBy: '2026-11-06',
|
|
467
|
+
tags: ['us-stock', 'portfolio', 'risk'],
|
|
468
|
+
riskNote: {
|
|
469
|
+
zh: '与本插件自带的组合复盘流程重叠;这条按美股语境给观察清单,仓位动作仍由使用者决定。',
|
|
470
|
+
en: 'Overlaps the built-in portfolio review; this one gives a US-context watchlist and leaves position moves to you.',
|
|
471
|
+
},
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
key: 'positionLadder',
|
|
475
|
+
name: 'position-ladder',
|
|
476
|
+
label: { zh: '分批建仓与摊薄节奏', en: 'Position Ladder' },
|
|
477
|
+
description: {
|
|
478
|
+
zh: '把建仓拆成分批的股数上下限与加减仓节奏,并检查批次记账、洗售窗口与总收益口径。',
|
|
479
|
+
en: 'Plans a staged entry with share-count floors and ceilings, trim/re-add cadence, lot and wash-sale checks.',
|
|
480
|
+
},
|
|
481
|
+
owner: 'yennanliu',
|
|
482
|
+
repository: 'InvestSkill',
|
|
483
|
+
status: 'experimental',
|
|
484
|
+
lastCommit: '2026-09-25',
|
|
485
|
+
reviewBy: '2026-11-06',
|
|
486
|
+
tags: ['us-stock', 'portfolio', 'monitoring'],
|
|
487
|
+
riskNote: {
|
|
488
|
+
zh: '正文里的股数区间是推演用的练习,不是买卖指令;本插件不提供投资建议,仓位决定在使用者。',
|
|
489
|
+
en: 'Its share-count ranges are rehearsal arithmetic, not orders; this plugin gives no investment advice.',
|
|
490
|
+
},
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
key: 'resultValidator',
|
|
494
|
+
name: 'result-validator',
|
|
495
|
+
label: { zh: '分析结果置信度评分', en: 'Result Validator' },
|
|
496
|
+
description: {
|
|
497
|
+
zh: '从数据质量、方法一致性与信号冲突三个维度,给一份分析结果打置信度分。',
|
|
498
|
+
en: 'Scores an analysis\'s confidence across data quality, methodology and signal consistency.',
|
|
499
|
+
},
|
|
500
|
+
owner: 'yennanliu',
|
|
501
|
+
repository: 'InvestSkill',
|
|
502
|
+
status: 'experimental',
|
|
503
|
+
lastCommit: '2026-09-25',
|
|
504
|
+
reviewBy: '2026-11-06',
|
|
505
|
+
tags: ['verification', 'perspective'],
|
|
506
|
+
riskNote: {
|
|
507
|
+
zh: '打的是数据与方法自洽度,不等于预测准确率,也不承诺表现。',
|
|
508
|
+
en: 'It grades internal data/method consistency, not forecast accuracy or future performance.',
|
|
509
|
+
},
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
key: 'riskStressTest',
|
|
513
|
+
name: 'risk-stress-test',
|
|
514
|
+
label: { zh: '组合压力测试与风险预算', en: 'Risk Stress Test' },
|
|
515
|
+
description: {
|
|
516
|
+
zh: 'beta 加权敞口、历史情景重放、VaR / CVaR、最大回撤估计与流动性退出天数。',
|
|
517
|
+
en: 'Beta-weighted exposure, historical scenario replay, VaR / CVaR, drawdown estimates and days to exit.',
|
|
518
|
+
},
|
|
519
|
+
owner: 'yennanliu',
|
|
520
|
+
repository: 'InvestSkill',
|
|
521
|
+
status: 'experimental',
|
|
522
|
+
lastCommit: '2026-09-25',
|
|
523
|
+
reviewBy: '2026-11-06',
|
|
524
|
+
tags: ['us-stock', 'portfolio', 'risk', 'macro'],
|
|
525
|
+
riskNote: {
|
|
526
|
+
zh: '模型化估计,假设一变结果就变;不构成风控额度,也不是减仓指令。',
|
|
527
|
+
en: 'Model output moves with every assumption; this is not a risk limit or a de-risking order.',
|
|
528
|
+
},
|
|
529
|
+
},
|
|
530
|
+
{
|
|
531
|
+
key: 'sectorAnalysis',
|
|
532
|
+
name: 'sector-analysis',
|
|
533
|
+
label: { zh: '板块相对强弱与轮动', en: 'Sector Analysis' },
|
|
534
|
+
description: {
|
|
535
|
+
zh: '看美国各板块的相对强弱与轮动线索,并交代判断依据。',
|
|
536
|
+
en: 'Reviews US sector positioning and rotation clues, and states what each read rests on.',
|
|
537
|
+
},
|
|
538
|
+
owner: 'yennanliu',
|
|
539
|
+
repository: 'InvestSkill',
|
|
540
|
+
status: 'experimental',
|
|
541
|
+
lastCommit: '2026-09-25',
|
|
542
|
+
reviewBy: '2026-11-06',
|
|
543
|
+
tags: ['us-stock', 'macro', 'competition'],
|
|
544
|
+
riskNote: {
|
|
545
|
+
zh: '板块分类按美股口径,与 A 股行业分类不可直接对照。',
|
|
546
|
+
en: 'Sector taxonomy is US-market; it does not line up with A-share industry classification.',
|
|
547
|
+
},
|
|
548
|
+
},
|
|
549
|
+
{
|
|
550
|
+
key: 'shortInterest',
|
|
551
|
+
name: 'short-interest',
|
|
552
|
+
label: { zh: '空头持仓与挤压条件', en: 'Short Interest' },
|
|
553
|
+
description: {
|
|
554
|
+
zh: '读空头比例、回补成本与挤压条件,并检查利空堆积信号。',
|
|
555
|
+
en: 'Analyses short ratio, cost to cover, squeeze conditions and bearish positioning signals.',
|
|
556
|
+
},
|
|
557
|
+
owner: 'yennanliu',
|
|
558
|
+
repository: 'InvestSkill',
|
|
559
|
+
status: 'experimental',
|
|
560
|
+
lastCommit: '2026-09-25',
|
|
561
|
+
reviewBy: '2026-11-06',
|
|
562
|
+
tags: ['us-stock', 'filings', 'monitoring', 'risk'],
|
|
563
|
+
riskNote: {
|
|
564
|
+
zh: '空头数据是滞后披露;当成实时结论之前先核对口径与截止日期。',
|
|
565
|
+
en: 'Short data is reported with a lag — check basis and as-of date before reading it as live.',
|
|
566
|
+
},
|
|
567
|
+
},
|
|
568
|
+
{
|
|
569
|
+
key: 'stockEval',
|
|
570
|
+
name: 'stock-eval',
|
|
571
|
+
label: { zh: '基本面与估值综合评估', en: 'Stock Evaluation' },
|
|
572
|
+
description: {
|
|
573
|
+
zh: '把财务质量、成长、估值与风险合到一次综合评估里,并输出一个可交代出处的结论。',
|
|
574
|
+
en: 'Combines quality, growth, valuation and risk into one evaluation with a sourced conclusion.',
|
|
575
|
+
},
|
|
576
|
+
owner: 'yennanliu',
|
|
577
|
+
repository: 'InvestSkill',
|
|
578
|
+
status: 'experimental',
|
|
579
|
+
lastCommit: '2026-09-25',
|
|
580
|
+
reviewBy: '2026-11-06',
|
|
581
|
+
tags: ['us-stock', 'business-analysis', 'financial-health', 'valuation', 'risk'],
|
|
582
|
+
riskNote: {
|
|
583
|
+
zh: '上游已把 fundamental-analysis 合入本条;综合结论仍是美股口径,不替代本插件既有研究流程。',
|
|
584
|
+
en: 'Upstream folded fundamental-analysis in; the read is US-context and does not replace Capital\'s own research flow.',
|
|
585
|
+
},
|
|
586
|
+
},
|
|
587
|
+
{
|
|
588
|
+
key: 'stockScreener',
|
|
589
|
+
name: 'stock-screener',
|
|
590
|
+
label: { zh: '多标的横向打分排序', en: 'Stock Screener' },
|
|
591
|
+
description: {
|
|
592
|
+
zh: '按估值、质量、动量、情绪与成长五个维度给一篮子标的打分并排序。',
|
|
593
|
+
en: 'Screens and ranks a list of US stocks across valuation, quality, momentum, sentiment and growth.',
|
|
594
|
+
},
|
|
595
|
+
owner: 'yennanliu',
|
|
596
|
+
repository: 'InvestSkill',
|
|
597
|
+
status: 'experimental',
|
|
598
|
+
lastCommit: '2026-09-25',
|
|
599
|
+
reviewBy: '2026-11-06',
|
|
600
|
+
tags: ['us-stock', 'valuation', 'business-analysis', 'technicals'],
|
|
601
|
+
riskNote: {
|
|
602
|
+
zh: '排序只反映当期打分口径,不预测未来表现;标的清单与数据来源仍要走本插件的取数链路。',
|
|
603
|
+
en: 'Ranking reflects the current scoring inputs only, not future performance; data still comes via Capital\'s own sources.',
|
|
604
|
+
},
|
|
605
|
+
},
|
|
606
|
+
{
|
|
607
|
+
key: 'stockValuation',
|
|
608
|
+
name: 'stock-valuation',
|
|
609
|
+
label: { zh: '四方法估值区间', en: 'Stock Valuation' },
|
|
610
|
+
description: {
|
|
611
|
+
zh: 'DCF、可比公司、EV 倍数与剩余收益一起出估值区间,并逐条交代假设。',
|
|
612
|
+
en: 'Values a company with DCF, comparables, EV multiples and residual income, stating every assumption.',
|
|
613
|
+
},
|
|
614
|
+
owner: 'yennanliu',
|
|
615
|
+
repository: 'InvestSkill',
|
|
616
|
+
status: 'experimental',
|
|
617
|
+
lastCommit: '2026-09-25',
|
|
618
|
+
reviewBy: '2026-11-06',
|
|
619
|
+
tags: ['us-stock', 'valuation', 'cash-flow'],
|
|
620
|
+
riskNote: {
|
|
621
|
+
zh: '区间随假设大幅移动;输出不等于目标价,也不是买卖建议。',
|
|
622
|
+
en: 'Ranges swing with assumptions; the output is not a price target or a trade call.',
|
|
623
|
+
},
|
|
624
|
+
},
|
|
625
|
+
{
|
|
626
|
+
key: 'taxLens',
|
|
627
|
+
name: 'tax-lens',
|
|
628
|
+
label: { zh: '美国税务视角检视清单', en: 'Tax Lens' },
|
|
629
|
+
description: {
|
|
630
|
+
zh: '长短期资本利得、洗售窗口、合格股息持有期、批次选择与年度税负拖累的检视清单。',
|
|
631
|
+
en: 'Checks short vs. long-term gains, wash-sale windows, qualified dividends, lot selection and estimated tax drag.',
|
|
632
|
+
},
|
|
633
|
+
owner: 'yennanliu',
|
|
634
|
+
repository: 'InvestSkill',
|
|
635
|
+
status: 'experimental',
|
|
636
|
+
lastCommit: '2026-09-25',
|
|
637
|
+
reviewBy: '2026-11-06',
|
|
638
|
+
tags: ['us-stock', 'tax', 'portfolio'],
|
|
639
|
+
riskNote: {
|
|
640
|
+
zh: '只讲美国税制且止于教育口径;中国大陆的税务与账户安排请咨询专业人士。',
|
|
641
|
+
en: 'US tax mechanics, educational only; get professional advice for mainland-China tax and account matters.',
|
|
642
|
+
},
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
key: 'technicalAnalysis',
|
|
646
|
+
name: 'technical-analysis',
|
|
647
|
+
label: { zh: '技术面与指标解读', en: 'Technical Analysis' },
|
|
648
|
+
description: {
|
|
649
|
+
zh: '用均线、成交量、RSI / MACD 等指标读趋势、关键价位与复查触发条件。',
|
|
650
|
+
en: 'Reads trend and key levels with moving averages, volume, RSI and MACD, plus re-check triggers.',
|
|
651
|
+
},
|
|
652
|
+
owner: 'yennanliu',
|
|
653
|
+
repository: 'InvestSkill',
|
|
654
|
+
status: 'experimental',
|
|
655
|
+
lastCommit: '2026-09-25',
|
|
656
|
+
reviewBy: '2026-11-06',
|
|
657
|
+
tags: ['us-stock', 'technicals', 'monitoring'],
|
|
658
|
+
riskNote: {
|
|
659
|
+
zh: '技术信号只给复查条件,不预测方向;不要把图形结论写成事实。',
|
|
660
|
+
en: 'Technical signals are re-check triggers, not direction forecasts — do not present them as facts.',
|
|
661
|
+
},
|
|
662
|
+
},
|
|
663
|
+
{
|
|
664
|
+
key: 'thesisTracker',
|
|
665
|
+
name: 'thesis-tracker',
|
|
666
|
+
label: { zh: '投资论点存档与复核', en: 'Thesis Tracker' },
|
|
667
|
+
description: {
|
|
668
|
+
zh: '写下论点的 KPI、失效条件与催化剂,之后按新数据复查并给出维持 / 走弱 / 失效。',
|
|
669
|
+
en: 'Records KPIs, invalidation triggers and catalysts, then re-checks them as INTACT / WEAKENED / BROKEN.',
|
|
670
|
+
},
|
|
671
|
+
owner: 'yennanliu',
|
|
672
|
+
repository: 'InvestSkill',
|
|
673
|
+
status: 'experimental',
|
|
674
|
+
lastCommit: '2026-09-25',
|
|
675
|
+
reviewBy: '2026-11-06',
|
|
676
|
+
tags: ['us-stock', 'verification', 'monitoring', 'perspective'],
|
|
677
|
+
riskNote: {
|
|
678
|
+
zh: '上游假设能把论点落盘;在本插件下文件写在工作目录并服从当前会话权限。',
|
|
679
|
+
en: 'Upstream assumes it can save files; under Capital it writes into the session workspace and obeys its permissions.',
|
|
680
|
+
},
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
key: 'peterLynchResearch',
|
|
684
|
+
name: 'peter-lynch-skill',
|
|
685
|
+
label: { zh: '彼得·林奇式个股研究', en: 'Peter Lynch Research' },
|
|
686
|
+
description: {
|
|
687
|
+
zh: '给一个代码或公司名,走快筛(SKIP / WATCHLIST / DEEP RESEARCH)或完整尽调,生意理解、分类与估值放在同一套检查里,每条主张配可点开的来源链接。美股与境外上市口径。',
|
|
688
|
+
en: 'Screens a ticker or company fast (SKIP / WATCHLIST / DEEP RESEARCH) or runs full due diligence, with linked sources under every claim. US and overseas-listing conventions.',
|
|
689
|
+
},
|
|
690
|
+
owner: 'DjNero11',
|
|
691
|
+
repository: 'peter-lynch-skill',
|
|
692
|
+
status: 'watchlist',
|
|
693
|
+
lastCommit: '2026-06-28',
|
|
694
|
+
reviewBy: '2026-11-06',
|
|
695
|
+
tags: ['peter-lynch', 'us-stock', 'valuation', 'risk', 'verification'],
|
|
696
|
+
riskNote: {
|
|
697
|
+
zh: '冷启动实验;上游仅两次提交、自 2026-06-28 起无更新,启用前请自行复核来源。X/10 衡量的是论点自洽度与结构特征,不预测表现,也不构成买卖建议。',
|
|
698
|
+
en: 'Cold-start experiment; upstream has two commits and has been quiet since 2026-06-28, so review the sources before use. The X/10 score rates thesis consistency and structure, not forecast performance, and is not investment advice.',
|
|
699
|
+
},
|
|
700
|
+
},
|
|
150
701
|
])
|
|
151
702
|
|
|
152
703
|
export const SELECTED_SKILL_TAG_LABELS = Object.freeze({
|
|
@@ -154,28 +705,52 @@ export const SELECTED_SKILL_TAG_LABELS = Object.freeze({
|
|
|
154
705
|
all: '全部',
|
|
155
706
|
'a-share': 'A 股',
|
|
156
707
|
'business-analysis': '业务分析',
|
|
708
|
+
'capital-allocation': '资本配置',
|
|
157
709
|
'cash-flow': '现金流',
|
|
158
710
|
competition: '竞争格局',
|
|
711
|
+
earnings: '业绩与电话会',
|
|
712
|
+
education: '教学',
|
|
713
|
+
filings: '披露文件',
|
|
159
714
|
'financial-health': '财务健康',
|
|
715
|
+
instruments: '期权与基金',
|
|
716
|
+
macro: '宏观与行业',
|
|
160
717
|
monitoring: '监控',
|
|
161
718
|
orders: '订单',
|
|
162
719
|
perspective: '分析视角',
|
|
720
|
+
'peter-lynch': '彼得·林奇',
|
|
721
|
+
portfolio: '组合与仓位',
|
|
163
722
|
risk: '风险',
|
|
164
723
|
strategy: '战略',
|
|
724
|
+
tax: '税务',
|
|
725
|
+
technicals: '技术面',
|
|
726
|
+
'us-stock': '美股',
|
|
165
727
|
valuation: '估值',
|
|
728
|
+
verification: '证据核验',
|
|
166
729
|
},
|
|
167
730
|
en: {
|
|
168
731
|
all: 'All',
|
|
169
732
|
'a-share': 'A-share',
|
|
170
733
|
'business-analysis': 'Business analysis',
|
|
734
|
+
'capital-allocation': 'Capital allocation',
|
|
171
735
|
'cash-flow': 'Cash flow',
|
|
172
736
|
competition: 'Competition',
|
|
737
|
+
earnings: 'Earnings',
|
|
738
|
+
education: 'Education',
|
|
739
|
+
filings: 'Filings',
|
|
173
740
|
'financial-health': 'Financial health',
|
|
741
|
+
instruments: 'Options & funds',
|
|
742
|
+
macro: 'Macro & industry',
|
|
174
743
|
monitoring: 'Monitoring',
|
|
175
744
|
orders: 'Orders',
|
|
176
745
|
perspective: 'Perspective',
|
|
746
|
+
'peter-lynch': 'Peter Lynch',
|
|
747
|
+
portfolio: 'Portfolio',
|
|
177
748
|
risk: 'Risk',
|
|
178
749
|
strategy: 'Strategy',
|
|
750
|
+
tax: 'Tax',
|
|
751
|
+
technicals: 'Technicals',
|
|
752
|
+
'us-stock': 'US equity',
|
|
179
753
|
valuation: 'Valuation',
|
|
754
|
+
verification: 'Verification',
|
|
180
755
|
},
|
|
181
756
|
})
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
- Upstream commit: `7235d3411601036cc79137fa0aec0d587f2c8e19`
|
|
6
6
|
- License: MIT; see `LICENSE` copied from upstream.
|
|
7
7
|
- Imported content: complete upstream repository snapshot, including the Buffett framework skill and its references. Upstream scripts are retained as source material and are never executed by intake or activation.
|
|
8
|
-
- Local modifications:
|
|
8
|
+
- Local modifications: one sentence, on the router block. Upstream wrote "Use the bundled deterministic router when a shell is available" and four `python3 scripts/framework.py …` examples; under Capital the root role has no shell (§1.6), so that conditional left a dead end with nothing to fall back to. The sentence now states the two preconditions (a shell **and** a reachable skill directory) and names the fallback: skip the router and open the `references/` file for the chosen module directly, since the router only picks which file to read. No card, workflow, or analytical text was touched; `scripts/framework.py` itself is unmodified. Recorded here per `docs/dev/selected-skills.md` §8.6, and enforced by `test/selected-skills-content.test.mjs` (a file may mention `python3 scripts/` only if it also carries the no-shell fallback). This record and the Capital selected-skill catalog are maintained by Capital Generation.
|
|
9
9
|
- Packaging: a Capital-owned `.npmignore` beside these files excludes `images/` and `viz/` from the published npm package — 2.3 MB of upstream README artwork (the same four PNGs exist twice, in `images/` and `viz/out/`) plus the upstream visualization site; no skill body references either. The complete snapshot stays committed here, so `github:` installs and provenance review are unaffected.
|
|
10
10
|
- Maintenance snapshot (checked 2026-10-08): latest commit 2026-07-22; no later commits observed through the review date (78 days). See [GitHub commit history](https://github.com/finterm-ai/investment-skills/commits/main/).
|
|
11
11
|
- Runtime status: `experimental` / explicit experiment. The skill remains disabled until explicitly selected in Capital settings and is registered only in a Capital root Agent's own scope. Its capability tags and warning are maintained in `selected-skills/catalog.js`.
|
|
@@ -19,7 +19,7 @@ into investment actions.
|
|
|
19
19
|
5. Apply each card’s question, actions, output, and limits.
|
|
20
20
|
6. Return supported, challenged, or unresolved findings using the output contract.
|
|
21
21
|
|
|
22
|
-
Use the bundled deterministic router when a shell is
|
|
22
|
+
Use the bundled deterministic router when the host gives this role a shell **and** this skill's directory is reachable. Where either is missing — a role-split host that grants no shell, or an install without `scripts/` — skip the router and open the `references/` file for the chosen module directly, using the mapping in *Choose the Workflow* below. The router only decides which file to read; it holds no analysis of its own, so nothing is lost by reading the file.
|
|
23
23
|
From the skill directory, run:
|
|
24
24
|
|
|
25
25
|
```bash
|