v3.1–v3.3: Navigation, network intelligence, async prep, and post-interview compound workflow#35
Open
dbhat93 wants to merge 47 commits intonoamseg:mainfrom
Open
v3.1–v3.3: Navigation, network intelligence, async prep, and post-interview compound workflow#35dbhat93 wants to merge 47 commits intonoamseg:mainfrom
dbhat93 wants to merge 47 commits intonoamseg:mainfrom
Conversation
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>
* 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>
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>
4 tasks
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>
Author
|
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:
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. |
…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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Three versions of additions on top of the v3 base.
v3.1 — Navigation, Gap Pipeline, Security Hardening
Map command — New
mapcommand: 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 byprepandprogress.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
analyzeandprep; Data Privacy and Retention section inCOACH.md; data cleanup prompt inreflect; compensation privacy warning insalary; recruiter feedback provenance tracking ([written]/[paraphrased]) infeedback;state/added to.gitignore.v3.2 — Network Intelligence + Async Prep
LinkedIn connections integration —
researchcross-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 tracking —
outreachreads 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
prepfor 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 byprepandresearch.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)
roundcommand — Closes the three-command post-interview sequence (debrief→analyze→sync) into one. Two modes:analyzewhen 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).
debriefandanalyzepreserved 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.mdUpdated 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.mdCore files:
COACH.md,README.md,VERSIONS.md,.gitignoreNew 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