academic-paper-review
Use this skill when the user requests to review, analyze, critique, or summarize academic…
Interact with DeerFlow AI agent platform via its HTTP API. Use this skill when the user wants to send messages or questions to DeerFlow for research/analysis, start a DeerFlow conversation thread, check DeerFlow status or health, list available models/skills/agents in DeerFlow,
$ npx -y skills add bytedance/deer-flow --skill claude-to-deerflow --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/claude-to-deerflowContext preview
The summary Claude sees to decide when to auto-load this skill.
Interact with DeerFlow AI agent platform via its HTTP API. Use this skill when the user wants to send messages or questions to DeerFlow for research/analysis, start a DeerFlow conversation thread, check DeerFlow status or health, list available models/skills/agents in DeerFlow,
name: claude-to-deerflow description: "Interact with DeerFlow AI agent platform via its HTTP API. Use this skill when the user wants to send messages or questions to DeerFlow for research/analysis, start a DeerFlow conversation thread, check DeerFlow status or health, list available models/skills/agents in DeerFlow, manage DeerFlow memory, upload files to DeerFlow threads, or delegate complex research tasks to DeerFlow. Also use when the user mentions deerflow, deer flow, or wants to run a deep research task that DeerFlow can handle."
Communicate with a running DeerFlow instance via its HTTP API. DeerFlow is an AI agent platform built on LangGraph that orchestrates sub-agents for research, code execution, web browsing, and more.
DeerFlow exposes two API surfaces behind an Nginx reverse proxy:
| Service | Direct Port | Via Proxy | Purpose | |----------------|-------------|----------------------------------|----------------------------------| | Gateway API | 8001 | `$DEERFLOW_GATEWAY_URL` | REST endpoints and embedded agent runtime | | LangGraph-compatible API | 8001 | `$DEERFLOW_LANGGRAPH_URL` | Agent threads, runs, streaming |
All URLs are configurable via environment variables. **Read these env vars before making any request.**
| Variable | Default | Description | |-------------------------|------------------------------------------|------------------------------------| | `DEERFLOW_URL` | `http://localhost:2026` | Unified proxy base URL | | `DEERFLOW_GATEWAY_URL` | `${DEERFLOW_URL}` | Gateway API base (models, skills, memory, uploads) | | `DEERFLOW_LANGGRAPH_URL`| `${DEERFLOW_URL}/api/langgraph` | LangGraph API base (threads, runs) |
When making curl calls, always resolve the URL like this:
# Resolve base URLs from env (do this FIRST before any API call)
DEERFLOW_URL="${DEERFLOW_URL:-http://localhost:2026}"
DEERFLOW_GATEWAY_URL="${DEERFLOW_GATEWAY_URL:-$DEERFLOW_URL}"
DEERFLOW_LANGGRAPH_URL="${DEERFLOW_LANGGRAPH_URL:-$DEERFLOW_URL/api/langgraph}"Verify DeerFlow is running:
curl -s "$DEERFLOW_GATEWAY_URL/health"
This is the primary operation. It creates a thread and streams the agent's response.
**Step 1: Create a thread**
curl -s -X POST "$DEERFLOW_LANGGRAPH_URL/threads" \
-H "Content-Type: application/json" \
-d '{}'Response: `{"thread_id": "<uuid>", ...}`
**Step 2: Stream a run**
curl -s -N -X POST "$DEERFLOW_LANGGRAPH_URL/threads/<thread_id>/runs/stream" \
-H "Content-Type: application/json" \
-d '{
"assistant_id": "lead_agent",
"input": {
"messages": [
{
"type": "human",
"content": [{"type": "text", "text": "YOUR MESSAGE HERE"}]
}
]
},
"stream_mode": ["values", "messages-tuple"],
"stream_subgraphs": true,
"config": {
"recursion_limit": 1000
},
"context": {
"thinking_enabled": true,
"is_plan_mode": true,
"subagent_enabled": true,
"thread_id": "<thread_id>"
}
}'The response is an SSE stream. Each event has the format:
event: <event_type> data: <json_data>
Key event types:
**Context modes** (set via `context`):
To send follow-up messages, reuse the same `thread_id` from step 2 and POST another run with the new message.
curl -s "$DEERFLOW_GATEWAY_URL/api/models"
Returns: `{"models": [{"name": "...", "provider": "...", ...}, ...]}`
curl -s "$DEERFLOW_GATEWAY_URL/api/skills"
Returns: `{"skills": [{"name": "...", "enabled": true, ...}, ...]}`
curl -s -X PUT "$DEERFLOW_GATEWAY_URL/api/skills/<skill_name>" \
-H "Content-Type: application/json" \
-d '{"enabled": true}'curl -s "$DEERFLOW_GATEWAY_URL/api/agents"
Returns: `{"agents": [{"name": "...", ...}, ...]}`
curl -s "$DEERFLOW_GATEWAY_URL/api/memory"
Returns user context, facts, and conversation history summaries.
curl -s -X POST "$DEERFLOW_GATEWAY_URL/api/threads/<thread_id>/uploads" \ -F "files=@/path/to/file.pdf"
Supports PDF, PPTX, XLSX, DOCX — automatically converts to Markdown.
curl -s "$DEERFLOW_GATEWAY_URL/api/threads/<thread_id>/uploads/list"
curl -s "$DEERFLOW_LANGGRAPH_URL/threads/<thread_id>/history"
curl -s -X POST "$DEERFLOW_LANGGRAPH_URL/threads/search" \
-H "Content-Type: application/json" \
-d '{"limit": 20, "sort_by": "updated_at", "sort_order": "desc"}'For sending messages and collecting the full response, use the helper script:
bash /path/to/skills/claude-to-deerflow/scripts/chat.sh "Your question here"
See `scripts/chat.sh` for the implementation. The script: 1. Checks health 2. Creates a thread 3. Streams the run and collects the final AI response 4. Prints the result
On February 28th, 2026, DeerFlow claimed the 🏆 #1 spot on GitHub Trending following the launch of version 2. Thanks a million to our incredible community — you made this happen!
Repo: bytedance/deer-flow
Use this skill when the user requests to review, analyze, critique, or summarize academic…
Generate a personalized SOUL.md through a warm, adaptive onboarding conversation. Trigger…
This skill should be used when the user wants to visualize data. It intelligently selects the…
Use this skill when the user requests to generate, create, or improve documentation for code,…
Use this skill when the user requests to generate, create, or write professional research…
Use this skill when the user uploads Excel (.xlsx/.xls) or CSV files and wants to perform…