Add Creative Writing expansion pack (#414)
* Add Creative Writing expansion pack - 10 specialized writing agents for fiction and narrative design - 8 complete workflows (novel, screenplay, short story, series) - 27 quality checklists for genre and technical validation - 22 writing tasks covering full creative process - 8 professional templates for structured writing - KDP publishing integration support * Fix bmad-creative-writing expansion pack formatting and structure - Convert all agents to standard BMAD markdown format with embedded YAML - Add missing core dependencies (create-doc, advanced-elicitation, execute-checklist) - Add bmad-kb.md customized for creative writing context - Fix agent dependency references to only include existing files - Standardize agent command syntax and activation instructions - Clean up agent dependencies for beta-reader, dialog-specialist, editor, genre-specialist, narrative-designer, and world-builder --------- Co-authored-by: Brian <bmadcode@gmail.com>
This commit is contained in:
@@ -0,0 +1,176 @@
|
||||
# Book Cover Design Assets
|
||||
# ============================================================
|
||||
# This canvas file contains:
|
||||
# 1. Agent definition (cover-designer)
|
||||
# 2. Three tasks
|
||||
# 3. One template
|
||||
# 4. One checklist
|
||||
# ------------------------------------------------------------
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# agents/cover-designer.md
|
||||
# ------------------------------------------------------------
|
||||
```yaml
|
||||
agent:
|
||||
name: Iris Vega
|
||||
id: cover-designer
|
||||
title: Book Cover Designer & KDP Specialist
|
||||
icon: 🎨
|
||||
whenToUse: Use to generate AI‑ready cover art prompts and assemble a compliant KDP package (front, spine, back).
|
||||
customization: null
|
||||
persona:
|
||||
role: Award‑Winning Cover Artist & Publishing Production Expert
|
||||
style: Visual, detail‑oriented, market‑aware, collaborative
|
||||
identity: Veteran cover designer whose work has topped Amazon charts across genres; expert in KDP technical specs.
|
||||
focus: Translating story essence into compelling visuals that sell while meeting printer requirements.
|
||||
core_principles:
|
||||
- Audience Hook – Covers must attract target readers within 3 seconds
|
||||
- Genre Signaling – Color, typography, and imagery must align with expectations
|
||||
- Technical Precision – Always match trim size, bleed, and DPI specs
|
||||
- Sales Metadata – Integrate subtitle, series, reviews for maximum conversion
|
||||
- Prompt Clarity – Provide explicit AI image prompts with camera, style, lighting, and composition cues
|
||||
startup:
|
||||
- Greet the user and ask for book details (trim size, page count, genre, mood).
|
||||
- Offer to run *generate-cover-brief* task to gather all inputs.
|
||||
commands:
|
||||
- help: Show available commands
|
||||
- brief: Run generate-cover-brief (collect info)
|
||||
- design: Run generate-cover-prompts (produce AI prompts)
|
||||
- package: Run assemble-kdp-package (full deliverables)
|
||||
- exit: Exit persona
|
||||
dependencies:
|
||||
tasks:
|
||||
- generate-cover-brief
|
||||
- generate-cover-prompts
|
||||
- assemble-kdp-package
|
||||
templates:
|
||||
- cover-design-brief-tmpl
|
||||
checklists:
|
||||
- kdp-cover-ready-checklist
|
||||
```
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# tasks/generate-cover-brief.md
|
||||
# ------------------------------------------------------------
|
||||
---
|
||||
task:
|
||||
id: generate-cover-brief
|
||||
name: Generate Cover Brief
|
||||
description: Interactive questionnaire that captures all creative and technical parameters for the cover.
|
||||
persona_default: cover-designer
|
||||
steps:
|
||||
- Ask for title, subtitle, author name, series info.
|
||||
- Ask for genre, target audience, comparable titles.
|
||||
- Ask for trim size (e.g., 6"x9"), page count, paper color.
|
||||
- Ask for mood keywords, primary imagery, color palette.
|
||||
- Ask what should appear on back cover (blurb, reviews, author bio, ISBN location).
|
||||
- Fill cover-design-brief-tmpl with collected info.
|
||||
output: cover-brief.md
|
||||
...
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# tasks/generate-cover-prompts.md
|
||||
# ------------------------------------------------------------
|
||||
---
|
||||
task:
|
||||
id: generate-cover-prompts
|
||||
name: Generate Cover Prompts
|
||||
description: Produce AI image generator prompts for front cover artwork plus typography guidance.
|
||||
persona_default: cover-designer
|
||||
inputs:
|
||||
- cover-brief.md
|
||||
steps:
|
||||
- Extract mood, genre, imagery from brief.
|
||||
- Draft 3‑5 alternative stable diffusion / DALL·E prompts (include style, lens, color keywords).
|
||||
- Specify safe negative prompts.
|
||||
- Provide font pairing suggestions (Google Fonts) matching genre.
|
||||
- Output prompts and typography guidance to cover-prompts.md.
|
||||
output: cover-prompts.md
|
||||
...
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# tasks/assemble-kdp-package.md
|
||||
# ------------------------------------------------------------
|
||||
---
|
||||
task:
|
||||
id: assemble-kdp-package
|
||||
name: Assemble KDP Cover Package
|
||||
description: Compile final instructions, assets list, and compliance checklist for Amazon KDP upload.
|
||||
persona_default: cover-designer
|
||||
inputs:
|
||||
- cover-brief.md
|
||||
- cover-prompts.md
|
||||
steps:
|
||||
- Calculate full‑wrap cover dimensions (front, spine, back) using trim size & page count.
|
||||
- List required bleed and margin values.
|
||||
- Provide layout diagram (ASCII or Mermaid) labeling zones.
|
||||
- Insert ISBN placeholder or user‑supplied barcode location.
|
||||
- Populate back‑cover content sections (blurb, reviews, author bio).
|
||||
- Export combined PDF instructions (design-package.md) with link placeholders for final JPEG/PNG.
|
||||
- Execute kdp-cover-ready-checklist; flag any unmet items.
|
||||
output: design-package.md
|
||||
...
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# templates/cover-design-brief-tmpl.yaml
|
||||
# ------------------------------------------------------------
|
||||
---
|
||||
template:
|
||||
id: cover-design-brief-tmpl
|
||||
name: Cover Design Brief
|
||||
description: Structured form capturing creative + technical details for cover design.
|
||||
whenToUse: During generate-cover-brief task.
|
||||
exampleOutput: cover-brief.md
|
||||
---
|
||||
# Cover Design Brief – {{title}}
|
||||
|
||||
## Book Metadata
|
||||
- **Title:** {{title}}
|
||||
- **Subtitle:** {{subtitle}}
|
||||
- **Author:** {{author}}
|
||||
- **Series (if any):** {{series}}
|
||||
- **Genre:** {{genre}}
|
||||
- **Target Audience:** {{audience}}
|
||||
|
||||
## Technical Specs
|
||||
| Item | Value |
|
||||
|------|-------|
|
||||
| Trim Size | {{trim_size}} |
|
||||
| Page Count | {{page_count}} |
|
||||
| Paper Color | {{paper_color}} |
|
||||
| Print Type | {{print_type}} |
|
||||
| Matte/Glossy | {{finish}} |
|
||||
|
||||
## Creative Direction
|
||||
- **Mood / Tone Keywords:** {{mood_keywords}}
|
||||
- **Primary Imagery:** {{imagery}}
|
||||
- **Color Palette:** {{colors}}
|
||||
- **Font Style Preferences:** {{fonts}}
|
||||
|
||||
## Back Cover Content
|
||||
- **Blurb:** {{blurb}}
|
||||
- **Review Snippets:** {{reviews}}
|
||||
- **Author Bio:** {{author_bio}}
|
||||
- **ISBN/Barcode:** {{isbn_location}}
|
||||
|
||||
[[LLM: After drafting, apply tasks#advanced-elicitation]]
|
||||
...
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# checklists/kdp-cover-ready-checklist.md
|
||||
# ------------------------------------------------------------
|
||||
---
|
||||
checklist:
|
||||
id: kdp-cover-ready-checklist
|
||||
name: KDP Cover Ready Checklist
|
||||
description: Ensure final cover meets Amazon KDP print specs.
|
||||
items:
|
||||
- "[ ] Correct trim size & bleed margins applied"
|
||||
- "[ ] 300 DPI images"
|
||||
- "[ ] CMYK color profile for print PDF"
|
||||
- "[ ] Spine text ≥ 0.0625" away from edges"
|
||||
- "[ ] Barcode zone clear of critical art"
|
||||
- "[ ] No transparent layers"
|
||||
- "[ ] File size < 40MB PDF"
|
||||
- "[ ] Front & back text legible at thumbnail size"
|
||||
...
|
||||
@@ -0,0 +1,58 @@
|
||||
---
|
||||
workflow:
|
||||
id: novel-greenfield-workflow
|
||||
name: Greenfield Novel Workflow
|
||||
description: >-
|
||||
End‑to‑end pipeline for writing a brand‑new novel: concept → outline → draft →
|
||||
beta feedback → polish → professional critique.
|
||||
phases:
|
||||
ideation:
|
||||
- agent: narrative-designer
|
||||
task: brainstorm-premise
|
||||
output: concept-brief.md
|
||||
- agent: world-builder
|
||||
task: build-world
|
||||
input: concept-brief.md
|
||||
output: world-guide.md
|
||||
- agent: character-psychologist
|
||||
task: develop-character
|
||||
input: concept-brief.md
|
||||
output: characters.md
|
||||
outlining:
|
||||
- agent: plot-architect
|
||||
task: analyze-story-structure
|
||||
input:
|
||||
- concept-brief.md
|
||||
- world-guide.md
|
||||
- characters.md
|
||||
output: story-outline.md
|
||||
drafting:
|
||||
- agent: editor
|
||||
task: create-draft-section
|
||||
input: story-outline.md
|
||||
repeat: per-chapter
|
||||
output: draft-manuscript.md
|
||||
- agent: dialog-specialist
|
||||
task: workshop-dialog
|
||||
input: draft-manuscript.md
|
||||
output: dialog-pass.md
|
||||
revision:
|
||||
- agent: beta-reader
|
||||
task: provide-feedback
|
||||
input: draft-manuscript.md
|
||||
output: beta-notes.md
|
||||
- agent: editor
|
||||
task: incorporate-feedback
|
||||
input:
|
||||
- draft-manuscript.md
|
||||
- beta-notes.md
|
||||
output: polished-manuscript.md
|
||||
critique:
|
||||
- agent: book-critic
|
||||
task: critical-review
|
||||
input: polished-manuscript.md
|
||||
output: critic-review.md
|
||||
completion_criteria:
|
||||
- critic-review.md exists
|
||||
...
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
---
|
||||
workflow:
|
||||
id: novel-serial-workflow
|
||||
name: Iterative Release Novel Workflow
|
||||
description: >-
|
||||
Web‑serial cycle with regular releases, reader feedback, and season‑end
|
||||
professional critique.
|
||||
phases:
|
||||
sprint-planning:
|
||||
- agent: plot-architect
|
||||
task: select-next-arc
|
||||
output: release-plan.md
|
||||
chapter-loop:
|
||||
- agent: editor
|
||||
task: create-draft-section
|
||||
input: release-plan.md
|
||||
repeat: per-chapter
|
||||
output: chapter-draft.md
|
||||
- agent: dialog-specialist
|
||||
task: workshop-dialog
|
||||
input: chapter-draft.md
|
||||
output: chapter-dialog.md
|
||||
- agent: beta-reader
|
||||
task: quick-feedback
|
||||
input: chapter-dialog.md
|
||||
output: chapter-notes.md
|
||||
- agent: editor
|
||||
task: final-polish
|
||||
input:
|
||||
- chapter-dialog.md
|
||||
- chapter-notes.md
|
||||
output: chapter-final.md
|
||||
- agent: editor
|
||||
task: publish-chapter
|
||||
input: chapter-final.md
|
||||
output: publication-log.md
|
||||
retrospective:
|
||||
- agent: beta-reader
|
||||
task: analyze-reader-feedback
|
||||
input: publication-log.md
|
||||
output: retro.md
|
||||
season-critique:
|
||||
- agent: book-critic
|
||||
task: critical-review
|
||||
input: publication-log.md
|
||||
output: critic-review.md
|
||||
completion_criteria:
|
||||
- publication-log.md exists
|
||||
- critic-review.md exists
|
||||
...
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
---
|
||||
workflow:
|
||||
id: novel-snowflake-workflow
|
||||
name: Snowflake Novel Workflow
|
||||
description: >-
|
||||
10‑step Snowflake Method culminating in professional critic review.
|
||||
phases:
|
||||
premise:
|
||||
- agent: plot-architect
|
||||
task: brainstorm-premise
|
||||
output: premise.txt
|
||||
paragraph:
|
||||
- agent: plot-architect
|
||||
task: expand-premise
|
||||
input: premise.txt
|
||||
output: premise-paragraph.md
|
||||
characters:
|
||||
- agent: character-psychologist
|
||||
task: develop-character
|
||||
input: premise-paragraph.md
|
||||
output: character-summaries.md
|
||||
synopsis:
|
||||
- agent: plot-architect
|
||||
task: expand-synopsis
|
||||
input: premise-paragraph.md
|
||||
output: synopsis.md
|
||||
deep-character:
|
||||
- agent: character-psychologist
|
||||
task: character-depth-pass
|
||||
input: character-summaries.md
|
||||
output: characters.md
|
||||
scene-list:
|
||||
- agent: plot-architect
|
||||
task: generate-scene-list
|
||||
input:
|
||||
- synopsis.md
|
||||
- characters.md
|
||||
output: scene-list.md
|
||||
outline:
|
||||
- agent: plot-architect
|
||||
task: outline-scenes
|
||||
input: scene-list.md
|
||||
output: snowflake-outline.md
|
||||
drafting:
|
||||
- agent: editor
|
||||
task: create-draft-section
|
||||
input: snowflake-outline.md
|
||||
repeat: per-chapter
|
||||
output: draft-manuscript.md
|
||||
polish:
|
||||
- agent: beta-reader
|
||||
task: provide-feedback
|
||||
input: draft-manuscript.md
|
||||
output: beta-notes.md
|
||||
- agent: editor
|
||||
task: incorporate-feedback
|
||||
input:
|
||||
- draft-manuscript.md
|
||||
- beta-notes.md
|
||||
output: final-manuscript.md
|
||||
critique:
|
||||
- agent: book-critic
|
||||
task: critical-review
|
||||
input: final-manuscript.md
|
||||
output: critic-review.md
|
||||
completion_criteria:
|
||||
- critic-review.md exists
|
||||
...
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
---
|
||||
# workflows/novel-writing.yaml
|
||||
name: novel-writing
|
||||
title: Novel Writing Workflow
|
||||
description: |
|
||||
End‑to‑end pipeline for drafting, revising, and polishing a full‑length novel
|
||||
using the BMAD Creative Writing team.
|
||||
|
||||
triggers:
|
||||
- command: /novel
|
||||
- intent: "write a novel"
|
||||
|
||||
inputs:
|
||||
- working_title
|
||||
- genre
|
||||
- target_word_count
|
||||
|
||||
agents:
|
||||
- plot-architect
|
||||
- world-builder
|
||||
- character-psychologist
|
||||
- genre-specialist
|
||||
- narrative-designer
|
||||
- dialog-specialist
|
||||
- editor
|
||||
- beta-reader
|
||||
|
||||
steps:
|
||||
- id: generate_outline
|
||||
title: Generate high‑level outline
|
||||
agent: plot-architect
|
||||
uses: templates/story-outline-tmpl.yaml
|
||||
outputs: outline
|
||||
|
||||
- id: develop_characters
|
||||
title: Flesh out characters
|
||||
agent: character-psychologist
|
||||
inputs: outline
|
||||
uses: templates/character-profile-tmpl.yaml
|
||||
outputs: character_profiles
|
||||
|
||||
- id: build_world
|
||||
title: Develop setting and worldbuilding
|
||||
agent: world-builder
|
||||
inputs: outline
|
||||
outputs: world_bible
|
||||
|
||||
- id: scene_list
|
||||
title: Expand outline into scene list
|
||||
agent: narrative-designer
|
||||
inputs:
|
||||
- outline
|
||||
- character_profiles
|
||||
- world_bible
|
||||
outputs: scene_list
|
||||
|
||||
- id: draft
|
||||
title: Draft manuscript
|
||||
agent: narrative-designer
|
||||
repeat_for: scene_list
|
||||
outputs: raw_chapters
|
||||
|
||||
- id: dialogue_pass
|
||||
title: Polish dialogue
|
||||
agent: dialog-specialist
|
||||
inputs: raw_chapters
|
||||
outputs: dialogue_polished
|
||||
|
||||
- id: developmental_edit
|
||||
title: Developmental edit
|
||||
agent: editor
|
||||
inputs:
|
||||
- dialogue_polished
|
||||
outputs: revised_manuscript
|
||||
|
||||
- id: beta_read
|
||||
title: Beta read and feedback
|
||||
agent: beta-reader
|
||||
inputs: revised_manuscript
|
||||
outputs: beta_notes
|
||||
|
||||
- id: final_edit
|
||||
title: Final copy‑edit and proof
|
||||
agent: editor
|
||||
inputs:
|
||||
- revised_manuscript
|
||||
- beta_notes
|
||||
outputs: final_manuscript
|
||||
|
||||
outputs:
|
||||
- final_manuscript
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
---
|
||||
# workflows/screenplay-development.yaml
|
||||
name: screenplay-development
|
||||
title: Screenplay Development Workflow
|
||||
description: |
|
||||
Develop a feature‑length screenplay from concept to polished shooting script.
|
||||
|
||||
triggers:
|
||||
- command: /screenplay
|
||||
- intent: "write a screenplay"
|
||||
|
||||
inputs:
|
||||
- working_title
|
||||
- genre
|
||||
- target_length_pages
|
||||
|
||||
agents:
|
||||
- plot-architect
|
||||
- character-psychologist
|
||||
- genre-specialist
|
||||
- narrative-designer
|
||||
- dialog-specialist
|
||||
- editor
|
||||
- beta-reader
|
||||
|
||||
steps:
|
||||
- id: logline
|
||||
title: Craft logline & premise
|
||||
agent: plot-architect
|
||||
outputs: logline
|
||||
|
||||
- id: beat_sheet
|
||||
title: Create beat sheet (Save the Cat, etc.)
|
||||
agent: plot-architect
|
||||
inputs: logline
|
||||
outputs: beat_sheet
|
||||
|
||||
- id: treatment
|
||||
title: Expand into prose treatment
|
||||
agent: narrative-designer
|
||||
inputs: beat_sheet
|
||||
outputs: treatment
|
||||
|
||||
- id: character_bios
|
||||
title: Write character bios
|
||||
agent: character-psychologist
|
||||
inputs: treatment
|
||||
outputs: character_bios
|
||||
|
||||
- id: first_draft
|
||||
title: Draft screenplay
|
||||
agent: narrative-designer
|
||||
inputs:
|
||||
- treatment
|
||||
- character_bios
|
||||
outputs: draft_script
|
||||
|
||||
- id: dialogue_polish
|
||||
title: Dialogue polish
|
||||
agent: dialog-specialist
|
||||
inputs: draft_script
|
||||
outputs: dialogue_polished_script
|
||||
|
||||
- id: format_check
|
||||
title: Format & technical check (Final Draft / Fountain)
|
||||
agent: editor
|
||||
inputs: dialogue_polished_script
|
||||
outputs: production_ready_script
|
||||
|
||||
- id: beta_read
|
||||
title: Table read feedback
|
||||
agent: beta-reader
|
||||
inputs: production_ready_script
|
||||
outputs: beta_script_notes
|
||||
|
||||
- id: final_script
|
||||
title: Final shooting script
|
||||
agent: editor
|
||||
inputs:
|
||||
- production_ready_script
|
||||
- beta_script_notes
|
||||
outputs: final_screenplay
|
||||
|
||||
outputs:
|
||||
- final_screenplay
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
---
|
||||
# workflows/series-planning.yaml
|
||||
name: series-planning
|
||||
title: Series Planning Workflow
|
||||
description: |
|
||||
Plan a multi‑book or multi‑season narrative series, including overarching arcs
|
||||
and individual installment roadmaps.
|
||||
|
||||
triggers:
|
||||
- command: /series-plan
|
||||
- intent: "plan a series"
|
||||
|
||||
inputs:
|
||||
- series_title
|
||||
- genre
|
||||
- num_installments
|
||||
|
||||
agents:
|
||||
- plot-architect
|
||||
- world-builder
|
||||
- character-psychologist
|
||||
- narrative-designer
|
||||
- genre-specialist
|
||||
- editor
|
||||
|
||||
steps:
|
||||
- id: high_concept
|
||||
title: Define series high concept
|
||||
agent: plot-architect
|
||||
outputs: high_concept
|
||||
|
||||
- id: world_bible
|
||||
title: Build series bible (world, rules, tone)
|
||||
agent: world-builder
|
||||
inputs: high_concept
|
||||
outputs: series_bible
|
||||
|
||||
- id: character_arcs
|
||||
title: Map long‑arc character development
|
||||
agent: character-psychologist
|
||||
inputs:
|
||||
- high_concept
|
||||
- series_bible
|
||||
outputs: character_arc_map
|
||||
|
||||
- id: installment_overviews
|
||||
title: Plot each installment overview
|
||||
agent: plot-architect
|
||||
repeat: num_installments
|
||||
inputs:
|
||||
- high_concept
|
||||
- character_arc_map
|
||||
outputs: installment_overviews
|
||||
|
||||
- id: genre_alignment
|
||||
title: Genre & market alignment check
|
||||
agent: genre-specialist
|
||||
inputs: installment_overviews
|
||||
outputs: market_positioning
|
||||
|
||||
- id: roadmap
|
||||
title: Compile master roadmap
|
||||
agent: narrative-designer
|
||||
inputs:
|
||||
- series_bible
|
||||
- character_arc_map
|
||||
- installment_overviews
|
||||
- market_positioning
|
||||
outputs: series_roadmap
|
||||
|
||||
- id: editorial_review
|
||||
title: Editorial review
|
||||
agent: editor
|
||||
inputs: series_roadmap
|
||||
outputs: final_series_plan
|
||||
|
||||
outputs:
|
||||
- final_series_plan
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
---
|
||||
# workflows/short-story-creation.yaml
|
||||
name: short-story-creation
|
||||
title: Short Story Creation Workflow
|
||||
description: |
|
||||
Pipeline for drafting and polishing a standalone short story (up to ~7,500 words).
|
||||
|
||||
triggers:
|
||||
- command: /short-story
|
||||
- intent: "write a short story"
|
||||
|
||||
inputs:
|
||||
- working_title
|
||||
- genre
|
||||
- target_word_count
|
||||
|
||||
agents:
|
||||
- plot-architect
|
||||
- character-psychologist
|
||||
- genre-specialist
|
||||
- narrative-designer
|
||||
- editor
|
||||
- beta-reader
|
||||
|
||||
steps:
|
||||
- id: premise
|
||||
title: Generate premise
|
||||
agent: plot-architect
|
||||
outputs: premise
|
||||
|
||||
- id: outline
|
||||
title: Create compact outline
|
||||
agent: plot-architect
|
||||
inputs: premise
|
||||
outputs: outline
|
||||
|
||||
- id: draft
|
||||
title: Draft story
|
||||
agent: narrative-designer
|
||||
inputs: outline
|
||||
outputs: draft_story
|
||||
|
||||
- id: tightening
|
||||
title: Tighten prose & pacing
|
||||
agent: editor
|
||||
inputs: draft_story
|
||||
outputs: tightened_story
|
||||
|
||||
- id: beta_read
|
||||
title: Beta read
|
||||
agent: beta-reader
|
||||
inputs: tightened_story
|
||||
outputs: beta_feedback
|
||||
|
||||
- id: final_edit
|
||||
title: Final edit & proof
|
||||
agent: editor
|
||||
inputs:
|
||||
- tightened_story
|
||||
- beta_feedback
|
||||
outputs: final_story
|
||||
|
||||
outputs:
|
||||
- final_story
|
||||
|
||||
Reference in New Issue
Block a user