Skip to content

v3.1–v3.3: Navigation, network intelligence, async prep, and post-interview compound workflow#35

Open
dbhat93 wants to merge 47 commits intonoamseg:mainfrom
dbhat93:main
Open

v3.1–v3.3: Navigation, network intelligence, async prep, and post-interview compound workflow#35
dbhat93 wants to merge 47 commits intonoamseg:mainfrom
dbhat93:main

Conversation

@dbhat93
Copy link
Copy Markdown

@dbhat93 dbhat93 commented Mar 10, 2026

Summary

Three versions of additions on top of the v3 base.


v3.1 — Navigation, Gap Pipeline, Security Hardening

Map command — New map command: situational GPS that reads full coaching state and outputs 1–3 time-sensitive priority actions with a filtered command reference for the candidate's current search phase. Read-only.

Storybank gap pipeline — Pre-interview competency coverage detection with 3 severity tiers (Critical/Addressable/Covered), timeline-aware routing, and cross-loop analysis across active companies. New Storybank Gap Check module in cross-cutting.md, consumed by prep and progress.

Velocity metric fixes — Three QA-identified issues in progress: simplified calculation method, tightened Stagnant threshold, and Coaching ROI rewritten as plain English.

Security hardening — Prompt injection guards in analyze and prep; Data Privacy and Retention section in COACH.md; data cleanup prompt in reflect; compensation privacy warning in salary; recruiter feedback provenance tracking ([written]/[paraphrased]) in feedback; state/ added to .gitignore.


v3.2 — Network Intelligence + Async Prep

LinkedIn connections integrationresearch cross-references the target company against the candidate's exported LinkedIn CSV. Multi-source support (candidate + referrer networks), seniority-aware recommendations, staleness detection, graceful CSV failure handling.

Outreach campaign cadence trackingoutreach reads existing contact history from Interview Loop entries, surfaces follow-up recommendations based on cadence (+5/+10 days), and flags diminishing returns at 3 unanswered contacts per company.

Take-home / async case prep — New protocol in prep for async formats: prompt clarification, time-box strategy, evaluation criteria inference, outline review, draft review, and live Q&A prep.

Research Rigor Module — Cross-cutting module ensuring quantitative estimates in business case prep survive interviewer challenge. Confidence tagging ([sourced]/[estimated]/[inferred]), defensibility checks, "how to present" coaching notes. Consumed by prep and research.

Hardening passes (v3.2.1–v3.2.3) — 28 additional fixes across product, security, usability, and functionality. Full test suite: 29 eval test cases with mock fixtures.


v3.3 — Round Command (Post-Interview Compound Workflow)

round command — Closes the three-command post-interview sequence (debriefanalyzesync) into one. Two modes:

  • Mode A (transcript available): Captures impressions first, then runs full transcript scoring with those impressions pre-loaded as context. The delta between the candidate's fresh read and the actual scores is the most valuable coaching output.
  • Mode B (memory-only): Full debrief capture + directional coaching notes (no Score History row — preserves the quality gate on trend data). Prompts to run analyze when transcript arrives.

State written in one shot: Outcome Log, Interview Loop, Storybank (Last Used + Use Count + field notes + overuse flag), Interview Intelligence (Question Bank + Company Patterns + Effective/Ineffective Patterns), Active Coaching Strategy, Score History (Mode A only).

debrief and analyze preserved unchanged for edge cases — late transcript arrivals, deliberate impression-capture before analysis, standalone scoring.


Files changed (cumulative)

New commands: references/commands/map.md, references/commands/round.md

Updated commands: references/commands/prep.md, references/commands/progress.md, references/commands/analyze.md, references/commands/feedback.md, references/commands/salary.md, references/commands/reflect.md, references/commands/research.md, references/commands/outreach.md, references/commands/debrief.md

Core files: COACH.md, README.md, VERSIONS.md, .gitignore

New cross-cutting modules: Storybank Gap Check, External Text Validation, Research Rigor (in references/cross-cutting.md)

Test suite: tests/v3.2-evals.md, tests/fixtures/ (5 mock coaching states)

🤖 Generated with Claude Code

nothingbhatnet and others added 29 commits March 1, 2026 19:10
v1 — Pipeline & Email:
- Rename SKILL.md → COACH.md (master skill file)
- Add pipeline command + state/pipeline.md schema (job search CRM)
- Add draft command (follow-ups, outreach, recruiter, draft review for post-rejection feedback)
- Update prep with probabilistic format scenarios
- Update analyze with interview_type field in score history
- Update kickoff with pipeline survey (desirability × fit → priority label)
- Redesign priority labels: Dream / Strong Target / Learning Opp / Testing Ground / Not a fit
- Add two-factor prep allocation principle (company fit × interview stage)
- Add non-obvious success pathways + 15% threshold to negotiate
- Clarify draft/thankyou command boundary
- Fix all SKILL.md → COACH.md references across command files
- Add stage sync protocol (coaching_state.md ↔ state/pipeline.md)
- Add Session count field to Drill Progression (replaces fragile row-count meta-check logic)
- Align storybank schema + add field_notes to Story Details template

v2 — Full Search Layer:
- Add fit command (pre-application fit scoring — 4 dimensions + story gap analysis)
- Add outreach command + state/contacts.md schema (networking CRM)
- Add review command (weekly search review — pipeline health, prep allocation, outreach, deadline math)
- Add comp command (pre-screen compensation strategy + anchoring scripts)
- Register all Phase 2 commands in COACH.md Command Registry + File Routing
- Update cross-cutting dependency table for all new commands
- Add pipeline + draft + Phase 2 commands to dependency table

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Replace all SKILL.md → COACH.md refs (transcript-processing, differentiation, rubrics-detailed)
- Remove state/coaching.md dual-path from pipeline.md (coaching_state.md only)
- pipeline close: add Interview Loop status update to coaching_state.md (noamseg#4 asymmetric state write)
- pipeline close: add draft review routing for lost loops (noamseg#6 missing route)
- kickoff: initialize Session count: 0 in Drill Progression (noamseg#5 trigger on null)
- review: add graceful fallback when state/pipeline.md doesn't exist (noamseg#10 first-run)
- hype: add pronoun guardrail to Interview-Specific Tailoring section (noamseg#7)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Phase 1 — Reference files (4 new):
- references/challenge-protocol.md: Graduated challenge levels (3/4/5),
  Challenge Debt concept, avoidance confrontation protocol
- references/calibration-engine.md: Practice calibration proxy (plateau
  detection), score confidence display, explicit status transitions
- references/story-mapping-engine.md: Framing variety constraint with
  3-criteria Substantiation Test, Story Freshness Score (3-factor decay),
  Proven Performer offset replacing blunt overuse check
- references/transcript-formats.md: 9-format detection (added Fireflies.ai),
  Zoom Webinar distinction, Granola quality signal, Format Fingerprint for
  ambiguous cases

Phase 2A — New commands (2 new):
- references/commands/decode.md: JD analysis with 6 lenses, pathway-weighted
  batch triage, JD Honest Limitations surfaced in every output
- references/commands/feedback.md: 5-type capture with memory reliability
  tagging for Type D, guided elicitation prompts, graduated Rejection Leverage
  referencing challenge-protocol

Supporting changes:
- COACH.md: Added decode + feedback to command registry, File Routing,
  State Update Triggers, JD Analyses section in coaching_state.md schema
- references/cross-cutting.md: Added Role-Fit Assessment Module (5 dimensions,
  3-tier verdict) — required by decode, prep, research, kickoff, progress

All files pressure-tested and cross-reference verified before commit.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Added Reference Knowledge section: anchoring effect, comp conversation
  timeline (stages 1-4), deflection/disclosure tradeoff, salary history bans,
  research source quality assessment, remote/location comp adjustment,
  common mistakes (9 specific)
- Added Priority Check section with 4 routing gates
- Added Required/Optional Inputs and Depth Levels table (Quick Script /
  Standard / Deep Strategy)
- Expanded Sequence to 6 steps with explicit routing decision after Step 2
- Added startup equity decision framework with 5-point trigger-gated analysis
- Added three output schemas (Quick Script / Standard / Deep Strategy)
- Added Coaching State Integration section
- Added Challenge Protocol integration (L3-L5 graduated per challenge-protocol.md)
- Fixed: urgent fast-track reconciled with "no fabrication" rule in Step 3
- Fixed: verbal vs. written offer boundary for negotiate handoff
- Fixed: self-referential Quick Script "recommended next" clarified
- Fixed: "Level 5" language replaced with challenge-protocol activation levels

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
resume.md (new):
- Full resume optimization command: ATS scan, recruiter scan audit,
  8-dimension section-by-section analysis, storybank-to-bullet pipeline,
  JD-targeted optimization, cross-surface consistency check
- 3 depth levels: Quick Audit / Standard / Deep Optimization with
  output schemas for each
- JD Analyses integration (Step 2 + Step 7): when decode has been run,
  pulls Top competencies, Frameable/Structural gaps, Unverifiable
  assumptions directly instead of manual keyword extraction
- Role-Fit Assessment integration (Step 2 + Concern Management): Stretch
  or Weak fit dimensions surface as active concerns; distinguishes
  "resume can address" (frameable) vs. "needs interview narrative"
  (structural)
- Challenge Protocol integration (Deep only) with graduated L3-L5 levels
- Coaching state integration schema

challenge-protocol.md:
- Added Resume Audit Challenge invocation for `resume` Deep Optimization
- L3: Assumption Audit (1 sentence)
- L4: + Blind Spot Scan (brief)
- L5: Lenses 1, 2, 4, 5 — Pre-Mortem explicitly omitted (static document)
- Feeds into Priority Moves section (challenge always ends with fix)

Phase 5 note: prep.md needs Step 6.5 defined (Role-Fit Assessment
invocation point) — flagged for Phase 5 merge.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…sion

"Resume can address" → "Resume-addressable"
"Resume cannot fix alone — structural" → "Interview-only"

Keeps JD Analyses terminology (frameable/structural gaps from decode)
untouched. Resume concern management labels are now self-describing
and don't overlap with decode's gap taxonomy.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Merged from Noam's upstream:
- Step 3.5: Format detection and normalization before cleaning
  (references transcript-formats.md, uses Interview Loops round format)
- Step 6: Format-aware parsing — dispatches to Path A/B/C/D/E based
  on detected interview format (transcript-processing.md)
- Step 7: Format-specific additional dimensions for non-behavioral formats
- Step 11.5: Interviewer's Inner Monologue at all directness levels
- Step 12: Format-aware triage rules (system design, panel, tech+behavioral,
  case study overlays on standard priority stack)
- Step 12a: Cross-Dimension Root Cause Check — tracks recurring root
  causes against Calibration State across sessions
- Step 16: Interview Intelligence / Question Bank — extract scored
  questions, check for past matches before scoring each unit, surface
  only meaningful cross-references (3+ data points for patterns)
- Updated per-unit format schema (Q#/E#/P#/CS# IDs, format-specific scores,
  intelligence cross-reference field)
- Updated Delta Output Schema (Interview Format section, Inner Monologue,
  Intelligence Updates, Challenge section)

Our contribution:
- Step 11.6: Updated "Level 5 only" → graduated L3-L5 per
  challenge-protocol.md. L3: Assumption Audit (1 sentence). L4: add
  Blind Spot Scan. L5: Lenses 1-4, Lens 5 feeds Priority Move.
- Delta Output Schema Challenge section: updated to graduated levels

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
HIGH fixes:
- challenge-protocol.md: Add Comp Strategy Challenge invocation (comp.md
  referenced it but it didn't exist). L3: Assumption Audit. L4: +Blind Spot.
  L5: Lenses 1,2,4,5 — Pre-Mortem excluded (forward-facing strategy, not
  post-mortem). Feeds into comp Priority Moves.
- COACH.md: Add Resume Optimization and Comp Strategy sections to
  coaching_state.md template — both schemas were defined in their command
  files but had no home in the master state template.

MEDIUM fixes:
- comp.md: "JD Analysis" → "JD Analyses" to match section name in
  coaching_state.md (singular/plural mismatch)
- comp.md: Deep Strategy output schema Challenge section updated from
  "Level 5 only" hardcoded to graduated L3/L4/L5 with lens labels
- resume.md: "Unverifiable assumptions" → "Unverified assumptions"
  to match JD Analyses schema and decode.md terminology (2 occurrences)
- analyze.md: Score confidence field now specifies Low/Medium/High format
  per calibration-engine.md Section 9, not left as blank placeholder

LOW fix:
- challenge-protocol.md: Key Design Principle updated to include Resume
  Audit Challenge (→ Priority Moves) and Comp Strategy Challenge
  (→ Priority Moves/scripts) in the resolution mechanism inventory

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
challenge-protocol.md:
- Add Mock Debrief Challenge invocation (graduated L3/L4/L5)
  Includes: Expanded Inner Monologue + Avoidance Detection at L5
- Update Key Design Principle: add mock to resolution mechanism list

prep.md:
- Step 1: add `present` command reference for presentation rounds
- Step 3: wire JD Analyses from decode (skip re-parse if current)
- Step 6.5: Role-Fit Assessment referencing cross-cutting.md +
  frameable/structural gap guidance feeding Likely Concerns
- Step 7: full storybank health check (count, strength, earned
  secrets, competency gaps, overuse risk, freshness risk)
- Step 8: story-mapping-engine.md portfolio optimization protocol
- Interview Loop Awareness: debrief diff + Interview Intelligence
  cross-referencing (light-touch rule)
- Company Archetype: add Structured Research Step (live search
  before applying sourcing tiers)
- Interviewer Intelligence: guide-them phrasing (JC3=B — more
  accurate for plain-chat usage)
- Output schema: add Role-Fit Assessment + Storybank Health sections,
  update Story Mapping to portfolio-optimized format

mock.md:
- Setup: stage-aware difficulty calibration (check Drill Progression)
- Setup: Interview Loops format data check (avoid re-running discovery)
- Execution: gap-handling pattern reference for gap questions
- System Design UX: Interview Loops format data check
- Add Case Study (Candidate-Driven) note
- Add Redo Mechanism (one redo for weakest answer after debrief)
- Per-Unit Scorecard: Q#/E#/P#/CS# format IDs + format-specific scores
- Debrief schema: add Challenge section (graduated L3/L4/L5 per
  challenge-protocol.md Mock Debrief Challenge)
- Update "Recommended next" format

stories.md:
- Add Story Red Team section (graduated L3/L4/L5, references
  challenge-protocol.md) replacing Noam's "Level 5 only" model
- Gap analysis: secondary skill coverage, pattern selection by score,
  active prep cross-reference, narrative identity consumption
- Distribution check: add progress tracking reference
- Output schemas: Story Red Team sections in add/improve outputs
- Update "Recommended next" format with specific reasoning

practice.md:
- Question Tailoring: gap pattern selection by score + Round format
  from Interview Loops for drill type selection
- Warmup: Level 5 skip option
- Round Protocol 6a: role-drill score mapping (calibration-engine §5)
- Round Protocol 8a: Round Challenge (graduated L3/L4/L5, rounds 3+,
  references challenge-protocol.md)
- Round Output Schema: Challenge Note section
- Interviewer's Read: Level 5 expansion note (mini Inner Monologue)
- Update "Recommended next" format

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
challenge-protocol.md:
- Add LinkedIn Profile Challenge invocation (Deep Optimization only,
  graduated L3/L4/L5, Pre-Mortem excluded — static artifact)
- Add Pitch Challenge invocation (Deep Positioning only,
  graduated L3/L4/L5, Pre-Mortem excluded — not yet deployed)
- Update Key Design Principle: add linkedin and pitch to resolution list

linkedin.md (new file):
- Full LinkedIn optimization workflow (Quick Audit / Standard / Deep)
- 9-section audit with section-specific evaluation criteria
- Step 2: JD Analyses integration — top competencies from decode
  become priority keywords for headline and skills optimization
- Step 4: Positioning Consistency Check cross-references Positioning
  Statement (from pitch), Resume Optimization, interview narrative
- Step 5: Timeline-aware content strategy (≤2 weeks = skip content)
- Step 6: Challenge Protocol (graduated L3/L4/L5, references
  challenge-protocol.md LinkedIn Profile Challenge invocation)
- Output schemas: Quick Audit / Standard / Deep Optimization
- Coaching State Integration schema

pitch.md (new file):
- Full positioning statement workflow (Quick Draft / Standard / Deep)
- Step 1: Positioning performance data from analyze/debrief Interview
  Intelligence feeds pitch iteration loop
- Step 4: Hook + Context + Bridge construction
- Step 5: 5 context variants (TMAY / Networking / Recruiter / Career
  Fair / LinkedIn Summary Hook)
- Step 6: Positioning Consistency Check across resume, LinkedIn,
  interview narrative
- Step 7: Differentiation Audit (Deep only — defensible, spiky,
  earned, substitution test, constraint ladder)
- Step 8: Challenge Protocol (graduated L3/L4/L5, references
  challenge-protocol.md Pitch Challenge invocation)
- Output schemas: Quick Draft / Standard / Deep Positioning
- Coaching State Integration schema

COACH.md:
- Command Registry: add linkedin and pitch entries
- File Routing: add linkedin and pitch read dependencies
- State Update Triggers: add linkedin and pitch write events
- coaching_state.md template: add LinkedIn Analysis section and
  Positioning Statement section (between Comp Strategy and Active
  Coaching Strategy)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Full upstream sync from noamseg/interview-coach-skill v3 with selective
merge decisions per JC1-A/JC2-A/JC3-A:

JC1=A (Keep graduation): Graduated L3/L4/L5 challenge protocol preserved
across all commands (analyze, practice, mock, linkedin, pitch, stories,
challenge-protocol) — adopts Noam's richer L5 content descriptions while
keeping our L3/L4 graduation that Noam's v3 dropped.

JC2=A (Full COACH.md merge): All SKILL.md enhancements merged into COACH.md
(filename kept). New sections: Schema Migration Check, Enhanced Session Start
with prescriptive 8-step recommendation logic, Interview Intelligence
(Question Bank, Effective/Ineffective Patterns, Company Patterns), Calibration
State (scoring drift tracking), Outreach Strategy, Presentation Prep. New
Profile fields: Anxiety profile, Career transition, Transition narrative.
Updated Command Registry, File Routing, State Update Triggers, and all rules.

JC3=A (Prune + expand): Deleted draft/fit/pipeline/review/comp; added salary
(replacing comp) and present (presentation coaching). Added VERSIONS.md and
releases/v3.md.

Non-conflicting files: Applied 14 command files + 10 reference files directly
from noam/main. Global SKILL.md→COACH.md reference fix applied across 11 files.

Manual merges: COACH.md, stories.md, mock.md, prep.md, analyze.md, practice.md,
linkedin.md, pitch.md, challenge-protocol.md (comp→salary rename).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
COACH.md:
- Add `resume` to Command Registry (between pitch and linkedin)
- Add `resume` to File Routing with full context spec (Profile, Resume
  Analysis, Storybank, Positioning Statement, JD Analyses, differentiation.md,
  storybank-guide.md)
- Add `resume` State Update Trigger (save Resume Optimization section)
- Add `present` to File Routing with full context spec (Interview Loops,
  Storybank, rubrics-detailed.md, calibration-engine.md Section 1)
- Enrich `salary` File Routing from skeletal to full (Profile, Interview Loops,
  Active Coaching Strategy, Outcome Log)

analyze.md:
- Fix Section 9 → Section 1 in calibration-engine.md confidence reference
  (Section 9 does not exist; Section 1 defines Uncalibrated/Calibrating/Calibrated)
- Add explicit cross-reference thresholds to Step 16 Intelligence Update:
  3+ instances AND delta ≥ 0.5, same-company always surfaces, pattern must
  actively change coaching recommendation. Add explicit DO NOT surface criteria.

mock.md:
- Normalize Mock Debrief Challenge cross-reference label to match exact
  challenge-protocol.md section header (drop "invocation" suffix, both instances)

coaching_state.md changes (gitignored — applied locally only):
- Fit assessment → Fit verdict/confidence/signals/structural gaps (Socure + Ramp)
- Added Use Count column to Storybank (S001:3, S002:0, S003:1, S004:3)
- Added Profile fields: Anxiety profile, Career transition, Transition narrative status
- Added Interview Intelligence section (Question Bank, Patterns, Recruiter Feedback,
  Company Patterns, Historical Summary) with backfill from session logs
- Added Calibration State section (Status: Calibrating, Cross-Dimension Root Causes
  from existing data — framework-first instinct, metrics vocabulary gap)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
New command covering the job search as a whole: pipeline health, timeline
risk, cross-loop priority ranking, funnel management, narrative coherence
across simultaneous applications, and decision logic at inflection points.

strategy.md:
- 3 session types: Quick Pulse (10-min pulse check), Full Strategy (default —
  monthly review or major state change), Decision Point (offer or forced choice)
- 8-step logic sequence: State Assembly, Timeline Analysis (with explicit
  conversion probability + On Track/At Risk/Critical status), Pipeline Priority
  Stack (conversion probability × strategic value × coaching leverage),
  Funnel Health (count + replenishment + channel diversification), Narrative
  Coherence Audit (resume variants + cross-loop contradictions), Decision Logic
  (offer evaluation framework + pipeline forcing choices), 2-Week Action Plan
  (this week concrete + next week contingent), Challenge Protocol
- 3 output schemas: Quick Pulse, Full Strategy Session, Decision Point
- Coaching state integration: writes Search Strategy section, may update
  Interview Loops (status/next action) and Active Coaching Strategy

challenge-protocol.md:
- Added Search Strategy Challenge — `strategy` section (after Pitch Challenge)
- Level 3: Assumption Audit (one sentence)
- Level 4: Assumption Audit + Blind Spot Scan
- Level 5: All 4 lenses including Pre-Mortem (included because deadline is
  real and search is forward-facing — unlike pitch/linkedin where Pre-Mortem
  is excluded for static artifacts)
- Updated Key Design Principle to include Search Strategy Challenge

COACH.md:
- Command Registry: added strategy entry
- File Routing: added strategy (reads full coaching_state.md)
- State Update Triggers: added strategy trigger (Search Strategy section +
  Interview Loops + Active Coaching Strategy updates)
- Mode Detection Priority: added 9a for pipeline/search/deadline intent
- Schema Migration: added Search Strategy section note (no migration needed)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…mples

sync module:
- New sync.md command with 6-category full audit (loop-outcome drift,
  temporal drift, story integrity, coaching strategy staleness, search
  strategy drift)
- Lightweight session-start check defined in sync.md, invoked from
  COACH.md Sync Drift Check section (2 checks: loop-outcome drift,
  passed next-round dates)
- Wired into COACH.md: Registry, File Routing, State Update Triggers,
  Mode Detection (9b)

48hr debrief protocol:
- debrief.md: new step 2 — timestamp capture + 48hr/7-day time gate
- Three protocol branches: ≤48h (full), 48h–7d (late, adapted),
  >7d (abbreviated)
- Late Debrief protocol section defines exactly what to skip and why
  (per-question self-assessment, story performance granularity,
  positioning check) based on memory reconstruction science
- Output schema updated with interview date/time, debrief capture time,
  time-since-interview, and protocol-used fields
- COACH.md Session Start: proactive debrief trigger added to
  recommendation logic (completed interview in last 72hrs →
  suggest debrief before anything else)

Seniority calibration examples:
- rubrics-detailed.md: new Calibration Examples by Band section
- Concrete 3/4/5 excerpts per band (Early Career, Mid-career,
  Senior/Lead, Executive) for Substance and Differentiation
- Cross-band score translation rules (mid-career 4 = senior 3)
- Same-topic comparisons within each band for quick calibration

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Quantifies coaching ROI and rate-of-change per dimension to complement
the existing qualitative trend narration.

New in progress.md:
- Step 4.5: Velocity Analysis in the sequence (runs after trend narration
  and Hard Truth, before outcome correlation; requires 4+ sessions)
- Velocity Analysis methodology section:
  - Calculation: baseline window (first N/3 sessions) vs. recent window
    (last N/3), delta per dimension, Δ/session rate
  - Coaching ROI: sessions-per-0.5-point-gain (≤3 = high responsiveness,
    ≥8 on sub-3.5 dimension = approach not working)
  - 5-status threshold table: Accelerating / Improving / Plateau /
    Stagnant / Declining / Ceiling
  - Critical plateau-vs-ceiling distinction (stagnant at 2.8 ≠ stagnant
    at 3.9)
  - 4 surface rules: fastest-moving, most stagnant, ROI signal, and
    mismatch flag (fastest-moving dimension ≠ Active Coaching Strategy
    target)
  - Interview-type filtering: velocity calculated per type, not blended
- Output schema: Velocity Metrics block between Your Trajectory and Hard
  Truth — per-dimension table plus 4 key signals

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fix velocity metrics in progress.md: simplified calculation method to
  first-2 vs last-2 sessions, changed Stagnant threshold to <+0.02/session,
  rewrote Coaching ROI as plain English with example
- Add Storybank Gap Check module to cross-cutting.md: 3 severity tiers
  (Critical/Addressable/Covered), timeline-aware routing, cross-loop analysis
  for progress, output format
- Enrich prep.md Step 7 competency gaps bullet with severity tiers and
  reference to new module
- Enrich progress.md Storybank Health competency coverage line with
  cross-loop analysis instruction
- Add map command (references/commands/map.md): situational GPS with
  priority check logic, filtered command reference by search phase
- Wire map into COACH.md: Registry, File Routing, Mode Detection (9c)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Tier 1:
- analyze.md: Content isolation step in transcript quality gate — scan for
  embedded directives before processing, surface and halt if found
- prep.md: Content isolation note in JD Parsing Guide — treat pasted JD text
  as untrusted data, flag instruction-like patterns before extraction
- COACH.md: New Data Privacy and Retention section — documents what
  coaching_state.md contains, comp data sensitivity, third-party data,
  and data retention guidance with cleanup path via reflect
- reflect.md: Data cleanup prompt at end-of-search — explicit list of
  what to keep vs. consider deleting, with candidate agency preserved
- salary.md: Privacy warning in Coaching State Integration — flags comp
  data sensitivity, instructs user to keep file confidential and redact
  before sharing

Tier 2:
- feedback.md: Source verification step added to Type A (recruiter feedback)
  before capture — distinguishes written vs. paraphrased, tags source
  provenance in state entry, adjusts drift analysis confidence accordingly;
  added privacy note about third-party speech stored in coaching_state.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
coaching_state.md accumulates sensitive data (compensation, recruiter
feedback, transcripts, personal reflections) that forkers may not
realize is there. Surfaces this visibly in the README before first use,
and expands the .gitignore comment to explain why the file is excluded.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
README: map command in commands table + repo structure, storybank-gap-check
in cross-cutting.md description. VERSIONS.md: v3.1 entry covering map
command, gap pipeline, velocity metric fixes, and security hardening.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
state/pipeline.md contains personal job search data — company names,
interview stages, outcomes, and contacts. Excluded for the same reason
as coaching_state.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Documents Option 1b: setting up the coach as a ~/.claude/skills/coach
personal skill so it's available from any Claude Code session without
opening a specific folder. Includes template SKILL.md with instructions
to replace the path.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Enables: npx skills add dbhat93/job-search-os
Uses ${CLAUDE_SKILL_DIR} for portable path resolution so the skill
works on any machine without manual path configuration. README updated
with the one-liner at the top of Quick Start.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Puts npx skills add command front and center so visitors see it
immediately on landing. GitHub topics also added for discoverability.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… prep protocol

Add LinkedIn connections CSV cross-reference to research command (surfaces warm
paths from candidate's actual network), outreach campaign cadence tracking
(reads existing contact history before drafting), take-home/async case prep
protocol in prep command, and register strategy + sync in README and help
command tables.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Eval-style tests for LinkedIn Connections integration (7 tests),
Outreach Cadence Tracking (6 tests), Async Case Prep Protocol
(6 tests), plus 3 integration tests. Includes mock coaching_state
fixtures and mock LinkedIn CSV with company name variants for
edge case coverage.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Multi-CSV network support (referrer networks + curated targets),
canonical outreach log format with COACH.md migration, seniority-aware
outreach recs, per-contact vs per-company cadence distinction, calendar
day simplification, open-ended deadline handling in async prep,
research→outreach state handoff, graceful CSV failure, per-source
staleness checks. Test suite expanded to 29 cases with 6 regression
tests for v3.0/v3.1 features.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ity/functionality

Systematic hardening pass with no new features. Fixes Challenge Protocol
activation contradiction, centralizes injection guards, simplifies Session
Start Protocol, defines soft gates and calibration thresholds, adds drill
progression stage gates, and documents test fixture schema expectations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
dbhat93 and others added 5 commits March 21, 2026 12:47
* Add Research Rigor Module for business case interview prep

When prep generates industry research for business case interviews,
all quantitative estimates must now include assumption basis annotations,
defensibility checks, and "how to present" coaching notes. Prevents
candidates from presenting inflated or unsourced numbers that won't
survive interviewer scrutiny.

- New cross-cutting module: Research Rigor (confidence tags, defensibility
  check, competitive data freshness, presentation coaching notes)
- Wire into prep.md Take-Home protocol as step 3

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Wire Research Rigor into research.md + add VERSIONS.md entry

- research.md: Add Research Rigor Flag section that detects business
  case roles and flags the module for downstream prep
- VERSIONS.md: Add v3.2.3 entry documenting the Research Rigor Module

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Dhiraj Bhat <dhiraj@unit21.ai>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Before any external research or market analysis, the prep command
now checks what the company already ships in the relevant space.
Prevents building a research thesis around a question the company
has already answered publicly (e.g., researching "should Company X
enter vertical Y?" when their website already has real customers
and metrics in that vertical).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
prep: add Step 0 — ground truth before external research
Before stating ANY date or day-of-week in coaching output, ALWAYS run
date via Bash first. Never infer from context or memory. Wrong dates
in interview coaching can cause candidates to miss interviews.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Closes the three-command post-interview sequence (debrief + analyze + sync)
into a single `round` command. Two modes: transcript available (Mode A) runs
full analyze scoring with debrief impressions pre-loaded as context; memory-only
(Mode B) captures debrief and produces directional coaching notes without a
Score History row. All 9 state sections written in one shot.

debrief and analyze preserved for edge cases. Mode Detection updated so
post-interview context routes to round; standalone transcript drops still
route to analyze.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@dbhat93 dbhat93 changed the title v3.1: Navigation, gap pipeline, security hardening, and velocity metric fixes v3.1–v3.3: Navigation, network intelligence, async prep, and post-interview compound workflow Mar 25, 2026
nothingbhatnet and others added 7 commits March 25, 2026 10:41
Update 6 locations that still directed users to debrief/analyze when round
is now the happy path: README tip noamseg#9, help.md tip, thankyou recommended next,
hype alternatives, sync drift surface message, and SKILL.md version + command list.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The .claude/ directory caused npx skills to treat the repo as a
Claude Code project instead of a skills package, skipping root
SKILL.md discovery.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The colon in "command: kickoff" was parsed as a YAML mapping key,
causing gray-matter to throw a YAMLException and npx skills to
report "no valid skills found". Using YAML block scalar (>) fixes it.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ailure

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ntent

New module in cross-cutting.md enforces 5 rules on all externally-sent
content: no em dashes, no filler openers, under 150 words, one specific
callback, sounds like the candidate not a template.

Wired into thankyou, outreach, linkedin (messages), and negotiate
(written correspondence). Verbal scripts and internal coaching output exempt.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…stency

Five features borrowed from silverstein/minutes patterns:

1. Minutes Integration: round and analyze auto-detect transcripts from
   ~/meetings/ before asking for paste. Confirms with user before processing.
2. Contact Network + Promise Tracker: new coaching_state section tracking
   every person in the search with relationship strength, losing-touch
   alerts, and stale promise detection (7-day threshold).
3. Narrative Consistency Checker: detects contradictory narratives across
   companies (why leaving, timeline, comp, career thread).
4. Story Deployment Analytics: per-story advance rate, deployment diversity,
   unused high-strength stories. Surfaced in progress.
5. Smart Session Start: proactive intelligence surfacing (auto-detected
   transcripts, stale promises, losing-touch alerts) alongside the
   existing recommendation cascade.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1. Replaced /Users/dhirajbhat/... absolute paths with relative ./
   paths across all test fixtures (8 files)
2. Replaced real people's names (Anthropic, Stripe, Coinbase employees)
   with fake names across all test fixtures, CSVs, and eval files
3. Renamed mock-trisha-connections.csv to mock-mentor-connections.csv
4. Updated README clone URLs from upstream (noamseg/interview-coach-skill)
   to fork (dbhat93/job-search-os)
5. Added .agents/, .claude/skills/, skills-lock.json to .gitignore
   (auto-generated by skills ecosystem, machine-specific)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
nothingbhatnet and others added 3 commits April 1, 2026 12:15
Three features borrowed from santifer/career-ops patterns:

1. Archetype Detection Module: 6 role archetypes (Platform PM, Founding PM,
   Domain PM, Regulatory Response PM, Agent/AI PM, GTM/Growth PM) with JD
   keyword detection. Detected in prep Step 3.5, cascades to story selection,
   question prediction, framing, mock questions, hype concerns, and outreach.

2. STAR+Reflection: Every story gains a Reflection field (what you learned,
   what you'd do differently) distinct from Earned Secret. Pre-loads the
   hindsight answer interviewers consistently ask. Storybank table gains
   Archetype Fit column.

3. Proof Bank: Atomic evidence inventory (patent numbers, customer counts,
   metrics, publications). 15 categories. Consumed by outreach, prep, pitch,
   hype, and cover letter drafting. Replaces reconstructing proof points
   from scratch every time.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1. sync.md: Added Step 7 (Contact Network drift check + Narrative
   Consistency Checker). Both were promised in v3.4/v3.5 VERSIONS but
   not wired into sync. Now surfaces stale promises, losing-touch
   alerts, and narrative contradictions.
2. prep.md: Added Proof Bank consumption in Likely Concerns section.
3. hype.md: Added Proof Bank to 60-second reel data sources.
4. pitch.md: Added Proof Bank as evidence layer for positioning.
5. README.md + VERSIONS.md: Removed all em dashes (134 total). User
   style rule: no em dashes in externally-facing content.
6. SKILL.md: Version bumped 3.3 to 3.5.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@dbhat93
Copy link
Copy Markdown
Author

dbhat93 commented Apr 7, 2026

Note: This PR now includes work through v3.5 on the fork (dbhat93/job-search-os). The fork has continued to evolve since this PR was opened, adding:

  • v3.4: Relationship intelligence (Contact Network, Promise Tracker, Narrative Consistency Checker, Story Deployment Analytics, Minutes transcript integration, Smart Session Start)
  • v3.5: Archetype-driven adaptation (6 PM archetypes cascade to prep/mock/hype/outreach), STAR+Reflection on stories, Proof Bank for atomic evidence
  • Lenny's Newsletter expert frameworks merged into prep (25 high-signal questions, PM Product Sense + Analytical frameworks), negotiate (GAINS framework, offer psychology), salary (PM comp benchmarks), hype (anxiety toolkit), stories (discovery frameworks), present (Duarte + Raskin)
  • QA hardening: sync wiring, Proof Bank consumption across commands, em dash removal from user-facing files

Happy to rebase or split into smaller PRs if that's easier to review. Let me know how you'd like to handle the merge.

dbhat93 and others added 3 commits April 7, 2026 14:25
…eanup

Lenny's Newsletter/Podcast integration (ported from noamseg 4dcc2e6):
- prep.md: 25 high-signal questions (4 themes from 150+ hiring leaders),
  Lenny's 10 PM interview questions, PM Product Sense framework (Erez),
  PM Analytical Thinking framework (Erez), PM Evaluation Framework,
  First-Round Tactics (Gemzer MVIP)
- negotiate.md: GAINS framework (Warwick), offer band reading (Dragova),
  Berger's "Articulate Ask Accept," phone-not-email, strategic patience,
  startup equity rules
- salary.md: PM comp benchmarks (Pave/Levels.fyi 2025, 23K PMs),
  Magnificent 7 starting salaries, geographic differentials, cash vs
  equity priority data
- hype.md: Anxiety toolkit (Abrahams reframe, Miller cyclic sighing,
  Lessin low heart rate, Hudson inner critic, Hosie impostor reframe)
- stories.md: Story discovery frameworks (Dicks transformation moments,
  Lichaw superpower/kryptonite, Scott feedback stories)
- present.md: Duarte What Is/Could Be/New Bliss, Raskin strategic
  narrative, anti-pattern guidance

Achievement-doc pattern (from sameergdogg/job-search-skills):
- cross-cutting.md: Added achievement doc guidance to Proof Bank module
- resume.md: Added Proof Bank as source material for bullet rewrites

Pipeline: Stripe closed (20 days pre-application, never applied)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The system now makes every piece of externally-facing content sound
like the candidate, not like AI. Borrowed from conorbronsdon/avoid-ai-writing.

1. Writing Quality Gate: Replaces External Communication Style Module.
   Three-tier AI-ism vocabulary (Tier 1 always-kill, Tier 2 cluster-flag,
   Tier 3 density-check). P0/P1/P2 severity. Context tolerance matrix
   (6 contexts). Two modes: auto-clean (default) and flag (>300 words).
   Second-pass audit catches surviving patterns.

2. Voice Enforcement: Reads candidate's voice-and-style.md and enforces
   personal style as a rubric (sentence rhythm, thesis placement, humor,
   endings). Generic defaults when no voice file exists.

3. Cross-Document Consistency: Audits 3+ external documents for fact
   consistency, recycled phrases, narrative alignment, comp anchors.

4. Voice Profile Extraction: New kickoff Step 2.5 asks for writing
   samples and auto-generates voice-and-style.md.

5. Personalization for all users: voice-and-style-template.md in repo
   root. README section explains the workflow.

Wired into: outreach, thankyou, pitch, resume, linkedin (all updated
with Writing Quality Gate reference).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1. kickoff.md: Fixed step numbering collision. Steps now flow
   2.5 (Voice Profile) -> 2.6 (Resume Analysis) -> 2.7 (Career
   Transition Detection) -> 2.8 (Target Reality Check). No more
   duplicate Step 2.6 headers.
2. negotiate.md: Updated "External Communication Style Module"
   reference to "Writing Quality Gate" (last stale reference).
3. README.md: Added voice-and-style-template.md to repo structure.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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