AgenticPMO is the orchestration and intelligence layer designed to programmatically execute PMI PMBOK® 8th Edition project management workflows.
It is built as an autonomous multi-agent state machine on top of the PMOSkills SDK, which provides 48 executable skills, 41 process records, and 92 templates. AgenticPMO translates natural language project instructions into structured, verified project management artifacts (such as Context Registers, charters, risk registers) and routes approvals through a quantitative escalation matrix.
AgenticPMO runs a cyclic state machine powered by LangGraph. The workflow dynamically loops to collect missing project inputs before executing the requested PMBOK skill:
flowchart TD
START([Start /chat]) --> Orch[Orchestrator Agent]
Orch -->|Identify active_skill| Exec[Executor Agent]
Orch -->|No active_skill| END([End / Return State])
Exec -->|Missing inputs?| Loop[Flag Missing Inputs]
Loop -->|Stop & Ask User| END
Exec -->|Complete inputs| Gen[Generate Artifact & Run Quality Gate]
Gen --> Gov[Governor Agent]
Gov -->|Determine escalation band T1-T4| Approve[Log Approval & Set Escalation]
Approve --> END
classDef orchStyle fill:#e6f3ff,stroke:#0073e6,stroke-width:2px,color:#000;
classDef execStyle fill:#fff3e6,stroke:#ff8800,stroke-width:2px,color:#000;
classDef govStyle fill:#ebfaeb,stroke:#2eb82e,stroke-width:2px,color:#000;
class Orch orchStyle;
class Exec,Loop,Gen execStyle;
class Gov,Approve govStyle;
- Orchestrator Agent (
agents/orchestrator.py):- Parses the user's natural language input.
- Extracts project identifiers, budgets, contingency spends, variances, and sponsor details.
- Maps requests to appropriate skill codes from the PMOSkills registry (e.g.
SKL-01-01to establish project governance).
- Executor Agent (
agents/executor.py):- References the
pmoskillsSDK database. - Audits the current context for mandatory variables required by the skill.
- Pauses execution and requests missing variables from the user if any are absent.
- Generates compliant, markdown-formatted artifacts and writes them to the
artifacts/folder.
- References the
- Governor Agent (
agents/governor.py):- Evaluates project parameters against a quantitative decision matrix.
- Assigns a governance band (
T1toT4) based on budget, cost variance, or strategic impact. - Demands Human-In-The-Loop (HITL) sponsor authorization for high-risk decisions (
T3&T4).
| Band | Characteristics | Default Authority | Action Pathway |
|---|---|---|---|
| T1 Operational | Within baseline tolerances, budget <= $100K | Project Manager (PM) | Execute & log internally |
| T2 Controlled | Cost variance between 5% and 10% | Change Control Board (CCB) | Route via change control workflows |
| T3 Governance | Budget > $100K or cost variance > 10% | Project Sponsor | Requires formal Sponsor authorization |
| T4 Enterprise | Strategic impact, cross-project portfolio alignment | Portfolio Board / Executive | Executive portfolio board intervention |
- Python 3.10+
- Virtual environment tool
-
Clone the Repository & Navigate to Workspace:
git clone <repository_url> cd AgenticPMO
-
Create and Activate Virtual Environment:
python3 -m venv venv source venv/bin/activate -
Install Dependencies:
pip install -r requirements.txt
-
Install PMOSkills SDK: The orchestration layer leverages the
pmoskillscore module. Install it via PyPI:pip install pmoskills
Start the FastAPI application using uvicorn:
PYTHONPATH=. uvicorn api.main:app --reload --host 127.0.0.1 --port 8000curl -s http://127.0.0.1:8000/Response:
{
"status": "healthy",
"service": "AgenticPMO Orchestrator",
"framework": "PMBOK 8th Edition",
"llm_configured": false
}Post a request to start a PMBOK 8 process:
curl -s -X POST -H "Content-Type: application/json" \
-d '{"message": "Establish governance for Aero Project with budget $120000"}' \
http://127.0.0.1:8000/chatBecause the sponsor was not specified, the state machine will automatically halt and request the missing input:
{
"messages": [
{"role":"human","content":"Establish governance for Aero Project with budget $120000"},
{"role":"ai","content":"[Orchestrator Mock] Request matches skill SKL-01-01..."},
{"role":"ai","content":"[Executor Mock] Missing inputs for SKL-01-01: ['Sponsor']. Please provide: Sponsor."}
],
"current_project_context": {
"project_name": "Aero Project",
"project_budget": 120000.0
},
"active_skill": "SKL-01-01",
"missing_inputs": ["Sponsor"],
"generated_artifact": null,
"escalation_level": null
}Resume the workflow by passing back the serialized state with the missing field answered:
curl -s -X POST -H "Content-Type: application/json" \
-d '{"message": "The project sponsor is Alice Smith", "state": {"messages": [...], "current_project_context": {...}, "active_skill": "SKL-01-01", "missing_inputs": ["Sponsor"]}}' \
http://127.0.0.1:8000/chatVerify the orchestrator state machine, executor templates, and governor thresholds using pytest:
PYTHONPATH=. pytest tests/test_graph.py -vTo cite AgenticPMO in your academic work:
@software{agenticpmo2026,
author = {Fakhruldeen, Mohamed (Fouad)},
title = {{fakhruldeen/AgenticPMO: Release v0.1.1}},
month = jun,
year = 2026,
publisher = {Zenodo},
version = {v0.1.1},
doi = {10.5281/zenodo.20533683},
url = {https://doi.org/10.5281/zenodo.20533683}
}Mohamed (Fouad) Fakhruldeen. (2026). fakhruldeen/AgenticPMO: Release v0.1.1 (v0.1.1). Zenodo. https://doi.org/10.5281/zenodo.20533683
This project utilizes the PMOSkills repository schema and database as its underlying core:
@misc{pmoskills2026,
author = {Fakhruldeen, Mohamed Fouad},
title = {{PMOSkills: An Executable Skill System \& PMO Reference Architecture built on PMI PMBOK® 8th Edition}},
month = jun,
year = 2026,
publisher = {Zenodo},
version = {v0.5},
doi = {10.5281/zenodo.20510540},
url = {https://doi.org/10.5281/zenodo.20510540}
}PMBOK and PMI are registered marks of the Project Management Institute, Inc.
Note
Independent Academic Project: This repository contains summaries, templates, and compliance test suites compiled from public project management frameworks. PMBOK and PMI are registered trademarks of the Project Management Institute, Inc. This project is independently developed and is not affiliated with or endorsed by PMI.
Authority: PMBOK 8 Primary · PMI Companion References Secondary · Organization-Defined Tertiary
Project: PMI PMBOK 8 Knowledge Base Repository Space
Maintainer: Mohamed Fouad Fakhruldeen GitHub, LinkedIn, Website
