agentleFS
SELAT-AISELAT-AI/selat-skills/skills/stock-direction-signals/SKILL.md

stock-direction-signals

Skill2 starsChanged 42 days agoApache-2.0View on GitHub

Use this skill when the user wants a bullish, bearish, or mixed directional read on a US stock — e.g. "is NVDA bullish or bearish right now", "give me a directional read on AAPL", "is MAG7 sentiment turning", "what do the chart, news, and social say about AMD", "signal brief on SPY". Covers MAG7 names, semiconductor and AI-infrastructure stocks, tokenized-stock watchlists, and index proxies like SPY/QQQ. Composes only Alpha Vantage MPP (price, technicals, news, earnings), smartmoney-market (13F fund and insider positioning), SELAT-native Twitter (social chatter), Circle StableEnrich (Reddit), and Circle Otto (TradFi macro) into a non-advisory signal brief. Pays per call via selat-pay (USDC via Circle Gateway), no API keys.

2 other projects use a version of this, 1 of them edited.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 6 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈6

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use when a user asks whether a ticker looks bullish, bearish, or mixed over a short or medium horizon and the answer needs live market …

    line 27
  2. Distinctive:

    Do not use for trade execution, portfolio advice, or any request that should place an order.

    line 32
  3. Distinctive:

    Before running, tell the user what it costs: a full run quotes at roughly

    line 61
  4. Distinctive:

    The provider filter is the skill: Use only Alpha Vantage MPP, smartmoney-market, SELAT-native Twitter, Circle StableEnrich, and Circle Otto.

    line 124
  5. Very specific:

    Retarget the defaults: All three params default to NVDA-flavored values so verify can exercise every step.

    line 128
  6. Distinctive:

    SELAT-native Twitter returns raw social objects: Never claim a finished sentiment score unless the response explicitly includes one.

    line 135
  7. Distinctive:

    Reddit is noisy and momentum-skewed: Use it for thesis texture.

    line 145
  8. Very specific:

    The live 402 is the source of truth: If a step stops serving a challenge or the live price drifts, selat skill verify flags it — report the …

    line 156

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

stock-direction-signals

Directional research on one US equity ticker or index proxy. The skill gathers paid signal from a fixed provider filter — Alpha Vantage MPP (quote, chart, RSI, MACD, news sentiment, earnings), smartmoney-market (13F fund and insider positioning), SELAT-native Twitter (raw chatter), Circle StableEnrich (Reddit threads), and Circle Otto (TradFi macro regime) — and the agent fuses it into one brief: verdict (bullish / bearish / mixed / insufficient data), confidence, the technical setup, catalysts, institutional positioning, social sentiment, macro backdrop, and the contrarian risks that would invalidate the read. Research only — never trade execution or financial advice.

When To Use

Use when a user asks whether a ticker looks bullish, bearish, or mixed over a short or medium horizon and the answer needs live market context plus social or news sentiment — MAG7 names, semiconductor and AI-infrastructure stocks, tokenized-stock watchlists, or index proxies like SPY and QQQ.

Do not use for trade execution, portfolio advice, or any request that should place an order. This skill only gathers paid data and synthesizes a research brief; if the user asks to trade on the result, decline that part and say so.

Rails

This skill spans four settlement modes, so the skill's rail is mixed:

  • x402 via Circle Gateway — SELAT-native Twitter (catalog.selat.ai) settles x402 via Circle Gateway through the SELAT Router.
  • x402 on Base — Circle Otto (x402.ottoai.services) settles x402 on Base through the SELAT Router.
  • MPP on Tempo — the six Alpha Vantage steps (alphavantage.mpp.paywithlocus.com) and Circle StableEnrich (stableenrich.dev) settle MPP on Tempo through the SELAT Router.
  • MPP on Solana — smartmoney-market's Pay / MPP gateway (pay.smartmoney.market) settles MPP on Solana through the SELAT Router.

The selat CLI auto-detects each step's protocol and settlement mode at call time. The runner pays on whichever chain holds Gateway USDC — rail names are not a pay-chain claim. A reachable SELAT Router is required.

Workflow

  1. Install: selat skill install stock-direction-signals
  2. Run end-to-end: selat skill run stock-direction-signals --ticker <TICKER> --twitter_query "<query>" --reddit_query "<query>"
  3. The CLI compiles each step into a selat-pay call and prints each result.

Before running, tell the user what it costs: a full run quotes at roughly $0.09 live (ten paid calls summing to $0.086 on 2026-10-04) — say "this pulls ten paid data feeds for about nine cents — proceed?" and wait for a yes before spending. Afterwards, report what was actually spent. selat skill run always pays all ten steps; there is no total-run cap, only per-step caps.

Recommended agent procedure (manifest steps are ordered cheapest-first; retarget all three params to the user's ticker; all three are required):

  1. Normalize the request into ticker, twitter_query, reddit_query, and a horizon (intraday / week / month / quarter). Preserve the user's ticker exactly; expand obvious company names into their tickers. Fold company and product names into the two query params (e.g. $NVDA OR NVIDIA OR Blackwell).
  2. Social pulse — SELAT-native Twitter advanced search (~$0.001). Raw evidence only: the agent scores tone, intensity, recency, and engagement quality itself.
  3. Macro regime — Circle Otto tradfi-data (~$0.001–0.005): indices, VIX, DXY, yields, commodities, and quote context for risk-on/risk-off framing.
  4. Market core — Alpha Vantage global-quote, time-series-daily, RSI, MACD (~$0.008 each): last price, chart trend, momentum, and trend acceleration.
  5. Catalysts — Alpha Vantage news-sentiment and earnings (~$0.008 each): news tone, catalyst clustering, earnings surprise history.
  6. Smart money — smartmoney-market ticker summary (~$0.0105): 13F fund-holder coverage and qualified projected trend across 511 curated managers, plus company insider and House PTR summaries when available. Quarterly filings lag — treat it as positioning, not a timing signal.
  7. Retail texture — Circle StableEnrich Reddit search (~$0.02): community debate and long-form reactions; weight recency, comment quality, and claims repeated across communities.
  8. Synthesize a compact brief: verdict, confidence, price and technical setup, catalysts and fundamentals, institutional positioning, social sentiment, macro/regime, contrarian risks, and source notes. Label it bullish, bearish, mixed, or insufficient data — and say what would invalidate it.

Relay the brief in plain language with the dollar cost of the run; keep endpoint URLs and raw response JSON out of what the user sees. When the user only wants a subset (e.g. no social), run the individual steps with selat-pay instead of the full manifest. For multiple tickers, repeat the run per ticker.

For deeper dives, the provider filter also offers optional endpoints not in the manifest (intraday/weekly/monthly series, SMA/EMA/BBANDS, earnings-call transcripts, financial statements, smartmoney fund-holder and insider details, tweet replies, Reddit post comments, Otto derivatives context) — see references/endpoints.md; call them individually via selat-pay within the same provider filter.

Inputs And Outputs

ParamRequiredDefaultDescription
tickeryesnoneUS equity ticker or index proxy, e.g. NVDA.
twitter_queryyesnoneTwitter advanced-search query for the same ticker, e.g. $NVDA OR NVIDIA; widen with company/product terms.
reddit_queryyesnoneStableEnrich Reddit query for the same ticker, e.g. NVDA stock; add company/product terms.

None of the three has a default, so a run can't silently pay for another company's chatter.

Output: per-step JSON (tweets, macro data, quote, OHLCV series, RSI, MACD, news sentiment, earnings history, smart-money ticker summary, Reddit posts) that the agent fuses into a non-advisory directional brief — what moved the signal, what would invalidate it, and which paid endpoints were used.

Gotchas

  • The provider filter is the skill. Use only Alpha Vantage MPP, smartmoney-market, SELAT-native Twitter, Circle StableEnrich, and Circle Otto. Do not substitute AIsa, BlockRun, Serper, Apollo, Exa, CoinGecko, Nansen, or other catalogue matches even if they rank higher.
  • Retarget the defaults. All three params default to NVDA-flavored values so verify can exercise every step; a run for any other ticker must override all three or the social steps research the wrong company.
  • Alpha Vantage steps are POST — params go in body, keyed by symbol (indicators also need interval/series_type, RSI adds time_period). news-sentiment keys on tickers (plural) — and its topics field takes a fixed topic enum, not a company name, so this manifest omits it.
  • SELAT-native Twitter returns raw social objects. Never claim a finished sentiment score unless the response explicitly includes one; the scoring is the agent's job.
  • smartmoney-market is GET with the ticker in the path on its Pay / MPP gateway (/api/ticker/{symbol}). Its x402 gateway (x402.smartmoney.market, x402 on Base) serves the same data under different paths (/ticker-summary?symbol=) — do not mix the two path shapes. The gateway does not validate input before payment — an unknown or misspelled ticker still quotes the full $0.01 — so normalize the ticker before paying. Thin or missing positioning is "insufficient data" for that leg, not a bearish signal.
  • Reddit is noisy and momentum-skewed. Use it for thesis texture; weight recency, comment quality, and repetition across communities.
  • Otto is macro-first here. tradfi-data is the default; use Otto's crypto/perp endpoints only when the user explicitly connects the stock to tokenized equity, crypto beta, or derivatives spillover.
  • maxAmount is a guardrail, not the price. Each call is capped by its own step maxAmount ($0.01–$0.04), set above the live quotes (full run measured at $0.086 on 2026-10-04). The top-level maxAmount ($0.04) is only a fallback for a step with no cap of its own. It is not a total-run cap: nothing stops a run at a sum, so the worst case is the sum of the step caps ($0.21). Gateway prices can run above the catalogue listing.
  • The live 402 is the source of truth. If a step stops serving a challenge or the live price drifts, selat skill verify flags it — report the live response and adapt within the provider filter only.
  • Non-advisory, always. The brief can support a bullish or bearish thesis but must never be presented as financial advice or a guaranteed prediction.

Validation

--chain base in the probe command below is only the flag selat-pay requires today — a probe reads a free, chain-independent quote and never settles. A real paid run resolves the settlement chain from your funded Circle Gateway balance, not the manifest.

  • Static: selat skill validate ./skills/stock-direction-signals
  • Live gate (free, probe-only): selat skill verify ./skills/stock-direction-signals --live-probe --ticker NVDA --twitter_query "\$NVDA OR NVIDIA" --reddit_query "NVDA stock"
  • Paid confirm (settles real 200s): add --pay to the verify command.
  • Single-step probe (no pay): selat-pay POST "https://alphavantage.mpp.paywithlocus.com/alphavantage/global-quote" --body '{"symbol":"NVDA"}' --chain base --probe-only --live-probe

References

  • manifest.json — the machine-readable payment recipe this skill runs.
  • references/endpoints.md — the provider-filtered catalogue endpoints, request shapes, and prices.
  • references/agent-skill-authoring-sop.md — authoring standard.
  • selat-pay — https://github.com/SELAT-AI/selat-pay

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.