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.
- 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
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.
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
A deeper architectural walkthrough lives in docs/architecture.md.
Demonstrates issue triage, auto-fix planning, PR drafting, review-response generation, CI status summarization, and repo-facing automation patterns.
Demonstrates watchlist alerts, research digests, rebalance suggestions, feedback loops, and data normalization for downstream agents.
Demonstrates inbox triage, calendar planning, task capture, wearable-aware workout adaptation, paired-device routing, and TTS selection.
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.
- 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.
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.
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-demoGenerated sample outputs are checked into examples/.
.
├── 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
- 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.