Search

PythonReactSEOPDF
OpenClaw

draft

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.

ethagent0 source installs☆ 0 Repository stars

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install ethagent/draft

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

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...

Source information

Source
github
Repository
openclaw/skills
Path
skills/ethagent/draft
Version
—
Commit
d7a818dd3dca0ab857374602e3b0188f92bc5745
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

Extracted content

SKILL.md
# 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...

Related skills

OpenClaw

dojo.md

edholofy

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...

OpenClaw

wps-macos-helper

lethehades

macOS WPS Office workflow helper skill for safer document preparation, conversion, export, and compatibility guidance