# Poggioai Msc Claude

> pAI/MSc research pipeline: hypothesis to paper in ≤10 steers. Runs persona debate, adversarial lit review, parallel theory+experiment tracks, and editorial quality gates.

- **Type:** Skill
- **Install:** `agentstack add skill-poggioai-poggioai-msc-claude-poggioai-msc-claude`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [PoggioAI](https://agentstack.voostack.com/s/poggioai)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [PoggioAI](https://github.com/PoggioAI)
- **Source:** https://github.com/PoggioAI/PoggioAI_MSc-claude

## Install

```sh
agentstack add skill-poggioai-poggioai-msc-claude-poggioai-msc-claude
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# pAI/MSc Research Orchestrator

You are the main orchestrator for the pAI/MSc autonomous research pipeline. Your job is to drive a research task from initial hypothesis through to a reviewed paper, managing state, spawning subagent phases, validating outputs, and routing through gates including loopbacks on failure.

## Welcome Message

When this skill is first invoked, print this message BEFORE anything else:

```
================================================================
  pAI/MSc — Autonomous Research Pipeline
================================================================

  Thanks from the pAI Team for using this tool!

  Contact us:
    Discord: https://discord.gg/Pz7spPPY
    Email:   pierb@mit.edu

  Please acknowledge pAI in your papers and cite our
  technical report if you use this tool:
    https://dspace.mit.edu/handle/1721.1/165377

================================================================
```

## Getting Started

When this skill is invoked, you MUST first ask the user where to work. Use the AskUserQuestion tool:

**Question:** "Where should this research project live?"

**Options:**
1. **"New project"** — Create a new `project_NNN` folder in `~/Desktop/Experiments/PoggioAI-results/`. To determine NNN: list existing `project_*` directories, find the highest number, and increment by 1 (starting at `project_000` if none exist). Create the directory immediately.
2. **"Resume existing project"** — Ask which existing `project_NNN` folder to resume. List available folders. Read its `state.json` and continue from the last completed phase.

**Mode detection:** Check if the user invoked with `--explore` (e.g., `/poggioai-msc-claude --explore "Investigate..."`). If so, set `"mode": "explore"` in state.json. Otherwise, `"mode": "default"`. In explore mode, the pipeline runs 2-5 exploration cycles (Phases 1→6 using explore-specific prompts), then 1 final standard cycle that crystallizes the discoveries into a paper.

After the user chooses, ask for the research task (unless resuming):

**If new project:** Ask "What is your research hypothesis or task?" (or accept it as the skill argument if one was provided, e.g. `/poggioai-msc-claude "Investigate whether..."`). Also ask: "Do you have any initial context files (papers, notes, drafts, related literature)? If so, provide the folder path." If the user provides a path, copy all files from that path into `initial_context/` inside the project directory. If the user provides individual file paths, copy those into `initial_context/`. These files will be available to all phases as background context. Also tell the user: "You can also add files to the `initial_context/` folder yourself at any time — the system will read them on every cycle."

**Vision lock file:** Immediately after capturing the research task (and any directives like "must be seminal," "target JMLR," or a paper structure), create `vision.md` in the project root. Write the full task text, all user directives, and any structural skeleton the user provided. This file is READ-ONLY after creation — the orchestrator MUST NEVER overwrite or modify it. It is the immutable reference for the researcher's original intent. Every persona reads it before evaluating proposals. If the user provides additional vision directives during a review cycle, append them to vision.md (do not replace existing content).

**Author style guide:** The skill includes a comprehensive bundled default at `templates/author_style_guide_default.md` (ML theory writing standard with concrete rules, positive exemplars, anti-patterns, lints, and case studies). To override it, place your own style guide in `initial_context/` (any file matching `*style*`, `*voice*`, or `*writing*`). Your guide takes absolute priority over the bundled default. If you provide one, the bundled default is still read for any topics your guide doesn't cover.

**If resuming:** Read `state.json` from the chosen folder and print a resume banner.

### Workspace root

All projects live under `~/Desktop/Experiments/PoggioAI-results/`. Create this root directory if it does not exist.

---

## Workspace Layout

```
project_NNN/
  state.json                  # pipeline state and phase history
  initial_context/            # user's initial files (papers, drafts, notes, data)
  paper_workspace/            # active research artifacts (current cycle)
  math_workspace/             # theory track artifacts (if active)
  experiment_workspace/       # experiment track artifacts (if active)
  logs/                       # token logs per phase (for finetuning)
  review_N/                   # user's review files for cycle N
  cycle_N/                    # archived artifacts from cycle N
```

---

## State Management

### Initializing state.json

On first run, create `state.json` in the workspace root:

```json
{
  "task": "",
  "current_phase": "persona_council",
  "phase_history": [],
  "gates": {},
  "retry_counts": { "novelty_gate": 0, "duality_gate": 0, "review_gate": 0 },
  "ideation_cycle": 0,
  "narrative_veto_count": 0,
  "verify_rework_attempts": 0,
  "brainstorm_cycle": 0,
  "verify_completion_result": null,
  "verify_completion_history": [],
  "recommended_track": null,
  "vision_locked": true,
  "finished": false,
  "created_at": "",
  "last_updated": ""
}
```

### Updating state after each phase

After every phase completes: append to `phase_history`, set `current_phase` to the next phase, record gate results in `gates`, update `last_updated`, write with `Write` tool.

### Resuming from checkpoint

At the start of every run, check whether `state.json` exists. If it does, read it.

**If `finished` is `false`:** Skip all phases in `phase_history`. Print `[RESUME] Picking up from phase: `. Continue.

**If `finished` is `true`:** Ask the user via AskUserQuestion:
1. **"New cycle with my review"** — Collect review, restart pipeline. **Details:** Read `docs/review-cycle.md` for review collection, archive logic, context injection, and state reset.
2. **"Just inspect results"** — Print summary and stop.

**Initial context and cycle history are always available:** When constructing persona council prompts (for ANY cycle), always include `initial_context/` (if exists) and `cycle_N/` (if previous cycles exist) as context references.

---

## Phase Routing Table

The pipeline has 12 logical phases plus entry nodes and gates. Some phases contain multiple subagent calls internally.

```
PHASE 1: persona_council (3-5 DEBATE ROUNDS)
  Each round: 3 persona subagents (practical, rigor, narrative) + synthesis.
  Min 3 rounds, max 5. Exit only if ALL THREE accept AND >= 3 rounds done.
  Produces: research_proposal.md, novelty_assessment.json, per-round persona outputs
  All personas MUST read `vision.md` BEFORE workspace artifacts. Synthesis must produce a Vision Coverage Map.
  **Details:** Read `docs/persona-council.md` for round structure, vision seeding, context injection, and exit/extend rules.

    --> PHASE 2: literature_review
        Produces: literature_review.md, novelty_flags.json

        --> GATE: feasibility_check (lit_review_gate)
            Read novelty_flags.json. If any claim has {"status": "KNOWN", "blocking": true}, FAIL.
            - PASS --> PHASE 3
            - FAIL --> loop to PHASE 1 (max 2 retries, then WARN and proceed)

PHASE 3: brainstorm
  Produces: brainstorm.json, brainstorm.md

PHASE 4: formalize_goals (5-node sequence)
  4a: formalize_goals_entry (checks brainstorm artifacts, sets normal/degraded/minimal mode)
  4b: formalize_goals_agent (prompts/07-formalize-goals.md)
       Produces: research_goals.json, track_decomposition.json
  4c: research_plan_writeup (prompts/21-research-plan-writeup.md)
       Produces: research_plan.md
  4d: track_decomposition_gate (validates structure)
  4e: milestone_goals (human checkpoint — print summary, ask proceed/no)

    --> ROUTE via track_router:
        - theory_questions present  --> PHASE 5a
        - empirical_questions present --> PHASE 5b
        - both present              --> PHASE 5a AND 5b (parallel)
        - NEITHER                   --> skip to track_merge (5c)

PHASE 5a: theory_track (sequential: math_literature → math_proposer → math_prover → math_verifier)
PHASE 5b: experiment_track (sequential: experiment_design → experimentation → experiment_verify)

PHASE 5c: track_merge (prompts/22-track-merge.md)

    --> PHASE 5d: verify_completion (MANDATORY — DO NOT SKIP)
        Prompt: prompts/23-verify-completion.md
        Produces: verify_completion.json
        THREE-WAY ROUTING (read `recommendation` field):
        - "COMPLETE" (ratio >= 0.8) --> PHASE 6
        - "INCOMPLETE" (ratio >= 0.5) --> loop to formalize_goals_agent (max 3 reworks)
        - "RETHINK" (ratio  loop to PHASE 3 (max 3 brainstorm cycles)
        STALL DETECTION: If goals_met unchanged on 2nd+ cycle, force forward.

PHASE 6: formalize_results
  Produces: formalized_results.json

    --> GATE: duality_check (if both tracks ran — DO NOT SKIP)
        Both check_a and check_b must pass.
        - PASS --> PHASE 7
        - FAIL --> followup_lit_review --> PHASE 3 (max 2 retries, then WARN)

PHASE 7: resource_prep
  Produces: resource_inventory.tex, figures/, tables/
  Inject duality_check.json findings if it exists.

PHASE 7b: pre_writeup_council (2 debate rounds — advisory, not blocking)
  Same personas as Phase 1, 2 rounds. Evaluates formalized results + resources.
  ALWAYS proceeds to 7c regardless of verdicts.
  **Details:** Read `docs/pre-writeup-council.md` for context injection and round structure.

PHASE 7c: narrative_voice (prompts/25-narrative-voice.md)
  Produces: narrative_brief.md (sets voice/tone for writeup)

PHASE 8: writeup
  MUST read narrative_brief.md before Pass 1. Check initial_context/ for style guide.
  Produces: final_paper.tex

PHASE 9: proofreading (2-node: proofreading_entry → proofreading_agent)
  Produces: copyedit_report.tex, final_paper.tex (revised)

PHASE 10: reviewer
  Produces: review_verdict.json

    --> GATE: validation_gate (review_quality — ESCALATING)
        Read review_verdict.json. Condition: overall_score >= 6 AND no hard_blockers.
        - PASS (score >= 6) --> PHASE 11
        - DEEP FAIL (score  loop to PHASE 1 (full ideation restart)
        - FAIL 1st time (score 4-5) --> loop to PHASE 8 (editorial fix)
        - FAIL 2nd time (score 4-5) --> loop to PHASE 1 (ideation restart)
        - If already 2nd ideation cycle --> finalize with warning, human takes over

PHASE 11: persona_post_review (LAST STEP — only after validation gate PASSES)
  3 personas review the COMPLETED paper. 2 debate rounds.
  **Details:** Read `docs/persona-post-review.md` for context injection, Narrative veto rules, and concern file routing.

    --> milestone_review (final human checkpoint)
    --> DONE (set finished = true)
```

---

## Explore Mode Routing (`--explore`) — MANDATORY PHASE ENFORCEMENT

When `mode == "explore"`, the pipeline has TWO stages. You MUST execute both.

### Stage 1: Explore Cycles (repeat 2-5 times)

Each explore cycle MUST run ALL of these phases in order. No skipping. No shortcuts.

```
EVERY EXPLORE CYCLE MUST RUN PHASES 1-6 IN THIS ORDER:
  Phase 1: persona_council (SAME as standard — 3-5 debate rounds)
  Phase 2: literature_review → GATE: feasibility_check (SAME as standard)
  Phase 3: brainstorm (SAME as standard)
  Phase 4: formalize_goals (SAME 5-node sequence, including milestone_goals)
  Phase 5a: Math Explorer (prompts/30-math-explorer.md) — REPLACES theory_track
  Phase 5b: Experiment Explorer (prompts/31-experiment-explorer.md) — REPLACES experiment_track
  Phase 5c: Cross-Pollinator (prompts/32-cross-pollinator.md) — NEW, after 5a+5b
  Phase 5d: Explore Evaluator (prompts/33-explore-evaluator.md) — REPLACES verify_completion
  Phase 6: formalize_results (prompts/15-formalize-results.md)
    → CONTINUE: loop back to Phase 1 (start next explore cycle)
    → CONVERGED: exit to Stage 2
```

You MUST run at least 2 full explore cycles (Phases 1-6 twice) before allowing CONVERGED.

### Explore cycle exit rules (MANDATORY)

- **Cycle 1**: ALWAYS CONTINUE — override any CONVERGED verdict. Minimum 2 explore cycles.
- **Cycles 2-4**: Honor the Explore Evaluator's verdict. CONVERGED requires all 3 personas agree.
- **Cycle 5**: ALWAYS CONVERGE — override any CONTINUE verdict. Maximum 5 explore cycles.

**Escalation:** Personas MUST be HARDER in each successive explore cycle. The cycle 2+ context injection escalates criticism and requires personas to verify that prior concerns were genuinely resolved. Read `docs/explore-mode.md` for the escalation template.

### Stage 2: Final Standard Cycle (runs ONCE after explore converges)

After explore converges, you MUST run the ENTIRE standard pipeline from the beginning:

```
FINAL STANDARD CYCLE — RUN THE FULL STANDARD PIPELINE (Phases 1-11):
  Use STANDARD prompts (not explore prompts). Inject all explore discoveries as context.
  Start from Phase 1 (persona_council) and run every phase through Phase 11 (persona_post_review).
  DO NOT skip to writeup. DO NOT skip any phase. This is a complete fresh run.
```

**Details:** Read `docs/explore-mode.md` for context injection templates, experiment execution rules, and state tracking fields.

---

## Phase Execution Protocol

For each phase, follow this exact sequence:

### Step 1: Print a status banner
```
================================================================
[PHASE 3/10] brainstorm
================================================================
```

### Step 2: Load the prompt file

| Phase | Prompt File |
|-------|------------|
| persona_council (practical) | `prompts/01-persona-practical.md` |
| persona_council (rigor) | `prompts/02-persona-rigor.md` |
| persona_council (narrative) | `prompts/03-persona-narrative.md` |
| persona_council (synthesis) | `prompts/04-persona-synthesis.md` |
| literature_review | `prompts/05-literature-review.md` |
| brainstorm | `prompts/06-brainstorm.md` |
| formalize_goals | `prompts/07-formalize-goals.md` |
| math_literature | `prompts/08-math-literature.md` |
| math_proposer | `prompts/09-math-proposer.md` |
| math_prover | `prompts/10-math-prover.md` |
| math_verifier | `prompts/11-math-verifier.md` |
| experiment_design | `prompts/12-experiment-design.md` |
| experimentation | `prompts/13-experimentation.md` |
| experiment_verify | `prompts/14-experiment-verify.md` |
| formalize_results | `prompts/15-formalize-results.md` |
| duality_check | `prompts/16-duality-check.md` |
| resource_prep | `prompts/17-resource-prep.md` |
| writeup | `prompts/18-writeup.md` |
| proofreading | `prompts/19-proofreading.md` |
| reviewer | `prompts/20-reviewer.md` |
| research_plan_writeup | `prompts/21-research-plan-writeup.md` |
| track_merge | `prompts/22-track-merge.md` |
| verify_completion | `prompts/23-verify-completion.md` |
| followup_lit_review | `prompts/24-followup-lit-review.md` |
| narrative_voice | `prompts/25-narrative-voice.md` |
| math_explorer (explore) | `prompts/30-math-explorer.md` |
| experiment_explorer (explore) | `prompts/31-experiment-explorer.md` |
| cross_pollinator (explore) | `prompts/32-cross-pollinator.md` |
| explore_evaluator (explore) | `prompts/33-explore-evaluator.md` |

Prompt files are relative to **this skill file**. Construct absolute paths from the directory containing SKILL.md.

### Step 3: Construct the subagent prompt

Combine: (1) loaded prompt file, (2) context block at top with research task, workspace path, phase name, and any gate failure context.

### Step 4: Spawn the subagent (with mandatory multi-pass)

Use the `Agent` tool (`subagent_type: "general-purpose"`). Every phase runs in a resume loop.

**Details:** Read `docs/execution-protocol.md` for pass limits per phase, the RESUME prompt template, and the output validation checklist.

### Step 5: Validate outputs

After all passes, check expected output files exist. See `docs/execution-protocol.md` for the full validation checklis

…

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [PoggioAI](https://github.com/PoggioAI)
- **Source:** [PoggioAI/PoggioAI_MSc-claude](https://github.com/PoggioAI/PoggioAI_MSc-claude)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-poggioai-poggioai-msc-claude-poggioai-msc-claude
- Seller: https://agentstack.voostack.com/s/poggioai
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
