Development Standard

Interview

Reads seven constitutional files (TELOS, DA_IDENTITY, PRINCIPAL_IDENTITY, PROJECTS, system prompt, PRINCIPAL_TELOS, ARCHITECTURE_SUMMARY) via TelosFreshness, surfaces stalest items, drives contextual peer conversation.

03
Workflows
00
References
10
Triggers
medium
Effort

The Problem

A fresh AI session doesn't know your goals, your projects, or how your thinking has shifted since the last time you talked. You can paste in context manually every time, but it goes stale, and the model has no way to tell which parts are still true. After a few weeks, your TELOS file drifts from reality — sections you've moved past stay current, constraints you've resolved never get updated, and the DA keeps optimizing for a version of you from three months ago.

How This Skill Approaches It

Interview reads seven constitutional files (TELOS, DA_IDENTITY, PRINCIPAL_IDENTITY, PROJECTS, system prompt, PRINCIPAL_TELOS, ARCHITECTURE_SUMMARY) and checks them against staleness thresholds via TelosFreshness. A routing decision runs first: if the scan finds Phase 0 targets with completeness below 80 (DA name still 'PAI', identity still 'User', projects still sample rows), it runs Phase0Setup to get the system grounded before doing anything else. For populated installs, it runs ContextCheckin — surfacing the stalest sections by age and driving a focused peer conversation: one entry at a time, per typed ID on structured sections (G3, M0, P2), section-level on prose. Stop signals ('enough', 'later') exit cleanly; every approved edit bumps the freshness timestamp via TelosFreshness.ts so the staleness signal stays accurate. ContextAudit surfaces TBD markers left in files. The whole thing is a context debt payment, not a form fill.

  • Routes to ContextCheckin; falls back to Phase0Setup on fresh install
  • ContextAudit surfaces TBD markers
Not for single edits (Telos), bulk intake (Migrate), identity-only (_PROFILE)

In Action

What you say to your DA, and what the Interview skill actually does.

  • You say "/interview"
    Runs InterviewScan.ts to detect whether the system is freshly installed or populated, routes to Phase0Setup (if DA name/identity are still defaults) or ContextCheckin (if the system is live), then surfaces the stalest TELOS sections and drives a focused conversation to update them one at a time.
  • You say "what's stale in my context"
    Runs ContextCheckin via TelosFreshness — reads all seven constitutional files, computes age per section, surfaces the ones past their staleness threshold, and opens a peer conversation about whether each item still holds rather than asking you to restate everything from scratch.

Inside the Skill

The thinking, frameworks, and architecture that distinguish this skill from a generic version of the same task.

What It Does

Interview reads your constitutional files — TELOS, identity, projects, system prompt, architecture — checks their freshness, surfaces the stalest items, and drives a contextual peer conversation to refresh them. On a populated system it runs a context check-in; on a fresh install it falls back to first-time setup.

The Problem

The files that define who you are and what you're working toward drift out of date the moment you stop looking at them. A goal you set in January may be done, dead, or still right — but nobody re-reads the whole TELOS to find out, so the context the system runs on slowly rots. The usual fix is a blank "what's your mission?" prompt, which ignores everything already on file and makes you repeat yourself. This skill reads what's there first, flags only what's gone stale, and asks "still right?" instead of starting from zero.

How It Works

The skill reads the constitutional files via the freshness tooling, scores each section's staleness, and routes to the right workflow — a check-in on a populated system, or first-time setup on a fresh one. Staleness is a priority signal, not a failure flag.

Quick Reference

  • The TELOS is on file. Read it before asking. Generic "what's your mission?" prompts are forbidden when TELOS is populated.
  • Staleness is information, not failure — a 95-day-old Goals section might still be right; the prompt is "still right?", not "you're behind."
  • Per-entry on typed-ID sections (G3, M0, P2…), section-level on prose (Current State, Sparks).
  • Bump on every approved edit: bun ~/.claude/PAI/TOOLS/TelosFreshness.ts --bump <slug>. Without this the staleness signal degrades to noise.
  • Stop signals are sacred. "Enough" / "stop" / "later" exits gracefully. State persists in the file itself.
  • ID-stability rule: G3 stays G3 even when edited or dropped; new entries get the next sequential ID.

Gotchas

  • Migration must run once before TelosCheckin works. A TELOS without YAML frontmatter (no last_updated:) returns fileUpdated: null and every section reads as stale. Run bun ~/.claude/PAI/TOOLS/MigrateTelosFreshness.ts once; idempotent and content-preserving (verifies sha256 of stripped content).
  • The slug is normalized: "Current State" → current_state, "Wrong (Things I've been wrong about)" → wrong, "2036 — A Day in the Life…" → 2036. Always run heading text through sectionSlug() from TelosFreshness.ts.
  • Pulse caches freshness for 60s. After bumping, the next /api/telos/freshness/summary call returns the cached value until invalidation. Send /reload (POST) to invalidate the cache immediately, or wait 60s.
  • TelosRenderer (GenerateTelosSummary.ts) preserves the markers. It splits by ^## headings; the per-section HTML comments live inside the section body and are not re-emitted in PRINCIPAL_TELOS.md. Safe to run after edits.
  • The scanner shares the freshness reader. InterviewScan.ts calls readTelosFreshness() once at startup and adds age_days, threshold_days, stale to every Phase 1+ target row. Stale sections get a +200 priority bump so they naturally rise in --next output.
  • Voice notifications are "only on actual writes." Don't voice-confirm every prompt — only after a real Edit lands. The voice channel is a low-frequency signal; preserving that is what makes it land when it matters.

Related

  • /Telos — edit a single TELOS section directly (without the conversational walk).
  • /Migrate — intake content from other sources (one-shot classification, not an interview).
  • /_PROFILE — manage PRINCIPAL_IDENTITY directly.
  • Skill("ISA") — interview an ISA (different artifact, different workflow).

Workflows · 3

  1. 01
    ContextCheckin Workflows/ContextCheckin.md

    default /interview on a populated system; context check-in, telos check-in, whats stale, how are we doing on…, still on…, review context

  2. 02
    Phase0Setup Workflows/Phase0Setup.md

    fresh install; DA name still reads PAI; PRINCIPAL_IDENTITY still reads User; PROJECTS sample-row only; .env missing required keys

  3. 03
    TelosCheckin *(deprecated stub)* Workflows/TelosCheckin.md` (redirects to ContextCheckin)

    back-compat for explicit telos checkin routing

How to Invoke

Say any of these to your DA and PAI activates the Interview skill automatically:

  • "/interview"
  • "resume interview"
  • "context check-in"
  • "telos check-in"
  • "what's stale"
  • "freshness check"
  • "fresh PAI install"
  • "configure DA name"
  • "review TELOS"
  • "quarterly context refresh"

Or invoke explicitly:

Skill("Interview")

Want PAI to do this for you?

Install PAI on your machine — your DA gets the Interview skill plus 44 others, all hooked into one Life OS.