plugins/portfolio-copilot/skills/analyze-stock/SKILL.md
# analyze-stock Deep-dive stock analysis with comprehensive scorecard ## Trigger When the user says: - "analyze TICKER" - "analyze stock TICKER" - "/analyze-stock TICKER" - "give me analysis of TICKER" - "score TICKER" - "evaluate TICKER stock" ## Description Performs comprehensive stock analysis including: - Financial health scoring (profitability, growth, stability) - Valuation analysis (P/E, P/B vs sector/historical) - Technical momentum indicators (MA, RSI, MACD) - O
npx skillsauth add jaykim88/claude-ai-engineering plugins/portfolio-copilot/skills/analyze-stockInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Deep-dive stock analysis with comprehensive scorecard
When the user says:
Performs comprehensive stock analysis including:
When triggered:
Parse ticker symbol from user input (e.g., "analyze AAPL" → "AAPL")
Locate plugin directory: Check these paths in order:
~/.claude/skills/portfolio-copilot/../../scripts (installed via symlink)plugins/portfolio-copilot/scripts (local development)Use the first path that exists. Store as $PLUGIN_DIR.
Check dependencies (silent auto-install):
python3 -c "import yfinance, pandas, numpy, sqlalchemy" 2>/dev/null || \
pip3 install yfinance pandas numpy sqlalchemy --quiet
If this fails, inform the user to install manually:
cd $PLUGIN_DIR/..
pip3 install -r requirements.txt
Run scorecard analysis:
cd $PLUGIN_DIR
python3 scorecard.py TICKER
Display results to the user with the formatted scorecard output
Provide context:
Offer next steps:
python3 portfolio_manager.py add TICKER SHARES PRICEpython3 portfolio_manager.py showUser: analyze AAPL
Assistant:
I'll analyze Apple (AAPL) for you.
[Runs scorecard.py AAPL]
Key Insights:
- Overall Score: 7.3/10 (Good, B+ grade)
- Valuation: Trading at a discount to sector average
- Financial Health: Strong debt management (D/E: 102.6)
- Momentum: Neutral technical setup
Would you like to:
- Add AAPL to your portfolio?
- Compare with other tech stocks (MSFT, GOOGL)?
- See your current portfolio?
User: analyze MSFT and NVDA
Assistant:
I'll analyze both Microsoft and NVIDIA for you.
[Runs scorecard for MSFT]
[Runs scorecard for NVDA]
Comparison:
- MSFT: 3.9/10 (Poor) - Better valuation but weaker momentum
- NVDA: 6.6/10 (Fair) - Higher valuation premium but stronger fundamentals
Would you like a detailed comparison or to add either to your portfolio?
development
Audit and optimize third-party scripts — analytics, tag managers, chat widgets, embeds — with the right loading strategy, performance budget, facades, and CSP/consent controls. Use when adding a script, when TBT/INP regress, when a GDPR/CCPA consent requirement arises, or before shipping. Not for first-party bundle size (use bundle-optimization) or broad Core Web Vitals diagnosis (use rendering-performance).
development
Apply the Testing Trophy (mostly integration tests with RTL + MSW, sparing E2E with Playwright) and set coverage thresholds. Use before new feature work, after bug fixes, when CI coverage falls below target, or when tests are flaky or break on every refactor. Not for wiring coverage gates + Playwright into the GitHub Actions matrix (use cicd-pipeline) or auditing WCAG a11y compliance (use accessibility-audit).
development
Inventory and prioritize technical debt — TODO/FIXME/HACK, any usage, deprecated APIs, untested logic — with impact × effort matrix. Use at quarter start, before a refactoring sprint, when a new teammate joins, or when feature velocity slows. Not for actually paying down debt (use code-refactoring) or recording a migration approach (use decision-records) — this only inventories and prioritizes.
development
Decision framework for choosing the right state location — URL, server cache, local component, or shared/global store. Use when state-sync bugs appear, prop drilling gets deep (3+ levels), filters/tabs lose state on reload, or quarterly review. Not for form state specifically (use form-ux) or when the state is actually server data (use api-caching-optimization).