@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
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Szymon Nycz
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
# Peter Lynch Skill
|
|
2
|
+
|
|
3
|
+
[](LICENSE)
|
|
4
|
+
[](https://agentskills.io/home)
|
|
5
|
+
|
|
6
|
+
An [Agent Skills](https://agentskills.io/home) open-standard skill for Peter
|
|
7
|
+
Lynch-style public company research. Give it a ticker or company name, choose a
|
|
8
|
+
quick screen or a deep dive, and it guides a compatible AI agent through current
|
|
9
|
+
web research, source verification, and a cited markdown report.
|
|
10
|
+
|
|
11
|
+
This repository is a skill package, not a web application. It has no Django
|
|
12
|
+
server, database, frontend build, bundled data fetcher or project-specific API keys. The skill relies on the host
|
|
13
|
+
agent's web search and page-fetch tools.
|
|
14
|
+
|
|
15
|
+
## About Peter Lynch
|
|
16
|
+
|
|
17
|
+
Peter Lynch ran the **Fidelity Magellan Fund** from 1977 to 1990, delivering an
|
|
18
|
+
average annual return of 29.2%, beating the S&P 500 index — making it one of the
|
|
19
|
+
best-performing mutual funds in history.
|
|
20
|
+
|
|
21
|
+
His investment philosophy is grounded in a simple but powerful idea: ordinary
|
|
22
|
+
investors have a real edge when they pay attention to the world around them.
|
|
23
|
+
|
|
24
|
+
- **Invest in what you understand** — focus on businesses whose products,
|
|
25
|
+
services, and revenue model you can clearly explain.
|
|
26
|
+
- **Focus on fundamentals** — prioritize earnings growth, financial health, and
|
|
27
|
+
business quality over short-term market movements or predictions.
|
|
28
|
+
- **Growth at a reasonable price (GARP)** — seek companies that combine solid
|
|
29
|
+
growth with sensible valuation.
|
|
30
|
+
- **Think long-term** — durable business performance matters far more than
|
|
31
|
+
short-term market noise.
|
|
32
|
+
- **Use your individual advantage** — everyday observations can help you spot
|
|
33
|
+
great investments before Wall Street does.
|
|
34
|
+
|
|
35
|
+
> *"The person that turns over the most rocks wins the game."* — Peter Lynch
|
|
36
|
+
|
|
37
|
+
He is best known for the books: **Learn to Earn**, **One Up on Wall Street**,
|
|
38
|
+
and **Beating the Street**.
|
|
39
|
+
|
|
40
|
+
<br />
|
|
41
|
+
|
|
42
|
+
<table align="center">
|
|
43
|
+
<tr>
|
|
44
|
+
<td align="center" width="220">
|
|
45
|
+
<img src="https://raw.githubusercontent.com/DjNero11/fundamentalio/refs/heads/main/fundamentalio/static/img/LearnToEarn.jpg" width="180" alt="Peter Lynch portrait" /><br />
|
|
46
|
+
<sub><b>Peter Lynch</b></sub><br />
|
|
47
|
+
</td>
|
|
48
|
+
<td align="center" width="160">
|
|
49
|
+
<img src="https://raw.githubusercontent.com/DjNero11/fundamentalio/refs/heads/main/fundamentalio/static/img/once_up.jpg" width="130" alt="One Up on Wall Street" /><br />
|
|
50
|
+
<sub><b>One Up on Wall Street</b></sub><br />
|
|
51
|
+
</td>
|
|
52
|
+
<td align="center" width="160">
|
|
53
|
+
<img src="https://raw.githubusercontent.com/DjNero11/fundamentalio/refs/heads/main/fundamentalio/static/img/beating_the_street.jpg" width="130" alt="Beating the Street" /><br />
|
|
54
|
+
<sub><b>Beating the Street</b></sub><br />
|
|
55
|
+
</td>
|
|
56
|
+
</tr>
|
|
57
|
+
</table>
|
|
58
|
+
|
|
59
|
+
<br />
|
|
60
|
+
|
|
61
|
+
I created this project to see whether AI agents could generate stock research
|
|
62
|
+
reports inspired by **Peter Lynch's** investing philosophy. After a few months
|
|
63
|
+
of analyzing his books and iterating on the methodology/prompt engineering, it started
|
|
64
|
+
producing surprisingly useful reports.
|
|
65
|
+
|
|
66
|
+
## What It Does
|
|
67
|
+
|
|
68
|
+
The skill supports two research workflows:
|
|
69
|
+
|
|
70
|
+
| Workflow | Purpose | Evidence base | Output |
|
|
71
|
+
|---|---|---|---|
|
|
72
|
+
| Quick Research | Decide whether a company deserves deeper research | Reputable financial-data aggregators | Up to 450 words with a `SKIP`, `WATCHLIST`, or `DEEP RESEARCH` decision |
|
|
73
|
+
| Deep Research | Produce full due diligence | Annual reports, filings, official company materials, live market data, and targeted external sources | Up to 3000 words with an attractiveness score out of 10 |
|
|
74
|
+
|
|
75
|
+
Both workflows are designed around evidence discipline:
|
|
76
|
+
|
|
77
|
+
- Use the smallest reliable source set that can support the conclusion.
|
|
78
|
+
- Date time-sensitive market data.
|
|
79
|
+
- Cite every web-derived factual claim with a linked `source:` line.
|
|
80
|
+
- Do not invent missing financial data.
|
|
81
|
+
- Do not expose research scratchwork in the final report unless the user asks for it.
|
|
82
|
+
|
|
83
|
+
## Quick Research
|
|
84
|
+
|
|
85
|
+
Quick Research is a triage workflow. It answers one practical question:
|
|
86
|
+
|
|
87
|
+
> Is this company worth spending 2-5 hours researching in detail?
|
|
88
|
+
|
|
89
|
+
The quick workflow intentionally avoids annual reports, full filings, SEC detail
|
|
90
|
+
pages, company quarterly reports, and long investor-relations documents. It uses
|
|
91
|
+
reputable aggregator pages for identity, business description, financial trends,
|
|
92
|
+
cash flow, balance sheet risk, valuation, and recent trend checks.
|
|
93
|
+
|
|
94
|
+
Default evidence budget:
|
|
95
|
+
|
|
96
|
+
- 1-3 aggregator sources
|
|
97
|
+
- 2-3 searches
|
|
98
|
+
- 2-3 page fetches
|
|
99
|
+
|
|
100
|
+
The report follows the quick methodology in
|
|
101
|
+
[references/quick/methodology.md](references/quick/methodology.md) and ends with
|
|
102
|
+
one of these decisions:
|
|
103
|
+
|
|
104
|
+
- `SKIP`
|
|
105
|
+
- `WATCHLIST`
|
|
106
|
+
- `DEEP RESEARCH`
|
|
107
|
+
|
|
108
|
+
## Deep Research
|
|
109
|
+
|
|
110
|
+
Deep Research is a full due-diligence workflow. It starts with official sources
|
|
111
|
+
and treats the latest annual report, 10-K, 20-F, or equivalent full-year filing
|
|
112
|
+
as the factual base whenever available.
|
|
113
|
+
|
|
114
|
+
The deep workflow then fills methodology gaps with targeted external sources for
|
|
115
|
+
items such as live valuation, ownership, insider activity, peer context,
|
|
116
|
+
industry structure, recession resilience, recent updates, and material legal or
|
|
117
|
+
regulatory risks.
|
|
118
|
+
|
|
119
|
+
Default evidence budget:
|
|
120
|
+
|
|
121
|
+
- 7-10 sources
|
|
122
|
+
- 8-12 searches
|
|
123
|
+
- 10-16 page or document fetches
|
|
124
|
+
|
|
125
|
+
The report follows the deep methodology in
|
|
126
|
+
[references/deep/methodology.md](references/deep/methodology.md) and ends with
|
|
127
|
+
an attractiveness score:
|
|
128
|
+
|
|
129
|
+
```text
|
|
130
|
+
Attractiveness score: X / 10
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## How To Use
|
|
134
|
+
|
|
135
|
+
Install the folder in any AI tool that supports the Agent Skills format, then
|
|
136
|
+
ask for research by ticker or company name.
|
|
137
|
+
|
|
138
|
+
Example prompts:
|
|
139
|
+
|
|
140
|
+
```text
|
|
141
|
+
Quick research MSFT
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
```text
|
|
145
|
+
Do a quick screen of ASML.AS
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
```text
|
|
149
|
+
Do a deep research on IBM company
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
```text
|
|
153
|
+
Full analysis of Nintendo, Japan listing
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
If the request is ambiguous, the skill asks whether you want quick screening or
|
|
157
|
+
deep due diligence. If only a brand, ambiguous company name, or ambiguous ticker
|
|
158
|
+
is provided, the skill resolves the traded entity before analysis.
|
|
159
|
+
|
|
160
|
+
Useful optional hints:
|
|
161
|
+
|
|
162
|
+
- ticker
|
|
163
|
+
- exchange
|
|
164
|
+
- country
|
|
165
|
+
- primary listing
|
|
166
|
+
- company name if the ticker is ambiguous
|
|
167
|
+
|
|
168
|
+
Do not provide API keys or annual report PDFs. The skill is designed to find the
|
|
169
|
+
needed public sources through the host agent's browsing tools.
|
|
170
|
+
|
|
171
|
+
## Installation
|
|
172
|
+
|
|
173
|
+
Installation is client-specific. Agent Skills are supported by multiple AI tools
|
|
174
|
+
and agentic clients; use the official
|
|
175
|
+
[Client Showcase](https://agentskills.io/clients) to find instructions for your
|
|
176
|
+
tool.
|
|
177
|
+
|
|
178
|
+
Make sure that all .md files are included when you install the skill.
|
|
179
|
+
|
|
180
|
+
## Repository Structure
|
|
181
|
+
|
|
182
|
+
```text
|
|
183
|
+
.
|
|
184
|
+
|-- SKILL.md
|
|
185
|
+
|-- references
|
|
186
|
+
| |-- disclaimer.md
|
|
187
|
+
| |-- filing-rules.md
|
|
188
|
+
| |-- quick
|
|
189
|
+
| | |-- methodology.md
|
|
190
|
+
| | |-- system-prompt.md
|
|
191
|
+
| | `-- web-research.md
|
|
192
|
+
| `-- deep
|
|
193
|
+
| |-- methodology.md
|
|
194
|
+
| |-- system-prompt.md
|
|
195
|
+
| `-- web-research.md
|
|
196
|
+
|-- LICENSE
|
|
197
|
+
`-- README.md
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## How The Files Work Together
|
|
201
|
+
|
|
202
|
+
The skill is intentionally split into a small entrypoint and focused reference
|
|
203
|
+
files. A compatible agent first sees only the metadata in [SKILL.md](SKILL.md).
|
|
204
|
+
When a stock-research request matches the description, the agent reads the full
|
|
205
|
+
skill instructions, chooses Quick or Deep Research, then loads only the
|
|
206
|
+
workflow-specific reference files it needs.
|
|
207
|
+
|
|
208
|
+
The normal flow is:
|
|
209
|
+
|
|
210
|
+
1. [SKILL.md](SKILL.md) routes the request and sets the operating rules.
|
|
211
|
+
2. A workflow-specific `web-research.md` file tells the agent what sources to
|
|
212
|
+
gather and when to stop.
|
|
213
|
+
3. A workflow-specific `methodology.md` file defines the analytical checklist.
|
|
214
|
+
4. A workflow-specific `system-prompt.md` file constrains the final report
|
|
215
|
+
format, citations, and language.
|
|
216
|
+
5. [references/disclaimer.md](references/disclaimer.md) is appended after the
|
|
217
|
+
report body.
|
|
218
|
+
|
|
219
|
+
## File Guide
|
|
220
|
+
|
|
221
|
+
| File | What it does | Edit this when... |
|
|
222
|
+
|---|---|---|
|
|
223
|
+
| [SKILL.md](SKILL.md) | Main entrypoint. Defines the skill metadata, routing rules, required inputs, research checklist, citation standard, and failure handling. | You want to change when the skill triggers, how it chooses Quick vs Deep, or the top-level operating rules. |
|
|
224
|
+
| [references/quick/web-research.md](references/quick/web-research.md) | Source-gathering playbook for fast screening. Sets the aggregator-only rule, search budget, extraction targets, triggered evidence checks, and internal brief template. | Quick reports gather too much, too little, or the wrong kind of evidence. |
|
|
225
|
+
| [references/quick/methodology.md](references/quick/methodology.md) | Analytical framework for Quick Research. Defines understandability, diagnostic profile, fatal flaws, category checks, bonus points, and the final `SKIP` / `WATCHLIST` / `DEEP RESEARCH` decision. | You want to tune the screening philosophy or change what counts as a pass/fail signal. |
|
|
226
|
+
| [references/quick/system-prompt.md](references/quick/system-prompt.md) | Output constraints for Quick Research. Controls word limit, markdown style, citation placement, plain-language rules, and cross-statement validation. | Quick reports are too verbose, too vague, poorly cited, or formatted inconsistently. |
|
|
227
|
+
| [references/deep/web-research.md](references/deep/web-research.md) | Source-gathering playbook for due diligence. Defines annual-report discovery, official-source priority, external gap-fills, live market-data rules, and the deep research brief. | You think deep reports miss important source categories, over-browse, or fail to ground analysis in filings and official materials. |
|
|
228
|
+
| [references/deep/methodology.md](references/deep/methodology.md) | Full due-diligence framework. Covers business model, track record, balance sheet, cash flow, growth drivers, competition, valuation, triggered modules, and final score. | You want to expand or refine the investment analysis itself. |
|
|
229
|
+
| [references/deep/system-prompt.md](references/deep/system-prompt.md) | Output constraints for Deep Research. Controls report length, source priority, markdown format, citation placement, simple language, and validation rules. | You think that deep reports need a different structure, tone, citation discipline, or final-report behavior. |
|
|
230
|
+
| [references/filing-rules.md](references/filing-rules.md) | Special handling for regulator data, XBRL, accounting basis, ADRs, secondary listings, and banks, insurers, REITs, and other specialized financial companies. | When you notice the skill to struggle with filing data, non-US listings, or financial companies. |
|
|
231
|
+
|
|
232
|
+
## Customizing The Skill
|
|
233
|
+
|
|
234
|
+
For most changes, edit the smallest file that owns the behavior:
|
|
235
|
+
|
|
236
|
+
- Triggering or routing: [SKILL.md](SKILL.md)
|
|
237
|
+
- Research source selection: the relevant `web-research.md`
|
|
238
|
+
- Investment logic: the relevant `methodology.md`
|
|
239
|
+
- Final report style: the relevant `system-prompt.md`
|
|
240
|
+
- Legal language: [references/disclaimer.md](references/disclaimer.md)
|
|
241
|
+
|
|
242
|
+
That separation keeps the skill easier to tune. You can make Quick Research
|
|
243
|
+
stricter without touching Deep Research, or change Deep report formatting without
|
|
244
|
+
changing the source-gathering rules.
|
|
245
|
+
|
|
246
|
+
## Methodology
|
|
247
|
+
|
|
248
|
+
The research framework is inspired by the investment principles popularized in
|
|
249
|
+
Peter Lynch's books, especially the emphasis on understandable businesses,
|
|
250
|
+
earnings growth, financial strength, valuation discipline, and knowing what kind
|
|
251
|
+
of business you are analyzing.
|
|
252
|
+
|
|
253
|
+
The skill does not force every company into a single label. Instead, it builds a
|
|
254
|
+
diagnostic profile across traits such as:
|
|
255
|
+
|
|
256
|
+
- cyclicality
|
|
257
|
+
- turnaround status
|
|
258
|
+
- growth profile
|
|
259
|
+
- business maturity
|
|
260
|
+
- asset angle
|
|
261
|
+
- dominant analytical lenses
|
|
262
|
+
|
|
263
|
+
That profile determines which checks matter most. A cyclical company, a
|
|
264
|
+
turnaround, a fast grower, a stalwart-like compounder, and an asset play should
|
|
265
|
+
not be judged by the same shortcut.
|
|
266
|
+
|
|
267
|
+
## Citation Standard
|
|
268
|
+
|
|
269
|
+
Final reports use claim-level citations. Source lines are placed directly below
|
|
270
|
+
the claim they support:
|
|
271
|
+
|
|
272
|
+
```md
|
|
273
|
+
- Revenue grew from $10.0 billion in FY2022 to $12.0 billion in FY2024.
|
|
274
|
+
source: [Annual Report (FY2024)](https://example.com/annual-report)
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
The skill should not cite a source that is absent from the internal Source
|
|
278
|
+
Ledger, and it should not include a factual claim unless it can trace that claim
|
|
279
|
+
to a linked source.
|
|
280
|
+
|
|
281
|
+
## Disclaimer
|
|
282
|
+
|
|
283
|
+
This project is independent and is not affiliated with, endorsed by, sponsored
|
|
284
|
+
by, or associated with Peter Lynch, Fidelity Investments, or any related
|
|
285
|
+
organization.
|
|
286
|
+
|
|
287
|
+
Reports generated with this skill are AI-generated and may contain errors or
|
|
288
|
+
inaccuracies. They are provided for educational and informational purposes only
|
|
289
|
+
and do not constitute financial, investment, tax, accounting, or legal advice.
|
|
290
|
+
Always verify information independently before making investment decisions.
|
|
291
|
+
|
|
292
|
+
The skill tends to perform poorly on companies that have recently gone public.
|
|
293
|
+
|
|
294
|
+
## License
|
|
295
|
+
|
|
296
|
+
Distributed under the **MIT License** — see [`LICENSE`](LICENSE) for details.
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
<p align="center">
|
|
301
|
+
<sub>
|
|
302
|
+
Created by <a href="https://www.linkedin.com/in/szymon-nycz/">Szymon Nycz</a>
|
|
303
|
+
· Inspired by Peter Lynch's philosophy
|
|
304
|
+
</sub>
|
|
305
|
+
</p>
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Upstream Record
|
|
2
|
+
|
|
3
|
+
- Project: Peter Lynch Research(一颗 skill、两条工作流:Quick 快筛给 SKIP / WATCHLIST / DEEP RESEARCH,Deep 出完整尽调报告)
|
|
4
|
+
- Repository: https://github.com/DjNero11/peter-lynch-skill
|
|
5
|
+
- Upstream commit: `e0eaf5830f57768cc4fb6543682ae1eb3c8d022c`(main,2026-06-28)
|
|
6
|
+
- 全仓只有两次提交:上一条 `4f028d6`(2026-06-23,Initial commit)。无 release、无 tag、无 CI。
|
|
7
|
+
- License: MIT;`LICENSE` 为上游原件(`Copyright (c) 2026 Szymon Nycz`),未改写。
|
|
8
|
+
frontmatter 的 `metadata.author` 是 **Szymon Nycz**,与 GitHub login `DjNero11` 不同名——
|
|
9
|
+
catalog 的 `owner` 用后者,因为它拼的是仓库链接。
|
|
10
|
+
- Imported content: 该 commit 的完整文件树(`SKILL.md` + `references/` 下 8 份附属文件 + `README.md` + `LICENSE`),
|
|
11
|
+
132 KB。无脚本、无凭据读取、无出网调用、不落盘产物(`python3` / `node` / `install` 命中 0)。
|
|
12
|
+
- Local modifications(三类,逐条可复核;口径与理由见 `docs/dev/selected-skills.md` §8.6 的接入必查清单):
|
|
13
|
+
1. **套了一层 `skills/peter-lynch-skill/`。** 上游把 `SKILL.md` 放在**仓库根**,而 provider 的
|
|
14
|
+
`customSkillDirs`、`test/selected-skills-content.test.mjs`、`test/packaging.test.mjs`、
|
|
15
|
+
`test/persona.test.mjs` 与 `capital-config` 的原文旁路五处都按 `<repo>/<skillsDir>/<name>/SKILL.md`
|
|
16
|
+
反查(AGENTS.md §9.7 那一族:漂了不报错,只是"勾了那一格、技能永远不出现")。
|
|
17
|
+
`references/` 跟着 `SKILL.md` 一起搬,正文里的相对链接不破;`SELECTED_SKILL_SKILL_DIRS`
|
|
18
|
+
因此填 `'skills'`,与前两颗同形。上游 `README.md` 那张仓库结构图随之与实际路径不符——
|
|
19
|
+
它是**不进 catalog 的材料**,按"不进 catalog 的正文一律不动"原样保留。
|
|
20
|
+
2. **删除上游的 `.gitignore`。** 它带 `lib/` `build/` `dist/` `tmp/` `*.log` 一类目录规则,今天在这份
|
|
21
|
+
快照里挡不到东西,但会把 ignore 规则继续带进宿主仓库,并让"按 commit 重导"的快照与所钉 commit
|
|
22
|
+
不一致(InvestSkill 那一轮就是三个文件被静默挡掉)。vendored 快照不把 ignore 规则带进宿主仓库。
|
|
23
|
+
3. **取数口径改写**(六份文件共 124 行改动,全部落在"谁去取数"与一处评分释义上;分析结论、
|
|
24
|
+
预算数字、Source Ledger 字段、`Reported/Calculated/Inference` 标注、停止规则与章节结构一字未改)。
|
|
25
|
+
上游正文写给"什么工具都在手边"的宿主,与本插件的取数边界冲突:
|
|
26
|
+
- `SKILL.md` 开篇 `All data comes from **web search and fetched pages**` → 改为"数据来自宿主自己的
|
|
27
|
+
取数通道;角色分流的宿主里把标的、字段、as-of 日期与来源档写进委派 brief 交出去"(1 处)。
|
|
28
|
+
- `SKILL.md` Step 3 抬头 `Using the host agent's **web search** and **page fetch** tools:` →
|
|
29
|
+
`Asking the host's own retrieval path …(delegate it with the brief, do not browse from here)`;
|
|
30
|
+
配套把预算的计量对象改成"向通道要几次"(`2-3 searches` / `8-12 searches` → `retrieval requests`),
|
|
31
|
+
**数字一字未动**(2 处)。
|
|
32
|
+
- `references/{quick,deep}/web-research.md` 里 28 处独立 `search` 的**主语与动词**:
|
|
33
|
+
`Every search must fill a Source Ledger slot` / `Before adding a search after the third Quick search` /
|
|
34
|
+
`Do not run separate searches…` / `Use targeted external searches…` → 改成"向宿主取数通道要一份来源";
|
|
35
|
+
`Query Pack` 与 `Phase 2` 的 query 清单**原样保留**,只写明"每一条都是向通道要的目标,不是从这里去开的页面"。
|
|
36
|
+
deep 的 `fetch/read the document` 明确成"把 URL 交给宿主检索通道,PDF 由检索角色解析,用回来的正文继续"
|
|
37
|
+
(合计 14 处句子级改动)。
|
|
38
|
+
- `references/deep/system-prompt.md` 的 `… use web search results for recent strategic and competitive
|
|
39
|
+
context` → "use what the host's retrieval path returned…"。这是 `test/selected-skills-content.test.mjs`
|
|
40
|
+
六条 FORBIDDEN 在本颗的**唯一实际命中**(1 处)。
|
|
41
|
+
- `SKILL.md` 失效处理 `If web search is unavailable: state the limitation and stop — do not fabricate data`
|
|
42
|
+
→ "宿主对某个字段没有可用取数路径时:点名缺哪些字段、该字段下的分析停止";后半句 `do not fabricate data`
|
|
43
|
+
原样保留。同段 `use another reputable aggregator` → `ask the channel for another reputable aggregator`(2 处)。
|
|
44
|
+
- `SKILL.md` 的 Required inputs 之后加一段**市场口径**说明:正文的 aggregator / SEC-EDGAR / Form 4-13F /
|
|
45
|
+
wash-sale 都是美股与境外上市口径,A 股会话要换成 A 股披露口径,而换口径由宿主取数通道决定,
|
|
46
|
+
不由这颗 skill 自行联网去补(§8.6 第 8 条;`us-stock` 标签就是给使用者的提示)。
|
|
47
|
+
- `references/deep/methodology.md` §10 Final Score 加一句:X/10 衡量的是论点自洽度与结构特征,
|
|
48
|
+
不预测价格或收益,也不是买卖指令(§8.6 第 7 条 / CONTRIBUTING.md §3 第 8 条)。
|
|
49
|
+
**没有新增 `Retrieval:` 出处档**:上游既没有这个枚举,也不把记忆列成取数途径——
|
|
50
|
+
第 2 条(记忆回填)在本颗**实测零命中**(`model memory` / `training-data` / `Live data unavailable` 全无),
|
|
51
|
+
`system-prompt.md` 本来就把取回的东西限定成"来自研究简报"。不为了套 InvestSkill 的改法新造上游没有的模板字段。
|
|
52
|
+
复核方法:`git clone` 所钉 commit 后 `diff -r`,差异只应包含以上三类;
|
|
53
|
+
`test/selected-skills-content.test.mjs` 扫正文**结果**、本文件记**理由**,两边任一漂回去都会红。
|
|
54
|
+
- Packaging: 这颗**不带 `.npmignore`**——除 `README.md`(13 KB)之外全是运行时正文与溯源,包体积增量约 120 KB,
|
|
55
|
+
没有需要挡的成图、静态站或脚本目录(`china-stock-research-skills` 同样没挡)。
|
|
56
|
+
`package.json` 的 `files` 已逐仓库登记 `selected-skills/peter-lynch-skill`,
|
|
57
|
+
`test/packaging.test.mjs` 从 catalog 反查发布清单里的真实 `SKILL.md` / `LICENSE` / `UPSTREAM.md`。
|
|
58
|
+
- Catalog 收录判断:`SKILL.md` 内部的 Quick / Deep 二选一**不算**"会接管会话路由的编排 skill"——
|
|
59
|
+
它不跨 Agent、不改本插件的角色分流,只在本颗的两条工作流之间选择(`china-stock-research-orchestrator`
|
|
60
|
+
与 InvestSkill 的 `full-report` 是另一类东西)。也不触发 §7(报告交付链路已删除)与 §6.1(出图只走
|
|
61
|
+
`render_chart`):这颗的输出是**最终答复里的 markdown 报告**,不落文件、不出图。
|
|
62
|
+
- Maintenance snapshot (checked 2026-10-11): 全仓两次提交,最后一次 2026-06-28,之后 105 天无提交;
|
|
63
|
+
单人仓库、无 issue 响应记录。因此标 `watchlist`——与 `china-stock-research-skills` 同一口径
|
|
64
|
+
(内容可用、维护薄,启用前请使用者自行复核来源),而不是内容缺陷。
|
|
65
|
+
See [GitHub commit history](https://github.com/DjNero11/peter-lynch-skill/commits/main/)。
|
|
66
|
+
- Runtime status: `watchlist` / 默认关闭的显式实验。只有使用者在「插件」→ Capital Generation →「精选 Skills」
|
|
67
|
+
里亲手打开,它才对**之后新建**的 Capital 根 Agent 可见;子 Agent 不继承,上游附属文件从不执行。
|
|
68
|
+
能力标签(含本颗带来的新标签 `peter-lynch`)与 `riskNote` 维护在 `selected-skills/catalog.js`。
|
|
69
|
+
- Review status: 2026-11-06 复查上游、许可证与维护状态。正文是 Lynch 三部著作(*One Up on Wall Street*、
|
|
70
|
+
*Beating the Street*、*Learn to Earn*)方法论的**二手转写**,与 Lynch 本人、Fidelity 或 Capital Generation
|
|
71
|
+
均无关联,不构成背书;美股口径不得直接当作 A 股规则,所有金融主张须回到原始证据核验。
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: peter-lynch-skill
|
|
3
|
+
description: >-
|
|
4
|
+
Peter Lynch-style stock research from a ticker or company name: quick
|
|
5
|
+
screening or deep due diligence with linked web citations. Use when the user
|
|
6
|
+
asks for quick research, screening, an initial look, deep research, due
|
|
7
|
+
diligence, full analysis, valuation context, an attractiveness score, or a
|
|
8
|
+
SKIP / WATCHLIST / DEEP RESEARCH decision.
|
|
9
|
+
license: MIT
|
|
10
|
+
metadata:
|
|
11
|
+
author: Szymon Nycz
|
|
12
|
+
version: "1.0"
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Peter Lynch Research
|
|
16
|
+
|
|
17
|
+
One skill, two workflows. Answers either:
|
|
18
|
+
|
|
19
|
+
- **Quick:** Is this company worth 2–5 hours of deeper research? (~450 words, SKIP / WATCHLIST / DEEP RESEARCH)
|
|
20
|
+
- **Deep:** Full due-diligence report (up to 3000 words, attractiveness score X / 10 — how consistent and well-supported the thesis reads, not a forecast of performance)
|
|
21
|
+
|
|
22
|
+
All data comes from **the host's own retrieval path** — no API keys, no bundled scripts, no user-provided PDFs. In a host that splits roles, gathering it is not this skill's job: write the exact brief (ticker or company, the fields needed, the as-of date, the source tier) and hand it to the host's retrieval channel, then work only from what comes back. Time-sensitive market data must be freshly gathered and dated. Every retrieved claim in the final report must be cited with a link.
|
|
23
|
+
|
|
24
|
+
Use different source depth by workflow:
|
|
25
|
+
|
|
26
|
+
- **Quick:** aggregator-only screening. Use reputable financial-data aggregator pages by default; do not open annual report PDFs, full 10-K / 10-Q / 20-F filings, SEC filing detail pages, company quarterly reports, or long investor-relations documents.
|
|
27
|
+
- **Deep:** official-source due diligence. Use annual reports, filings, company results, and official investor materials as the factual base; use aggregators mainly for valuation and market-data gaps.
|
|
28
|
+
|
|
29
|
+
Operate with strict evidence-budget discipline. The goal is high-quality research from the smallest reliable source set, not exhaustive browsing. Do not narrate research progress or intermediate retrieval reasoning in the final answer.
|
|
30
|
+
|
|
31
|
+
## Routing
|
|
32
|
+
|
|
33
|
+
Determine the workflow from the user's message:
|
|
34
|
+
|
|
35
|
+
| Trigger keywords | Workflow |
|
|
36
|
+
|------------------|----------|
|
|
37
|
+
| quick research, screening, filter, initial look, worth researching | **Quick** |
|
|
38
|
+
| deep research, due diligence, full analysis, attractiveness score, score / 10 | **Deep** |
|
|
39
|
+
|
|
40
|
+
- If intent is **ambiguous**, ask one question: *"Quick screening (~450 words) or deep due diligence (~3000 words)?"*
|
|
41
|
+
- If still unclear after one exchange, default to **Quick**.
|
|
42
|
+
|
|
43
|
+
## Required inputs
|
|
44
|
+
|
|
45
|
+
- `company_symbol` or `company_name` — ticker (e.g. `MSFT`, `ASML.AS`, `VOD.L`) or company name. If the user gives only a brand, company name, or ambiguous ticker, resolve the traded entity before analysis. For Quick, use reputable aggregator profile / quote pages. For Deep, use official, exchange, or regulator sources.
|
|
46
|
+
- `exchange` or `country` — optional hint for global tickers
|
|
47
|
+
|
|
48
|
+
If neither a company nor ticker can be inferred from the request, ask one concise clarification question.
|
|
49
|
+
|
|
50
|
+
The source tiers below (aggregator profile pages, SEC / regulator filings, annual reports) are US and overseas-listing conventions. In an A-share session the same analysis must be asked for in A-share terms instead — disclosure platforms, no Form 4 / 13F, no wash-sale rules — and that is decided by the host's retrieval channel, not by this skill.
|
|
51
|
+
|
|
52
|
+
Do **not** ask the user for an annual report PDF or API keys.
|
|
53
|
+
|
|
54
|
+
## Workflow overview
|
|
55
|
+
|
|
56
|
+
Copy this checklist and track progress:
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
Task Progress:
|
|
60
|
+
- [ ] Step 1: Route (quick or deep)
|
|
61
|
+
- [ ] Step 2: Read workflow-specific web research guide
|
|
62
|
+
- [ ] Step 3: Gather data and compile structured research brief
|
|
63
|
+
- [ ] Step 4: Read workflow prompts
|
|
64
|
+
- [ ] Step 5: Write report from the brief only
|
|
65
|
+
- [ ] Step 6: Append disclaimer
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Step 1: Route
|
|
69
|
+
|
|
70
|
+
Select **Quick** or **Deep** using the routing table above.
|
|
71
|
+
|
|
72
|
+
### Step 2: Read workflow-specific web research guide
|
|
73
|
+
|
|
74
|
+
Read only the workflow-specific web guide:
|
|
75
|
+
|
|
76
|
+
- **Quick:** [references/quick/web-research.md](references/quick/web-research.md)
|
|
77
|
+
- **Deep:** [references/deep/web-research.md](references/deep/web-research.md)
|
|
78
|
+
|
|
79
|
+
Read [references/filing-rules.md](references/filing-rules.md) only when regulator/XBRL data, ADRs, secondary listings, specialized financial companies, or accounting-basis issues matter. Do not read it for normal Quick Research unless the Quick web guide specifically triggers it.
|
|
80
|
+
|
|
81
|
+
### Step 3: Gather data and compile research brief
|
|
82
|
+
|
|
83
|
+
Asking the host's own retrieval path for the data (in a host that splits roles: delegate it with the brief, do not browse from here):
|
|
84
|
+
|
|
85
|
+
1. Follow the **workflow-specific** source plan, retrieval brief, stopping rule, and research brief template in `references/quick/web-research.md` or `references/deep/web-research.md`.
|
|
86
|
+
2. Respect the workflow-specific default budgets unless an override in that workflow guide is triggered — the budget is how many sources you ask the channel for, not how many you go and open yourself:
|
|
87
|
+
- **Quick:** practical default of 1-3 reputable aggregator sources, 2-3 retrieval queries, and 2-3 page fetches; expand only when another aggregator is needed to complete the existing Quick methodology.
|
|
88
|
+
- **Deep:** 5-7 sources, 6-8 retrieval queries, 7-10 page/document fetches, with the default source set kept as small as the report can support.
|
|
89
|
+
3. For **Quick**: gather the minimum viable evidence needed for a responsible SKIP / WATCHLIST / DEEP RESEARCH decision, then stop.
|
|
90
|
+
4. For **Deep**: follow the annual report discovery procedure in `references/deep/web-research.md` — ask for the latest full annual report on the company's investor relations site (HTML or PDF); regulator filings are the fallback.
|
|
91
|
+
5. Do not ask for a separate retrieval per fiscal year for normal historical metrics. For Quick, use aggregator tables. For Deep, use the annual report, 10-K / 20-F, regulator filing, or regulator facts feed as the historical base.
|
|
92
|
+
6. Do not print research narration, retrieval play-by-play, or the full research brief unless the user asks for it.
|
|
93
|
+
7. Capture period, currency, units, date gathered, and source ID(s) for every important number and claim. Each source ID must resolve to a URL in the Source Ledger. Filing labels may be included, but they do not replace a ledger URL.
|
|
94
|
+
8. Do **not** invent financial data.
|
|
95
|
+
|
|
96
|
+
### Step 4: Read workflow prompts
|
|
97
|
+
|
|
98
|
+
**Quick path** — read both before writing:
|
|
99
|
+
|
|
100
|
+
- [references/quick/system-prompt.md](references/quick/system-prompt.md)
|
|
101
|
+
- [references/quick/methodology.md](references/quick/methodology.md)
|
|
102
|
+
|
|
103
|
+
**Deep path** — read both before writing:
|
|
104
|
+
|
|
105
|
+
- [references/deep/system-prompt.md](references/deep/system-prompt.md)
|
|
106
|
+
- [references/deep/methodology.md](references/deep/methodology.md)
|
|
107
|
+
|
|
108
|
+
### Step 5: Write report
|
|
109
|
+
|
|
110
|
+
Use the research brief as the only factual context for the report. Do not include the full research brief in the final report unless the user asks for it.
|
|
111
|
+
|
|
112
|
+
Every final report must cite sources with links:
|
|
113
|
+
|
|
114
|
+
- Any company description, financial number, valuation metric, market data point, management claim, industry claim, competitor claim, ownership claim, or news/update claim needs a source.
|
|
115
|
+
- Use source lines directly below the relevant bullet or paragraph: `source: [Source name](https://...)`.
|
|
116
|
+
- Multiple sources may be separated with semicolons.
|
|
117
|
+
- Do not cite a source that is not in the research brief Source Ledger.
|
|
118
|
+
- Expand any internal source IDs from the brief into full linked `source:` lines in the final report.
|
|
119
|
+
- Source lines do not count toward Quick or Deep word limits.
|
|
120
|
+
|
|
121
|
+
Internally prefix the analysis context with:
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
Data gathered: YYYY-MM-DD
|
|
125
|
+
|
|
126
|
+
## Research brief
|
|
127
|
+
|
|
128
|
+
{full research brief markdown}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Step 6: Append disclaimer
|
|
132
|
+
|
|
133
|
+
Read [references/disclaimer.md](references/disclaimer.md) only when the report body is ready. After the report body, add a horizontal rule and append the full contents of the disclaimer.
|
|
134
|
+
|
|
135
|
+
## Failure handling
|
|
136
|
+
|
|
137
|
+
- If the host's retrieval path returns nothing for a field you need: name the missing fields and stop the analysis that depends on them — do not fabricate data.
|
|
138
|
+
- If a ticker cannot be resolved: inform the user clearly.
|
|
139
|
+
- If the annual report cannot be found after all fallbacks in `references/deep/web-research.md`: note the gap in the research brief and proceed using other verified sources — do **not** ask the user for a PDF.
|
|
140
|
+
- If a specific metric is unverified: say you do not know; do not estimate or invent numbers.
|
|
141
|
+
- If retrieved claims lack source ID(s) that resolve to Source Ledger URL(s): do not include them in the report.
|
|
142
|
+
- If live market data cannot be verified from the current source: for Quick, ask the channel for another reputable aggregator; for Deep, use the workflow's market-data fallback rules. Do not use stale or unsourced values.
|