Skip to content

Interview skill: skeptical design partner (S1) - #55

Merged
cleak merged 2 commits into
masterfrom
feat/interview-skill-rewrite
Oct 13, 2026
Merged

cleak merged 2 commits into
masterfrom
feat/interview-skill-rewrite

Conversation

@cleak

@cleak cleak commented Oct 11, 2026

Copy link
Copy Markdown
Owner

Summary

This is the S1 skill rewrite from the interview-challenge proposal, which this PR also adds as docs/interview-challenge-research.md. It's stacked on #54, which supplies the question param, interview_show {full}, answer-only phase transitions, and the needs: handling.

The old skill was entirely procedural. Its main CRITICAL rule was "don't self-answer", it scripted the next questions, and it had a canned move-on line. The model defaulted to an agreeable scribe. The proposal's research covers sycophancy, elicitation studies, and how ChatPRD, Spec Kit, BMAD, and gstack handle this. The proposal then went through five rounds of a critic panel before this text was written.

What changes for the user

  • Opener. Related graph context, the root, an announced challenge level ("say lighter/harder, 'go wilder', or 'wrap up' anytime"), and numbered falsifiable premises the user answers y / n / unsure.
  • Each turn. What was recorded, then at most one push that quotes the user's words, then at most two project-specific questions. A push is one of: specificity, "When did this last happen? Walk me through it.", the steelmanned strongest objection, alternatives, or a reframe. When the answer is solid, it's a reasoned "No push: …" instead.
  • Weak answers. These are extracted right away with a needs: line and become that turn's push. They no longer close the gap silently. Interview: advance phases only on answers; add full-content reads #54 stops needs: nodes from advancing the phase.
  • Divergence.
    1. Ask "what else did you consider?"
    2. Check the graph and journal for overlap and dead-ends ("extend ?").
    3. Offer one option from a lens the user didn't cover, with "fails if".
    4. "go wilder" runs a method immediately.
  • Levels. Light, standard (the default, including epics), and hard. Compliance, audit, or policy wording switches to a mandate-closure focus with no invented alternatives.
  • User decides. Dissent is stated once and never re-raised. Settled items are never reopened. Committed nodes aren't edited mid-interview.
  • Review. It lists needs: nodes and unanswered [pN] proposals and converts them to open questions. Wrap-up works from any phase.

The Codex skill (crates/tempyr-cli/assets/tempyr-interview.codex.SKILL.md) now mirrors the Claude skill body.

Test plan

  • cargo test -p tempyr-cli (both skills are embedded with include_str!)
  • Measured against the old skill with the eval harness in the follow-up PR: planted-flaw recall, invented objections on a sound mandate plan, self-answer incidents, divergence, turns-to-commit, plus the owner's paired comparison.

🤖 Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

  • Run on-demand review

This review includes 3 billable files and costs up to $0.75.

  • Ask an admin to make reviews automatic

Open in CodeRabbit

Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing.

Or wait 44 minutes for your next included review.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available. Your 74 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Essentials
  • Run ID: 5d37bbb9-c182-4042-972f-938ebd501019
📥 Commits

Reviewing files that changed from the base of the PR and between 2f1af3d and a029d8b.

📒 Files selected for processing (3)
  • .claude/skills/tempyr-interview/SKILL.md
  • crates/tempyr-cli/assets/tempyr-interview.codex.SKILL.md
  • docs/interview-challenge-research.md
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

cleak and others added 2 commits October 12, 2026 21:07
The skill only told the model how to run the process, so it defaulted
to an agreeable scribe that read the server's gap questions verbatim.
This applies Appendix B of the new research/proposal doc:

- Role: a skeptical design partner; the server's gaps are a coverage
  checklist, not a script.
- Opener: graph context, the root, an announced challenge level, and
  numbered falsifiable premises (y / n / unsure).
- Levels (light / standard / hard) plus a mandate-closure focus.
- Each turn: what was recorded, at most one push quoting the user (or a
  reasoned "No push"), and at most two project-specific questions.
- Weak answers are extracted immediately with a `needs:` marker and made
  the turn's push, instead of silently filling the gap.
- Divergence: ask what was considered, check the graph and journal for
  overlap and dead-ends, then offer one uncovered lens.
- Review lists `needs:` nodes and unanswered proposals; wrap-up works
  from any phase. Committed nodes aren't edited mid-interview.
- Examples use domains that don't overlap the eval scenarios.

The Codex skill now mirrors the Claude skill body. Adds
docs/interview-challenge-research.md (research, design, and the critic
review it went through).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Graph facts are shown with their node id; code-derived facts go to the
  user as a question or premise instead of being recorded.
- Drop the kill-pass from the push priority list until the kill-pass
  exists (it arrives with /tempyr-spar).
- Name "step 0" where it's defined.
- "Skip ahead" moves the questions; only "finish" goes to Review.
- Extraction falls back to inline when the extractor subagent isn't
  available (e.g. Codex).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@cleak
cleak force-pushed the feat/interview-skill-rewrite branch from e7682eb to a029d8b Compare October 13, 2026 04:08
@cleak
cleak changed the base branch from feat/interview-answer-driven-phases to master October 13, 2026 04:23
@cleak
cleak merged commit 486aa31 into master Oct 13, 2026
4 of 5 checks passed
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.

1 participant