npx agentspec-cli install aa661607-6924-40b4-a895-022afe244ba1 --file-type cursorrules→ .cursor/rules/
You are an expert in Python, Agno framework, and AI agent development.
Core Rules
- NEVER create agents in loops - reuse them for performance
- Always use output_schema for structured responses
- PostgreSQL in production, SQLite for dev only
- Start with single agent, scale up only when needed
Documentation:
- Don't use f-strings for print lines where there are no variables to format.
- Don't use emojis in examples and print lines
Basic Agent (start here):
```python
from agno.agent import Agent
from agno.models.openai import OpenAIResponses
agent = Agent(
model=OpenAIResponses(id="gpt-5.5"),
instructions="You are a helpful assistant",
markdown=True,
)
agent.print_response("Your query", stream=True)
```
Agent with Tools:
```python
from agno.tools.websearch import WebSearchTools
agent = Agent(
model=OpenAIResponses(id="gpt-5.5"),
tools=[WebSearchTools()],
instructions="Search the web for information",
)
```
CRITICAL: Agent Reuse Performance
```python
# WRONG - Recreates agent every time (significant overhead)
for query in queries:
agent = Agent(...) # DON'T DO THIS
# CORRECT - Create once, reuse
agent = Agent(...)
for query in queries:
agent.run(query)
```
When to Use Each Pattern
Single Agent (90% of use cases):
- One clear task or domain
- Can be solved with tools + instructions
- Example: Search, analyze, generate content
Team (autonomous coordination):
- Multiple specialized agents with different expertise
- Agents decide who does what via LLM
- Complex tasks requiring multiple perspectives
- Example: Research + Analysis + Writing
Workflow (programmatic control):
- Sequential steps with clear flow
- Need conditional logic or branching
- Full control over execution order
- Example: Extract → Transform → Load pipelines
Team Pattern:
```python
from agno.team.team import Team
web_agent = Agent(
name="Researcher",
model=OpenAIResponses(id="gpt-5.5"),
tools=[WebSearchTools()],
)
writer_agent = Agent(
name="Writer",
model=OpenAIResponses(id="gpt-5.5"),
)
team = Team(
members=[web_agent, writer_agent],
model=OpenAIResponses(id="gpt-5.5"),
instructions="Research and write articles",
)
```
Workflow Pattern:
```python
from agno.workflow.workflow import Workflow
from agno.db.sqlite import SqliteDb
# Define agents first (researcher, writer)
async def blog_workflow(session_state, topic: str):
# Step 1: Research
research = await researcher.arun(topic)
# Step 2: Write
article = await writer.arun(research.content)
return article
workflow = Workflow(
name="Blog Generator",
steps=blog_workflow,
db=SqliteDb(db_file="tmp/workflow.db"),
)
```
Knowledge/RAG:
```python
from agno.knowledge.knowledge import Knowledge
from agno.vectordb.lancedb import LanceDb, SearchType
from agno.knowledge.embedder.openai import OpenAIEmbedder
knowledge = Knowledge(
vector_db=LanceDb(
uri="tmp/lancedb",
table_name="knowledge_base",
search_type=SearchType.hybrid,
embedder=OpenAIEmbedder(id="text-embedding-3-small"),
),
)
agent = Agent(
model=OpenAIResponses(id="gpt-5.5"),
knowledge=knowledge,
search_knowledge=True, # Critical: enables agentic RAG
instructions="Use knowledge base, cite sources"
)
```
Chat History:
```python
agent = Agent(
model=OpenAIResponses(id="gpt-5.5"),
db=SqliteDb(db_file="tmp/agents.db"),
user_id="user-123",
add_history_to_context=True, # Adds previous messages
num_history_runs=3,
)
```
Structured Output:
```python
from pydantic import BaseModel
class Result(BaseModel):
summary: str
findings: list[str]
agent = Agent(
model=OpenAIResponses(id="gpt-5.5"),
output_schema=Result,
)
result: Result = agent.run(query).content
```
AgentOS Production:
```python
from agno.os import AgentOS
from agno.db.postgres import PostgresDb
agent_os = AgentOS(
agents=[agent],
db=PostgresDb(db_url=os.getenv("DATABASE_URL")),
)
app = agent_os.get_app()
```
Common Mistakes
- Creating agents in loops (massive performance hit)
- Using Team when single agent would work
- Forgetting search_knowledge=True with knowledge
- Using SQLite in production
- Not adding history when context matters
- Missing output_schema validation
Production
- Use PostgresDb not SqliteDb
- Set show_tool_calls=False, debug_mode=False
- Wrap agent.run() in try-except
Docs: https://docs.agno.com
Agent Rules
AI coding agent instructions for project conventions and guidelines.
by AgentHub Crawler
Lg Agents Configuration
Cursor IDE rules and conventions for AI-assisted development.
by AgentHub Crawler
Virtual Tree Configuration
Cursor IDE rules and conventions for AI-assisted development.
by AgentHub Crawler
Agent Instructions
**Layer 1: Directive (What to do)** **Layer 2: Orchestration (Decision making)** **Layer 3: Execution (Doing the work)** **Why this works:** if you do everything yourself, errors compound. 90% accuracy per step = 59% success over 5 steps. The solution is push complexity into deterministic code. That way you just focus on decision-making.
Sign in to leave a comment.
by AgentHub Crawler