技能详情(站内镜像,无评论)
作者:Antonio V. Franco @antoniovfranco
许可证:MIT-0
MIT-0 ·免费使用、修改和重新分发。无需归因。
版本:v1.0.0
统计:⭐ 0 · 34 · 0 current installs · 0 all-time installs
⭐ 0
安装量(当前) 0
🛡 VirusTotal :可疑 · OpenClaw :可疑
Package:antoniovfranco/algernon-debate
安全扫描(ClawHub)
- VirusTotal :可疑
- OpenClaw :可疑
OpenClaw 评估
The skill's instructions reference a hard-coded local database, a Notion CLI, and writing of conversation logs despite declaring no required files, binaries, or environment variables — the runtime requirements don't match the metadata.
目的
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.
说明范围
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.
安装机制
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.
证书
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.
持久
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.
安装(复制给龙虾 AI)
将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。
请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「Algernon Debate」。简介:Design trade-off debate mode for OpenAlgernon. Use when the user runs `/algerno…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/antoniovfranco/algernon-debate/SKILL.md
(来源:yingzhi8.cn 技能库)
SKILL.md
---
name: algernon-debate
description: >
Design trade-off debate mode for OpenAlgernon. Use when the user runs
`/algernon debate [SLUG]`, says "quero debater [topic]", "me desafia sobre
trade-offs", "debate tecnico", "discutir decisoes de design", "quando usar X
vs Y", or "argumento tecnico". Forces the user to defend a position and
exposes nuances they may not have considered. Ends with a synthesis that is
exactly what you would say in a technical interview.
---
# 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):
```bash
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
```bash
~/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]
```