skills/b1e55ed/research/SKILL.md
Deep research on a single token producing a structured conviction signal. Use when asked to research a specific token, analyze a crypto asset in depth, or generate a research signal. Triggers on "research {TOKEN}", "deep dive {TOKEN}", "analyze {TOKEN}", or any request for comprehensive token analysis. Requires b1e55ed MCP tools for regime context, existing signals, and signal submission.
npx skillsauth add p-u-c/b1e55ed b1e55ed-researchInstall 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.
Conducts deep, multi-source research on a single token and produces a structured conviction signal submitted to the b1e55ed signal pipeline. Combines regime context, on-chain signals, social signals, and web research into a comprehensive analysis with institutional-grade output.
extensions_config.json:
list_producers + get_latest_signal("regime_detector") — current market regimelist_producers + get_latest_signal per producer — filtered signal retrievalget_latest_signal (read-only; signal submission via REST API) — signal emissionb1e55ed identity show){TOKEN}_last_regime — regime at last research{TOKEN}_last_conviction — prior conviction score{TOKEN}_key_findings — prior key findings summary{TOKEN}_last_researched — ISO timestamp of last research| Step | Model Recommendation | |------|---------------------| | Coordinator | Strong model (Claude Sonnet or equivalent) | | Web search steps (4-6) | Any model (cost-efficient) | | Synthesis step (7-9) | Strong model (Claude Sonnet or equivalent) |
Before starting research, check memory for prior context on this token:
{TOKEN}_last_regime — what was the regime last time?{TOKEN}_last_conviction — what was the prior conviction score?{TOKEN}_key_findings — what were the key findings last time?{TOKEN}_last_researched — when was the last research run?If no prior memory exists, this is a first-time research. Note that in the output.
Call list_producers + get_latest_signal("regime_detector") to retrieve:
Store the full response — this frames all subsequent analysis.
Call list_producers + get_latest_signal per producer with parameters:
domain: onchainsymbol: {TOKEN}Record: signal count, latest signal timestamp, dominant signal direction, any whale activity signals.
Call list_producers + get_latest_signal per producer with parameters:
domain: socialsymbol: {TOKEN}Record: sentiment distribution, notable social spikes, influencer mentions.
Search the web for recent price action and crypto Twitter sentiment:
"{TOKEN} price action site:twitter.com last 24h"
Extract: key narratives, notable calls (bullish/bearish), engagement levels on {TOKEN} posts.
Search the web for fundamental developments:
"{TOKEN} fundamentals news {CURRENT_YEAR}"
Extract: protocol updates, partnerships, governance proposals, team changes, TVL movements.
Search the web for whale and smart money activity:
"{TOKEN} on-chain whale activity"
Extract: large transfers, accumulation/distribution patterns, exchange inflows/outflows.
Compare current findings to prior memory for this token:
Synthesis output:
| Condition | Signal Class |
|-----------|-------------|
| No clear directional thesis | observation |
| Directional thesis with supporting evidence | conviction |
| Strong multi-source confirmation | conviction (high confidence) |
Call get_latest_signal (read-only; signal submission via REST API) with all required fields:
{
"operator_node_id": "{YOUR_FORGE_NODE_ID}",
"signal_class": "conviction|observation",
"domain": "research",
"symbol": "{TOKEN}",
"direction": "bullish|bearish|neutral",
"confidence": 0.0-1.0,
"horizon": "short|medium|long",
"thesis": "One-sentence thesis statement",
"evidence": "Key supporting evidence summary",
"risk_factors": "Key risks that could invalidate thesis",
"sources": ["on-chain", "social", "web-research"]
}
Write a structured HTML report to the sandbox: research_{TOKEN}_{YYYY-MM-DD}.html
The artifact must include these sections:
1. Executive Summary
- One-paragraph synthesis of findings
- Direction + conviction score
2. Regime Context
- Current regime status
- How regime affects this token's outlook
3. On-Chain Signals
- Signal summary from b1e55ed pipeline
- Whale activity from web research
4. Social Signals
- Sentiment distribution
- Notable CT narratives
5. Web Research Findings
- Fundamental developments
- News and catalysts
6. Delta from Prior Research
- What changed since last research (or "First research — no prior data")
- Conviction change direction and magnitude
7. Conviction Score
- Numeric score (0-10)
- Breakdown by dimension: narrative, on-chain, technical, risk
8. Risk Factors
- Top 3-5 risks that could invalidate the thesis
- Invalidation conditions (specific, measurable)
Style the HTML with dark mode CSS:
:root {
--bg: #0a0a0a;
--text: #e0e0e0;
--green: #00d084;
--red: #ff4444;
--amber: #ffaa00;
--surface: #1a1a1a;
--border: #333;
}
Write the following memory keys:
| Key | Value |
|-----|-------|
| {TOKEN}_last_regime | Current regime classification |
| {TOKEN}_last_conviction | Numeric conviction score (0-10) |
| {TOKEN}_key_findings | Brief summary of key findings (max 200 words) |
| {TOKEN}_last_researched | Current ISO timestamp |
| Failure | Action |
|---------|--------|
| get_latest_signal (read-only; signal submission via REST API) fails | Log error. Still write HTML artifact. Add "⚠️ Signal submission failed" banner to artifact. |
| list_producers + get_latest_signal("regime_detector") fails | Retry once. If still fails, note "Regime data unavailable" in artifact and proceed without regime context. |
| list_producers + get_latest_signal per producer fails | Retry once. If still fails, note which signal domain is missing in the artifact. Proceed with available data. |
| Web search returns no results | Try alternative query phrasing. If still empty, note the gap explicitly in the relevant artifact section. |
| Memory read fails | Treat as first-time research. Skip delta section or note "No prior data available." |
Critical rule: Never silently skip a failed step. Every gap must be noted in the output artifact.
Model failure during coordinator steps (timeout, context overflow, provider error) is intentionally not handled in this skill file. This is a design decision, not an omission.
DeerFlow's coordinator layer owns model-level retry and fallback — it retries failed steps, routes to backup models, and surfaces unrecoverable failures to the operator. Defining fallback model behavior inside a skill file would duplicate that logic and couple the skill to a specific deployment configuration, breaking portability across DeerFlow instances with different model configurations.
What this skill owns: tool call failures, data gaps, partial artifacts. What DeerFlow's coordinator owns: model retries, context management, step-level recovery.
This follows DeerFlow's skill authoring best practice: skills define what to do, the coordinator defines how to recover when the doing fails.
<!-- 🙏 separation of concerns: the monk defines the prayer, the temple decides how to ring the bell when the monk's voice fails. -->get_latest_signal (read-only; signal submission via REST API) to the b1e55ed pipelineresearch_{TOKEN}_{YYYY-MM-DD}.html written to sandboxtools
Parallel coverage of multiple tokens with ranked conviction output. Use when asked to scan a watchlist, review multiple tokens, or produce a ranked token analysis. Triggers on "watchlist scan", "review watchlist", "rank tokens", "scan {TOKEN1} {TOKEN2} ...", or any request for multi-token comparative analysis. Requires b1e55ed MCP tools.
tools
Structured thesis evaluation with multi-dimensional scoring and conviction signal. Use when someone shares a trade idea, investment thesis, or asks "what do you think about {TOKEN}" with a specific thesis. Triggers on "evaluate thesis", "thesis {TOKEN}", "is {TOKEN} a good buy because...", or any request to evaluate an investment hypothesis. Requires b1e55ed MCP tools.
tools
Daily investment committee brief — institutional-grade morning report synthesizing regime, signals, portfolio, and market context. Use when asked for "daily brief", "morning report", "IC brief", "market summary", or any request for a comprehensive portfolio and market overview. Requires b1e55ed MCP tools.
tools
Natural language strategy description to sandbox backtest with formatted report. Use when asked to backtest a strategy, simulate trades, test a hypothesis against historical data, or evaluate a trading approach. Triggers on "backtest {STRATEGY}", "simulate {STRATEGY}", "test strategy", or any request to evaluate historical performance of a signal-based approach. Requires b1e55ed MCP tools.