Markdown Agent
Learn how to create AI agents for generating and formatting content in Markdown.
Generate READMEs, changelogs, and docs as clean, properly formatted Markdown with a single Agent.
from praisonaiagents import Agent
agent = Agent(
name="MarkdownWriter",
instructions="You are a Markdown agent. Output in proper Markdown format.",
)
agent.start("Write a README for a Python web scraping project")Content generation agent that outputs properly formatted Markdown.
Quick Start
- Simple Usage
Ask for content and get Markdown back.
python from praisonaiagents import Agent agent = Agent( name="MarkdownWriter", instructions="You are a Markdown agent. Output in proper Markdown format.", ) agent.start("Write a README for a Python web scraping project") - With Configuration
Enable memory so the agent revises documents across turns.
python from praisonaiagents import Agent agent = Agent( name="MarkdownWriter", instructions="Generate and iteratively refine Markdown documents.", memory=True, ) agent.start("Draft a README, then add an Installation section.")
How It Works
Simple
Agents: 1 — Single agent for content generation with Markdown formatting.
Workflow
- Receive content request
- Generate content with LLM
- Format output as Markdown
Setup
pip install praisonaiagents praisonai
export OPENAI_API_KEY="your-key"Run — Python
from praisonaiagents import Agent
agent = Agent(
name="MarkdownWriter",
instructions="You are a Markdown agent. Output in proper Markdown format."
)
result = agent.start("Write a README for a Python web scraping project")
print(result)Run — CLI
praisonai "Write a README for a Python project"Run — agents.yaml
framework: praisonai
topic: Documentation Generation
roles:
markdown_writer:
role: Markdown Content Specialist
goal: Generate well-formatted Markdown content
backstory: You are an expert technical writer
tasks:
write_docs:
description: Write a README for a Python web scraping project
expected_output: A complete README.mdpraisonai agents.yamlServe API
from praisonaiagents import Agent
agent = Agent(
name="MarkdownWriter",
instructions="You are a Markdown agent."
)
agent.launch(port=8080)curl -X POST http://localhost:8080/chat \
-H "Content-Type: application/json" \
-d '{"message": "Write a changelog for version 2.0"}'Advanced Workflow (All Features)
Agents: 1 — Single agent with memory, persistence, structured output, and session resumability.
Workflow
- Initialize session for document tracking
- Configure SQLite persistence for content history
- Generate content with structured output
- Store in memory for iterative editing
- Resume session for document updates
Setup
pip install praisonaiagents praisonai pydantic
export OPENAI_API_KEY="your-key"Run — Python
from praisonaiagents import Agent, Task, AgentTeam, Session
from pydantic import BaseModel
# Structured output schema
class Document(BaseModel):
title: str
sections: list[str]
content: str
# Create session for document tracking
session = Session(session_id="docs-001", user_id="user-1")
# Agent with memory
agent = Agent(
name="MarkdownWriter",
instructions="Generate structured Markdown documents.",
memory=True
)
# Task with structured output
task = Task(
description="Write a README for a Python web scraping project",
expected_output="Structured document",
agent=agent,
output_pydantic=Document
)
# Run with SQLite persistence
agents = AgentTeam(
agents=[agent],
tasks=[task],
memory=True
)
result = agents.start()
print(result)
# Resume later
session2 = Session(session_id="docs-001", user_id="user-1")
history = session2.search_memory("README")Run — CLI
praisonai "Write a README" --memory --verboseRun — agents.yaml
framework: praisonai
topic: Documentation Generation
memory: true
memory_config:
provider: sqlite
db_path: docs.db
roles:
markdown_writer:
role: Markdown Content Specialist
goal: Generate structured Markdown content
backstory: You are an expert technical writer
memory: true
tasks:
write_docs:
description: Write a README for a Python web scraping project
expected_output: Structured document
output_json:
title: string
sections: array
content: stringpraisonai agents.yaml --verboseServe API
from praisonaiagents import Agent
agent = Agent(
name="MarkdownWriter",
instructions="Generate structured Markdown documents.",
memory=True
)
agent.launch(port=8080)curl -X POST http://localhost:8080/chat \
-H "Content-Type: application/json" \
-d '{"message": "Write a changelog", "session_id": "docs-001"}'Monitor / Verify
praisonai "test markdown" --verboseCleanup
rm -f docs.dbFeatures Demonstrated
| Feature | Implementation |
|---|---|
| Workflow | Single-step content generation |
| DB Persistence | SQLite via memory_config |
| Observability | --verbose flag |
| Resumability | Session with session_id |
| Structured Output | Pydantic Document model |
Best Practices
State the target format in the instructions
Tell the agent whether you want GitHub-flavoured Markdown, a changelog, or a README. A precise instruction produces consistent heading levels and code fences.
Use structured output for multi-section docs
When a document has fixed sections, define a Pydantic schema so title, sections, and body arrive as separate fields you can render however you like.
Enable memory for iterative editing
Set memory=True so the agent amends an existing draft on follow-up turns instead of regenerating the whole document.
Save output to a file when generating docs at scale
Attach a file-writing tool or set output_file on a Task so generated Markdown lands on disk without manual copy-paste.