Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agentic Project Management Workflow

A portfolio-ready version of my Udacity Agentic AI Nanodegree project that demonstrates how multiple LLM agents can collaborate to turn a product specification into a structured development plan.

The project uses an Email Router product specification as the input and generates three planning artifacts:

  1. user stories for the product personas,
  2. product features that group related user needs, and
  3. engineering tasks with acceptance criteria and dependencies.

Architecture

flowchart TD
    A[Workflow Prompt] --> B[Action Planning Agent]
    B --> C[Routing Agent]
    C --> D[Product Manager Agent]
    C --> E[Program Manager Agent]
    C --> F[Development Engineer Agent]
    D --> G[Product Manager Evaluation Agent]
    E --> H[Program Manager Evaluation Agent]
    F --> I[Development Engineer Evaluation Agent]
    G --> J[Final Development Plan]
    H --> J
    I --> J
Loading

Why this project matters

Traditional automation follows fixed rules. This project explores a more flexible pattern: agentic workflow orchestration. A planning agent breaks down the work, a routing agent sends each step to the right role-specific agent, and evaluator agents check that each output follows the expected format before the workflow continues.

This is not a chatbot. It is a structured workflow that processes a product prompt and produces a product-development artifact.

Agent patterns demonstrated

Agent Purpose
DirectPromptAgent Sends a prompt directly to an LLM.
AugmentedPromptAgent Adds a persona/system prompt to shape the response.
KnowledgeAugmentedPromptAgent Restricts the response to provided knowledge.
RAGKnowledgePromptAgent Retrieves relevant knowledge chunks using embeddings before answering.
EvaluationAgent Checks another agent's response against explicit criteria and asks for corrections if needed.
RoutingAgent Uses embedding similarity to route work to the most relevant specialized agent.
ActionPlanningAgent Extracts ordered action steps from a workflow request.

Repository structure

.
├── phase_1/
│   ├── workflow_agents/
│   │   └── base_agents.py
│   ├── direct_prompt_agent.py
│   ├── augmented_prompt_agent.py
│   ├── knowledge_augmented_prompt_agent.py
│   ├── rag_knowledge_prompt_agent.py
│   ├── evaluation_agent.py
│   ├── routing_agent.py
│   └── action_planning_agent.py
├── phase_2/
│   ├── workflow_agents/
│   │   └── base_agents.py
│   ├── Product-Spec-Email-Router.txt
│   └── agentic_workflow.py
├── outputs/
│   ├── phase_1/
│   └── phase_2_output_final.txt
├── .env.example
├── .gitignore
├── requirements.txt
└── README.md

Setup

Create a virtual environment and install dependencies:

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Create your local environment file:

cp .env.example .env

Then add your OpenAI API key to .env:

OPENAI_API_KEY=your_api_key_here

Optional model settings are also available in .env.example:

OPENAI_CHAT_MODEL=gpt-3.5-turbo
OPENAI_EMBEDDING_MODEL=text-embedding-3-large

Leave OPENAI_BASE_URL blank for the standard OpenAI API. Set it only if you are using a proxy or classroom-provided OpenAI-compatible endpoint.

How to run

Run individual Phase 1 demos:

python phase_1/direct_prompt_agent.py
python phase_1/augmented_prompt_agent.py
python phase_1/knowledge_augmented_prompt_agent.py
python phase_1/rag_knowledge_prompt_agent.py
python phase_1/evaluation_agent.py
python phase_1/routing_agent.py
python phase_1/action_planning_agent.py

Run the end-to-end Phase 2 workflow:

python phase_2/agentic_workflow.py

Sample output

Previously generated sample outputs are included in the outputs/ folder so reviewers can understand the expected behavior without rerunning the full workflow.

The Phase 2 output shows the workflow producing:

  • validated Email Router user stories,
  • grouped product features,
  • engineering implementation tasks,
  • acceptance criteria,
  • estimated effort, and
  • dependencies.

Portfolio notes

This project demonstrates:

  • decomposing a broad product-management request into agent-routable steps,
  • using role-specific product, program, and engineering agents,
  • grounding outputs in a product specification,
  • validating generated artifacts against structured criteria,
  • using embeddings for semantic routing, and
  • making an educational prototype safer and cleaner for public GitHub sharing.

Security note

Do not commit .env files or API keys. This repository includes .env.example for configuration and .gitignore rules to prevent local secrets from being committed.

Future improvements

  • Add automated unit tests with mocked OpenAI responses.
  • Add a single shared workflow_agents package instead of carrying a copy in each phase.
  • Persist routing/evaluation traces as structured JSON.
  • Add a CLI flag to save workflow output directly to Markdown.
  • Replace hardcoded product-spec pathing with configurable input files.

Attribution

Completed as part of Udacity’s Agentic AI Nanodegree. This portfolio version was cleaned, documented, and adapted by Nimra Alam. Starter project instructions and the original project structure are attributed to Udacity; implementation, cleanup, documentation, and portfolio presentation are my own.

About

Agentic AI workflow for generating product development plans from product specs.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages