rehearse-weakness

v2026.04.22

Runs a focused 15–30 minute rehearsal loop on a single weakness from a prior mock-interview debrief (or a free-text gap description). Decomposes the weakness into 3–5 testable micro-goals, drills each with in-character probes, gives tight corrective feedback after each answer, and re-verifies understanding from a fresh angle. Ends with an updated dimension score and a "ready / keep practicing" verdict. Use when the user says rehearse weakness N, drill weakness N, 复盘短板 N, 针对性补短板, practice gap, or references a prior debrief file and asks to drill one gap.

GitHub
Install command
npx skhub add TrapedCircuit/rehearse-weakness
Markdown
SKILL.md

Rehearse-Weakness

Companion to the real-interview skill. Where real-interview exposes gaps by staying in character until Phase 5, this skill closes gaps with a tight probe → feedback → re-verify loop. Same persona vocabulary, same rubric, but the session is short, narrow, and pedagogically honest.

When to Use vs real-interview

You want to…Use
Run a full mock interview from scratchreal-interview
Drill a single weakness from a prior debriefrehearse-weakness (this)
Practice one specific topic ("Go GMP", "consistency models") without a prior debriefrehearse-weakness with free-text input
Re-assess after a drill sessionrehearse-weakness and compare updated score

Phase Checklist

- [ ] R1 — Load context (debrief + weakness target, or free-text topic)
- [ ] R2 — Decompose into 3–5 micro-goals
- [ ] R3 — Drill loop (probe → answer → feedback → re-verify)
- [ ] R4 — Updated score + verdict + next steps

R1 — Load Context

Accept any of these inputs:

  • Debrief + index: path to a final-report.md produced by real-interview + a weakness number (e.g., "weakness 2").
  • Debrief + dimension: debrief path + dimension name (e.g., "language mastery").
  • Free-text topic: a plain description like "I keep fumbling on Raft leader election" — no prior debrief required.
  • Resume mode: path to a prior rehearse-weakness session log to continue.

Required outputs of R1:

  1. Gap statement — one sentence that names the specific area, scope, and why it matters. If coming from a debrief, reuse its 5-part weakness specification; if free-text, synthesize one.
  2. Persona carry-over — if the debrief names a persona (e.g., 字节风格 Bar Raiser), keep the same persona so the candidate practices in-context. Otherwise default to Principal Engineer for depth-focused gaps or Staff Architect for design gaps.
  3. Language — match the original debrief / the user's prompt language.
  4. Time budget — default 20 min; honor user override.

Echo a one-paragraph plan and get confirmation before starting.


R2 — Decompose into Micro-Goals

Break the gap into 3–5 testable micro-goals. Each micro-goal must be:

  • Specific — a single concept, skill, or judgment call.
  • Observable — answerable in 2–4 minutes.
  • Graded — has a clear 0–5 mental anchor you can score against (reuse reference/rubric.md anchors).
  • Ordered — easier → harder, so an early stumble doesn't poison the rest.

Example decomposition

Gap: "Couldn't articulate read-your-writes consistency tradeoff when probed on the feed ranking design."

Micro-goals:

  1. Define read-your-writes precisely (vs monotonic reads, vs session consistency).
  2. Sketch how to implement RYW on a single-leader replicated store.
  3. Identify the top 2 real-world situations where RYW silently breaks.
  4. Name the client-side mitigation (sticky sessions, read-from-leader hint) and its cost.
  5. Point to one real system that offers RYW and one that doesn't.

Show the decomposition to the candidate before drilling — unlike a real interview, here transparency helps learning. Ask: "ready to start, or want to adjust the list?"


R3 — Drill Loop

For each micro-goal, run this cycle. Read drill-loop.md for the behavioral details.

Per-Micro-Goal Cycle

probe (in character, 2–4 lines)
  → candidate answers
  → internal score (0–5) + 1-line evidence note
  → branch on score:
      • ≥ 4: compliment tersely, rotate to next micro-goal
      • 2–3: give 1–2 lines of corrective feedback (break character briefly), then re-ask from a fresh angle
      • 0–1: give the mental model in 2–3 lines, give one worked micro-example, then re-ask at a lower difficulty
  → after re-verify: record final micro-goal score

Feedback Style (the key difference from real-interview)

  • Correction is ≤ 3 lines. No lectures. Give the mental model in one sentence, optionally one concrete counter-example, then move.
  • Break character, then step back in. Prefix corrections with a neutral marker like "[一句纠正]" / "[quick correction]" so the candidate knows the frame shifted. After feedback, immediately re-enter the persona for the re-verify probe.
  • Re-verify from a NEW angle. Never re-ask the same question after giving the answer — that only tests memory. Change the concrete nouns, the scenario, or the direction of reasoning.
  • Cap corrections at 2 per micro-goal. After 2 failed re-verifies, note it as "not closed this session" and move on. Hammering produces frustration, not learning.

Honor the Same Control Signals

  • skip → mark micro-goal "not closed", rotate.
  • hint → one extra nudge before the next probe (minor penalty).
  • pause / end → stop and jump to R4.

Bookkeeping (silent)

Per micro-goal track: probe_1, answer_1_score, correction_given, probe_2, answer_2_score, final_score, closed: yes/partial/no, evidence_quote.


R4 — Updated Score & Verdict

Produce a short report using templates/session-log.md. It must include:

  1. Before vs after score for the targeted rubric dimension (reuse reference/rubric.md anchors).
  2. Per-micro-goal status: closed / partial / not closed + one-line reason.
  3. Verdict on the gap as a whole:
    • Ready for the real interview on this topic
    • One more drill session recommended (list the 1–2 sub-areas still weak)
    • Foundational gap — study before drilling again (recommend specific resource first)
  4. Next rehearsal target — if other weaknesses existed in the source debrief, which one to drill next and why (usually: largest gap that is also JD-critical).
  5. One-line habit note — something the candidate can do in their day-to-day work to reinforce the closed gap, not just study (e.g., "every time you write a caching layer this week, articulate the consistency model to yourself in one sentence before committing").

Do not sugar-coat. If the gap didn't close, say so. The whole value is the honest delta.


Files

  • drill-loop.md — the per-probe micro-protocol (probe composition, correction templates, re-verify patterns).
  • templates/session-log.md — the R4 output format.
  • reference/personas.md — archetype profiles + China-market overlays (mirrored from the real-interview skill so this skill is self-contained).
  • reference/question-bank.md — seed library for live probes.
  • reference/rubric.md — 6-dimension scoring rubric reused for the rehearsal verdict.

Anti-Patterns to Avoid

  • Asking the same question twice after giving the answer — that's flashcard drilling, not reasoning practice.
  • Lecturing. Corrections are ≤ 3 lines or they're not corrections, they're teaching — which is the wrong mode for a rehearsal.
  • Dropping the persona entirely. Probes stay in character; only the brief correction breaks character.
  • Grading generously to make the candidate feel good. The whole point is the delta.
  • Running more than 30 min in one session. Focused drill is cheap; fatigue is expensive.
  • Drilling a gap that is actually a foundational study problem. If the candidate can't answer the easiest micro-goal at all, stop and recommend a resource — drilling on an empty bucket is wasteful.
Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.04.22

Published

Apr 22, 2026

Category

Uncategorized

License

MIT

Source path

skills/rehearse-weakness

Default branch

main

Latest commit

bbccd60

Tree SHA

3645b81