# Stock Analysis

> Run daily and weekly stock market analysis covering AGI buildout (data centers, semiconductors, cloud, power, cooling, networking) and defense/cyber sectors. Generates plain-English reports for everyday investors with clear buy/hold/watch recommendations, news summaries, earnings checks, and watchlist management for long-term investing and swing trades.

- Skill: `chriswiles/stock-analysis` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add chriswiles/stock-analysis`
- Raw SKILL.md: https://api.skillmd.com/api/skills/chriswiles/stock-analysis/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: ChrisWiles (https://skillmd.com/u/chriswiles)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/chriswiles/stock-analysis

---


# Stock Analysis

Generate plain-English daily and weekly stock market reports for AGI buildout
and defense/cyber sectors. Written for an everyday investor — no jargon, clear
recommendations, and honest "what does this mean for me?" analysis. Reports
are committed to this repo as dated markdown files with structured data snapshots.

## Activation Trigger

Use this skill when:
- "run stock analysis" / "daily report" / "weekly report"
- "check stocks" / "market update" / "how are my stocks"
- "update watchlist" / "add ticker" / "remove ticker"
- "schedule stock analysis" / "start monitoring"
- "intraday check" / "quick market check" / "flash update"

## Context to Check

- **Last daily report**: Run: `ls -t reports/daily/*.md 2>/dev/null | head -1 || echo "none"`
- **Last weekly report**: Run: `ls -t reports/weekly/*.md 2>/dev/null | head -1 || echo "none"`
- **Watchlist tickers**: Run: `cat config/watchlist.json 2>/dev/null | head -40 || echo "no watchlist"`
- **Today**: Run: `date '+%Y-%m-%d (%A, week %V)' 2>/dev/null || echo "unknown"`
- **Active schedules**: Run: `echo "Use CronList to check active schedules"`

## Output Format

When generating a daily report:
- [ ] Prior daily report read and referenced
- [ ] All watchlist sectors covered with price data
- [ ] Market indices summarized (S&P 500, NASDAQ, SOX, DJIA)
- [ ] Top movers identified with % changes and reasons
- [ ] News and sentiment scored per sector
- [ ] Earnings/guidance verified against filings where applicable
- [ ] Data snapshot JSON written to `data/snapshots/`
- [ ] Report written and `reports/latest/daily.md` updated
- [ ] Changes committed to repo

When generating a weekly report:
- [ ] All daily reports from the week reviewed
- [ ] Prior weekly report read and referenced
- [ ] Week-over-week deltas calculated from snapshot data
- [ ] Trend analysis across all sectors
- [ ] Portfolio recommendations with conviction levels
- [ ] Upcoming catalysts calendar included
- [ ] Report committed to repo

## Instructions

### Daily Report Workflow

1. **Read prior state**
   - Read `reports/latest/daily.md` for the previous daily report
   - Read the most recent file in `data/snapshots/` for prior price data
   - Read `config/watchlist.json` for current tickers and targets

2. **Gather data via web search** (batch by sector, 5-8 tickers per search)
   - Market indices: S&P 500, NASDAQ, SOX (semiconductor index), DJIA
   - For each sector in `config/sectors.json`, search for price action and news
   - Search for earnings reports/guidance for any ticker reporting this week
   - Search for macro events: Fed decisions, CPI, jobs data, GDP
   - Search for sector catalysts: AI contracts, chip export rules, defense budgets, cyber incidents
   - See [data-sources.md](references/data-sources.md) for specific search patterns

3. **Verify financial claims**
   - Cross-reference earnings/revenue numbers against SEC filings via WebFetch
   - Flag any unverified numbers with `[UNVERIFIED]` tag
   - See [fundamental-analysis.md](references/fundamental-analysis.md) for metric definitions

4. **Analyze in plain English**
   - Compare current prices to prior report (how much did it move?)
   - Check if stocks are in buy zones or trim zones from the watchlist
   - For each sector, summarize: what happened and what it means
   - Identify top 3 movers and explain WHY in everyday language
   - Give each stock a clear "What to Do" label: Good Buy / Hold / On Sale / Caution / Stay Away
   - See [technical-analysis.md](references/technical-analysis.md) for how to assess price trends
   - See [fundamental-analysis.md](references/fundamental-analysis.md) for how to assess company health

5. **Write daily report** to `reports/daily/YYYY-MM-DD.md`
   - Follow the daily template in [report-templates.md](references/report-templates.md)
   - Include backlink to prior report

6. **Write data snapshot** to `data/snapshots/YYYY-MM-DD.json`
   - Structured JSON with indices, ticker prices, sector sentiment

7. **Update latest** by copying report to `reports/latest/daily.md`

8. **Commit changes**
   ```
   git add reports/ data/
   git commit -m "report(daily): YYYY-MM-DD market analysis"
   ```

### Weekly Report Workflow

Runs on Saturdays. Includes everything in the daily workflow, plus:

1. Read ALL daily reports from the past week (Mon-Fri)
2. Read previous weekly report from `reports/latest/weekly.md`
3. Read all `data/snapshots/` files from the past 7 days
4. Perform week-over-week trend analysis using snapshot data
5. Write fundamental spotlight section for 2-3 companies with major events
6. Write portfolio recommendation section with conviction levels
7. Write upcoming week catalyst calendar
8. Write to `reports/weekly/YYYY-WNN.md`
9. Update `reports/latest/weekly.md`
10. Commit with `report(weekly): YYYY-WNN comprehensive analysis`

### Intraday Flash Check

Lightweight check activated via `/loop 30m` during trading hours:

1. WebSearch current prices for top-10 watchlist tickers (by conviction)
2. Compare to today's daily report open prices
3. Flag any moves > 2%
4. Append flash update section to today's daily report
5. Do NOT commit (batch at end of day)

### Watchlist Management

- **Add ticker**: User says "add TICKER to watchlist" → prompt for sector, conviction, targets → update `config/watchlist.json` → commit
- **Remove ticker**: Remove entry from watchlist → commit
- **Update targets**: Modify buy_zone/trim_zone → commit
- **Change conviction**: Update conviction/position fields → commit
- All watchlist changes committed separately: `chore(watchlist): add/remove/update TICKER`

### Setting Up Schedules

When user says "schedule stock analysis" or "start monitoring":

1. Read `config/schedule.json` for canonical cron expressions
2. Use CronCreate for each schedule:
   - Daily: `57 9 * * 1-5` (weekday mornings)
   - Weekly: `23 10 * * 6` (Saturday)
3. For intraday: Use CronCreate with `*/30 * * * *` (user must explicitly request)
4. Confirm active schedules via CronList
5. Remind user that schedules auto-expire and can be re-created from `config/schedule.json`

## Tone & Style

**This is critical.** Reports are written for an everyday investor, not a Wall Street analyst.

- Use plain English. Say "the stock dropped because..." not "price action exhibited bearish divergence"
- Explain acronyms the first time: "P/E (price-to-earnings — how many years of profits you're paying for)"
- Use "What to Do" labels instead of trading signals: Good Buy, Hold, On Sale, Caution, Stay Away
- Include company names next to tickers: "NVDA (NVIDIA)" not just "NVDA"
- Explain WHY something matters, not just WHAT happened
- When recommending, be direct: "This is a good time to buy" or "Wait for a pullback"
- Don't hedge everything — give an actual opinion, then note the risks
- Keep tables readable — include the "What to Do" column, drop jargon columns like RSI/MACD
- Sector summaries should read like a friend explaining the market over coffee

## Additional Resources

Consult these references as needed:
- [sector-map.md](references/sector-map.md) — Full sector/ticker taxonomy with rationale
- [data-sources.md](references/data-sources.md) — Web search patterns and URLs
- [technical-analysis.md](references/technical-analysis.md) — TA indicator definitions
- [fundamental-analysis.md](references/fundamental-analysis.md) — FA metrics and thresholds
- [report-templates.md](references/report-templates.md) — Daily and weekly markdown templates

