Portfolio Agentic Loop System

An adversarial agentic system that generates improved portfolio variations through iterative feedback loops between improvement and hiring manager agents.

What It Does

The system creates portfolio variations optimized for senior design and product roles by:

  1. Improvement Agent - Analyzes the baseline portfolio and proposes enhancements
  2. Hiring Manager Agents - Evaluate each variation from the perspective of 10 target roles
  3. Feedback Loop - Iterations continue until 10 approved variations are generated

Target Roles

See target-roles.txt for the complete list. Currently optimized for:

Files

Core System

Agent Prompts

Legacy/Alternative Implementations

Output Structure

Each portfolio variation is saved in archive/portfolio-agentic-{timestamp}/:

Summary Files

Running the System

Quick Start

cd /workspace/portfolio

# Standard run
node coordinator.mjs

# Interactive (your approval for each)
node coordinator.mjs --interactive

# Preview (test without saving)
node coordinator.mjs --preview

# See all options
node coordinator.mjs --help

Control Features

The system has 5 powerful control features:

  1. Interactive Approval — Manual approval before saving each variation
  2. Preview Mode — Test settings without writing files
  3. Variation Management — List, star, delete, compare variations
  4. Focus Mode — Direct improvements toward specific goals
  5. Role-Specific Generation — Target subset of roles

See CONTROL-FEATURES.md for full documentation and DEMO.md for examples.

Common Commands

# List variations
node coordinator.mjs --list

# Star a favorite
node coordinator.mjs --star=portfolio-agentic-1788768875441

# Compare to baseline
node coordinator.mjs --compare=portfolio-agentic-1788768875441

# Delete unwanted
node coordinator.mjs --delete=portfolio-agentic-1788768853384

# Generate with focus
node coordinator.mjs --focus="Add quantifiable metrics" --interactive

# Target specific roles
node coordinator.mjs --roles="Head of Product Design,VP Product Design"

Resume from State

If interrupted, re-run node coordinator.mjs - it will resume from loop-state.json.

Fresh Start

rm loop-state.json
node coordinator.mjs

How It Works

Iteration Loop

  1. Generate Variation - Improvement agent creates new portfolio version
  2. Evaluate - 10 hiring manager agents score it (0-100) for their role
  3. Decision - Average score ≥75 = approved, <75 = iterate with feedback
  4. Repeat - Until 10 approved variations exist

Approval Criteria

Results

Last run completed: 2026-09-07

View all variations: /portfolio/archive/

Baseline

The system improves upon the baseline portfolio at: /workspace/portfolio/archive/portfolio-2026-09-02T151008/

Eleventy Integration

Generated variations are:

Build normally with Eleventy:

npx @11ty/eleventy --serve

Future Enhancements

Current implementation uses simulated agents. Next steps:

  1. Real Task Agents - Replace simulated evaluations with actual Cloud Agent Task calls
  2. Content Generation - Have agents write actual enhanced project descriptions
  3. Deeper Feedback Loop - Feed specific hiring manager concerns back to improvement prompts
  4. Role-Specific Variations - Generate targeted versions per role instead of optimizing for all
  5. A/B Testing - Track which variations perform better in real hiring scenarios