senpi-getting-started-guide by senpi-ai/senpi-skills
npx skills add https://github.com/senpi-ai/senpi-skills --skill senpi-getting-started-guide通过 Senpi 引导用户在 Hyperliquid 上完成第一笔完整的交易。本技能教授核心循环:发现顶尖交易者 → 创建策略以复制所选交易者的操作 → 监控 → 关闭策略。
前提条件(仅限代理): 已连接 Senpi MCP。已完成入门设置(见下文状态检查)。钱包已注资用于创建策略;如果尚未注资,显示注资提醒,并在余额 ≥ $100 或用户确认已注资前不要开始。
面向用户的规则: 永远不要向用户展示内部细节。不要提及状态名称(例如 UNFUNDED、READY、FRESH)、文件路径(例如 state.json、~/.config/senpi)、步骤代码(例如 STRATEGY_CREATED)或 MCP/工具名称。仅使用简单、友好的语言(例如"你已准备就绪,可以开始了"、"请为你的钱包注资以开始"、"你的策略正在运行中")。
最低策略预算: 创建首次交易的复制策略时,使用 $100 作为最低金额。不要建议或使用 $50 或任何低于 $100 的金额。
开始本教程前,请验证:
确保状态文件存在;如果缺失,创建它并重定向。重定向时,仅告知用户: "你需要先完成设置。说 '设置 Senpi' 或 '连接到 Senpi' 以开始。" 不要提及状态文件、FRESH 或任何内部状态。
# 确保状态文件存在(根据状态生命周期);如果缺失,创建并重定向
if [ ! -f ~/.config/senpi/state.json ]; then
mkdir -p ~/.config/senpi
cat > ~/.config/senpi/state.json << 'STATEEOF'
{
"version": "1.0.0",
"state": "FRESH",
"error": null,
"onboarding": {
"step": "IDENTITY",
"startedAt": null,
"completedAt": null,
"identityType": null,
"subject": null,
"walletGenerated": false,
"existingAccount": false
},
"account": {},
"wallet": { "funded": false },
"firstTrade": { "completed": false, "skipped": false },
"mcp": { "configured": false }
}
STATEEOF
# 仅告知用户(不要回显内部消息):
# "你需要先完成设置。说 '设置 Senpi' 或 '连接到 Senpi' 以开始。"
exit 1
fi
STATE=$(cat ~/.config/senpi/state.json | node -p "JSON.parse(require('fs').readFileSync(0,'utf8')).state")
if [ "$STATE" = "FRESH" ] || [ "$STATE" = "ONBOARDING" ]; then
# 仅告知用户(不要回显"用户需要完成入门设置"或状态名称):
# "你需要先完成设置。说 '设置 Senpi' 或 '连接到 Senpi' 以开始。"
exit 1
fi
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
在以下情况启动本教程:
AWAITING_FIRST_TRADE 且用户发送与交易相关的消息在以下情况不要启动: MCP 未连接 — 此时告知用户先设置 Senpi(不要提及 MCP 或状态)。如果用户说"skip tutorial",将状态设置为 READY 并显示来自 references/next-steps.md 的跳过消息。如果开始时钱包余额少于 $100,在注资前不要创建策略;使用下面的注资提醒(仅使用用户友好的措辞)。
按顺序执行步骤。参考文件包含显示文本、状态模式和错误处理。
如果用户要求首次交易指导(例如"let's trade")但钱包尚未注资:
如果入门设置未完成(状态为 FRESH 或 ONBOARDING),仅告知用户:"请先完成设置 — 说 'set up Senpi' 以开始。" 不要说"入门设置"、"状态"或"用户需要先完成入门设置"。
展示交易循环。向用户展示 4 步列表时,使用以下确切措辞:
1️⃣ 发现 — 在 Hyperliquid 上找到表现顶尖的交易者
2️⃣ 创建策略 — 复制所选交易者的持仓($100 预算)
3️⃣ 监控 — 观察策略表现
4️⃣ 关闭 — 在你准备好时退出
为首次策略推荐 $100 最低预算,并包含简短的风险免责声明。要求用户说 "yes" 以继续,或 "skip" 如果是有经验的用户。
更新状态:将 firstTrade.step 设置为 INTRODUCTION,firstTrade.started true,startedAt(ISO 8601 格式)。保留 state.json 中的现有字段。
等待用户确认后再继续。
使用 MCP discovery_get_top_traders 获取顶尖交易者。可选地使用 discovery_get_trader_state 或 discovery_get_trader_history 获取额外细节。展示一个简短的顶尖交易者表格(例如按 PnL、胜率),并推荐一位交易者供首次交易复制。
查看 references/discovery-guide.md 获取显示模板和状态更新(firstTrade.step: "DISCOVERY",recommendedTraderId,recommendedTraderName)。
在创建策略之前,解释:选择的交易者、预算(最低 $100),以及该策略将复制该交易者的持仓。警告风险和强平。要求用户说 "confirm" 以创建策略。
查看 references/strategy-management.md 获取规模设定表格和措辞。
在用户确认后,调用 MCP strategy_create,使用选定的交易者(来自步骤 2)和预算(最低 $100)。成功后,显示庆祝信息(见 references/next-steps.md — "庆祝(首次策略创建后)"):祝贺用户开启了他们的第一个策略,然后提供"how's my strategy?"、"close my strategy"或"show my positions"选项。不要显示策略状态或原始 ID。
根据 references/strategy-management.md 更新状态:设置 firstTrade.step: "STRATEGY_CREATED",tradeDetails(strategyId,mirroredTraderId 等),以及设置 firstTrade.completed: true,firstTrade.step: "COMPLETE",firstTrade.completedAt。失败时,参见 references/error-handling.md。
当用户询问"how's my strategy?"或类似问题时,通过 MCP 获取数据:strategy_get、strategy_get_clearinghouse_state 或 execution_get_open_position_details 用于获取未平仓头寸。显示策略价值、未平仓头寸(如果有)、未实现 PnL、ROE。提供选项:持有、关闭策略或添加保护。不要在此处显示单独的祝贺信息 — 这已经在他们创建第一个策略时(步骤 4)显示过了。
当用户说"close"、"exit"、"close my strategy"、"take profit"等时,调用 MCP strategy_close 并使用状态中的策略 ID。告知用户策略已关闭,并以简单语言显示已实现 PnL、持续时间和费用。显示来自 references/next-steps.md 的"关闭后"结果和后续步骤(没有单独的祝贺 — 已在创建策略时显示过)。不要提及策略状态或内部代码。更新状态(STRATEGY_CLOSE,tradeDetails 包含 closedAt,pnl 等)。参见 references/strategy-management.md。
当用户关闭了他们的策略(步骤 6)时,结果和后续步骤会在那里显示。没有单独的庆祝步骤 — 当他们创建第一个策略时(步骤 4),状态已经设置为 READY 且 firstTrade.completed。完整的"关闭后"文本:references/next-steps.md。状态结构:references/strategy-management.md。
如果用户中途返回,从状态中读取 firstTrade.step 并从匹配的步骤恢复。参见 references/next-steps.md 获取恢复逻辑。恢复消息必须仅为用户友好 — 例如"你之前正在进行首次交易。这是我们上次中断的地方…" 不要提及步骤名称(INTRODUCTION、DISCOVERY、STRATEGY_CREATED 等)或状态。
npx skills add Senpi-ai/senpi-skills/senpi-getting-started-guide
或手动安装:
mkdir -p ~/.senpi/skills/senpi-getting-started-guide
curl -sL "https://raw.githubusercontent.com/Senpi-ai/senpi-skills/main/senpi-getting-started-guide/SKILL.md" \
-o ~/.senpi/skills/senpi-getting-started-guide/SKILL.md
# 将 references/ 复制到同一技能目录中
每周安装量
116
代码库
GitHub 星标数
52
首次出现
2026年2月27日
安全审计
安装于
opencode112
gemini-cli112
github-copilot112
codex112
amp112
cline112
Guide users through their first complete trade on Hyperliquid via Senpi. This skill teaches the core loop: discover top traders → create a strategy that mirrors a chosen trader → monitor → close strategy.
Prerequisites (agent-only): Senpi MCP connected. Onboarding complete (see state check below). Wallet funded for creating a strategy; if not yet funded, show a funding reminder and do not start until balance ≥ $100 or user confirms they funded.
User-facing rule: Never show the user internal details. Do not mention state names (e.g. UNFUNDED, READY, FRESH), file paths (e.g. state.json, ~/.config/senpi), step codes (e.g. STRATEGY_CREATED), or MCP/tool names. Use only plain, friendly language (e.g. "You're all set to start", "Fund your wallet to begin", "Your strategy is running").
Minimum strategy budget: Use $100 as the minimum when creating the first-trade mirror strategy. Do not suggest or use $50 or any amount below $100.
Before starting the tutorial, verify:
Ensure state file exists; if missing, create it and redirect. When redirecting, tell the user only: "You need to complete setup first. Say 'set up Senpi' or 'connect to Senpi' to get started." Do not mention state file, FRESH, or any internal state.
# Ensure state file exists (per state lifecycle); if missing, create and redirect
if [ ! -f ~/.config/senpi/state.json ]; then
mkdir -p ~/.config/senpi
cat > ~/.config/senpi/state.json << 'STATEEOF'
{
"version": "1.0.0",
"state": "FRESH",
"error": null,
"onboarding": {
"step": "IDENTITY",
"startedAt": null,
"completedAt": null,
"identityType": null,
"subject": null,
"walletGenerated": false,
"existingAccount": false
},
"account": {},
"wallet": { "funded": false },
"firstTrade": { "completed": false, "skipped": false },
"mcp": { "configured": false }
}
STATEEOF
# Tell user only (do not echo internal messages):
# "You need to complete setup first. Say 'set up Senpi' or 'connect to Senpi' to get started."
exit 1
fi
STATE=$(cat ~/.config/senpi/state.json | node -p "JSON.parse(require('fs').readFileSync(0,'utf8')).state")
if [ "$STATE" = "FRESH" ] || [ "$STATE" = "ONBOARDING" ]; then
# Tell user only (do not echo "User needs to complete onboarding" or state names):
# "You need to complete setup first. Say 'set up Senpi' or 'connect to Senpi' to get started."
exit 1
fi
Start this tutorial when:
AWAITING_FIRST_TRADE and user sends a trading-related messageDo NOT start if: MCP not connected — then tell the user to set up Senpi first (do not mention MCP or state). If user says "skip tutorial", set state to READY and show the skip message from references/next-steps.md. If wallet has less than $100 when starting, do not create a strategy until funded; use the funding reminder below (user-friendly wording only).
Follow steps in order. Reference files contain display copy, state schemas, and error handling.
If the user asked for the first-trade guide (e.g. "let's trade") but the wallet is not yet funded:
If onboarding is not complete (state FRESH or ONBOARDING), tell the user only: "Complete setup first — say 'set up Senpi' to get started." Do not say "onboarding", "state", or "User needs to complete onboarding first."
Display the trade cycle. When showing the 4-step list to the user, use this exact wording:
1️⃣ Discover — Find top-performing traders on Hyperliquid
2️⃣ Create a strategy — Mirror a chosen trader's positions ($100 budget)
3️⃣ Monitor — Watch how the strategy performs
4️⃣ Close — Exit when you're ready
Recommend a $100 minimum budget for the first strategy and include a short risk disclaimer. Ask user to say "yes" to continue or "skip" if experienced.
Update state: set firstTrade.step to INTRODUCTION, firstTrade.started true, startedAt (ISO 8601). Preserve existing fields in state.json.
Wait for user confirmation before proceeding.
Use MCP discovery_get_top_traders to fetch top traders. Optionally use discovery_get_trader_state or discovery_get_trader_history for extra detail. Show a short table of top traders (e.g. by PnL, win rate) and recommend one trader to mirror for the first trade.
See references/discovery-guide.md for display template and state update (firstTrade.step: "DISCOVERY", recommendedTraderId, recommendedTraderName).
Before creating the strategy, explain: chosen trader, budget ($100 minimum), and that the strategy will mirror that trader's positions. Warn about risk and liquidation. Ask user to say "confirm" to create the strategy.
See references/strategy-management.md for the sizing table and wording.
On user confirmation, call MCP strategy_create with the chosen trader (from Step 2) and budget (minimum $100). On success, show the celebration (see references/next-steps.md — "Celebrate (After First Strategy Created)"): congratulate the user for opening their first strategy, then offer "how's my strategy?", "close my strategy", or "show my positions". Do not show strategy status or raw IDs.
Update state per references/strategy-management.md: set firstTrade.step: "STRATEGY_CREATED", tradeDetails (strategyId, mirroredTraderId, etc.), and set firstTrade.completed: true, firstTrade.step: "COMPLETE", firstTrade.completedAt. On failure, see references/error-handling.md.
When user asks "how's my strategy?" or similar, fetch data via MCP: strategy_get , strategy_get_clearinghouse_state , or execution_get_open_position_details for open positions. Show strategy value, open positions (if any), unrealized PnL, ROE. Offer: Hold, Close strategy, or Add protection. Do not show a separate congratulations here — that was already shown when they created their first strategy (Step 4).
When user says "close", "exit", "close my strategy", "take profit", etc., call MCP strategy_close with the strategy ID from state. Tell the user the strategy is closed and show realized PnL, duration, and fees in plain language. Show the "After Close" result and next steps from references/next-steps.md (no separate congratulations — already shown when they created the strategy). Do not mention strategy status or internal codes. Update state (STRATEGY_CLOSE, tradeDetails with closedAt, pnl, etc.). See references/strategy-management.md.
When the user has closed their strategy (Step 6), the result and next steps are shown there. No separate celebration step — state was already set to READY and firstTrade.completed when they created their first strategy (Step 4). Full "After Close" copy: references/next-steps.md. State shape: references/strategy-management.md.
If the user returns mid-tutorial, read firstTrade.step from state and resume from the matching step. See references/next-steps.md for resume logic. Resume message must be user-friendly only — e.g. "You were in the middle of your first trade. Here’s where we left off…" Do not mention step names (INTRODUCTION, DISCOVERY, STRATEGY_CREATED, etc.) or state.
npx skills add Senpi-ai/senpi-skills/senpi-getting-started-guide
Or manually:
mkdir -p ~/.senpi/skills/senpi-getting-started-guide
curl -sL "https://raw.githubusercontent.com/Senpi-ai/senpi-skills/main/senpi-getting-started-guide/SKILL.md" \
-o ~/.senpi/skills/senpi-getting-started-guide/SKILL.md
# Copy references/ into the same skill directory
Weekly Installs
116
Repository
GitHub Stars
52
First Seen
Feb 27, 2026
Security Audits
Gen Agent Trust HubPassSocketWarnSnykWarn
Installed on
opencode112
gemini-cli112
github-copilot112
codex112
amp112
cline112
Skills CLI 使用指南:AI Agent 技能包管理器安装与管理教程
40,000 周安装