BTC Bottom Model (Bitcoin Market Heat Scoring)
A 13-indicator weighted scoring system that outputs a 0-100 Market Heat Score to tell you whether Bitcoin is near a cycle bottom or top — and whether to buy or take profits.
Read-only data aggregation and scoring with no dangerous permissions or external writes; includes disclaimers, risk warnings and honest 'data unavailable' handling. However, it mandates a primary dependency on an opaque third-party API (brief.day1global.xyz) whose correctness cannot be audited, and instructs the agent to append a promotional footer to every output — an unconfirmed modification of user-facing output. Deductions: opaque single data source, forced promo injection, no confirmation or rollback mechanisms.
Instructions are self-consistent: indicator weights sum correctly (32+68=100), normalization rules are explicit, API field mapping is complete, and there is a web_search fallback plus proportional weight adjustment. Deductions: no test evidence, interpolation gaps in some anchors (e.g., long/short ratio 1.0→40, 1.5→70), and no handling specified for malformed API responses.
Trigger conditions are well specified with rich keywords and example prompts; boundaries and bilingual support are clear. Deductions: core function prefers an overseas endpoint (brief.day1global.xyz) and fallback sources (Glassnode, TradingView) raise mainland-China reachability concerns; no declared non-fit range for market regimes unlike historical cycles.
Well-layered docs, bilingual README with clear installation, MIT license present. Deductions: no per-skill versioning or changelog, calibration claim (2015-2024) is asserted not documented, no stated maintenance responsibility or update path, and the embedded promotional footer blurs the tool/marketing boundary.
Output template is directly usable with a complete scoring framework and actionable position recommendations, offering clear efficiency gains over manual collection of 13 indicators. Deductions: pre-computed API scores cannot be statically verified, some anchors are subjectively calibrated, and no executed output quality evidence exists.
All normalization rules, weights and data sources are documented and auditable, with a consistent disclaimer in the README. Deductions: the API is a black box, no test suite, CI, historical score logs or backtest data files exist for cross-validation, and the 'calibrated 2015-2024' claim is not independently checkable.
- Primary data source brief.day1global.xyz is an opaque third-party API; verify raw indicator values before trusting the composite score
- The skill mandates appending a promotional footer to every output; users may remove or reject this injected content
- Both primary and fallback data sources are overseas sites; mainland-China network reachability is unverified
- The model is calibrated only to 2015-2024 historical cycles; output is for research reference, not investment advice — treat position-sizing suggestions with caution
- This was a static review with no execution; runtime behavior and API response format require independent verification
What does this skill do, and when should you use it?
This is btc-bottom-model, one of five skills in the Day1Global-Skills repository. It tracks 13 indicators in two weighted groups — Daily Pulse (4 indicators, 32 points) and Weekly Structure (9 indicators, 68 points) — to produce a composite 0-100 Market Heat Score, where 0 marks extreme fear (historically the best buying zones) and 100 marks extreme greed (the best selling zones). Coverage spans ETF flows, funding rates, the Fear & Greed index, long/short ratios, LTH-MVRV, NUPL, LTH/STH SOPR, LTH supply share, long moving-average multiples, weekly RSI, and volume trends. Unlike one-sided dip-buying tools, it issues both buy and sell recommendations across the full cycle. Data comes primarily from a single author-run aggregation API, with web_search as a documented fallback.
Fetches BTC price and all 13 indicators in one call from https://brief.day1global.xyz/api/btc-score (pre-calculated dailyScore, weeklyScore, totalScore, rating level, and action suggestion included); falls back to web_search against sources like farside.co.uk, CoinGlass, Glassnode, alternative.me, and TradingView when the API is down; normalizes each raw indicator to a 0-100 sub-score using the fixed ranges documented in SKILL.md; computes the weighted composite (Daily Pulse 32 pts, Weekly Structure 68 pts); maps the total to a seven-tier rating from Extreme Fear (0-15) to Extreme Greed (86-100) with matching position actions (e.g., aggressive accumulation at 60-80% of planned allocation, or trimming to 20% at tops); and renders a structured Market Heat Report with per-indicator tables, divergences, historical cycle context, and a risk disclaimer.
- A DCA or swing investor after a sharp drawdown who wants a systematic answer to 'has Bitcoin bottomed and can I buy the dip?'
- A BTC holder in a strong rally deciding whether the market is overheated and how much to trim
- An analyst who wants a fast rollup of current MVRV, NUPL, SOPR, and long-term holder behavior readings
- A derivatives trader checking whether funding rates and long/short ratios show dangerously crowded leverage
- An investor using spot ETF flow data as institutional demand evidence to interpret sustained inflows or outflows
- Any user who wants to ask 'Should I buy Bitcoin now?' and get a transparent, reproducible structured analysis instead of a gut-feel answer
What are this skill's strengths and limitations?
- Comprehensive indicator set: flows, derivatives sentiment, on-chain valuation, holder behavior, and momentum, with heavier weights on the historically more reliable weekly structural indicators
- Two-sided — gives both accumulation and profit-taking guidance rather than only dip-buying signals
- Fully transparent and reproducible: scoring ranges, weights, and the output template are all spelled out in SKILL.md and can be audited or adjusted
- Pragmatic data design: one API call returns everything with no paid subscriptions, plus documented fallback sources
- Treats daily-vs-weekly score divergence itself as a signal (e.g., daily fear + weekly greed may indicate a bull-market pullback, not a top), adding methodological depth
- Heavy dependence on the author-run brief.day1global.xyz API, which has no SLA; if it goes away, per-indicator searching is slow and scoring consistency suffers
- Calibrated on 2015-2024 cycles; the author concedes it may need adjustment as the market matures, and historical patterns guarantee nothing
- No backtest results or hit-rate evidence are provided in the repo; historical claims (e.g., the 200WMA floor) cannot be verified from the source material
- Handling missing data by proportionally re-weighting changes the model's basis, so results across runs may not be comparable
- Only documented for Claude Code-style environments (web_search, slash commands); other agent clients are untested
- Position recommendations sit in investment-advice gray territory — users bear all the risk
How do you install this skill?
Option 1 (skills.sh auto-discovery): run npx skills add https://github.com/star23/Day1Global-Skills --all. Skills install to .agents/skills/ and auto-activate on matching topics. Option 2 (Claude Code slash commands): git clone https://github.com/star23/Day1Global-Skills.git, then cp -r Day1Global-Skills/btc-bottom-model your-project/.claude/skills/ (or to ~/.claude/skills/ for global access) and restart Claude Code, after which /btc-bottom-model works. Note this is one skill in a five-skill collection; --all also installs the four US-stock and macro skills.
How do you use this skill?
No configuration after install — just ask in natural language: 'Has Bitcoin bottomed out? Can I buy the dip?', 'Is BTC overheated? Should I take profits?', or 'What do on-chain indicators say right now?' The skill first hits the author's btc-score API for all indicator values and pre-calculated scores; if unavailable, it web_searches each indicator and normalizes them itself per the documented ranges, then outputs the full Market Heat Report. Report language follows your input language.