Skip to content
AI & Agents
Skill

/Interview

Refreshes TELOS and current-state claims against observed evidence (Oura, Conduit, git, expenses) and drafts corrections for ratification. USE WHEN /interview, resume interview, context check-in, telos check-in, what's stale, stale data, freshness check, update current state,

From plugin
lifeos
20k97 skills13 agents34 commands

Claude Code

$ npx -y skills add danielmiessler/lifeos --skill Interview --agent claude-code

SKILL.md

Interview.SKILL.md
name: Interview
evals:
  manual:
    reason: "current-state and TELOS corrections require the principal's ratification against personal evidence"
    falsifier: "the principal rejects a proposed correction as unsupported, stale, or wrongly scoped"
metadata:
  short-description: "Refresh TELOS and current/ideal state through an evidence-grounded interview; ratify corrections and configure fresh installs. Use Telos for single edits."
version: 1.2.4
description: Refreshes TELOS and current-state claims against observed evidence (Oura, Conduit, git, expenses) and drafts corrections for ratification. USE WHEN /interview, resume interview, context check-in, telos check-in, what's stale, stale data, freshness check, update current state, update my current state, state sync, statusline says interview due, interview due, review TELOS, update ideal state, quarterly context refresh, fresh LifeOS install, configure DA name. NOT FOR single edits (Telos), bulk intake (Migrate), identity-only.

Interview — constitutional-context peer conversation

Interview reads your constitutional files — TELOS, identity, projects, system prompt, architecture — plus the CURRENT_STATE and IDEAL_STATE dimension files, checks their freshness, and confronts stale claims with observed data: Oura sleep/HRV/RHR, Conduit creation-vs-consumption time, the work registry, git cadence, and the expense ledger. The conversation opens with the sharpest claim-vs-evidence contradiction, drafts corrections you ratify, offers to populate the files the machinery can write, and closes with an ideal-state review grounded in the measured gap. On a fresh install it falls back to first-time setup. The 🎤 statusline chip (fed by `InterviewDue.ts`, daily launchd refresh) says when one is due; wrapping with `--mark-done` clears the cadence reason, and the skew/staleness reasons clear as their files are actually reviewed.

Ideal State

  • Every prompt argues from what is already on file and from observed data: the files are read first, and a claim is checked against evidence or named as unchecked, never replaced by a blank "what's your mission?".
  • Staleness is treated as a priority signal, not a failure: the conversation leads with the sharpest contradiction or the stalest item and asks "still right?".
  • Nothing in a claims file changes without the principal ratifying that specific edit, and every reviewed item leaves its freshness marker bumped, so the 🎤 chip clears only when the agenda is actually done.
  • A fresh install is configured end to end (identity, voice, credentials, first project, work repo) before any check-in runs.

Intent Routing

| Intent | Trigger | File | |----------|---------|------| | **ContextCheckin** | default `/interview` on a populated system; "context check-in", "telos check-in", "what's stale", "how are we doing on…", "still on…", "review context" | `Intents/ContextCheckin.md` | | **Phase0Setup** | fresh install; `LIFEOS_CONFIG.toml` still holds the scaffold names (DA `Aria`, principal `Your Name`); PROJECTS sample-row only; `.env` missing required keys | `Intents/Phase0Setup.md` | | **TelosCheckin** *(deprecated stub)* | back-compat for explicit "telos checkin" routing | `Intents/TelosCheckin.md` (redirects to ContextCheckin) |

| File | Read when | |------|-----------| | `ISA.md` | changing how the interview works: the skill's own ISA (evidence-grounded state freshness); `ISA.html` is its rendered page | | `Setup.md` | first-time setup: the optional PREFERENCES.md key and a read-only proof | | `References/ContextCheckinExamples.md` | shaping a ContextCheckin opening or per-entry prompt and wanting a worked run (stale system prompt, all-fresh with an audit finding, a Goals walk with its bump) |

**Routing decision (run before either intent):**

bun ~/.claude/LIFEOS/TOOLS/InterviewScan.ts --json | jq '[.targets[] | select(.phase == 0 and .completeness_score < 80)] | length'
  • `> 0` → run **Phase0Setup** first, then ContextCheckin.
  • `0` → run **ContextCheckin** directly.

Data & Config

User customizations live at `<configRoot>/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Interview/` (`configRoot` is `$CLAUDE_CONFIG_DIR` when set, else `~/.claude`). `PREFERENCES.md` § State check-in priority names the journal dimension the wrap asks first (absent: equal weight). `History.md`, when present, holds this install's own interview history; it is reference, never read at run time. First-time setup and every key: [Setup.md](Setup.md).

Gotchas

  • **The current.json day-label trap.** `USER/HEALTH/current.json` labels itself with today's `day` while its `last_night` block may carry the newest *available* sleep record, days older. Quote the evidence cache's `latest_sleep_record_day`, never the label.
  • **Not every health source is live.** The evidence panel (`StateEvidence.ts`) computes per-source liveness at run time — quote its live/dead map, never a remembered one. Claims whose only source is dead can be asked, not checked — say so instead of implying verification.
  • **`InterviewDue.ts --mark-done` at wrap is what silences the 🎤 statusline chip.** Skipping it leaves the chip nagging with the interview already done — the cadence clock reads `MEMORY/STATE/interview.json`, not file mtimes.
  • **A file without the freshness frontmatter reads as stale.** TELOS and the constitutional files each need a one-time migration first; the commands and the ask-first rule are in `Intents/ContextCheckin.md` § Safety gates.
  • **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. `POST /api/freshness/invalidate` clears it immediately, or wait 60s.
  • **TelosRenderer (`GenerateTelosSummary.ts`) preserves the markers
Read more
@danielmiessler
Ships withlifeos

⛰️ LifeOS — The universal AI Harness designed to move you from Current to Ideal state in both life and work.

20k97 skills13 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
19.7k
Star history of danielmiessler/lifeos on GitHub, a chart by star-history.com

Other skills on lifeos.

AnnualReports

AnnualReports

Aggregate several hundred cybersecurity annual reports from CrowdStrike, Mandiant, IBM, Verizon, Microsoft, CISA, OWASP, Wiz,…

ApertureOscillation

ApertureOscillation

3-pass scope oscillation that holds a question constant while shifting zoom — narrow/tactical, wide/strategic, then synthesis —…

Aphorisms

Aphorisms

Curated aphorism collection with CRUD: content-based matching, themed search, thinker research, and usage tracking to avoid…

ArXiv

ArXiv

Search and retrieve arXiv academic papers by topic, category, or paper ID — with AlphaXiv-enriched AI-generated overviews. Uses…

Art

Art

Static visual content in 20+ formats (diagrams, infographics, comics, icons, wallpaper) via Nano Banana Pro by default, Nano…

ArtDirection

ArtDirection

Directs visual quality across images, films, slides, and site captures through a direction council, two vendors' vision judgments…

More skills from other plugins.

1password

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

openclaw11d393k
@openclaw@openclawInstall Skill

Questions about Interview.

Which coding agents can use Interview?
Interview installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.