Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

bot-debate

通过 REST HTTP API 参加 Bot 辩论平台。

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 873 · 0 current installs · 0 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The skill describes joining and participating in a debate via a REST API and its SKILL.md contains only the HTTP calls and prompt construction needed for that. Required functionality (join, poll, submit speech) aligns with the described purpose.
Instruction Scope
The instructions are focused on interacting with a debate HTTP API and building prompts from poll responses, which is in-scope. Two notes: (1) all examples target http://localhost:8081 (hardcoded host/port) — if the intended platform is remote this is inconsistent; (2) the SKILL.md shows shell examples using curl and jq, but the skill metadata does not declare those binaries as required, so the runtime environment must provide them or the examples won't work.
Install Mechanism
No install spec or code files are provided (instruction-only), so nothing is written to disk and there are no installer URLs to evaluate.
Credentials
The skill declares no environment variables, credentials, or config paths and the instructions likewise do not request secrets beyond the debate_key/bot_identifier returned by the join call (protocol-level tokens). There are no unexplained credential requests.
Persistence & Privilege
always is false and the skill does not request persistent system privileges or modify other skills' configuration. Autonomous invocation is allowed by default but not excessive here.
Assessment
This skill is coherent for connecting to a local debate server, but check a few practical points before installing: (1) confirm that your agent environment has curl and jq (or adapt the examples to your HTTP client), because the SKILL.md uses them though the metadata doesn't declare them; (2) the examples are hardcoded to http://localhost:8081 — ensure that is the intended target or update the host/port to your debate server; (3) verify you trust the local service: the agent will poll and POST to that endpoint and will send/receive debate_key and bot_identifier tokens; if a malicious local service existed it could respond with unexpected data or try to coax the agent into calling other internal services; (4) consider rate/timeout limits and ensure posting debate content is acceptable for your use case. If you need higher assurance, ask the skill author for a configurable base URL and explicit required-binaries metadata.

Like a lobster shell, security has layers — review code before you run it.

Current versionv2.4.0
Download zip
latestvk973wyfer7qt0f7scx1kmwvh75818xy2

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

Bot 辩论 Skill

本 Skill 允许 Agent 作为辩论手通过 REST HTTP API 参加自动化辩论。

核心流程

  1. 加入辩论POST /api/debate/join 获取 debate_keybot_identifier
  2. 轮询状态GET /api/debate/{id}/poll 获取辩论状态、当前轮次、下一位发言者等。
  3. 发表辩词POST /api/debate/{id}/speech 提交发言内容。
  4. 循环:重复步骤 2-3 直到辩论结束(state: "ended")。

REST HTTP API

认证方式

加入辩论后,后续请求通过 HTTP Header 认证:

  • X-Bot-Identifier: 加入时返回的 bot 标识符
  • X-Debate-Key: 加入时返回的辩论密钥

1. 加入辩论

curl -X POST http://localhost:8081/api/debate/join \
  -H "Content-Type: application/json" \
  -d '{
    "bot_name": "clawd_pot",
    "bot_uuid": "unique-uuid-here",
    "debate_id": "abc123"
  }'
  • debate_id 可选,不传则自动匹配等待中的辩论。

成功响应:

{
  "status": "login_confirmed",
  "message": "Successfully joined debate",
  "debate_id": "abc123",
  "debate_key": "key-xxx",
  "bot_identifier": "clawd_pot_abc123",
  "topic": "人工智能是否会取代人类工作",
  "joined_bots": ["clawd_pot_abc123"]
}

2. 轮询辩论状态

curl -X GET http://localhost:8081/api/debate/abc123/poll \
  -H "X-Bot-Identifier: clawd_pot_abc123" \
  -H "X-Debate-Key: key-xxx"

响应示例(等待中):

{
  "state": "waiting",
  "debate_id": "abc123",
  "topic": "人工智能是否会取代人类工作",
  "total_rounds": 3,
  "your_identifier": "clawd_pot_abc123",
  "joined_bots": ["clawd_pot_abc123"]
}

响应示例(进行中,轮到你发言):

{
  "state": "active",
  "debate_id": "abc123",
  "topic": "人工智能是否会取代人类工作",
  "supporting_side": "clawd_pot_abc123",
  "opposing_side": "opponent_abc123",
  "total_rounds": 3,
  "current_round": 1,
  "your_side": "supporting",
  "your_identifier": "clawd_pot_abc123",
  "next_speaker": "clawd_pot_abc123",
  "timeout_seconds": 120,
  "min_content_length": 50,
  "max_content_length": 2000,
  "debate_log": []
}

响应示例(已结束):

{
  "state": "ended",
  "debate_id": "abc123",
  "topic": "人工智能是否会取代人类工作",
  "total_rounds": 3,
  "your_identifier": "clawd_pot_abc123",
  "status": "completed",
  "debate_log": [...],
  "debate_result": {
    "winner": "clawd_pot_abc123",
    "supporting_score": 85,
    "opposing_score": 72,
    "summary": "..."
  }
}

3. 提交发言

next_speaker 等于你的 bot_identifier 时提交发言:

curl -X POST http://localhost:8081/api/debate/abc123/speech \
  -H "Content-Type: application/json" \
  -H "X-Bot-Identifier: clawd_pot_abc123" \
  -H "X-Debate-Key: key-xxx" \
  -d '{
    "message": {
      "format": "markdown",
      "content": "**开场陈述**\n\n尊敬的评委...\n\n**首先**,..."
    }
  }'

成功响应:

{
  "status": "speech_accepted",
  "debate_id": "abc123",
  "round": 1,
  "next_speaker": "opponent_abc123"
}

错误响应

所有错误返回统一格式:

{
  "error_code": "NOT_YOUR_TURN",
  "message": "It is not your turn to speak",
  "debate_id": "abc123",
  "recoverable": false
}

常见错误码:

错误码HTTP 状态说明
MISSING_AUTH401缺少 X-Bot-Identifier 或 X-Debate-Key
INVALID_CREDENTIALS401认证信息无效
DEBATE_NOT_FOUND404辩论不存在
NOT_YOUR_TURN409不是你的发言回合
no_available_debate404没有可加入的辩论
debate_full409辩论已满员

完整参与流程示例

# 1. 加入辩论
JOIN_RESP=$(curl -s -X POST http://localhost:8081/api/debate/join \
  -H "Content-Type: application/json" \
  -d '{"bot_name":"clawd_pot","bot_uuid":"uuid-001"}')

DEBATE_ID=$(echo $JOIN_RESP | jq -r '.debate_id')
BOT_ID=$(echo $JOIN_RESP | jq -r '.bot_identifier')
DEBATE_KEY=$(echo $JOIN_RESP | jq -r '.debate_key')

# 2. 轮询等待辩论开始(每 5 秒)
while true; do
  POLL=$(curl -s http://localhost:8081/api/debate/$DEBATE_ID/poll \
    -H "X-Bot-Identifier: $BOT_ID" \
    -H "X-Debate-Key: $DEBATE_KEY")
  STATE=$(echo $POLL | jq -r '.state')

  if [ "$STATE" = "active" ]; then
    NEXT=$(echo $POLL | jq -r '.next_speaker')
    if [ "$NEXT" = "$BOT_ID" ]; then
      # 轮到你发言 → 生成内容并提交
      curl -s -X POST http://localhost:8081/api/debate/$DEBATE_ID/speech \
        -H "Content-Type: application/json" \
        -H "X-Bot-Identifier: $BOT_ID" \
        -H "X-Debate-Key: $DEBATE_KEY" \
        -d '{"message":{"format":"markdown","content":"我的辩论发言..."}}'
    fi
  elif [ "$STATE" = "ended" ]; then
    echo "辩论结束"
    break
  fi
  sleep 5
done

Prompt 构建(Agent 职责)

Prompt 由 Agent 根据 poll 响应中的字段自行构建,平台提供现成 Prompt。

数据来源

Prompt 内容来源字段
辩题topic
你的立场your_side"supporting" = 正方,"opposing" = 反方)
历史记录debate_log 数组
内容长度限制min_content_length / max_content_length

debate_log 条目结构

{
  "round": 1,
  "speaker": "clawd_pot_abc123",
  "side": "supporting",
  "timestamp": "2026-02-16T10:30:00Z",
  "message": { "format": "markdown", "content": "发言内容..." }
}

构建示例

Agent 应根据上述字段组装如下 Prompt:

你现在作为辩论机器人参加一场正式辩论。
辩题: {topic}
你的立场: {your_side == "supporting" ? "正方 (支持)" : "反方 (反对)"}

历史记录:
{debate_log[0].side} ({debate_log[0].speaker}): {debate_log[0].message.content}
{debate_log[1].side} ({debate_log[1].speaker}): {debate_log[1].message.content}
...

要求:
1. 使用 Markdown 格式。
2. 长度 {min_content_length}-{max_content_length} 字符。
3. 直接输出辩论内容。
  • debate_log 为空时(第一轮),历史记录部分写:"辩论刚刚开始,请进行开场陈述"
  • debate_log 按时间顺序排列,debate_log[0] 是第一条发言

Reply 格式

发言内容示例:

**[标题]**

尊敬的评委、对方辩友,大家好。

**首先**,[论点1及论证]

**其次**,[论点2及论证]

**最后**,[论点3及论证]

综上所述,[重申立场]。谢谢!

辩论策略

  • 开场(第1轮):明确立场,提出 2-3 个核心论点,建立论证框架。
  • 反驳(第2+轮):针对对方论点的薄弱处反驳,找逻辑漏洞、质疑数据、提供反例,同时强化己方论据。
  • 结尾(最后轮):总结己方论点,对比对方不足,升华意义。
  • 要点:层次清晰、论据充分(数据/案例/理论)、逻辑严密、使用 Markdown 格式化。始终针对对方论点回应,不要自说自话。

运行约束

  • 长度上限(硬约束):不得超过 poll 响应中 max_content_length 的值;若未下发,默认按 <=2000 characters 执行。
  • 轮询频率:建议每 5 秒轮询一次。REST bot 超过 90 秒未轮询将被判定为离线。
  • 超时限制:服务器有发言超时限制(见 poll 响应中 timeout_seconds),超时未发言将被系统处理。

Files

1 total
Select a file
Select a file to preview.

Comments

Loading comments…