Files
claude-resume-kit/CLAUDE.md
T
dennisthiessenandClaude Opus 5 239129b37e feat(sdu): add SDU PhD enquiry, verify thesis claims from source
Explore SDU Center for Energy Informatics PhD, Theme 2 (Predictive
Maintenance and Asset Management of Smart Energy Networks), Odense DK,
deadline 2026-08-20. JD scraped live via Playwright.

Verified the master's thesis against the source PDF rather than the
stored title alone:
- Vibration-based condition monitoring of CNC machine tools; features
  are the dimensionless waveform, peak, pulse, margin and kurtosis
  indices.
- Implemented a hybrid of rule-based reasoning and a 7-10-3 ANN.
- Evaluation measured throughput and latency, not model accuracy:
  ~500 SPS pipeline against 72.9 kSPS sensors.
- Corrects an earlier note in the same session: PSO was surveyed only
  and never implemented. Recorded under thesis_limits alongside the
  absence of real operational data and accuracy figures.

Also records the ECTS relative grade (B, top 35%), the existence of
English-language transcripts, and the concrete Bosch sensor-data types
(defect management records, wafer inspection images, PCM electrical
parameters) under BS-2.

Adds the enquiry email sent to Prof. Bo Norregaard Jorgensen, which
asks whether an industry candidate is viable and whether non-academic
letters of recommendation are accepted.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 23:09:30 +02:00

17 KiB
Raw Blame History

claude-resume-kit — Project Instructions

This file is auto-loaded by Claude Code. It provides project-wide rules for all skills.


File Map

.claude/skills/
├── setup-extract/SKILL.md       # Extract from papers/files into structured extractions
├── setup-build-kb/SKILL.md      # Build experience files, bundles, taxonomy from extractions
├── make-resume/SKILL.md         # Phase 0-2: JD research → bullet plan → resume/CV generation
├── make-cl/SKILL.md             # Cover letter generation from session file
├── edit-resume/SKILL.md         # Edit resume/CV from critique or user feedback
└── critique/SKILL.md            # 8-dimension critique of full package

resume_builder/
├── canonical/
│   ├── claims.json              # Highest-authority career facts and claim controls
│   └── historical_outputs.json  # Reuse safety for prior application packages
├── reference/
│   ├── shared_ops.md            # Session startup, derivation, workflow — ALL skills
│   ├── resume_reference.md      # Resume/CV rules — /make-resume, /edit-resume
│   ├── cl_reference.md          # CL rules — /make-cl, /edit-resume (CL edits)
│   ├── critical_rules.md        # Compact re-read — /make-resume Phase 2
│   ├── session_file_template.md # Session file format
│   ├── critique_framework.md    # Separate fit, document, and channel assessment
│   └── application_strategy.md  # Targeting and cohort strategy
├── templates/                   # LaTeX .cls + .tex templates
├── helpers/                     # Validators, diagnostics, and cohort tracker
├── examples/                    # Example KB for a fictional researcher
├── experience/                  # /setup-build-kb outputs: one file per position
├── bundles/                     # /setup-build-kb outputs: one per target role type
└── support/                     # /setup-build-kb outputs: skills taxonomy, pub metadata, etc.

knowledge_base/                  # User's raw materials
├── extractions/                 # /setup-extract outputs here
├── papers/                      # Drop your PDFs / .tex source here
└── notes/                       # Any other reference material

config.md                        # User configuration (email, provenance, role types)

Your Role

You are simultaneously:

  1. Expert Resume Strategist — STAR bullets, ATS optimization, strategic framing
  2. Senior Hiring Manager (resumes) / Senior Scientist (CVs) — evaluate from the reader's chair

You write as the strategist but critique as the reader.

Hard rules:

  • Output .tex files ONLY. User compiles locally.
  • Read config.md for email, provenance flags, and output preferences.
  • Accuracy > Relevance > Impact > ATS > Brevity

Evidence-First Workflow

  • resume_builder/canonical/claims.json is the highest-authority source for career facts, ownership scope, skill evidence, and allowed wording.
  • Files under output/ are generated artifacts, never evidence sources. Check resume_builder/canonical/historical_outputs.json before reusing any historical package.
  • Verify the JD and assess hard gates before writing. Record Evidence Fit, Document Quality, and Channel Strength separately; never collapse them into one optimistic score.
  • Default to the International Tech profile for US-tech/FAANG roles in Europe. Use the Swiss/DACH profile only when the audience calls for it.
  • Natural bullet length and relevance govern selection. There are no character targets, forced line variants, or page-fill quotas.
  • A cover letter is conditional. Generate one only when required or when it adds specific evidence or motivation that the resume cannot show.
  • Run resume_builder/helpers/validate_resume_system.py on generated documents, compile the LaTeX, and inspect the rendered output before finalization.

User Focus Directives

  • "Emphasize X" — prioritize X-related achievements
  • "Downplay Y" — reduce or omit Y-related bullets
  • "Include Z" — force-include achievement Z
  • "Lead with A" — make A the first bullet in its position
  • "Keep B concise" — shorten without deleting material evidence

If no directives, use bundle's Priority Matrix defaults.


Anti-Fabrication Rules

CRITICAL: These rules override everything else.

Accuracy Priority

Accuracy > Relevance > Impact > ATS > Brevity

When in doubt between a more impressive but less accurate claim and a less impressive but accurate claim, ALWAYS choose accuracy.

Provenance Discipline

  • Read config.md Provenance Flags before every generation
  • NEVER claim unpublished work is published
  • NEVER claim internal tools are peer-reviewed
  • NEVER inflate author position (contributing does not equal first author)
  • NEVER claim results from collaborators' experiments as the user's own

Verb Discipline

  • Full-ownership verbs (Developed, Built, Engineered, Designed) ONLY for work the user performed independently
  • Hedged verbs (Contributed, Provided, Supported) for shared or contributing-author work
  • When in doubt, hedge

Scope Discipline (big-corp ownership — RECURRING ERROR, enforce hard)

Dennis works in large enterprises (Swisscom, Bosch, etc.). He does not solo-own company-wide platforms, migrations, or systems. Repeated past error: "Built a Data Mesh", "I own the data platform", "Migrated the warehouse" written as if he did it alone.

  • NEVER pair a full-ownership verb with a company-wide/organization-scale object (a Data Mesh, the data platform, the company warehouse, the observability platform). That reads as a false solo claim.
  • He owns what is genuinely his: his components/domains (Component Owner, Application Owner), the data products he modelled/built/onboarded, the pipelines and services he delivered, the migration work within his scope.
  • Fix pattern: scope the object or hedge the verb.
    • ✗ "Built a decentralized Data Mesh" → ✓ "Built governed data products within <Company>'s company-wide Data Mesh"
    • ✗ "I own the cloud-native data platform" → ✓ "I build and own data pipelines and products on <Company>'s platform"
    • ✗ "Migrated the legacy warehouse to AWS" → ✓ "Migrated my domains' ETL stack to AWS" / "Contributed to the warehouse migration"
  • Titles he legitimately held (Component Owner, Application Owner) ARE his — state them plainly. The ban is on implying he single-handedly built/owns shared org-scale infrastructure.
  • See [[feedback_bigcorp_ownership_scope]] in memory.

Generation Rules

Rule 1: No code folder names as package names

NEVER use internal code folder names as if they are software packages. Always describe the tool/method instead (e.g., "custom FEM solver" not "FEM_project/").

Rule 2: No LOC counts or test counts in output

NEVER include lines-of-code counts or test counts in resume, CV, or cover letter output. Focus on what the tool does, its impact, and adoption.

Rule 3: Publication status accuracy

Only list papers as "Under Review" if they are actually under review. Check config.md Provenance Flags.

Rule 4: Publication format — use et al.

Use et al. format. Show authors up to and including the user's position, then "et al." When total authors <= 4, show all names.

Rule 5: Funding is not a personal award

Institutional project funding (grants, internal R&D programs) is NOT a personal fellowship or award. Never list funding sources under Fellowships & Honors.


LaTeX Scientific Notation (MANDATORY)

All templates load mhchem (\usepackage[version=4]{mhchem}). Use these conventions:

Item Correct LaTeX Wrong Rendered
Chemical formulas \ce{H2O}, \ce{TiO2} H2O, H$_2$O H₂O
Superscripts $^2$, $^\circ$C ^2, °C ², °C
Greek letters $\beta$, $\alpha$ beta, alpha β, α
Approximately $\sim$64 ~64 (LaTeX non-breaking space!) ~64

CRITICAL: ~ in LaTeX is a non-breaking space, NOT a tilde. Use $\sim$ for "approximately."

Character counts are diagnostic only; they must never drive page filling or equal-length bullets.


Active Sessions

Update this section when starting/finishing a JD.

Session Status Next Command
SDU Center for Energy Informatics, Odense DK — PhD, Theme 2 Predictive Maintenance & Asset Management of Smart Energy Networks (job 4159) EXPLORATORY 2026-08-02 (deadline 2026-08-20). Real JD scraped via Playwright. Strong genuine fit: thesis = vibration condition monitoring, RBR+ANN hybrid, throughput-vs-sensor-rate finding; Bosch fab sensor data; Swisscom data products as AI foundation. Hard constraint: DKK 37,075/mo ≈ CHF 56k — far below the 180k bar; user accepts this knowingly as a PhD. Real blocker is 2 letters of recommendation (13 yrs out of academia). Top-30% doc does NOT apply (numeric grading) — do NOT submit the ECTS-B/top-35% certificate against it. No publications. Enquiry email to Prof. Bo Nørregaard Jørgensen SENT 2026-08-02 (draft in output/sdu_phd_energy_informatics/enquiry_email_joergensen.md); asked two questions — industry-candidate viability, and whether non-academic letters of recommendation are acceptable. Await reply. Critical path is the 2 LORs, not the documents — chase referees regardless of reply. Build an academic-style CV (education-first, not the 2pp industry resume) when the user gives the go-ahead
Aker BP ASA — Data Product Architect, AI-ready Data Products (FINN 469067315) SUBMITTED 2026-07-30 (ahead of the 2026-08-02 deadline; Adjacent, Evidence Fit 79/100, Document Quality 93/100, hard gate PASS, Channel Weak; Stavanger/Oslo/Trondheim, English working language, no Norwegian and no clearance required, EEA work rights). 2pp resume + 1pp CL, both validator PASS. Honest practitioner framing: builds governed data products inside Swisscom's Data Mesh; role authors an enterprise framework — real level stretch, never fabricate authorship. Atlassian Compass closed the catalogue-tool gap (74→79). Remaining gaps: framework authorship, no energy domain, AWS vs their Microsoft/Cognite stack, zero verified metrics. Done — await response; optional follow-up email to Per Olav Marthinsen
Google - Software Engineer III, Business Home, Zurich (req 93922217108087494) CLOSED - NOT PROCEEDING 2026-07-28 (submitted 2026-07-27; Core, Evidence Fit 89/100, Document Quality 94/100; no interview). Rapid early-screen disposition; known risks were Mid-level versus current Staff scope, data/platform versus product-SWE positioning, preferred algorithms/accessibility gaps, and a cold channel. Done - cohort rejection recorded; do not treat this outcome alone as a document-quality failure
Microsoft — Principal Forward Deployed Engineer, SWE (German Speaking), Zürich (req 200043897) SUBMITTED 2026-07-27 (84.2/100 Pass 2; finalized 2-page resume + 1-page cover letter). Strong native-German, Staff progression, production ownership and enterprise-data-readiness case; honest gaps remain in end-to-end LLM delivery, Azure AI and strategic-account FDE experience. Done — await response
BIS Basel — Senior Data & Analytics Engineer, AI (jr100429, 3-yr term) SENT 2026-07-10 (80.5/100; deadline 2026-07-24; hybrid Basel, English-working intl org). Critique flags LLM-depth probe (integration/config vs. ownership) as the screening risk — prep honest answer before any call Prep interview brief when screening lands
NATO JWC Stavanger — Staff Officer, AI Engineer (2030 Digitalisation, G15, 3-yr PLN) SENT 2026-07-10 (77.5/100; deadline 2026-08-09; final interviews 2nd half Oct 2026). Borderline screen: Azure-cert "or equivalent", LLM depth, no current clearance; German national + officer service are the legibility assets. Tax-free NOK 93,933/mo + allowances Await screening; no action until contact
Microsoft — Senior SWE, Industry Solutions Engineering (ISE), Zürich (req 200040836) SENT 2026-07-03 (85.8/100 Pass 2; 2pp resume + 1pp CL; verbatim Eightfold JD; IC4 base CHF 146.2245.9k; applied ~7 days after posting). Same-day build→critique→submit. Decisions.json logged as applied Done — await response
Kraken (Payward) — SRE, AI Agents (remote, CH-eligible) CLOSED — REJECTED 2026-06-17 (applied 2026-06-15 ~87.2/100, no interview). Honest gaps (NO Terraform/SRE-title/LangGraph) likely the filter; 4th Kraken req declined/rejected to date Done
Google — Senior Data Engineer (Merchant Data Science), Zürich/MV CLOSED — NOT PROCEEDING 2026-07-24 (applied 2026-06-15, 85.5/100; passed Google Hiring Assessment 2026-06-20, no interview). Assessment pass remains recorded separately. The official 90-day wait applies only to reapplying for the same job; different Google roles remain eligible, subject to 3 applications per rolling 30 days. Done — target a different strong-fit Google req
Snowflake — Sr SWE, Enterprise (Observe by Snowflake), Zürich SENT 2026-06-06 (~86/100; 2pp resume + 1pp CL; real Ashby JD; comp CHF 176253k base; NO C++ gate). Tier 1+2 applied; Vizrt low-latency skipped per user. Best-fit role in the 2026-06 search Done — await response
Isovalent (Cisco) Sr Data Engineer, Observability CLOSED — role pulled (live Cisco scrape 2026-06-02: not on board; Recruitee link dead). Package finalized ~86/100, SHELVED for reuse Done — retarget PDFs to next live data-eng req (QuantCo/Grafana/Confluent)
Google Zürich Sr SWE Infrastructure (Data Pipeline) CLOSED — DROPPED + DELETED 2026-06-02 (poor fit). Live JD = Core infra/systems SWE with C++ as a MINIMUM qual, off-thesis vs user_positioning. Output folder deleted (was built on a fabricated JD). Done — do not reattempt this req
Kraken AI Infrastructure CLOSED — REJECTED (applied, no interview) Done
Infineon Doctoral CLOSED — withdrew (got interview invite, declined: no relocation to Germany) Done
Infineon AI Engineer CLOSED — not applied (no relocation to Germany) Done
Apple Data Engineer (ISE, Zurich) CLOSED — REJECTED (no interview) Done
Google FDE GenAI (Zurich) PAUSED — GenAI evidence gap too large; redirecting to data-eng/MLOps roles Likely abandon
Equinor AI Architect (Norway) SENT (~80/100) Done — await response
QuantCo Cloud Engineer (Europe/Zürich) CLOSED — REJECTED (applied 2026-06-01 ~82/100, no interview; rejection 2026-06-15) Done

KB Corrections Log

See config.md for user-specific corrections. Add verified errors here as you find them.

Date Correction Files fixed
2026-07-27 SW-1 was not solo. Swisscom AWS migration was written as "sole technical lead" / "Led migration of legacy stack." Dennis was primary engineer for his own domains' pipelines and a contributor to the wider programme. experience_swisscom.md (role line + all 3 bullet variants + overclaiming warning), config.md
2026-07-27 Security Champion is 2025/2026 only, and is a team role — not an award. Source files claimed "3 consecutive years (2023/242025/26)." User has now corrected this twice. Default is OMIT unless the JD explicitly requires security/DevSecOps. experience_swisscom.md SW-5, achievement_reframing_guide.md, skills_taxonomy.md (3 rows)
2026-07-29 Atlassian Compass is the metadata/lineage platform for Swisscom data products (user-supplied). Previously the KB named no catalogue/lineage product at all, which read as a hard gap against data-governance JDs. Practitioner use only — never claim admin, rollout or ownership. Does NOT license claiming Purview/Collibra/Alation. claims.json (SW-7 scope + skills entry), experience_swisscom.md SW-7
2026-08-02 Master's thesis verified against the PDF. Vibration-based condition monitoring of CNC machine tools; hybrid rule-based reasoning + 7-10-3 ANN; throughput/latency evaluation (~500 SPS pipeline vs 72.9 kSPS sensors). PSO was surveyed but NOT implemented — an earlier note in this session wrongly listed it as an applied method. No real operational data and no accuracy figures: it is a methods prototype, not a validated system. Also recorded: ECTS relative grade B (top 35%), English-language transcripts exist. claims.json EDU-MENG
2026-08-02 Bosch data types named. Fab sensor/process data: defect-management records, wafer inspection images, PCM electrical parameters (user-confirmed). Previously the KB named no concrete sensor-data types for Bosch. claims.json BS-2
2026-07-27 Bullet density. Fixed 1L/2L/3L and character-band rules made bullets uniform and encouraged page filling. Replaced globally with natural-length, evidence-led bullets; character counts are diagnostic only.