Skip to content

Add pi-supervisor skill#1

Open
shanelindsay wants to merge 1 commit into
tintinweb:masterfrom
shanelindsay:docs/pi-supervisor-docs-refresh
Open

Add pi-supervisor skill#1
shanelindsay wants to merge 1 commit into
tintinweb:masterfrom
shanelindsay:docs/pi-supervisor-docs-refresh

Conversation

@shanelindsay
Copy link
Copy Markdown

@shanelindsay shanelindsay commented Apr 17, 2026

Summary

  • add a new pi-supervisor skill under skills/pi-supervisor/SKILL.md
  • register the package skill entry in package.json
  • provide a self-contained hybrid skill/guide for supervision: when to use it, how goals work, what the supervisor sees, and how SUPERVISOR.md fits in

Detailed breakdown

  • skills/pi-supervisor/SKILL.md
    • adds the new skill
    • explains the supervision mental model
    • clarifies goal vs SUPERVISOR.md
    • covers drafting, starting, active-supervision boundaries, and goal-writing patterns
    • clarifies that each supervisor check is a fresh one-shot evaluation with no tools or skills
  • package.json
    • registers ./skills so the package exposes the new skill

Testing

  • not run (skill/package metadata only)

Copilot AI review requested due to automatic review settings April 17, 2026 19:46
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refines the pi-supervisor extension’s user-facing “goal” terminology and improves operational guidance/docs, while adding session-scoped preference persistence so model/sensitivity selections can act as defaults for future supervision runs.

Changes:

  • Rename UI/docs language from “outcome” → “goal” in key user-facing surfaces.
  • Persist session-scoped supervisor defaults (provider/modelId/sensitivity) separately from active supervision state.
  • Add a pi-supervisor skill guide and expand README guidance around goal-writing, supervision behavior, and defaults.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/ui/settings-panel.ts Renames the active “Outcome” settings item label to “Goal”.
src/types.ts Introduces SupervisorPrefs for session-scoped default settings.
src/state.ts Adds persistence + restore logic for supervisor-prefs alongside supervisor-state.
src/index.ts Uses session prefs when resolving defaults; allows setting model/sensitivity even when inactive.
src/engine.ts Updates prompt wording to “goal” in user prompt; converts idle continue decisions into a steer.
skills/pi-supervisor/SKILL.md Adds a new skill doc describing how/when to use pi-supervisor and how to write goals.
package.json Updates repository metadata and registers the skills directory for Pi.
README.md Updates wording/guidance for goals, settings/status behavior, and idle continue handling.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/engine.ts Outdated
Comment on lines +27 to +32
const BUILTIN_SYSTEM_PROMPT = `You are a supervisor monitoring a coding AI assistant conversation.
Your job: ensure the assistant fully achieves a specific outcome without needing the human to intervene.

You only see the supplied goal text, summary, recent conversation, and prior interventions.
You do not inspect the repository, run tools, or gather new evidence yourself.

Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The built-in system prompt still frames the task in terms of a “specific outcome”, but the rest of the extension (UI/README/commands/user prompt) now consistently uses “goal”. Since this text is part of what the supervisor model reads, keeping terminology consistent will reduce ambiguity—consider replacing “outcome” with “goal” throughout the built-in prompt (including the done/steering bullet points later in the prompt).

Copilot uses AI. Check for mistakes.
Comment thread src/state.ts
this.persistPrefs();
}

/** Restore state from session entries (finds the most recent supervisor-state entry). */
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

loadFromSession now restores both the most recent supervisor-state and supervisor-prefs entries, but the doc comment still says it only finds the most recent supervisor-state entry. Updating the comment to reflect the new behavior will help future maintainers understand the persistence model.

Suggested change
/** Restore state from session entries (finds the most recent supervisor-state entry). */
/** Restore the most recent supervisor-state and supervisor-prefs session entries, falling back to prefs derived from state if needed. */

Copilot uses AI. Check for mistakes.
Comment on lines +56 to +57
- it can either let the agent continue, inject a steer, or declare the goal
done when the agent is idle
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This description implies that when the agent is idle the supervisor might return continue, but the runtime now converts idle continue decisions into a steer to avoid stalling (and the built-in prompt says idle must be done/steer). Please reword this bullet to reflect that continue is only applicable while the agent is actively working (mid-turn).

Suggested change
- it can either let the agent continue, inject a steer, or declare the goal
done when the agent is idle
- while the agent is actively working (mid-turn), it can let the agent
continue; when the agent is idle, it can inject a steer or declare the
goal done

Copilot uses AI. Check for mistakes.
Comment thread package.json
Comment on lines 38 to 39
"video": "https://github.com/tintinweb/pi-supervisor/raw/master/media/demo.mp4",
"image": "https://github.com/tintinweb/pi-supervisor/raw/master/media/screenshot.png"
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After switching the repository/homepage URLs to shanelindsay/pi-supervisor, the pi.video and pi.image links still point at tintinweb/pi-supervisor. If the repo move is intentional, these asset URLs should be updated as well (or switched to relative paths) to avoid broken media in package metadata.

Suggested change
"video": "https://github.com/tintinweb/pi-supervisor/raw/master/media/demo.mp4",
"image": "https://github.com/tintinweb/pi-supervisor/raw/master/media/screenshot.png"
"video": "https://github.com/shanelindsay/pi-supervisor/raw/master/media/demo.mp4",
"image": "https://github.com/shanelindsay/pi-supervisor/raw/master/media/screenshot.png"

Copilot uses AI. Check for mistakes.
Comment thread package.json Outdated
Comment on lines 9 to 14
"url": "https://github.com/shanelindsay/pi-supervisor.git"
},
"homepage": "https://github.com/tintinweb/pi-supervisor#readme",
"homepage": "https://github.com/shanelindsay/pi-supervisor#readme",
"bugs": {
"url": "https://github.com/tintinweb/pi-supervisor/issues"
"url": "https://github.com/shanelindsay/pi-supervisor/issues"
},
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The repository/homepage/bugs URLs were updated to shanelindsay/pi-supervisor, but related package metadata (e.g. the top-level description currently mentioning “outcome”) is now inconsistent with the repo/docs “goal” terminology. Consider updating the remaining metadata fields for consistency so npm/pi users see the same phrasing everywhere.

Copilot uses AI. Check for mistakes.
@shanelindsay shanelindsay force-pushed the docs/pi-supervisor-docs-refresh branch from 8ac25f0 to fb324ec Compare April 17, 2026 19:52
@shanelindsay shanelindsay changed the title Improve pi-supervisor skill and docs clarity Add pi-supervisor skill Apr 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants