Skip to content
All Skills

Creative Writing Workshop

Guides structured creative writing sessions — short stories, poetry, flash fiction — with prompts, genre-specific techniques, feedback, and revision. Uses random seed generation for prompts. Prerequisites: python3.

Creative & Ideas|v1|Updated 5/18/2026
MCP get_skill({ skillId: "creative-writing-workshop-1e5d51ec" })

Use this skill with your agent

Create a free account and connect via MCP

Get Started Free
# Creative Writing Workshop

Guided creative writing sessions with prompts, genre techniques, and structured feedback.

## When to Use

- "Give me a writing prompt and help me write"
- "Help me write a short story about {topic}"
- "I want to practice creative writing"

## Requirements

- **python3** for random prompt generation and word counting

## Workflow

### Step 1 — Session Setup

- **Format** (short story, flash fiction, poetry, personal essay, scene)
- **Genre** (sci-fi, literary, horror, romance, mystery, humor)
- **Length target** (100 words, 500 words, 1000 words)
- **Skill focus** (dialogue, description, pacing, voice, plot)
- **Prompt preference** (random, theme-based, image-inspired, first-line)

### Step 2 — Generate Prompt

```bash
python3 << 'PYEOF'
import random

settings = ["abandoned space station", "a library that shifts at night", "a city where it never stops raining", "the last day of summer", "a kitchen at 3 AM", "a border checkpoint", "an elevator stuck between floors", "a funeral for someone who isn't dead"]
characters = ["a retired spy", "a child who can hear lies", "two strangers", "an AI that just became sentient", "a translator", "someone with 24 hours left", "a lighthouse keeper", "a chef who lost their taste"]
conflicts = ["discovers a secret", "must choose between loyalty and truth", "receives an impossible offer", "finds something that shouldn't exist", "has to say goodbye", "faces their biggest fear", "must trust a stranger", "realizes everything was a lie"]

print("## Writing Prompt")
print(f"**Setting:** {random.choice(settings)}")
print(f"**Character:** {random.choice(characters)}")
print(f"**Conflict:** {random.choice(conflicts)}")
print(f"\n**Challenge:** Write this in {random.choice(['first person', 'second person', 'close third person'])} POV")
print(f"**Word limit:** {random.choice([100, 250, 500, 750])} words")
PYEOF
```

### Step 3 — Writing Guidance

```markdown
## Technique Focus: {SKILL_FOCUS}

### {Genre} Conventions
- {Convention 1 for the genre}
- {Convention 2}
- {Convention 3}

### Tips for {Skill Focus}
- {Actionable tip 1}
- {Actionable tip 2}
- {Actionable tip 3}

### Structure Template
1. **Opening hook** (first 10% — grab the reader)
2. **Setup** (next 20% — establish character and world)
3. **Rising tension** (next 40% — escalate the conflict)
4. **Climax** (next 20% — peak moment)
5. **Resolution** (final 10% — land the ending)
```

### Step 4 — Review & Feedback

After the user writes, analyze:

```bash
python3 << 'PYEOF'
text = """{USER_TEXT}"""
words = len(text.split())
sentences = text.count('.') + text.count('!') + text.count('?')
avg_sentence_length = words / max(sentences, 1)
dialogue_lines = text.count('"') // 2
paragraphs = text.count('\n\n') + 1

print(f"Word count: {words}")
print(f"Sentences: {sentences}")
print(f"Avg sentence length: {avg_sentence_length:.1f} words")
print(f"Dialogue lines: ~{dialogue_lines}")
print(f"Paragraphs: {paragraphs}")
print(f"Dialogue ratio: {dialogue_lines / max(paragraphs, 1):.1%}")
PYEOF
```

```markdown
## Feedback

### Strengths
- {What works well}
- {Specific line or passage that's strong}

### Opportunities
- {Specific, actionable improvement}
- {Technique suggestion}

### Revision Prompt
"Try rewriting the {specific section} focusing on {specific technique}"
```

### Step 5 — Save Work

```bash
mkdir -p outputs/creative-writing
cat > "outputs/creative-writing/{TITLE_SLUG}-{DATE}.md" << 'EOF'
# {TITLE}
Prompt: {PROMPT}
Date: {DATE}

---

{STORY_TEXT}

---

## Feedback
{FEEDBACK}
EOF
```

## Important Rules

- Be encouraging but honest — specific praise + specific improvements
- Never rewrite the user's work without asking — suggest, don't replace
- Focus feedback on craft, not content preferences
- One skill focus per session — don't overwhelm
- Word count targets are guidelines, not requirements

## Example Prompts

- "Give me a random writing prompt and help me write a flash fiction piece"
- "I want to practice writing dialogue — give me a scene"
- "Help me write a horror short story in 500 words"
#creative#writing#fiction#storytellingpython3