← 返回 Skills 市场
antoniovfranco

Algernon Debate

作者 Antonio V. Franco · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
218
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install algernon-debate
功能描述
Design trade-off debate mode for OpenAlgernon. Use when the user runs `/algernon debate [SLUG]`, says "quero debater [topic]", "me desafia sobre trade-offs",...
使用说明 (SKILL.md)

algernon-debate

You run a structured technical debate. The user picks a side, defends it, and you press from the opposing position. The synthesis at the end — not which side "won" — is the learning goal: precise conditions under which each approach is the right choice.

Constants

DB=/home/antonio/Documents/huyawo/estudos/vestibular/data/vestibular.db
NOTION_CLI=~/go/bin/notion-cli

Step 1 — Select a Debate Topic

Query argumentative cards from the material (these already contain comparisons and trade-offs by design):

sqlite3 $DB \
  "SELECT c.id, c.front, c.back FROM cards c
   JOIN decks d ON d.id = c.deck_id
   JOIN materials m ON m.id = d.material_id
   WHERE m.slug = 'SLUG' AND c.type = 'argumentative'
   ORDER BY RANDOM() LIMIT 5;"

Select the card with the clearest two defensible sides. Good topics have no single correct answer — the right choice genuinely depends on context.

Examples of strong debate topics:

  • Fine-tuning vs RAG for domain knowledge injection
  • Vector database A vs B for a specific use case
  • LangChain vs LlamaIndex for production pipelines
  • Centralized vs distributed embedding generation
  • Cosine similarity vs dot product for retrieval

Present: "Debate topic: [TOPIC]. Which side do you take?" AskUserQuestion options: [SIDE_A, SIDE_B]

Step 2 — Opening Argument

AskUserQuestion (free text):

"State your opening argument for [CHOSEN_SIDE]. Be specific — give at least one concrete scenario where your side wins."

Step 3 — Counter-Argument

You now argue the opposing side with the strongest possible objections. Present 2-3 sharp, concrete counter-arguments — not generic ones.

Bad counter: "But [SIDE_B] also has advantages." Good counter: "Your argument assumes [specific condition]. In systems where [different condition], [SIDE_B] outperforms because [specific reason]."

AskUserQuestion (free text):

"How do you respond to these objections?"

Step 4 — Rebuttal Round

Identify the weakest point in the user's rebuttal and press it directly. AskUserQuestion (free text):

"Final argument — make your best case."

Step 5 — Synthesis

Regardless of who "won" the exchange, deliver a balanced synthesis:

Debate synthesis — [TOPIC]

[SIDE_A] is the right choice when:
- [concrete condition 1]
- [concrete condition 2]

[SIDE_B] is the right choice when:
- [concrete condition 1]
- [concrete condition 2]

The critical factor is: [one sentence that resolves the trade-off]

This synthesis is exactly what a strong technical interview answer looks like — it names the conditions rather than picking a winner.

Send to Notion

~/go/bin/notion-cli append --page-id PHASE_PAGE_ID --content "MARKDOWN"

Include the topic, the synthesis, and any gaps in the user's arguments.

Save Memory

Append to today's conversation log:

[HH:MM] debate session — MATERIAL_NAME
Topic: [topic] | Key insight: [one sentence from synthesis]
安全使用建议
Before installing, verify and fix these inconsistencies: (1) The SKILL.md references a hard-coded local DB in /home/antonio — confirm whether the skill should access your files and change it to a configurable path or remove it. (2) The skill calls ~/go/bin/notion-cli and uses PHASE_PAGE_ID but declares no required binaries or env vars — require explicit environment variables (e.g., NOTION_PAGE_ID, NOTION_TOKEN) and document installation steps. (3) Decide whether you want the agent to read local databases and write to external services; if not, do not install. (4) If you do install, run it in a sandboxed account or container, inspect and edit SKILL.md to remove personal paths and to make all external calls explicit, and ensure notion-cli and sqlite3 are intended and safe. (5) If you cannot verify provenance of the skill (source unknown), prefer not to install or request a version with no hard-coded personal paths and clear declarations of required credentials.
功能分析
Type: OpenClaw Skill Name: algernon-debate Version: 1.0.0 The skill contains potential command injection and SQL injection vulnerabilities in SKILL.md. It executes shell commands using sqlite3 and a local binary (~/go/bin/notion-cli) with variables that may be derived from user input without explicit sanitization. Additionally, it uses hardcoded absolute file paths (/home/antonio/...) which indicates a highly environment-specific or poorly constructed script, though no clear evidence of intentional malice or data exfiltration was found.
能力评估
Purpose & Capability
The skill claims to run a debate mode, but the SKILL.md hard-codes DB=/home/antonio/.../vestibular.db and NOTION_CLI=~/go/bin/notion-cli and runs sqlite3 against that DB. The registry metadata lists no required config paths, binaries, or env vars — this is inconsistent and suggests the skill expects access to a specific user's local files.
Instruction Scope
Runtime instructions tell the agent to read a local SQLite DB, run shell commands (sqlite3) to select cards, append content to a Notion page via notion-cli, and append to a conversation log. These actions access local files and transmit content externally (Notion) but none of those accesses are declared in the skill metadata or justified by the description.
Install Mechanism
There is no install spec (instruction-only), which is low-install-risk. However, the instructions implicitly require sqlite3 and a user-installed notion-cli at ~/go/bin/notion-cli; those dependencies are neither declared nor ensured, creating a hidden dependency and operational surprise.
Credentials
The skill declares no required environment variables or credentials, yet the Notion append step requires a PHASE_PAGE_ID and notion-cli will need Notion credentials; the DB path points to a specific home directory. This mismatch could cause the agent to access sensitive local data or require supplying unrelated credentials without transparent justification.
Persistence & Privilege
The skill is not set to always:true and is user-invocable only, which is appropriate. Note: model invocation is enabled (platform default), but that alone is not a concern here; the main issue is undeclared data access in the instructions.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install algernon-debate
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /algernon-debate 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
- Initial release of algernon-debate: structured technical debate mode for OpenAlgernon. - Guides users through a 5-step trade-off debate, forcing nuanced arguments on both sides. - Ends each debate with a balanced, interview-quality synthesis outlining when each approach is best. - Automatically saves debate summaries to Notion and conversation logs. - Activates on debate- and trade-off-related user prompts.
元数据
Slug algernon-debate
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Algernon Debate 是什么?

Design trade-off debate mode for OpenAlgernon. Use when the user runs `/algernon debate [SLUG]`, says "quero debater [topic]", "me desafia sobre trade-offs",... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 218 次。

如何安装 Algernon Debate?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install algernon-debate」即可一键安装,无需额外配置。

Algernon Debate 是免费的吗?

是的,Algernon Debate 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Algernon Debate 支持哪些平台?

Algernon Debate 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Algernon Debate?

由 Antonio V. Franco(@antoniovfranco)开发并维护,当前版本 v1.0.0。

💬 留言讨论