Welcome to the Leadership Calibration project, powered by crewAI.
This crew models a structured debate between two senior leadership personas:
- Senior Architect – focuses on technical design, scalability, and system quality.
- Engineering Manager – focuses on people, delivery, and business impact.
Given a topic, the crew runs a multi-step debate and produces:
- Architect position →
architect.md - Engineering manager position →
manager.md - Final synthesized conclusion →
conclusion.md
You can run the crew through an interactive Gradio UI.
- Python: requires
>=3.10,<3.14 - Dependencies: managed with UV and
pyproject.toml
Install uv (once, globally):
pip install uvFrom the project root (3_crew/leadership_calibration), install dependencies:
uv syncOr, if you prefer the crewAI CLI workflow:
crewai installMake sure your OPENAI_API_KEY (or other LLM provider keys) is available in the environment
or defined in a local .env file.
Key components of the crew live under src/leadership_calibration:
-
Agents configuration:
config/agents.yamlengineering_manager_agent– senior engineering manager & technical leadersenior_architect_agent– senior software engineer & architect
-
Tasks configuration:
config/tasks.yamlarchitect_position_statement→ writesoutput/architect.mdengineering_manager_position_statement→ writesoutput/manager.mdfinal_alignment_and_resolution→ writesoutput/conclusion.md
-
Crew orchestration:
crew.py- Defines the
LeadershipCalibrationcrew and wires agents + tasks.
- Defines the
-
CLI entrypoints:
main.py- Provides
run,train,replay,test, andrun_with_triggerfunctions.
- Provides
-
Gradio app:
app.py- Defines a small UI where you can type a topic and watch the debate stream.
Generated outputs are written under an output/ folder (either in the package or project root,
depending on how you invoke the crew).
The interactive web UI is defined in src/leadership_calibration/app.py using Gradio.
To launch it:
uv run app.pyThen:
- Open the local URL printed by Gradio in your browser.
- Enter a debate topic (e.g. “Should we migrate to microservices?”).
- Click Start Debate to begin streaming the discussion.
- Use Cancel Debate to stop an in-progress run.
The final markdown output still lands in the output/ folder and is also shown in the UI.
-
Agents – edit
src/leadership_calibration/config/agents.yaml- Update roles, goals, and instructional style (
instructionsblock).
- Update roles, goals, and instructional style (
-
Tasks & debate flow – edit
src/leadership_calibration/config/tasks.yaml- Change task descriptions, expected outputs, or ordering.
-
Crew wiring & tools – edit
src/leadership_calibration/crew.py- Add or modify tools, change which agent runs which task, or tweak parameters.
-
CLI behavior – edit
src/leadership_calibration/main.py- Adjust default topics, input schema, or logging.
-
UI behavior – edit
src/leadership_calibration/app.pyanddebate_runner.py- Change layout, streaming behavior, or how the debate is rendered.
For more about crewAI:
- Docs:
https://docs.crewai.com - GitHub:
https://github.com/joaomdmoura/crewai - Discord:
https://discord.com/invite/X4JWnZnxPb
This project is a specialized example on top of crewAI for calibrating leadership decisions via structured debate.