From terminalq
Deep-dive research report on a single company covering financials, technicals, analyst ratings, news catalysts, and portfolio fit. Use this skill when you need to research a stock, perform due diligence, or want a comprehensive company analysis. Ask to "research AAPL", "deep dive into NVDA", "analyze company PINS", "stock analysis", "tell me about MSFT", "due diligence on AMZN", or "look into GOOG" to trigger this workflow. Produces a Research Report contract output.
npx claudepluginhub fakoli/terminalq --plugin terminalqThis skill uses the workspace's default tool permissions.
Generate a comprehensive research report for "$ARGUMENTS" by calling these tools in parallel:
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Provides patterns for autonomous Claude Code loops: sequential pipelines, agentic REPLs, PR cycles, de-sloppify cleanups, and RFC-driven multi-agent DAGs. For continuous dev workflows without intervention.
Applies NestJS patterns for modules, controllers, providers, DTO validation, guards, interceptors, config, and production TypeScript backends with project structure and bootstrap examples.
Generate a comprehensive research report for "$ARGUMENTS" by calling these tools in parallel:
terminalq_get_company_profile(symbol) — company overview, sector, market capterminalq_get_quote(symbol) — current price and daily movementterminalq_get_financials(symbol, "income", 4) — 4 years of income statementsterminalq_get_financials(symbol, "balance_sheet", 4) — balance sheetterminalq_get_financials(symbol, "cash_flow", 4) — cash flow statementterminalq_get_technicals(symbol) — SMA, RSI, MACD, Bollinger Bandsterminalq_get_analyst_ratings(symbol) — consensus rating and price targetsterminalq_get_news(symbol, 14) — last 2 weeks of newsterminalq_get_earnings(symbol) — EPS history and estimatesterminalq_chart_price(symbol, "1y", "line") — 1-year price chartterminalq_get_allocation() — current portfolio allocation (for portfolio fit analysis)After gathering all data, produce a structured research report following the Research Report contract in docs/output-contracts.md:
Company Overview: Name, sector, industry, market cap, current price, 52-week context.
Financial Health:
Valuation:
Technical Picture:
Bull Case (3-4 points): Based on financial trends, analyst sentiment, and recent news.
Bear Case (3-4 points): Risks from financial weaknesses, technical signals, or news sentiment.
Analyst Consensus: Rating distribution, average price target, upside/downside %.
Recent Catalysts: Key news items that may affect the stock.
Portfolio Fit: If the user already holds this stock, note the position size. If not, note whether it would add diversification or increase concentration.
Data Freshness: Include a table noting each data source, how recent it is, and confidence level (High/Moderate/Low per docs/output-contracts.md).
Disclaimer: End with the standard disclaimer from docs/output-contracts.md.
Format as a professional research brief — concise, data-driven, with clear section headers.
| Failure Mode | Signal | Response |
|---|---|---|
| Financials unavailable | All 3 terminalq_get_financials calls return errors | Flag that financial analysis is unavailable; focus on technicals, ratings, and news |
| Invalid ticker | terminalq_get_company_profile returns error | Stop and ask user to verify the ticker symbol |
| Technicals fail | terminalq_get_technicals errors | Skip Technical Picture section; note it in Data Freshness |
| Allocation unavailable | terminalq_get_allocation fails | Skip Portfolio Fit section; note portfolio data was unavailable |
| Partial financials | Only 1-2 of 3 financial statement types return | Analyze what's available; note which statements are missing |
| Stale news | terminalq_get_news returns old articles (>14 days) | Note in Recent Catalysts that no recent news was found |
trade-research instead (it includes portfolio fit and position sizing)market-overview insteadearnings-preview instead