Skip to content

stephenlthorn/AI-Team-Orchestrator

Repository files navigation

AI Team Orchestrator

Public, clean-room portfolio for a private multi-agent assistant platform I built for real work and life automation.

This repo is intentionally not the production system. It recreates the architecture, orchestration patterns, and integration boundaries with original public code so recruiters and hiring teams can evaluate how I think about:

  • multi-agent coordination
  • GitHub and developer workflow automation
  • finance and research pipelines
  • personal productivity integrations
  • device-aware context routing
  • safety, security, and auditability

The real system stays private. The engineering patterns do not.

What this repo demonstrates

  • A channel abstraction for cron, CLI, voice, and webhook-driven work
  • A skill/plugin system that hides connector details behind stable interfaces
  • Agent spawning patterns for one-shot specialists and persistent coordinators
  • Cross-agent aggregation for PR creation, research loops, and daily briefings
  • Paired device routing for desktop/mobile context
  • Capability-based security boundaries, redaction, and audit logging
  • Runnable demos with tests and CI

A day in the life

07:00 — recovery-aware morning briefing

A persistent chief-of-staff agent combines calendar events, inbox signals, Things-style tasks, wearable recovery data, and paired-device availability into a concise morning plan. It chooses a speech engine and routes the spoken briefing to the best available mobile node instead of assuming I am at a desk.

09:12 — iOS issue auto-fix loop

A GitHub webhook lands from the iOS repo. The orchestrator spins up isolated PM, iOS engineer, QA, and writer agents in parallel. They produce acceptance criteria, a fix plan, regression coverage, and release notes. A persistent release manager aggregates the results into a PR body, checks CI status, and prepares review responses.

12:40 — research and signal processing

Another workflow pulls together product research, market notes, and normalized records from heterogeneous sources. The public code uses in-memory data; the real system uses live integrations. The important part is the pattern: normalize first, then let specialized agents reason over a clean signal layer.

15:31 — market monitoring and portfolio automation

Cron-triggered jobs fan out into watchlist scanning, research summarization, and drift-based rebalance suggestions. A persistent research lead keeps a short memory of earlier outputs so the next loop can refine the thesis instead of starting from zero every time.

18:15 — personal ops and training adjustment

Inbox drafts, calendar planning, task capture, and workout adaptation happen inside the same framework. Recovery, sleep, equipment, and injury constraints shape the evening plan. The same orchestrator that handles GitHub workflows also powers genuinely useful personal automation.

Architecture at a glance

flowchart LR
    subgraph Channels
        CLI[CLI]
        Voice[Voice]
        Cron[Cron jobs]
        Hook[Webhooks]
        Node[Paired nodes]
    end

    Router[Channel router]
    Orch[Orchestrator]
    Policy[Policy engine]
    Registry[Skill registry]
    Audit[Audit log]
    Nodes[Node registry]

    subgraph Agents
        PM[PM / planner]
        Dev[iOS dev]
        QA[QA]
        Writer[Writer]
        Research[Research lead]
        Chief[Chief of staff]
    end

    subgraph Skills
        GH[GitHub Ops]
        RM[Research & Markets]
        PO[Personal Ops]
    end

    subgraph Connectors
        GitHub[(GitHub)]
        Market[(Market / news / data)]
        Workspace[(Workspace / tasks / wearable)]
        TTS[(TTS engines)]
    end

    CLI --> Router
    Voice --> Router
    Cron --> Router
    Hook --> Router
    Node --> Router

    Router --> Orch
    Orch --> Policy
    Orch --> Registry
    Orch --> Audit
    Orch --> Nodes

    Orch --> PM
    Orch --> Dev
    Orch --> QA
    Orch --> Writer
    Orch --> Research
    Orch --> Chief

    PM --> GH
    Dev --> GH
    QA --> GH
    Writer --> GH
    Research --> RM
    Chief --> PO

    GH --> GitHub
    RM --> Market
    PO --> Workspace
    PO --> TTS
Loading

A deeper architectural walkthrough lives in docs/architecture.md.

Demo skills

1. GitHub Ops Skill

Demonstrates issue triage, auto-fix planning, PR drafting, review-response generation, CI status summarization, and repo-facing automation patterns.

2. Research & Markets Skill

Demonstrates watchlist alerts, research digests, rebalance suggestions, feedback loops, and data normalization for downstream agents.

3. Personal Ops Skill

Demonstrates inbox triage, calendar planning, task capture, wearable-aware workout adaptation, paired-device routing, and TTS selection.

Agent orchestration patterns

One-shot specialist swarm
Great for bursty, parallel work such as PM/dev/QA/writer collaboration on a GitHub issue.

Persistent coordinator
Useful when a workflow needs memory across steps, such as a release manager following an issue from triage to PR to CI.

Feedback loop with bounded memory
Research/trading workflows benefit from retaining recent conclusions without contaminating unrelated tasks.

Isolated sessions
Every spawned agent has its own session and capability set, which prevents accidental state bleed across domains.

See src/agent_portfolio/workflows.py for the public implementation.

Security boundaries

  • Capabilities are explicit and fail closed.
  • Read and write scopes are separated.
  • Results are sanitized before they are logged or surfaced.
  • Agents only see their own session history.
  • The demo uses in-memory gateways so nothing touches live accounts.
  • Destructive actions are represented as simulated operations with auditable output.

More detail: docs/security.md.

Technical challenges solved

Normalizing wildly different APIs into one execution model
GitHub events, market feeds, calendar entries, wearable snapshots, and TTS engines all look different. This repo shows how to force them through the same Task -> Skill -> Artifact pipeline.

Coordinating parallel agents without hidden coupling
The orchestrator makes agent capabilities, preferred skills, and memory semantics explicit.

Making scheduled automation idempotent
The scheduler tracks minute-level triggers so a job does not re-fire just because the worker ticks twice in the same window.

Routing work to the right device and modality
A node registry selects the best paired device and a speech router chooses an engine based on privacy and availability.

Keeping automation safe enough to trust
Capability checks, redaction, and audit logs are built into execution instead of bolted on later.

The long-form version is in docs/technical-challenges.md.

Run the demos

python -m pip install -e .
agent-portfolio day-in-the-life
agent-portfolio github-demo
agent-portfolio market-demo
agent-portfolio pipeline-demo
agent-portfolio schedule-demo
agent-portfolio security-demo

Generated sample outputs are checked into examples/.

Repo layout

.
├── docs/
├── examples/
├── scripts/
├── src/agent_portfolio/
│   ├── agents.py
│   ├── channels.py
│   ├── demo_environment.py
│   ├── demo_data.py
│   ├── models.py
│   ├── nodes.py
│   ├── orchestrator.py
│   ├── scheduler.py
│   ├── security.py
│   ├── voice.py
│   ├── workflows.py
│   └── skills/
├── tests/
└── .github/workflows/ci.yml

What is intentionally omitted

  • proprietary prompts and heuristics
  • live API credentials and production connectors
  • private repos, schemas, and internal operational data
  • sensitive health, finance, and communication details

That is by design. The point of this repo is to show the system design, product thinking, and code quality without exposing the private implementation.

About

A multi-agent automation framework portfolio demonstrating how AI agents can coordinate software development, research, trading operations, and productivity workflows through secure integrations, scheduling, and parallel task orchestration.

Resources

License

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors