Open Source · Python · PM Tooling
Stop running status meetings.
Run an agent instead.
PCA scans Jira, email, and local documents overnight — then delivers a structured morning briefing. No tab-switching. No chasing updates.
# Run daily briefing
$ python pca.py daily
=== Portfolio Control Agent — 2026-09-15 08:02 ===
CHANGES (3 items):
● PROJ-234 moved In Progress → In Review
⚠ CONFLICT: Jira shows "In Test" but handover note says "blocked"
● PROJ-241 NEW comment from @jane
ATTENTION REQUIRED:
→ PROJ-238: blocker unresolved 4 days
$ python pca.py daily
=== Portfolio Control Agent — 2026-09-15 08:02 ===
CHANGES (3 items):
● PROJ-234 moved In Progress → In Review
⚠ CONFLICT: Jira shows "In Test" but handover note says "blocked"
● PROJ-241 NEW comment from @jane
ATTENTION REQUIRED:
→ PROJ-238: blocker unresolved 4 days
What it does
Jira scanning
Pulls open issues, status changes, new comments, blockers. Detects what moved since yesterday.
Email scanning
Finds project-relevant emails from the last N days via Outlook COM. No IMAP setup needed on Windows.
Conflict detection
Flags when Jira says one thing and your documents say another. Surfaces what would otherwise stay hidden.
Structured report
HTML output (+ optional PDF). Changes, blockers, conflicts — in one place, every morning.
Quick start
01
Clone the repo and install:
pip install -r requirements.txt
02
Copy
.env.example to .env — add your Jira URL, project key, and API token
03
Run:
python pca.py daily — report lands in reports/
04
Schedule with Task Scheduler or cron for automatic morning delivery