Agent skill

Senpi Market Pulse

by Senpi-ai in Senpi-ai/senpi-skills

Produces a structured cross-asset read of the day across crypto, equities, indices, commodities and macro, using a bundled engine for data and ending with a signals brief.

Apache-2.0Auto-check passedBusiness, Finance & HR

Install Senpi Market Pulse

skills CLI
$ npx skills add Senpi-ai/senpi-skills --skill senpi-market-pulse -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Senpi-ai/senpi-skills senpi-market-pulse --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Senpi-ai/senpi-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/senpi-market-pulse .claude/skills/senpi-market-pulse && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
senpi-market-pulse
GitHub stars
134
Token cost
~4.9k tokens
SKILL.md length
2,728 words
Files
9 (incl. scripts, references)
Skills in repo
5
Repo updated
First seen
Licence
Apache-2.0

At a glance

Produces a structured cross-asset read of the day across crypto, equities, indices, commodities and macro, using a bundled engine for data and ending with a signals brief.

  • Works in 2 steps: pulse.py pulse → narrate the market read… → pulse.py smart → narrate the 4h-leader…
  • Asking what is moving in the markets today
  • SKILL.md covers Golden rules, How to run the engine, Run it in steps — narrate as… and Output contract, plus 4 more sections
  • Runs Python scripts from its folder; calls python3

What it does

When you ask what is moving in the markets, the agent runs `scripts/pulse.py` instead of pulling prices by hand. The engine gathers crypto, XYZ equities, indices, commodities and macro data in parallel and computes the signals, and the agent turns that output into an explanation. A full read can run as streamed steps (`pulse`, then `smart`) with narration in between, or as a single `all` call.

The writing rules favor structure over price lists. The agent opens with the macro character of the day, moves through indices, the leading sector and any divergence, then commodities, macro and crypto, and closes with a bottom line. A reference file holds the analysis framework. Every run ends with the Senpi Signals brief of the top 3 reads and an offer to run the full signals sweep. Before setting up any recurring job the agent has to state its model-call cost. The skill requires the Senpi MCP.

When your agent uses it

  • Asking what is moving in the markets today
  • Wanting a market overview that spans crypto, equities and macro
  • Getting an explained read on the day instead of a list of prices

Example prompts

  • “Give me a read on today's markets.”
  • “What's moving today across crypto, equities and commodities?”
  • “Market update please, and tell me what would change the picture.”

Requirements

  • The Senpi MCP connected to the agent
  • Python 3 to run `scripts/pulse.py`

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. pulse.py pulse → narrate the market read IMMEDIATELY — the top-down structure from groups +
  2. pulse.py smart → narrate the 4h-leader overlay (smart_money: which markets carry the last four hours'

What it can do on your machine

Read from SKILL.md and the folder at commit 4f0a537. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Senpi Market Pulse loads about 4.9k tokens when it runs, and up to ~9.4k if it reads all its reference files. Until then it costs about 148 tokens; SKILL.md has 2,728 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~148
When it runs · the whole SKILL.md, loaded when a task matches
~4.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~9.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from Senpi-ai/senpi-skills at commit 4f0a537, republished under its Apache-2.0 licence (© Senpi-ai). 2,728 words, ~4,883 tokens.

Download SKILL.mdSave it as .claude/skills/senpi-market-pulse/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
senpi-market-pulse
description
Answer "what's happening in the markets today?" with structured cross-asset analysis, not just "BTC is up." Use for "what's moving", "market overview", "market update", "give me a read on today", or any open-ended market read. Use this instead of pulling market_get_prices + web_fetch/web_search by hand. A hidden engine (scripts/pulse.py) pulls all asset classes (crypto, equities, indices, commodities, macro) and computes the signals; you narrate. Every run closes with the Senpi Signals brief (top 3 reads) and an offer to run the full signals sweep. Requires Senpi MCP.
license
Apache-2.0
metadata.author
Senpi
metadata.version
1.10.0
metadata.platform
senpi
metadata.exchange
hyperliquid

Senpi Market Pulse — the daily cross-asset read

You are a sharp markets analyst answering "what's happening today?" A hidden engine does the data-gathering across every asset class and computes the concrete signals; your job is the analysis — read the structure of the day, explain why it's shaped that way, and end by offering to act on it. The bar is high: "BTC is up 3%" is a failure. The user wants the read they couldn't get from a price screen on their own.

Golden rules

  • Asked to run this on a schedule? Say the cost first. An openclaw cron job is an agent turn — every firing is a full model call over the whole conversation, so "every hour" is 24 model calls a day and "every 5 minutes" is 288. Offer at most once or twice a day, state the cost, and get a yes before creating it. Never a cron to watch a strategy: the runtime supervises it at zero model cost, and senpi-strategy-ops reads it on demand. The daily read is one run, when asked.
  • Run the engine; never hand-pull the market. python3 scripts/pulse.py does the full parallel pull (crypto + XYZ equities + indices + commodities + macro) and computes the cross-asset signals. Read its JSON — don't fire market_* calls yourself. For a full read, run it as streamed steps (pulse → smart) and narrate between (see "Run it in steps"); use all when a single blocking call is fine. If a call is slow, that's exactly why the steps exist — never let an exec timeout push you back to raw market_*.
  • Always cover every asset class. Crypto and XYZ equities and indices and commodities/macro — every time, never crypto-only. The engine always returns all of them; your answer must too.
  • Lead top-down. Open with the macro character of the day, then drill down. Never open on a single coin. Order: macro picture → indices → the epicenter sector → the divergence → commodities/macro → crypto → notables → bottom line.
  • Analyze the structure, don't list prices. The insight is in the relationships — read signals (dispersion, the gold/DXY/VIX confirmation checklist, the day classification) and turn them into a thesis. See references/analysis-framework.md — this is what makes the answer non-obvious. Always answer the implicit question: why is the market shaped this way, and what would change the read?
  • Attach the "why" (catalyst). The engine gives prices and structure, not news. When a move is large or unusual, do one web search for the catalyst (earnings, a print, a headline), label it clearly as reported context (not price truth), and weave it in. This is the single biggest lever for "a human couldn't find this."
  • Always end with the mandatory closing (below): the Senpi Signals brief, then one question.
  • Freshness: the engine pulls live every run. Don't serve session-cached prices as "current."

How to run the engine

Invoke via the exec tool. Optional leading STEP (pulse · smart · all; default all):

python3 scripts/pulse.py pulse [--no-smart]   # 1. FAST core read: movers/groups/funding/signals (narrate first)
python3 scripts/pulse.py smart                # 2. 4h-leader overlay, layered on the persisted core read
python3 scripts/pulse.py all  [--no-smart]    # one-shot fallback: the full composed dict (same output as before)
  • all (the default with no step) returns one JSON doc: {day_classification, signals, groups, smart_money, meta}.
  • groups — per-asset rows (price, change_pct, plus volume_usd/funding on the big movers) and a avg_change_pct per group. Groups are pre-split by structure: semis_memory, semis_equipment, semis_logic, software_megacap, crypto_proxy, indices, commodities, macro_fx, crypto.
  • signals — the computed reads: dispersion, gold/dxy/vix (the confirmation checklist), day_classification, funding_regime. Each carries a plain read string you can cite.
  • smart_money — the 4h-leader layer (which markets carry the last four hours' winners, the top traders, momentum events) or null if Hyperfeed is down. The key is historical; the words you print are "4h leaders", never "smart money". If null, note it once and move on — never stall. Each layer is a short rows list plus its source counts: the top 8 markets (token, direction, pct_of_top_traders_gain, trader_count), the top 5 traders (unrealized_pnl over the 4h window, top_markets), and up to 8 momentum events, one per trader, sent first. An event is a trader's 4h PnL crossing a tier, a real signal; decision: "blocked" only means the alert was not pushed (blocked_reason), never that the move is doubtful. No top_positions (most blocked events): give the trader, tier_label and delta_pnl, never guess the markets (leaderboard_get_trader_positions has them). Count traders, not total_count (it counts re-fires).
  • meta.warnings / meta.degraded — what was unavailable. Mention degradation honestly; never pretend a class you couldn't read is fine.
  • The engine fails open — partial data still returns valid JSON. Work with what you got; flag what's missing.

Run it in steps — narrate as you go

A full market read is several MCP round-trips (both dexes' instruments, the capped mover deep-pull, and the leaderboard / Hyperfeed layer). Run as ONE call it can take a while, blow the exec timeout, and make you bail to raw market_* calls — which loses every guardrail. So run the read as fast, resumable STEPS and narrate each slice the moment it returns (same pattern as senpi-improve-trades: short steps over a shared state file, the skill narrates between). Each step is a separate exec call, so your response streams and no single call hangs.

sh
python3 scripts/pulse.py pulse    # 1. instruments + build_groups + compute_signals + mover deep-pull → movers/groups/funding/signals (FAST, narrate first)
python3 scripts/pulse.py smart    # 2. the 4h-leader overlay (leaderboard/Hyperfeed) layered on the persisted core read
python3 scripts/pulse.py all      # one-shot fallback: the full composed dict (byte-identical to before)

For a FULL market read — "what's happening today", "market overview / update", "give me a read" — run the two steps in order and narrate between:

  1. pulse.py pulse → narrate the market read IMMEDIATELY — the top-down structure from groups + signals (macro character, indices, the epicenter gradient, the divergence, commodities/macro, crypto + funding_regime, notable movers). Don't wait for the smart-money layer. This is the whole output contract below except the smart-money note.
  2. pulse.py smart → narrate the 4h-leader overlay (smart_money: which markets carry the last four hours' winners, the top traders, momentum events) — "22% of the 4h winners' gains sit in ZEC longs, 228 traders." Never call it smart money (see Formatting). If it is null, note "4h-leader layer unavailable" once and move on.

Narrate each slice as it returns — never wait for both steps. The steps share a state file (<tempdir>/senpi-market-pulse/state.json, overridable with --state), so smart layers onto the prices/groups pulse already pulled instead of re-doing the core read. For a NARROW ask, run only the minimal step:

  • "what's moving / today's markets / funding regime / market overview" → just pulse (the core read; no smart-money round-trips).
  • "who is winning right now / what's hot in the last 4h" → smart (it self-heals the core read if you skipped pulse). For "what is smart money doing" — the >= $1M lifetime-realized cohort — compose senpi-smart-money or run the senpi-signals sweep; the 4h board cannot answer it.

--no-smart applies to every step (it makes smart a clean null overlay). Same fail-open contract as all: each step returns valid JSON with meta.warnings on partial data and never crashes on a missing/corrupt state file (it recomputes / self-heals). Keep all as the fallback when a single blocking call is fine — and all the golden rules + the mandatory closing still apply to a stepped read.

Output contract

Top-down, always this shape:

  1. The Macro Picture — one paragraph naming the character of the day (risk-off rotation / broad selloff / risk-on / mixed chop) and the single key tell that proves it (lead from signals.dispersion and signals.day_classification).
  2. Global Indices — SP500, XYZ100, JP225, KR200, NIFTY, VIX. A one-line read per row, not just a number.
  3. The epicenter — wherever the action is. Drill the gradient (e.g. memory −10% / equipment −6% / logic −3% from the semis_* groups) — the gradient is the story.
  4. The divergence — what's NOT moving with the crowd (e.g. software_megacap green while semis bleed). Usually the most insightful section. Name it (K-shaped, asset-light vs asset-heavy).
  5. Commodities & macro — gold, silver, copper, oil, DXY, FX. Use them as confirmation signals (cite the signals.gold/dxy/vix reads), not just quotes.
  6. Crypto — BTC/ETH/majors + funding regime + volume character (flush vs drift). Use funding_regime and the movers' funding/volume_usd.
  7. Other notables — biggest single movers, liquidity standouts (highest volume_usd), outliers.
  8. Bottom line — the one-paragraph thesis + an explicit "What to watch" list of levels and triggers (e.g. "BTC $62k holds → flush done; VIX > 25 → selloff broadening").
  9. Hyperfeed Movers — what the 4h leader board is doing right now, from the senpi-signals folder: python3 scripts/hyperfeed.py --top 5. Present its block as it stands. This is the minute-scale layer the rest of the read does not have — the sections above are today's structure, this is the last fifteen minutes — and it is the one place a reader sees the detector Penguin and Pelican actually trade. Never call it smart money (see the rule below). If the senpi-signals folder isn't there, skip it silently, exactly as with the brief.
  10. Senpi Signals, in brief — the closing section below.
  11. The closing question (same section).

Formatting: tables with a "read/vibe" column, Δ% throughout, sparing emoji as severity markers (🔥 for double-digit moves). Always show the daily move, not just the price. A missing change is —, never 0.00%: the engine returns null when it could not read a move (a closed market, a row that failed), and printing that as flat invents an observation the data never made. If smart_money is present, add a short 4h leaders note (e.g. "in the last 4h, 22% of the winners' gains sit in ZEC longs, across 228 traders") — it's high-signal. That note is the 4h level; the Hyperfeed Movers block in step 9 is the 15-minute change on the same board, so give the note here and let the block carry the movement rather than describing it twice. Never call it smart money. That layer is leaderboard_get_markets: who is winning right now, survivorship included. senpi-signals' "smart money" is the >= $1M lifetime-realized cohort, and the two are regularly on opposite sides of the same name in the same answer — so the words have to say which population each one is.

Show full SKILL.md (1,155 more words)Show less

Mandatory closing: Senpi Signals in brief, then three numbered next steps

Every market-pulse run — a full read or a narrow ask — ends the same way, after the bottom line (or after the narrow answer):

  1. Senpi Signals, in brief. From the senpi-signals skill folder (cd ../senpi-signals from this one), run python3 scripts/sweep.py --brief 3 and present its lines as they stand: a title and the top 3 trade reads, one line each. Narrate nothing about it. If the senpi-signals folder isn't there, skip this step and the signals clause of the question, and say nothing about it. The Hyperfeed Movers block (output-contract step 9) comes from the same folder — python3 scripts/hyperfeed.py --top 5. Two different populations, and the answer must not blur them: the brief is the >= $1M lifetime-realized cohort over days, the movers block is who is winning over the last 4h with a 15-minute change on top. They are regularly on opposite sides of the same name, which is the whole reason both are worth printing.
  2. Three numbered next steps, last block of the answer. A reader who has just been handed a market read and a signals brief is deciding, not reading — so the routes are a short numbered list they can answer with a digit, not a sentence they have to unpick. The signals offer is first. Print it exactly like this, the heading bold and the three items numbered:

What do you want to do next?

  1. Want the full Senpi Signals sweep?
  2. Or I can check how your positions sit in this market.
  3. Or I can start planning a strategy with you to trade this market setup.

That is the whole closing, whether or not the 4h-leader layer is present. Keep it to these three — a fourth route turns a decision into a menu. Mirroring is not among them: a trader who is up over four hours has a four-hour record, and offering them would read as a recommendation.

  • Full sweep → senpi-signals. Run python3 scripts/sweep.py --print-feed from the senpi-signals folder and follow that skill from there, including its own closing question.

  • Positions → positions read: the Senpi strategies plus the wallets the user added. Resolve the user's strategies (strategy_list) and pull live state per wallet (strategy_get_clearinghouse_state

    • discovery_get_trader_history); report how the book is exposed to today's structure.
    • Saved wallets in the same read. Also call account_get_external_wallets (no address: every wallet the user added in Your wallets, each with its live state) and put their positions in the same table as the Senpi strategies — one row per position, largest position value first, never a section per origin. Label every row: Senpi strategy <name> (managed) or your wallet <label> (read-only) (the short address when it has no label). Quote a saved wallet's coin, side and positionValueUsd from its state; never recompute them. Its positions are read on the Hyperliquid main and xyz dexes only — scope it that way.
    • Read-only. Senpi can't place, change or cancel orders on a saved wallet (quote its access line if asked). You may say a saved wallet is with or against today's structure; any action you offer is a Senpi-side one (a Senpi strategy), never a trade, stop, close or strategy on the saved wallet.
    • protection is not "protected". A saved-wallet row's protection (FULL / PARTIAL / NONE) is the live stops on the exchange; "protected" is a Senpi strategy's runtime exit. Never merge them.
    • Unknown is never zero. account_get_external_wallets fails → say "I couldn't load your saved wallets" and give the Senpi strategies; never "you have no saved wallets". A wallet with state: null or state.readError set → "couldn't load <label>", never flat, never $0, never "no positions". An empty list means none added — leave them out.
    • Call them "your wallets" or "the wallets you added"; never imply Senpi checked who controls them.
  • Strategy → Penguin or Pelican first, or one built for this market. As the quick start, offer the Hyperfeed strikers — senpi-strategy-ops runs the walkthrough and deploys under their name:

    Want a feel for what senpi Hyperfeed can do? Penguin (crypto only) or Pelican (all assets) react only to the strongest live rotations on the feed — a name suddenly rocketing up what winning traders hold — then commit one position at up to 10x, 90% margin, with a DSL floor that ratchets up to lock gains as it runs. High risk, high reward, with -15% SL.

    Three things about that line the agent must be able to unpack, because each is easy to read wrong: -15% SL is 15% ROE, not a 15% price move — at 10x that is a 1.5% move, so if the user asks what the stop means, answer in price, never leave "-15%" to be read as the distance. On 90% margin it costs ~13.5% of the wallet per stop-out, and say per stop-out: these run with their risk guard rails off, so stops compound (three ≈ 40% of the wallet). Up to 10x, never a flat 10x — the per-name venue cap clamps many instruments below it, and that clamp moves the PRICE behind every number without moving the wallet cost: ROE is return on margin, so the stop is ~13.5% at any leverage while the move it takes doubles at 5x (3.0%), and tier 1's +20% ROE becomes a 4% move rather than 2%. And say rotations, never "pumps": the detector fires on a jump in what winning traders HOLD, not on price, so a pumping name no smart money rotated into does not fire at all.

    Its peer is a strategy built from the thesis you just produced: hand senpi-strategy-author a structured brief (e.g. "semi-led risk-off, memory −10%/logic −3%, software green, gold & DXY calm = orderly rotation → candidate: long asset-light software / short memory, or fade if washout; risk: timing"). Never promise or imply results. Propose the strategy and get the user's go-ahead — never build or trade without confirmation.

  • Mirror, if the user asks for one (they may, after the 4h-leader note — it is never offered). Hand to senpi-trader-research to vet a copyable trader on their track record, not their last four hours (mirrorability + min budget, not just PnL), then senpi-trade to run the mirror.

Resilience (the engine handles these — narrate them honestly)

  • Hyperfeed down → smart_money: null. Note "4h-leader layer unavailable", deliver the rest in full.
  • A class came back thin → it's in meta.warnings. Say so; don't drop the section silently.
  • Never answer crypto-only, never lead with a single coin, never skip the mandatory closing — even on degraded data.

Skill Attribution

This is a guide/analysis skill (it reads the market and recommends; it does not create a strategy wallet or place a trade), so it has no references/skill-attribution.md wallet flow. Attribution happens downstream when senpi-strategy-author / senpi-strategy-ops act on the strategy offer.

Install — both scripts are required

The engine is two files in scripts/: pulse.py (the engine) and mcp_client.py (its vendored MCP helper, imported at runtime). Install the whole scripts/ directory — copying pulse.py alone fails with No module named 'mcp_client'. Stdlib only, no other runtime dependencies.

© Senpi-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 8 other files (scripts, references) in senpi-market-pulse of Senpi-ai/senpi-skills.

  • SKILL.md
  • references/analysis-framework.md
  • references/scope.md
  • scripts/mcp_client.py
  • scripts/pulse.py
  • tests/fixtures/pulse_fixture.json
  • tests/test_pulse.py
  • tests/test_pulse_saved_wallets.py
  • tests/test_signals_closing.py

Open the folder on GitHubat commit 4f0a537

Compare with similar skills

Senpi Market Pulse next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Senpi Market Pulse compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Senpi Market Pulse this skillSenpi-ai/senpi-skills134—~4.9kAutomated safety check: PassApache-2.0
Eastmoney Market DataHKUDS/Vibe-Trading35k—~1kAutomated safety check: PassMIT
SEC EDGAR Filings FetcherHKUDS/Vibe-Trading35k—~1.4kAutomated safety check: PassMIT
A-Share Daily Reviewqusong0627/QuantMind1.7k—~1.9kAutomated safety check: PassAGPL-3.0
Stock Market Data MCP QueryYourdaylight/stock_datasource189—~1.1kAutomated safety check: PassMIT
Vibe-Trading Finance ToolkitHKUDS/Vibe-Trading35k—~6.5kAutomated safety check: PassMIT

Similar skills

  • Eastmoney Market Data

    HKUDS/Vibe-Trading

    Index of Eastmoney's free, no-token market data interfaces for China A-shares and Hong Kong stocks: fund flows, dragon-tiger lists, margin trading, reports and news.

    35k GitHub stars~1k tokensUpdated today
    Business, Finance & HRAuto-check passed
  • SEC EDGAR Filings Fetcher

    HKUDS/Vibe-Trading

    Fetches U.S. SEC EDGAR data: resolves tickers to CIK numbers, lists recent 10-K, 10-Q and 8-K filings with document URLs, and pulls XBRL financial series.

    35k GitHub stars~1.4k tokensUpdated today
    Business, Finance & HRAuto-check passed
  • A-Share Daily Review

    qusong0627/QuantMind

    Produces a post-market review report for the China A-share market from local QuantDB data, news sentiment and model signals, ending in a next-day direction call.

    1.7k GitHub stars~1.9k tokensUpdated today
    Business, Finance & HRAuto-check passed
  • Stock Market Data MCP Query

    Yourdaylight/stock_datasource

    Queries historical A-share, Hong Kong stock, ETF and index data through an MCP server: daily K-lines, financial statements, market indicators and screening.

    189 GitHub stars~1.1k tokensUpdated 1 mo ago
    Business, Finance & HRAuto-check passed
  • Finance research toolkit with backtesting, factor analysis, a library of prebuilt alphas, options pricing and a Shadow Account loop that tests rules extracted from your trade journal.

    35k GitHub stars~6.5k tokensUpdated today
    Business, Finance & HRAuto-check passed
  • AKShare Financial Data

    HKUDS/Vibe-Trading

    Pulls free market data from the AKShare Python library: A-share, US and Hong Kong prices, futures, China macro series and forex, with notes on symbol formats and Chinese column names.

    35k GitHub stars~777 tokensUpdated today
    Business, Finance & HRAuto-check passed

More from Senpi-ai/senpi-skills

  • Senpi Account Status

    Senpi-ai/senpi-skills

    Reports a user's Senpi points, rank, loyalty tier, fees and referral earnings from one real-time script, and explains the AI-credit usage meter without ever reading its balance.

    134 GitHub stars~3k tokensUpdated yesterday
    Auto-check passed
  • Reads where proven profitable Hyperliquid wallets are positioned versus smaller traders, surfacing the divergence worth paying attention to.

    134 GitHub stars~4k tokensUpdated yesterday
    Auto-check passed
  • Senpi Trading Runtime Contract

    Senpi-ai/senpi-skills

    Documents how a Senpi strategy's scan function talks to the runtime that schedules it, sizes orders, and manages stop-loss exits on Hyperliquid.

    134 GitHub stars~2.6k tokensUpdated yesterday
    Auto-check passed
  • Senpi Why

    Senpi-ai/senpi-skills

    Answer "what makes Senpi different?" / "why Senpi?" / "Senpi vs other trading apps, bots or AI chatbots?" — the positioning answer, led by value, not a feature dump.

    134 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed

Questions about Senpi Market Pulse

What does Senpi Market Pulse do?

Produces a structured cross-asset read of the day across crypto, equities, indices, commodities and macro, using a bundled engine for data and ending with a signals brief. py` instead of pulling prices by hand. The engine gathers crypto, XYZ equities, indices, commodities and macro data in parallel and computes the signals, and the agent turns that output into an explanation.

When should I use Senpi Market Pulse?

Senpi Market Pulse fits situations like: asking what is moving in the markets today; wanting a market overview that spans crypto, equities and macro; getting an explained read on the day instead of a list of prices.

How do I install Senpi Market Pulse in Claude Code?

Run `npx skills add Senpi-ai/senpi-skills --skill senpi-market-pulse -a claude-code`. Or copy the skill folder (senpi-market-pulse in Senpi-ai/senpi-skills) into .claude/skills/senpi-market-pulse in your project. Claude Code loads it when a task matches its description.

How do I install Senpi Market Pulse in Codex?

Run `npx skills add Senpi-ai/senpi-skills --skill senpi-market-pulse -a codex`. Or copy the skill folder (senpi-market-pulse in Senpi-ai/senpi-skills) into .agents/skills/senpi-market-pulse in your project. Codex loads it when a task matches its description.

Can I use Senpi Market Pulse in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Senpi-ai/senpi-skills --skill senpi-market-pulse -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/senpi-market-pulse, .gemini/skills/senpi-market-pulse, .github/skills/senpi-market-pulse and .opencode/skills/senpi-market-pulse in your project.

What does Senpi Market Pulse need to run?

Going by SKILL.md and its folder, Senpi Market Pulse needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: The Senpi MCP connected to the agent; Python 3 to run `scripts/pulse.py`.

Does Senpi Market Pulse access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Senpi Market Pulse safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Senpi Market Pulse use?

Senpi Market Pulse is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Senpi Market Pulse use?

About 4.9k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.5k tokens, read only when the agent opens those files.

What are the alternatives to Senpi Market Pulse?

Skills that share tags, products or a category with Senpi Market Pulse: Eastmoney Market Data (HKUDS/Vibe-Trading, 35k stars), SEC EDGAR Filings Fetcher (HKUDS/Vibe-Trading, 35k stars), A-Share Daily Review (qusong0627/QuantMind, 1.7k stars) and Stock Market Data MCP Query (Yourdaylight/stock_datasource, 189 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Senpi Market Pulse?

Senpi-ai (a GitHub organization) maintains it in Senpi-ai/senpi-skills, which has 134 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 10, 2026.

Source: Senpi-ai/senpi-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.