A dual-mode multi-agent review tool built on the Anthropic Claude API. Submit a research proposal or project outline and receive structured feedback from expert reviewers simultaneously, synthesized into an actionable summary.
Two audiences, one tool:
- Student mode — scaffolded feedback for ORCA student interns at UVM
- Advisor mode — direct critical analysis for faculty, program managers, and grant reviewers
Each analysis runs one parallel Claude API call per selected reviewer role, each grounded in an agency or program reference document. A final synthesis call consolidates the feedback into a structured summary tuned to the selected mode.
| Reviewer | Focus |
|---|---|
| Research Methodologist | Study design, IRB requirements, scope feasibility, data collection validity |
| VT Dept of Environmental Conservation (DEC) | Act 250, stormwater/wetland/wastewater permits, water quality, groundwater, PFAS |
| VT Agency of Natural Resources (ANR) | Wildlife habitat, biodiversity, rare species, forest ecology, environmental justice |
| VT Dept of Health (VDH) | Human subjects, HIPAA, health data access, health equity |
| VT Agency of Agriculture, Food & Markets (AAFM) | Required Agricultural Practices, farm engagement, water/ag nexus, food safety |
| NSF Program Officer | Intellectual Merit, Broader Impacts, data management, EPSCoR, budget compliance |
| NIH Program Officer | Review criteria, human subjects, rigor/reproducibility, Vermont health data risks |
| Sloan Foundation Program Officer | Program fit, scientific rigor, public good value, measurable outcomes, LOI-first process, budget-scope alignment |
| Wellcome Program Officer | Bold/creative research criteria, eligibility gates, data sharing mandate, LMIC access, budget justification |
| UVM IRB Specialist | IRB classification, CITI training, consent, HIPAA/FERPA, data security |
| UVM Sponsored Research Officer | OSP sign-off, F&A rates, Uniform Guidance, export control, subawards |
Each role has two system prompt variants — same context document, different tone and framing depending on mode.
Reviewers are individually selectable via checkboxes — none are selected by default. Select at least one to run an analysis.
Student mode produces:
- Critical Issues to Resolve Before Starting
- Compliance Steps Required
- Key Risks to Manage
- Domain Knowledge Gaps
- Questions to Bring to Your Faculty Advisor
Advisor mode produces:
- Where Reviewers Agree
- Key Conflicts and Tensions
- Regulatory and Compliance Exposure
- Strategic Gaps and Blind Spots
- Recommended Next Steps
agentic-team/
├── app.py # Streamlit web UI (main entry point)
├── requirements.txt
├── .env # Your API key (never commit this)
├── .env.example # Safe committed placeholder
├── CHANGELOG.md # Design evolution log
├── persona_context/
│ ├── research_methodologist_context.md
│ ├── vt_dec_context.md
│ ├── vt_anr_context.md
│ ├── vt_health_context.md
│ ├── vt_agriculture_context.md
│ ├── nsf_program_officer_context.md
│ ├── nih_program_officer_context.md
│ ├── sloan_program_officer_context.md
│ ├── wellcome_program_officer_context.md
│ ├── uvm_irb_context.md
│ └── uvm_sponsored_research_context.md
git clone <repo-url>
cd agentic-team
pip install -r requirements.txt- Go to console.anthropic.com
- Navigate to Settings → API Keys → Create Key
- Add at least $5 in credits under Settings → Billing
Copy .env.example to .env and add your key:
cp .env.example .envEdit .env:
ANTHROPIC_API_KEY=sk-ant-...
Never commit .env — it is listed in .gitignore.
streamlit run app.pyOpens at http://localhost:8501.
Press Ctrl+C in the terminal where Streamlit is running.
If the process is stuck or running in the background:
# Find the process
lsof -i :8501
# Kill it by PID
kill <PID>The sidebar toggle switches between two modes:
| Mode | Audience | Reviewer tone | Synthesis structure |
|---|---|---|---|
| Student | ORCA interns | Explains concepts, flags unknowns | Blockers → compliance → risks → gaps → advisor questions |
| Advisor | Faculty, program managers, grant reviewers | Direct, assumes domain fluency | Agreement → conflicts → compliance exposure → blind spots → next steps |
Model defaults change automatically with mode but can be overridden.
| Option | Model | Best for |
|---|---|---|
| Haiku (fast, low cost) | claude-haiku-4-5-20251001 |
Development, student mode |
| Sonnet (balanced) | claude-sonnet-4-6 |
Default production use |
| Opus (most capable) | claude-opus-4-7 |
High-stakes proposals |
Student mode defaults: Haiku for reviewers, Sonnet for synthesis. Advisor mode defaults: Sonnet for reviewers, Sonnet for synthesis.
Estimated cost per analysis: ~$0.02–0.10 depending on mode, model, and input length.
Each reviewer role loads a markdown reference file from persona_context/. To improve reviewer quality:
- Edit the relevant
.mdfile inpersona_context/ - Add specific local knowledge: permit numbers, agency contacts, program names, known constraints
- Keep files under ~8,000 tokens for best cost/performance ratio
To add a new reviewer role:
- Create a new context file in
persona_context/ - Add an entry to the
ROLESdict inapp.py— include bothstudentandadvisorprompt variants - The UI will automatically render a checkbox for the new reviewer
The UI accepts optional reference URLs (one per line). Each URL is fetched at run time, stripped of navigation/scripts, and appended to every reviewer's user message. Capped at 8,000 characters per URL. Sites that block automated access return a graceful error rather than crashing.
- API key is stored in
.envand loaded withoverride=Trueto prevent Windows system environment variables from shadowing it .envis gitignored — never commit it- No user data is stored or logged by this application
- All API calls go directly to Anthropic — no third-party services