Project Manager Agent
Project Ops Agency
Agency Swarm v1.0.0 deployment that coordinates project management, research, and dashboard delivery. The Project Manager is the single user-facing entry point and delegates to research and dashboard specialists while keeping decisions in Notion.
What It Does
- Gathers requirements, timelines, and success criteria from the user
- Dispatches research with citations and requests follow-ups when needed
- Builds or updates dashboard artifacts in
dashboard_builder_analyzer/files - Logs plans, decisions, and statuses directly to Notion
- Returns concise status updates with links, owners, and blockers
Agents and Tools
- Project Manager (entry point)
- Tool:
NotionWorkspaceTool(create, fetch, update, append, and query pages/databases via the Notion API)
- Tool:
- Research Analyst
- Tool:
WebSearchTool(built-in OpenAI browsing) for live research with citations
- Tool:
- Dashboard Builder/Analyzer
- Tools:
FileManagerTool(list/read/write withindashboard_builder_analyzer/files),WebSearchToolfor best-practice references
- Tools:
Communication flows: Project Manager ↔ Research Analyst, Project Manager ↔ Dashboard Builder/Analyzer. Only the Project Manager talks to the user.
Prerequisites
- Python 3.10+ and
pip OPENAI_API_KEYfor all agents- Notion access for workspace updates (
NOTION_API_KEYorNOTION_TOKEN;NOTION_MCP_OAUTH_TOKENif using MCP auth) - Optional: Docker if you want to containerize
Setup
- Install dependencies:
bash
pip install -r requirements.txt
- Create
.envin the repo root (see.env.templatefor keys):
OPENAI_API_KEY=sk-... NOTION_API_KEY=... NOTION_TOKEN=... NOTION_MCP_OAUTH_TOKEN=... # if applicable
- (Optional) Activate the bundled virtual env
.venvor create your own.
Run the Agency
- Interactive terminal demo (recommended):
bash
python agency.py
- Programmatic use:
bash
python -c "from agency import create_agency; agency = create_agency(); print(agency.get_response_sync('Project kickoff for Q1 revenue dashboard'))"
Working With Notion
- Keep target database/page IDs handy; pass them to the Project Manager when asked.
- Supported operations via
NotionWorkspaceTool:list_databases,query_database,list_database_pages,fetch_page,update_page,append_block,create_page. - Provide
properties_jsonas valid JSON strings for create/update actions; includerich_textwhen appending content.
Working With Files
- Dashboard artifacts live in
dashboard_builder_analyzer/files. The FileManagerTool is scoped to this folder. - Share exact filenames or subpaths when asking for updates (CSV, JSON, Markdown supported out of the box).
Development Notes
- Shared context lives in
shared_instructions.md; communication flows are defined inagency.py. - For adjustments, edit the agent instructions in each
<agent>/instructions.mdand tools in<agent>/tools/. - To add MCP servers or new tools, follow
.cursor/commands/add-mcp.mdand the workflow in.cursor/rules/workflow.mdc.
Troubleshooting
- Missing keys: ensure
.envcontainsOPENAI_API_KEYand the correct Notion token. - Notion errors: verify database/page IDs and JSON payloads; confirm the token has write access.
- File writes failing: ensure the path stays inside
dashboard_builder_analyzer/files.
project
project-agent
Operations