Date: 2026-02-14
Perspective: Non-technical content creators (bloggers, marketers, technical writers)
Goal: Identify UX gaps and design requirements for content creators using OAC
Key Finding: OAC's developer-first design creates significant barriers for content creators who want AI-powered writing assistance but lack technical expertise.
Critical Issues:
Opportunity: Content creators represent a large untapped user base who need AI agents for writing but are underserved by current coding-focused tools.
User: Sarah, lifestyle blogger with no coding background
Current State (Without OAC):
Desired State (With OAC):
Key Steps:
Pain Points:
User: Marcus, marketing manager at startup
Current State:
Desired State (With OAC):
Key Steps:
Pain Points:
.opencode folder isUser: Emily, technical writer at SaaS company
Current State:
Desired State (With OAC):
Key Steps:
Pain Points:
User: Jordan, freelance writer with 5 clients
Current State:
Desired State (With OAC):
Key Steps:
Pain Points:
User: Alex, content director with 3 writers
Current State:
Desired State (With OAC):
Key Steps:
Pain Points:
Scenario: Sarah downloads OAC to help with blog writing
Current Experience:
$ npm install -g @nextsystems/oac
$ oac init
? Install location:
> Local (this project: /Users/sarah/Desktop)
Global (~/.config/oac)
Sarah's Thoughts:
Issues:
Better Experience:
Welcome to OpenAgents! 👋
I'll help you set up AI writing assistance.
? What will you use this for?
> Blog writing
Marketing copy
Technical documentation
General writing
Great! I'll set up a blog writing assistant.
? Where do you keep your blog files?
> My Documents folder (recommended)
Desktop
Somewhere else (advanced)
Perfect! I'll create a "Blog Assistant" folder in Documents.
Setting up...
✓ Created Blog Assistant
✓ Added blog writing agent
✓ Ready to start!
Try this: "Write a blog post about..."
Key Improvements:
Scenario: Marcus needs marketing copy but doesn't know what agent to use
Current Experience:
$ oac browse agents
agent:openagent - General purpose agent
agent:opencoder - Coding agent
agent:frontend-specialist - Frontend development
agent:devops-specialist - DevOps automation
agent:copywriter - Persuasive writing
Marcus's Thoughts:
Issues:
Better Experience:
What kind of content do you want to create?
1. 📝 Blog Posts & Articles
→ Storytelling agent
Good for: blogs, Medium posts, newsletters
2. 📢 Marketing Copy
→ Copywriter agent
Good for: landing pages, ads, email campaigns, product descriptions
3. 📚 Documentation
→ Technical Writer agent
Good for: user guides, API docs, tutorials
4. 📱 Social Media
→ Social Media agent
Good for: tweets, LinkedIn posts, Instagram captions
? Choose: 2
Perfect! The Copywriter agent can help with:
- Landing page copy
- Email campaigns
- Ad copy (Google, Facebook, LinkedIn)
- Product descriptions
- Sales pages
Would you like to:
> Install Copywriter agent
See example outputs first
Try it without installing
Key Improvements:
Scenario: Sarah wants agent to match her blog's friendly, casual tone
Current Experience:
$ oac customize agent:copywriter
? What would you like to customize?
> Create personal preset (recommended)
Edit in place (advanced)
Fork to new agent
? Preset name: my-blog-voice
? Description: Friendly casual blog voice
✓ Created preset: ~/.config/oac/presets/agents/my-blog-voice.md
📝 Edit your preset:
oac edit preset:my-blog-voice
Sarah's Thoughts:
Issues:
Better Experience:
Let's customize your blog writing style!
I'll ask a few questions to understand your voice:
? How would you describe your blog's tone?
> Friendly and conversational
Professional and authoritative
Fun and playful
Educational and clear
? What's your target audience?
> General readers (explain things simply)
Experts in my topic (use industry terms)
? Writing style preferences:
[✓] Use contractions (I'm, you're, we'll)
[✓] Short paragraphs (easy to scan)
[ ] Long-form deep dives
[✓] Personal anecdotes and stories
[ ] Data and research-heavy
? Example of your writing style:
(Paste a blog post or paragraph that sounds like you)
[Sarah pastes example]
Perfect! I've learned your style. Here's a test:
"Want to make the fluffiest pancakes? I'll show you my secret
trick that I learned from my grandma. It's so simple, you'll
wonder why you never tried it before!"
? Does this sound like you?
> Yes, perfect!
Close, but tweak it
No, try again
✓ Your blog voice is saved!
✓ All blog posts will use this style
Try: "Write a blog post about morning routines"
Key Improvements:
Scenario: Marcus needs to switch from writing blog posts to ad copy
Current Experience:
$ oac use preset:blog-voice
$ # [writes blog post]
$ oac use preset:ad-copy-voice
$ # [writes ad]
Marcus's Thoughts:
Issues:
Better Experience:
You: "Write a blog post about our new feature"
Agent: I'll use your blog voice (friendly, educational).
[Creates blog post]
You: "Now create a Facebook ad for this"
Agent: I'll switch to ad copy style (punchy, urgent).
[Creates ad]
---
Or, explicit control:
You: "Switch to ad copy mode"
Agent: ✓ Now using ad copy style
(Short, punchy, focused on conversions)
You: "What modes do I have?"
Agent:
📝 Blog voice (friendly, educational)
📢 Ad copy (punchy, urgent) ← currently active
📧 Email campaigns (personal, conversational)
📱 Social media (casual, engaging)
Say "switch to [name]" to change
Key Improvements:
Scenario: Alex wants her 3 writers to use the same brand voice
Current Experience:
# Alex creates setup
$ oac export preset:brand-voice --output ./brand-voice.md
# Sends file to team
# Each team member:
$ oac import preset ./brand-voice.md
Alex's Thoughts:
Issues:
Better Experience:
Alex (content director):
? Create team setup
Name: Acme Brand Voice
Description: Our company brand guidelines
? Add team members:
- sarah@acme.com
- marcus@acme.com
- emily@acme.com
? Permissions:
[✓] Can view brand voice
[✓] Can create content
[ ] Can modify brand voice (Alex only)
✓ Team setup created!
✓ Invitations sent
Each team member receives:
---
Email: You're invited to Acme Brand Voice!
Click to install: [Install Acme Brand Voice]
One click install - no technical setup needed.
---
Team member clicks link:
✓ Installed Acme Brand Voice
✓ Ready to create content
Try: "Write a blog post about..."
---
Alex updates brand voice:
✓ Updated brand voice
✓ Changes pushed to all team members
✓ Sarah, Marcus, and Emily will use new voice
Key Improvements:
Pain Point: Terminal/command line scares non-technical users
User Quote:
"I've never used Terminal before. I'm afraid I'll type something wrong and break my computer."
Current Barriers:
oac init, oac add)Solutions:
┌─── OpenAgents ─────────────────────────────────────┐
│ │
│ Welcome back, Sarah! 👋 │
│ │
│ ┌─────────────────────────────────────────────┐ │
│ │ 📝 Write a blog post │ │
│ │ 📧 Create email campaign │ │
│ │ 📢 Generate ad copy │ │
│ │ ⚙️ Settings │ │
│ └─────────────────────────────────────────────┘ │
│ │
│ Recent work: │
│ • "5 Morning Routine Tips" (blog post) │
│ • "New Feature Launch" (email) │
│ │
└─────────────────────────────────────────────────────┘
Benefits:
Instead of: oac add agent:copywriter --local
User types: "I need help writing marketing copy"
Agent responds:
I can help with that! I'll set up a copywriting assistant
for you. This will help you create:
• Landing pages
• Email campaigns
• Ad copy
• Product descriptions
? Set this up now? (Yes/No)
Benefits:
Terminal version with better UX:
$ oac setup
┌──────────────────────────────────────────┐
│ OpenAgents Setup Wizard (Step 1 of 4) │
├──────────────────────────────────────────┤
│ │
│ What will you use this for? │
│ │
│ ○ Blog writing │
│ ● Marketing copy ← │
│ ○ Technical docs │
│ ○ Something else │
│ │
│ [Back] [Next] │
└──────────────────────────────────────────┘
Use arrow keys to navigate, Enter to select
Benefits:
Pain Point: Developer jargon confuses content creators
Confusing Terms (and what users think they mean):
| Technical Term | What Users Think | What It Actually Means |
|---|---|---|
| "Local install" | "On my computer somewhere?" | Install in current project folder |
| "Global install" | "On the internet?" | Install for all projects on computer |
| "Agent" | "Like a secret agent?" | AI assistant with specific role |
| "Context" | "Like situation context?" | Background information for AI |
| "Preset" | "Like camera presets?" | Saved configuration |
| "Fork" | "Like a fork in the road?" | Make a copy to modify |
| "Registry" | "Like DMV registry?" | Library of available components |
| "Component" | "Computer part?" | Agent, skill, or context file |
| "CLI" | "???" | Command line interface |
Solutions:
Before:
oac add agent:copywriter --local
After:
Add copywriting assistant to this project
Before:
? Install location:
> Local
Global
After:
? Where should I install this?
> Just for this project
(You'll set it up separately for other projects)
For all your projects
(One setup, works everywhere)
? What's a "preset"?
A preset is like a saved style. For example:
• "Blog voice" preset = friendly, casual tone
• "Email voice" preset = professional, concise tone
You can switch between presets depending on what
you're writing.
[Learn more] [Close]
Pain Point: Error messages are technical and scary
Current Errors:
Error: Context not found: core/standards/code-quality.md
at ContextResolver.resolve (/usr/local/lib/node_modules/oac/src/context/resolver.js:142:15)
at Agent.loadContext (/usr/local/lib/node_modules/oac/src/agent/agent.js:89:32)
User Reaction:
Better Errors:
Oops! I couldn't find your brand guidelines.
This happened because:
The agent is looking for brand guidelines that haven't
been set up yet.
How to fix it:
1. Go to Settings → Brand Voice
2. Upload your brand guidelines
Or:
Skip for now (I'll use a neutral voice)
[Go to Settings] [Skip] [Get Help]
Error Improvement Principles:
Pain Point: Users afraid they'll mess up and can't recover
Fear Scenarios:
Current Issues:
Solutions:
✓ Saved changes to blog voice
(Previous version backed up - you can undo this anytime)
[Undo] [Keep]
Settings → Brand Voice → History
Today, 2:15 PM Current version
Today, 10:30 AM Tweaked tone to be more casual
Yesterday Added storytelling examples
Feb 12 Initial setup
? Restore version from Feb 12? (Yes/No)
⚠️ This is a core file that OpenAgents needs.
Modifying it might break things. Are you sure?
[Cancel] [I know what I'm doing]
Recent actions:
1. Updated blog voice (2 min ago) [Undo]
2. Created email template (10 min ago) [Undo]
3. Installed social media agent (1 hour ago) [Undo]
Benefits:
Pain Point: No clear undo mechanism
Current Issues:
.opencode/.backups/User Scenarios:
Scenario 1: Overwrote good brand voice
Current (scary):
$ oac rollback preset:brand-voice
? Select version:
brand-voice.2026-02-14-10-30-00.bak
brand-voice.2026-02-13-15-45-00.bak
Sarah: "Which one is the good one??"
Better:
Settings → Brand Voice → Undo
Your current version:
"Professional and formal tone"
Modified: Today at 2:30 PM
Previous version:
"Friendly and casual tone"
Modified: Today at 10:30 AM
? Restore previous version? (Yes/No)
✓ Restored! Your brand voice is back to friendly and casual.
Scenario 2: Accidentally deleted agent
Current (scary):
$ oac add agent:copywriter --restore
Better:
⚠️ You deleted the copywriter agent.
[Undo Delete] [Keep Deleted]
(Click Undo Delete)
✓ Copywriter agent restored
Solutions:
Before I update your brand voice, I'll save the current
version so you can undo if needed.
[Proceed] [Cancel]
---
(After change)
✓ Updated brand voice
Don't like it? [Undo]
User Profile:
Current Blockers:
Solutions:
openagents.com/download
[Download for Mac] [Download for Windows]
Double-click to install - no terminal needed
Installation wizard:
Step 1: Welcome
Step 2: Choose use case
Step 3: Install (automatic)
Step 4: Done!
No terminal, no npm, no commands
GUI application with:
- Menu bar
- Click-to-install agents
- Visual settings
- Drag-and-drop files
- No code required
User Profile:
Current Issues:
Solutions:
┌─ Active Mode ───────────────────┐
│ │
│ 📝 Blog Writing │ ← Current
│ 📧 Email Campaigns │
│ 📱 Social Media │
│ 📚 Documentation │
│ │
│ [Click to switch] │
└──────────────────────────────────┘
User: "Write a blog post..."
Agent: (Auto-switches to blog mode)
User: "Now write a tweet..."
Agent: (Auto-switches to social mode)
Currently writing: Blog Post (Friendly voice)
[Change] [Settings]
Scenario: Emily (technical writer) collaborates with developers who use OAC for coding
Issues:
Solutions:
Installation wizard:
? What's your role?
> Content creator (simple mode)
Developer (advanced features)
Both (full features)
(Emily chooses "Content creator")
✓ Installed simple mode
- Hides technical features
- Plain language only
- Can't break developer settings
Emily's view:
📝 My Writing Projects
├── Blog Posts
├── Email Templates
└── Documentation
Developer's view:
💻 Code Projects
├── Frontend
├── Backend
└── Shared Docs ← Emily can access this
Emily can:
✅ Create content
✅ Use writing agents
✅ View shared docs
Emily cannot:
❌ Modify coding agents
❌ Change developer settings
❌ Access code contexts
Scenario: Marcus needs landing page copy in 30 minutes
Current Issues:
Solutions:
? What do you need?
Landing page copy
? Landing page type:
> Product launch
Service offering
Event registration
Lead magnet
? Product name:
SuperWidget
⚡ Generating...
✓ Done! (12 seconds)
[View copy] [Generate variations] [Edit]
Settings → Enable Speed Mode
Speed mode features:
✅ Auto-approves small changes
✅ Skips confirmation dialogs
✅ Uses best practices by default
✅ Fewer questions, faster results
⚠️ Review output carefully in speed mode
[Enable] [Cancel]
? Create email campaign
I'll create:
✅ Subject lines (5 variations)
✅ Email body
✅ Call-to-action buttons
✅ Follow-up email
⚡ Generating all...
✓ Campaign ready! (Review and adjust)
Scenario: Jordan (freelancer) has 5 clients with different voices
Current Issues:
Solutions:
┌─ Clients ────────────────────────────┐
│ │
│ ☰ Client A (Tech startup) │
│ Brand: Bold, innovative │
│ Active projects: 3 │
│ [Switch to this client] │
│ │
│ ☰ Client B (Healthcare) │
│ Brand: Professional, caring │
│ Active projects: 2 │
│ [Switch to this client] │
│ │
│ ☐ Client C (E-commerce) │
│ Brand: Fun, casual │
│ Active projects: 1 │
│ [Switch to this client] │
│ │
│ [+ Add Client] │
└───────────────────────────────────────┘
Working on: Client A
All content created will:
✅ Use Client A brand voice
✅ Save to Client A folder
✅ Tag as Client A work
Cannot accidentally:
❌ Use Client B voice
❌ Save to wrong folder
❌ Mix client content
Client A setup includes:
📝 Blog post template
📧 Email template
📢 Social media template
🎨 Brand voice guide
📊 Audience personas
One click: Create blog post for Client A
Principle: No jargon, use familiar concepts
Examples:
| ❌ Technical | ✅ Plain Language |
|---|---|
| "Install agent:copywriter --local" | "Add writing assistant to this project" |
| "Context resolution failed" | "Can't find your brand guidelines" |
| "Fork preset to new agent" | "Make a copy you can customize" |
| "Global vs local install" | "Use everywhere vs just this project" |
| "Component registry" | "Library of writing assistants" |
| "Preset merge conflict" | "Your changes conflict with update" |
Implementation:
Feature: One-click install for common content workflows
Content Creator Profiles:
📝 Blog Writer
✅ Blog writing agent
✅ SEO optimizer
✅ Headline generator
✅ Content calendar
📧 Email Marketer
✅ Email copywriter
✅ Subject line tester
✅ Campaign templates
✅ A/B test variations
📚 Documentation Writer
✅ Technical writer agent
✅ Code example generator
✅ Tutorial creator
✅ Glossary builder
📱 Social Media Manager
✅ Social media agent
✅ Platform adapters (Twitter, LinkedIn, etc.)
✅ Hashtag suggestions
✅ Content calendar
📢 Marketing Copywriter
✅ Copywriter agent
✅ Landing page creator
✅ Ad copy generator
✅ Conversion optimizer
🎬 Content Creator (Mixed)
✅ All content agents
✅ Multi-format templates
✅ Cross-promotion tools
✅ Content repurposer
Usage:
? What content do you create?
> Blog posts and articles
Perfect! I'll install the Blog Writer profile.
This includes:
• AI writing assistant trained on blogs
• SEO optimization tools
• Headline generator
• Content calendar
✓ Installed! Try: "Write a blog post about..."
Feature: Ready-to-use templates for common content
Template Library:
Blog Posts:
• How-to guide
• Listicle (5, 10, 15 items)
• Case study
• Product review
• Opinion piece
• Tutorial
• Interview
Email:
• Welcome series
• Newsletter
• Product launch
• Abandoned cart
• Re-engagement
• Event invitation
Landing Pages:
• Product launch
• Lead magnet
• Webinar registration
• Free trial signup
• E-book download
Social Media:
• Announcement post
• Educational thread
• Behind-the-scenes
• User testimonial
• Poll/question
Usage:
? Choose template:
> Blog: How-to guide
? Topic:
"How to create a morning routine"
? Target word count:
> 1000-1500 words
? Include:
[✓] Personal anecdotes
[✓] Step-by-step instructions
[✓] Common mistakes to avoid
[ ] Data and statistics
⚡ Generating...
✓ Draft ready!
[Edit] [Regenerate] [Export]
Custom Templates:
Save this as a template?
Template name: Client A product review
Description: Product reviews for tech gadgets
Saved to: My Templates
Next time: "Use Client A product review template"
Feature: Mistake-proof with easy recovery
Implementation:
┌─────────────────────────────────────┐
│ ← Back OpenAgents [Undo] ⟲ │
├─────────────────────────────────────┤
│ │
│ (content here) │
│ │
└─────────────────────────────────────┘
Recent actions (click to undo):
• Updated brand voice [Undo]
• Created landing page copy [Undo]
• Modified email template [Undo]
Undo will restore previous version.
? Restore previous version?
Before (current):
"Professional corporate tone with formal language"
After (previous):
"Friendly conversational tone with casual language"
[Restore] [Cancel] [Compare Full Text]
✓ Auto-saved at 2:30 PM
Previous save points:
• 2:25 PM (can restore)
• 2:15 PM (can restore)
• 2:00 PM (can restore)
Feature: Show what's happening, not just terminal output
Progress Indicators:
Installing Blog Writer profile...
⚡ Downloading components... [████████░░] 80%
✓ Blog writing agent 12 KB
✓ SEO optimizer 8 KB
⚡ Headline generator... 15 KB
⏳ Content calendar...
Status Display:
┌─ Current Setup ─────────────────────┐
│ │
│ ✅ Blog Writer (active) │
│ ✅ Brand voice configured │
│ ✅ 12 templates available │
│ ⚠️ No SEO keywords set │
│ │
│ [Fix Warning] [Settings] │
└──────────────────────────────────────┘
Visual Diff for Changes:
Brand voice updated:
Before:
Tone: Professional
Audience: Executives
After:
Tone: Casual
Audience: General public
Example change:
Before: "We are pleased to announce..."
After: "Exciting news! We're launching..."
[Apply Changes] [Cancel]
Activity Feed:
Today:
✓ Created blog post "Morning Routines"
✓ Generated 5 headline variations
✓ Updated brand voice
Yesterday:
✓ Created email campaign
✓ Generated social media posts
Principle: Every error is an opportunity to guide the user
Error Message Format:
[Problem Statement]
What happened:
[Plain language explanation]
Why it happened:
[Root cause in simple terms]
How to fix it:
[Step-by-step instructions]
[Fix Automatically] [Get Help] [Learn More]
Examples:
Error 1: Missing brand guidelines
❌ Can't find brand guidelines
What happened:
The writing assistant is looking for your brand voice
settings, but they haven't been set up yet.
Why it happened:
You haven't uploaded brand guidelines or configured
your writing style preferences.
How to fix it:
1. Go to Settings → Brand Voice
2. Either upload guidelines or answer style questions
3. Come back and try again
[Go to Settings] [Skip for now] [Learn about brand voice]
Error 2: File too large
❌ Brand guidelines file is too large
What happened:
Your brand guidelines file is 5.2 MB, but the limit
is 2 MB.
Why it happened:
Large files slow down the assistant and may contain
unnecessary images or formatting.
How to fix it:
• Remove images (keep only text)
• Save as plain text instead of PDF
• Summarize key points only
[Try Again] [Get Help]
Error 3: Network issue
❌ Can't connect to OpenAgents
What happened:
The app can't reach the internet to download components.
Why it happened:
• You might be offline
• Your firewall might be blocking the connection
• OpenAgents servers might be down
How to fix it:
1. Check your internet connection
2. Try again in a few minutes
3. If problem persists, check status page
[Retry] [Check Status] [Work Offline]
User: Sarah, lifestyle blogger, no technical background
Goal: Get started writing blog posts with AI assistance
Current Experience (Developer-focused):
1. Google "AI writing assistant"
2. Find OAC on GitHub
3. See installation instructions:
"npm install -g @nextsystems/oac"
4. Confused: "What's npm?"
5. Searches "how to install npm"
6. Follows complex tutorial
7. Opens Terminal (scary black screen)
8. Tries: npm install -g @nextsystems/oac
9. Error: "npm not found"
10. Gives up, goes back to ChatGPT
Improved Experience (Content creator-friendly):
1. Google "AI writing assistant"
2. Find OpenAgents website
3. Big button: "Download for Mac"
4. Downloads OpenAgents.dmg
5. Double-clicks to install
6. Opens OpenAgents app
┌─ Welcome to OpenAgents! ─────────────┐
│ │
│ I'll help you write better content │
│ with AI assistance. │
│ │
│ ? What do you want to create? │
│ │
│ ● Blog posts │
│ ○ Marketing copy │
│ ○ Technical docs │
│ ○ Social media │
│ │
│ [Continue] │
└───────────────────────────────────────┘
7. Selects "Blog posts", clicks Continue
┌─ Let's set up your blog voice ───────┐
│ │
│ I'll ask a few questions to learn │
│ your writing style. │
│ │
│ ? What's your blog about? │
│ [Lifestyle, wellness, productivity] │
│ │
│ ? How would you describe your tone? │
│ ● Friendly and casual │
│ ○ Professional and formal │
│ ○ Fun and playful │
│ │
│ [Back] [Continue] │
└───────────────────────────────────────┘
8. Answers questions
┌─ Perfect! Let me learn your style ───┐
│ │
│ Paste an example blog post or │
│ paragraph that sounds like you: │
│ │
│ ┌─────────────────────────────────┐ │
│ │ Want to start your day right? │ │
│ │ I'll share my go-to morning │ │
│ │ routine that changed my life... │ │
│ └─────────────────────────────────┘ │
│ │
│ [Back] [Continue] │
└───────────────────────────────────────┘
9. Pastes example
⚡ Learning your style...
✓ Got it! Here's a test sentence:
"Want to make the fluffiest pancakes ever?
I'm sharing my grandma's secret trick that
will blow your mind!"
? Does this sound like you?
● Yes, perfect!
○ Close, but needs tweaking
○ No, try again
10. Confirms "Yes, perfect!"
✓ All set! Your blog assistant is ready.
What would you like to create?
[Write blog post]
[Generate ideas]
[Create outline]
11. Clicks "Write blog post"
? What's your blog post about?
[Morning routines for busy parents]
? Target length?
● 1000-1500 words
○ 500-1000 words
○ 1500-2000 words
? Include:
[✓] Personal stories
[✓] Actionable tips
[✓] Common mistakes
⚡ Writing...
✓ Draft ready! (Generated in 15 seconds)
[Read draft] [Regenerate] [Edit]
12. Reads draft, loves it!
Save this draft?
Title: "5 Morning Routine Tips for Busy Parents"
[Save] [Export to WordPress] [Discard]
13. Clicks "Export to WordPress"
✓ Copied to clipboard!
Paste into WordPress editor and publish.
[Write another] [Done]
Total time: 5 minutes
Result: ✅ Sarah has working setup and first blog post
Key Success Factors:
User: Marcus, marketing manager
Goal: Use same tool for blog posts and landing page copy
Current Experience:
1. Has OAC set up for blog writing
2. Needs landing page copy
3. Searches docs: "how to change tone"
4. Finds: "oac customize agent:copywriter"
5. Runs command
6. Confusing prompts about "presets"
7. Tries to edit .md file
8. Messes up formatting
9. Agent now broken
10. Reinstalls everything, loses blog setup
Improved Experience:
1. Opens OpenAgents app
Currently active: Blog Writing
[Write blog post]
[Change mode]
2. Clicks "Change mode"
? What do you want to create?
○ Blog post (current)
● Landing page copy
○ Email campaign
○ Social media post
[Switch]
3. Selects "Landing page copy", clicks Switch
✓ Switched to landing page mode!
Landing page copy is:
• More urgent and direct
• Focuses on conversions
• Uses strong CTAs
• Emphasizes benefits
Your blog mode is saved - you can switch back
anytime.
[Create landing page] [Customize this mode]
4. Clicks "Create landing page"
? What are you selling?
[New productivity app]
? Target audience?
[Busy professionals]
? Main benefit?
[Save 10 hours per week]
? CTA (call-to-action)?
[Start free trial]
⚡ Creating landing page...
✓ Landing page copy ready!
[View copy] [Create variations] [Edit]
5. Views copy, likes it
Save this?
[Save] [Export] [Regenerate]
6. Needs to switch back to blog
Currently active: Landing Page Copy
[Create landing page]
[Change mode] ← clicks here
? Switch to:
● Blog Writing
○ Landing Page Copy (current)
○ Email Campaign
[Switch]
✓ Switched to Blog Writing mode!
Total time: 2 minutes to switch modes and create landing page
Result: ✅ Marcus can easily switch between content types
Key Success Factors:
User: Jordan, freelance writer with specific client voice
Goal: Configure agent to match client's brand voice exactly
Current Experience:
1. Reads docs about "presets"
2. Runs: oac customize agent:copywriter
3. Gets file path: ~/.config/oac/presets/client-a.md
4. Tries to find file in Finder
5. Can't find .config folder (it's hidden)
6. Searches "how to show hidden files on Mac"
7. Enables hidden files
8. Finds file
9. Opens in TextEdit
10. Sees markdown with frontmatter
11. Doesn't know what to edit
12. Messes up YAML formatting
13. Saves
14. Agent now throws errors
15. Gives up
Improved Experience:
1. Opens OpenAgents
Currently: Copywriter mode
[Create copy]
[Customize voice] ← clicks here
2. Voice Customization wizard opens
┌─ Customize Your Writing Voice ────────┐
│ │
│ I'll learn your specific style by │
│ asking questions and learning from │
│ examples. │
│ │
│ Name this voice: │
│ [Client A - Tech Startup] │
│ │
│ [Continue] │
└────────────────────────────────────────┘
3. Clicks Continue
┌─ Brand Personality ─────────────────┐
│ │
│ ? How would you describe this │
│ brand's personality? │
│ │
│ [✓] Innovative │
│ [✓] Bold │
│ [ ] Professional │
│ [ ] Playful │
│ [✓] Technical │
│ [ ] Casual │
│ │
│ Custom traits: │
│ [disruptive, forward-thinking] │
│ │
│ [Back] [Continue] │
└──────────────────────────────────────┘
4. Selects traits, clicks Continue
┌─ Writing Style ──────────────────────┐
│ │
│ ? Sentence length preference? │
│ ● Short and punchy │
│ ○ Medium │
│ ○ Long and detailed │
│ │
│ ? Use industry jargon? │
│ ● Yes (tech/startup terms) │
│ ○ Minimal │
│ ○ No (plain language) │
│ │
│ ? Tone: │
│ ● Confident and assertive │
│ ○ Friendly and approachable │
│ ○ Professional and neutral │
│ │
│ [Back] [Continue] │
└───────────────────────────────────────┘
5. Sets preferences, clicks Continue
┌─ Example Voice ───────────────────────┐
│ │
│ Paste 1-3 examples of writing that │
│ matches this client's voice: │
│ │
│ Example 1: │
│ ┌────────────────────────────────┐ │
│ │ We're not just disrupting the │ │
│ │ industry - we're rewriting │ │
│ │ the rules. Our AI-powered │ │
│ │ platform transforms how you │ │
│ │ work. │ │
│ └────────────────────────────────┘ │
│ │
│ [Add another example] [Continue] │
└────────────────────────────────────────┘
6. Pastes examples, clicks Continue
⚡ Learning voice...
✓ Got it! Here's a test:
"Stop wasting time on manual workflows.
Our platform automates everything, so you
can focus on what matters. Join 10,000+
teams who've already transformed their
productivity."
? Does this match the voice?
● Perfect!
○ Close, needs tweaking
○ No, try again
7. Confirms "Perfect!"
✓ Voice saved: Client A - Tech Startup
? Would you like to create more voices
for other clients?
[Yes, add another] [No, I'm done]
8. Adds 2 more client voices
✓ You have 3 voices:
• Client A - Tech Startup
• Client B - Healthcare
• Client C - E-commerce
Switch between them anytime:
[Home] [Manage voices]
9. Creates copy with Client A voice
Currently using: Client A - Tech Startup
[Create copy] [Switch voice]
Total time: 5 minutes to set up custom voice
Result: ✅ Jordan has 3 client voices configured perfectly
Key Success Factors:
User: Sarah accidentally overwrites good brand voice
Goal: Undo mistake and restore previous version
Current Experience:
1. Makes change to brand voice
2. Realizes it's wrong
3. Panics
4. Searches docs for "undo"
5. Finds: oac rollback preset:brand-voice
6. Runs command
7. See list of .bak files with timestamps
8. Doesn't know which one is right
9. Guesses
10. Restores wrong version
11. Makes things worse
12. Reinstalls everything
Improved Experience:
1. Makes change to brand voice
✓ Updated brand voice
Before: Casual and friendly
After: Professional and formal
Don't like it? [Undo] ← visible immediately
2. Clicks "Undo"
✓ Brand voice restored to "Casual and friendly"
---
Alternative: Realizes mistake later
1. Opens Settings → Brand Voice
Current version:
"Professional and formal"
Modified: Today at 2:30 PM
[Edit] [Version History] ← clicks here
2. Version History opens
┌─ Brand Voice History ─────────────────┐
│ │
│ ● Today, 2:30 PM (current) │
│ "Professional and formal" │
│ │
│ ○ Today, 10:15 AM │
│ "Casual and friendly" │
│ │
│ ○ Yesterday, 3:45 PM │
│ "Casual and friendly" │
│ (with more personality) │
│ │
│ ○ Feb 12, Initial setup │
│ "Casual and friendly" │
│ (original version) │
│ │
│ [Preview] [Restore] │
└────────────────────────────────────────┘
3. Selects version from 10:15 AM, clicks Preview
┌─ Preview Version ──────────────────────┐
│ │
│ Version: Today, 10:15 AM │
│ │
│ Brand voice: │
│ "Casual and friendly. Use │
│ contractions, short paragraphs, │
│ and personal stories." │
│ │
│ Example output: │
│ "Want to boost your productivity? │
│ I've got 5 simple tips that'll │
│ change your mornings!" │
│ │
│ [Restore This] [Cancel] │
└─────────────────────────────────────────┘
4. Clicks "Restore This"
? Restore version from 10:15 AM?
This will replace your current brand voice.
(Your current version will be saved in history)
[Restore] [Cancel]
5. Clicks "Restore"
✓ Brand voice restored!
Now using: "Casual and friendly"
(Previous version saved to history)
[Done]
Total time: 30 seconds to undo
Result: ✅ Sarah easily recovers from mistake
Key Success Factors:
User: Alex (content director) wants team to use same brand voice
Goal: Share brand voice and templates with 3 editors
Current Experience:
1. Reads docs about "exporting presets"
2. Runs: oac export preset:brand-voice
3. Gets file: brand-voice.md
4. Emails file to team
5. Tells team to run: oac import preset brand-voice.md
6. Team members confused
7. One person overwrites their setup
8. Another can't find the file they downloaded
9. Another doesn't have OAC installed
10. Lots of back-and-forth support
11. Eventually gives up, sends Google Doc instead
Improved Experience:
1. Opens OpenAgents → Settings → Sharing
┌─ Share Your Setup ─────────────────────┐
│ │
│ Share your brand voice and templates │
│ with your team. │
│ │
│ What to share: │
│ [✓] Brand voice │
│ [✓] Blog post templates │
│ [✓] Email templates │
│ [ ] My personal notes │
│ │
│ [Continue] │
└─────────────────────────────────────────┘
2. Selects what to share, clicks Continue
┌─ Invite Team Members ──────────────────┐
│ │
│ Team member emails: │
│ sarah@company.com │
│ marcus@company.com │
│ emily@company.com │
│ │
│ Permissions: │
│ [✓] Can use brand voice │
│ [✓] Can create content │
│ [ ] Can modify brand voice │
│ (only Alex can modify) │
│ │
│ [Send Invites] │
└─────────────────────────────────────────┘
3. Clicks "Send Invites"
✓ Invitations sent!
Sarah, Marcus, and Emily will receive:
• Email invitation
• One-click install link
• Brand voice and templates
They can start creating content immediately.
[Done] [Manage team]
4. Team members receive email
──────────────────────────────────────
From: Alex (via OpenAgents)
Subject: You're invited to use our brand voice
Alex invited you to use the company brand
voice and templates in OpenAgents.
[Install in One Click]
This will set up:
• Brand voice guidelines
• Blog post templates
• Email templates
No technical setup required.
──────────────────────────────────────
5. Sarah (team member) clicks link
Welcome, Sarah!
Alex invited you to use:
"Company Brand Voice"
⚡ Installing...
✓ Brand voice installed
✓ Templates installed
✓ Ready to create content!
Try: "Write a blog post about..."
[Start Creating]
6. Sarah starts creating content with company voice
Currently using: Company Brand Voice
(Shared by Alex)
[Create content] [View templates]
7. Alex updates brand voice
Settings → Brand Voice → Update
(Makes changes)
✓ Brand voice updated
? Push update to team?
This will update brand voice for:
• Sarah
• Marcus
• Emily
[Push Update] [Keep Local]
8. Clicks "Push Update"
✓ Update pushed!
Sarah, Marcus, and Emily will use the new
brand voice immediately.
[Done]
9. Sarah sees notification
✓ Brand voice updated by Alex
The team brand voice has been updated.
Your next content will use the new voice.
[OK] [See what changed]
Total time: 3 minutes for Alex, 10 seconds for each team member
Result: ✅ Entire team using same brand voice in minutes
Key Success Factors:
Based on all scenarios and pain points, here's the complete feature set needed for content creators:
✅ Downloadable App (Mac, Windows, Linux)
• No terminal required
• Double-click to install
• Visual setup wizard
✅ Use Case Selection
• Blog writer
• Marketing copywriter
• Technical writer
• Social media manager
• Content creator (all types)
✅ Interactive Setup
• Asks questions
• Learns from examples
• No file editing
• No configuration files
✅ Immediate Value
• Create first piece in 5 minutes
• Pre-loaded templates
• Example outputs
✅ Multiple Content Types
• Blog posts
• Email campaigns
• Landing pages
• Social media
• Documentation
• Ad copy
✅ Voice Customization
• Learn from examples
• Guided questionnaires
• Multiple voices (clients)
• Easy switching
✅ Template Library
• Pre-built templates
• Custom templates
• Import/export templates
• Template variations
✅ Quick Actions
• Generate ideas
• Create outlines
• Write draft
• Revise/edit
• Generate variations
✅ GUI Application
• Visual interface
• Click-based navigation
• No commands to memorize
• Drag-and-drop
✅ Plain Language
• No jargon
• Tooltips for everything
• Contextual help
• Examples everywhere
✅ Visual Feedback
• Progress bars
• Status indicators
• Activity feed
• Change previews
✅ Mode Switcher
• See all modes
• One-click switching
• Current mode always visible
• Mode descriptions
✅ Helpful Errors
• Plain language
• Explain what happened
• Show how to fix
• Offer automatic fixes
✅ Undo System
• Undo button always visible
• Undo stack
• Version history
• Before/after preview
✅ Auto-Save
• Save every change
• Save points
• Recovery from crashes
• Never lose work
✅ Safe Operations
• Can't break core setup
• All changes reversible
• Protected files
• Confirmation dialogs
✅ Team Sharing
• One-click invitations
• Email links
• Permission controls
• Central updates
✅ Client Management (Freelancers)
• Multiple client workspaces
• Client isolation
• Easy switching
• Client-specific templates
✅ Version Control (for non-git users)
• Visual history
• Compare versions
• Restore points
• Branching (advanced)
✅ Export Formats
• Copy to clipboard
• Export to Word
• Export to Google Docs
• Export to WordPress
• Export to Medium
• Export to Markdown
✅ Platform Integration
• WordPress plugin
• Google Docs add-on
• Notion integration
• Email platform integration
✅ Content Management
• Save drafts
• Organize by project
• Tag and categorize
• Search history
Goal: Make OAC usable for non-technical content creators
Features:
Success Criteria:
Features:
Success Criteria:
Features:
Success Criteria:
Adoption:
Engagement:
Satisfaction:
Business:
Key Findings:
Huge Opportunity: Content creators are an underserved market who desperately need AI writing tools but find current solutions too technical.
Critical Barriers: CLI, jargon, file editing, and lack of visual feedback make OAC unusable for non-technical users.
Simple Solutions: GUI wrapper, plain language, templates, and guided wizards can remove 90% of barriers.
Quick Wins: A content creator mode in Phase 1 could double the addressable market.
Differentiation: Most AI writing tools are either too simple (ChatGPT) or too technical (developer tools). OAC can own the middle market.
Recommendation: Prioritize content creator UX in roadmap. The refactor provides perfect opportunity to build this in from the start rather than bolting it on later.
Next Steps:
Status: Ready for validation and prototyping
Confidence: High (based on user research and pain point analysis)
Impact: Could 2-3x OAC's addressable market