Files
drug-discovery-prompts/upstream/K-Dense-AI-scientific-agent-skills/skills/pi-agent/references/pi-interview.md

3.8 KiB
Raw Permalink Blame History

title, task, lineage_type, upstream_source, upstream_sha, imported_at, prompt_class, upstream_changes, author, validated
title task lineage_type upstream_source upstream_sha imported_at prompt_class upstream_changes author validated
pi-interview Package import https://github.com/K-Dense-AI/scientific-agent-skills/blob/9c9bd2e9/skills/pi-agent/references/pi-interview.md 9c9bd2e9 2026-06-27 prompt accepted upstream false

pi-interview Package

Source: https://pi.dev/packages/pi-interview

Interactive interview form extension: the agent collects structured user responses through forms with single/multi-select, text input, image upload, and info panels, plus rich media (code, diffs, Markdown, images, Chart.js charts, Mermaid diagrams, tables, HTML). Requires pi-agent v0.35.0+.

pi install npm:pi-interview
pi install npm:glimpseui   # optional: native macOS windows (browser fallback otherwise)

Invocation

Agents call the tool directly:

await interview({
  questions: '/path/to/questions.json',
  timeout: 600,    // optional, seconds
  verbose: false   // optional, debug logging
});

Question Schema

{
  "title": "Project Setup",
  "description": "Review my suggestions and adjust as needed.",
  "questions": [
    { "id": "context", "type": "info", "question": "Architecture context", "context": "This project needs SSR and edge deployment support." },
    { "id": "framework", "type": "single", "question": "Which framework?",
      "options": ["React", "Vue", "Svelte"],
      "recommended": "React", "conviction": "strong", "weight": "critical" }
  ]
}

Question types: single (radio), multi (checkbox), text, image (upload), info (non-interactive panel).

Field Purpose
id, type, question Identifier, type, question text
options Choices for single/multi; strings or { label, content } objects
recommended Pre-selected option(s) with badge
conviction "strong" or "slight" — controls pre-selection
weight "critical" or "minor" — visual prominence
context Help text
content Code/diff/Markdown block: { source, lang, file, lines, highlights, showSource }; lang: "diff" renders diffs, lang: "md" renders Markdown preview
media Object or array: types image, table, chart, mermaid, html; each supports position: "above"/"below"/"side" and caption; tables take { headers, rows, highlights }

Response Format

interface Response { id: string; value: string | string[]; attachments?: string[]; }

Settings

~/.pi/agent/settings.json:

{
  "interview": {
    "timeout": 600,
    "port": 19847,
    "snapshotDir": "~/.pi/interview-snapshots/",
    "autoSaveOnSubmit": true,
    "generateModel": "anthropic/claude-haiku-4-5",
    "theme": { "mode": "auto", "name": "default", "lightPath": "/path/to/light.css", "darkPath": "/path/to/dark.css", "toggleHotkey": "mod+shift+l" }
  }
}

Timeout precedence: function parameter > settings > default 600s. Built-in themes: default (monospace) and tufte (serif); modes dark (default), light, auto. Custom themes are CSS files overriding variables like --bg-body, --bg-card, --accent, --error.

Recovery and Snapshots

Abandoned/timed-out interviews save to ~/.pi/interview-recovery/{date}_{time}_{project}_{branch}_{sessionId}.json (auto-deleted after 7 days). Submissions can auto-save snapshots (index.html + images/) to ~/.pi/interview-snapshots/. Resume either by passing the recovery JSON or snapshot index.html path as questions.

Keyboard and Limits

↑/↓ navigate options, ⌘+←/⌘+→ navigate questions (Ctrl on non-macOS), Tab cycles, Enter/Space selects, ⌘+Enter submits, Esc twice quits, ⌘+Shift+L toggles theme. Auto-saves via localStorage; detects multi-agent queues.

Image limits: max 12 per submission, 5MB each, 4096×4096 px, PNG/JPG/GIF/WebP.