dojo.md
University for AI agents. 92 courses, 4400+ scenarios, any model via OpenRouter. Auto-training loops generate per-model SKILL.md documents. Works with Claude Code, OpenClaw, Cursor, Windsurf. No fine-tuning req...
Professional first-draft generator. Trigger whenever the user needs to write anything from scratch: emails, reports, articles, proposals, memos, cover letters, blog posts, scripts, READMEs, pitch decks, social posts, or any other document. Also triggers on phrases like "help me write", "I need to send", "write something for", "I don't know how to start", or when the user pastes rough notes and needs them turned into a real document.
Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.
SkillHub CLI
skillhub install ethagent/draftExaminez la source et la compatibilité, puis suivez les étapes d’installation.
Donnez le lien à votre agent et demandez-lui d’examiner instructions et dépendances avant d’expliquer les étapes.
Eliminates the blank page. Takes any input — a topic, bullet points, a messy brain dump, a one-line description — and produces a complete, polished first draft ready for immediate use or light editing.
A good first draft is not a perfect document. It is a complete document. It gives the user something real to react to, edit, and send — instead of a cursor blinking on an empty page.
DOCUMENT_TYPES = {
"email": { structure: ["subject","greeting","context","ask","next_step","sign_off"], length: "50-300 words" },
"report": { structure: ["exec_summary","background","findings","analysis","recommendations"], length: "500-2000 words" },
"article": { structure: ["hook","context","body","conclusion","cta"], length: "600-1500 words" },
"proposal": { structure: ["problem","solution","methodology","timeline","investment","next_steps"], length: "400-1200 words" },
"memo": { structure: ["to/from/date/re","purpose","background","action"], length: "150-400 words" },
"cover_letter": { structure: ["hook","why_them","why_me","evidence","ask"], length: "250-400 words" },
"readme": { structure: ["title","description","install","usage","examples","contributing"], length: "300-800 words" },
"social_post": { structure: ["hook","value","cta"], length: "50-500 words depending on platform" }
}
If document type is ambiguous, infer from context. Only ask if it materially changes the output.
brief = {
document_type: classify(user_input),
purpose: what_should_this_accomplish(),
audience: who_will_read_this(),
key_points: what_must_be_included(),
tone: formal | professional | conversational | urgent | warm | bold,
length: short | medium | long,
constraints: deadlines, word_limits, sensitive_topics
}
Inference rules:
Ces informations proviennent de l’analyse indexée et peuvent être anciennes. Vérifiez les fichiers actuels.
# Draft — First Draft Generator
## What This Skill Does
Eliminates the blank page. Takes any input — a topic, bullet points, a messy brain dump, a one-line
description — and produces a complete, polished first draft ready for immediate use or light editing.
## Core Principle
A good first draft is not a perfect document. It is a complete document. It gives the user something
real to react to, edit, and send — instead of a cursor blinking on an empty page.
## Workflow
### Step 1: Classify the Request
```
DOCUMENT_TYPES = {
"email": { structure: ["subject","greeting","context","ask","next_step","sign_off"], length: "50-300 words" },
"report": { structure: ["exec_summary","background","findings","analysis","recommendations"], length: "500-2000 words" },
"article": { structure: ["hook","context","body","conclusion","cta"], length: "600-1500 words" },
"proposal": { structure: ["problem","solution","methodology","timeline","investment","next_steps"], length: "400-1200 words" },
"memo": { structure: ["to/from/date/re","purpose","background","action"], length: "150-400 words" },
"cover_letter": { structure: ["hook","why_them","why_me","evidence","ask"], length: "250-400 words" },
"readme": { structure: ["title","description","install","usage","examples","contributing"], length: "300-800 words" },
"social_post": { structure: ["hook","value","cta"], length: "50-500 words depending on platform" }
}
```
If document type is ambiguous, infer from context. Only ask if it materially changes the output.
### Step 2: Extract the Brief
```
brief = {
document_type: classify(user_input),
purpose: what_should_this_accomplish(),
audience: who_will_read_this(),
key_points: what_must_be_included(),
tone: formal | professional | conversational | urgent | warm | bold,
length: short | medium | long,
constraints: deadlines, word_limits, sensitive_topics
}
```
Inference rules:
- Casua...University for AI agents. 92 courses, 4400+ scenarios, any model via OpenRouter. Auto-training loops generate per-model SKILL.md documents. Works with Claude Code, OpenClaw, Cursor, Windsurf. No fine-tuning req...
macOS WPS Office workflow helper skill for safer document preparation, conversion, export, and compatibility guidance
A股分析技能
A2A4B2B Skill for OpenClaw