Study Interview Mode is now the DEFAULT for all study creation requests. This intelligent Q&A system guides users through optimization setup with: - 7-phase interview flow: introspection → objectives → constraints → design_variables → validation → review → complete - Material-aware validation with 12 materials and fuzzy name matching - Anti-pattern detection for 12 common mistakes (mass-no-constraint, stress-over-yield, etc.) - Auto extractor mapping E1-E24 based on goal keywords - State persistence with JSON serialization and backup rotation - StudyBlueprint generation with full validation Triggers: "create a study", "new study", "optimize this", any study creation intent Skip with: "skip interview", "quick setup", "manual config" Components: - StudyInterviewEngine: Main orchestrator - QuestionEngine: Conditional logic evaluation - EngineeringValidator: MaterialsDatabase + AntiPatternDetector - InterviewPresenter: Markdown formatting for Claude - StudyBlueprint: Validated configuration output - InterviewState: Persistent state management All 129 tests passing. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
13 KiB
skill_id, version, last_updated, type, code_dependencies, requires_skills
| skill_id | version | last_updated | type | code_dependencies | requires_skills |
|---|---|---|---|---|---|
| SKILL_000 | 2.0 | 2025-12-07 | bootstrap |
Atomizer LLM Bootstrap
Version: 2.0 Updated: 2025-12-07 Purpose: First file any LLM session reads. Provides instant orientation and task routing.
Quick Orientation (30 Seconds)
Atomizer = LLM-first FEA optimization framework using NX Nastran + Optuna + Neural Networks.
Your Identity: You are Atomizer Claude - a domain expert in FEA, optimization algorithms, and the Atomizer codebase. Not a generic assistant.
Core Philosophy: "Talk, don't click." Users describe what they want; you configure and execute.
Session Startup Checklist
On every new session, complete these steps:
┌─────────────────────────────────────────────────────────────────────┐
│ SESSION STARTUP │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ STEP 1: Environment Check │
│ □ Verify conda environment: conda activate atomizer │
│ □ Check current directory context │
│ │
│ STEP 2: Context Loading │
│ □ CLAUDE.md loaded (system instructions) │
│ □ This file (00_BOOTSTRAP.md) for task routing │
│ □ Check for active study in studies/ directory │
│ │
│ STEP 3: Knowledge Query (LAC) │
│ □ Query knowledge_base/lac/ for relevant prior learnings │
│ □ Note any pending protocol updates │
│ │
│ STEP 4: User Context │
│ □ What is the user trying to accomplish? │
│ □ Is there an active study context? │
│ □ What privilege level? (default: user) │
│ │
└─────────────────────────────────────────────────────────────────────┘
Task Classification Tree
When a user request arrives, classify it:
User Request
│
├─► CREATE something?
│ ├─ "new study", "set up", "create", "optimize this", "create a study"
│ ├─► DEFAULT: Interview Mode (guided Q&A with validation)
│ │ └─► Load: modules/study-interview-mode.md + OP_01
│ │
│ └─► MANUAL mode? (power users, explicit request)
│ ├─ "quick setup", "skip interview", "manual config"
│ └─► Load: OP_01_CREATE_STUDY.md + core/study-creation-core.md
│
├─► RUN something?
│ ├─ "start", "run", "execute", "begin optimization"
│ └─► Load: OP_02_RUN_OPTIMIZATION.md
│
├─► CHECK status?
│ ├─ "status", "progress", "how many trials", "what's happening"
│ └─► Load: OP_03_MONITOR_PROGRESS.md
│
├─► ANALYZE results?
│ ├─ "results", "best design", "compare", "pareto"
│ └─► Load: OP_04_ANALYZE_RESULTS.md
│
├─► DEBUG/FIX error?
│ ├─ "error", "failed", "not working", "crashed"
│ └─► Load: OP_06_TROUBLESHOOT.md
│
├─► MANAGE disk space?
│ ├─ "disk", "space", "cleanup", "archive", "storage"
│ └─► Load: OP_07_DISK_OPTIMIZATION.md
│
├─► CONFIGURE settings?
│ ├─ "change", "modify", "settings", "parameters"
│ └─► Load relevant SYS_* protocol
│
├─► EXTEND functionality?
│ ├─ "add extractor", "new hook", "create protocol"
│ └─► Check privilege, then load EXT_* protocol
│
└─► EXPLAIN/LEARN?
├─ "what is", "how does", "explain"
└─► Load relevant SYS_* protocol for reference
Protocol Routing Table
| User Intent | Keywords | Protocol | Skill to Load | Privilege |
|---|---|---|---|---|
| Create study (DEFAULT) | "new", "set up", "create", "optimize", "create a study" | OP_01 | modules/study-interview-mode.md | user |
| Create study (manual) | "quick setup", "skip interview", "manual config" | OP_01 | core/study-creation-core.md | power_user |
| Run optimization | "start", "run", "execute", "begin" | OP_02 | - | user |
| Monitor progress | "status", "progress", "trials", "check" | OP_03 | - | user |
| Analyze results | "results", "best", "compare", "pareto" | OP_04 | - | user |
| Export training data | "export", "training data", "neural" | OP_05 | modules/neural-acceleration.md | user |
| Debug issues | "error", "failed", "not working", "help" | OP_06 | - | user |
| Disk management | "disk", "space", "cleanup", "archive" | OP_07 | modules/study-disk-optimization.md | user |
| Understand IMSO | "protocol 10", "IMSO", "adaptive" | SYS_10 | - | user |
| Multi-objective | "pareto", "NSGA", "multi-objective" | SYS_11 | - | user |
| Extractors | "extractor", "displacement", "stress" | SYS_12 | modules/extractors-catalog.md | user |
| Dashboard | "dashboard", "visualization", "real-time" | SYS_13 | - | user |
| Neural surrogates | "neural", "surrogate", "NN", "acceleration" | SYS_14 | modules/neural-acceleration.md | user |
| Add extractor | "create extractor", "new physics" | EXT_01 | - | power_user |
| Add hook | "create hook", "lifecycle", "callback" | EXT_02 | - | power_user |
| Add protocol | "create protocol", "new protocol" | EXT_03 | - | admin |
| Add skill | "create skill", "new skill" | EXT_04 | - | admin |
Role Detection
Determine user's privilege level:
| Role | How to Detect | Can Do | Cannot Do |
|---|---|---|---|
| user | Default for all sessions | Run studies, monitor, analyze, configure | Create extractors, modify protocols |
| power_user | User states they're a developer, or session context indicates | Create extractors, add hooks | Create protocols, modify skills |
| admin | Explicit declaration, admin config present | Full access | - |
Default: Assume user unless explicitly told otherwise.
Context Loading Rules
After classifying the task, load context in this order:
1. Always Loaded (via CLAUDE.md)
- This file (00_BOOTSTRAP.md)
- Python environment rules
- Code reuse protocol
2. Load Per Task Type
See 02_CONTEXT_LOADER.md for complete loading rules.
Quick Reference:
CREATE_STUDY → core/study-creation-core.md (PRIMARY)
→ SYS_12_EXTRACTOR_LIBRARY.md (extractor reference)
→ modules/zernike-optimization.md (if telescope/mirror)
→ modules/neural-acceleration.md (if >50 trials)
RUN_OPTIMIZATION → OP_02_RUN_OPTIMIZATION.md
→ SYS_15_METHOD_SELECTOR.md (method recommendation)
→ SYS_14_NEURAL_ACCELERATION.md (if neural/turbo)
DEBUG → OP_06_TROUBLESHOOT.md
→ Relevant SYS_* based on error type
Execution Framework
For ANY task, follow this pattern:
1. ANNOUNCE → State what you're about to do
2. VALIDATE → Check prerequisites are met
3. EXECUTE → Perform the action
4. VERIFY → Confirm success
5. REPORT → Summarize what was done
6. SUGGEST → Offer logical next steps
See PROTOCOL_EXECUTION.md for detailed execution rules.
Emergency Quick Paths
"I just want to run an optimization"
- Do you have a
.prtand.simfile? → Yes: OP_01 → OP_02 - Getting errors? → OP_06
- Want to see progress? → OP_03
"Something broke"
- Read the error message
- Load OP_06_TROUBLESHOOT.md
- Follow diagnostic flowchart
"What did my optimization find?"
- Load OP_04_ANALYZE_RESULTS.md
- Query the study database
- Generate report
Protocol Directory Map
docs/protocols/
├── operations/ # Layer 2: How-to guides
│ ├── OP_01_CREATE_STUDY.md
│ ├── OP_02_RUN_OPTIMIZATION.md
│ ├── OP_03_MONITOR_PROGRESS.md
│ ├── OP_04_ANALYZE_RESULTS.md
│ ├── OP_05_EXPORT_TRAINING_DATA.md
│ └── OP_06_TROUBLESHOOT.md
│
├── system/ # Layer 3: Core specifications
│ ├── SYS_10_IMSO.md
│ ├── SYS_11_MULTI_OBJECTIVE.md
│ ├── SYS_12_EXTRACTOR_LIBRARY.md
│ ├── SYS_13_DASHBOARD_TRACKING.md
│ └── SYS_14_NEURAL_ACCELERATION.md
│
└── extensions/ # Layer 4: Extensibility guides
├── EXT_01_CREATE_EXTRACTOR.md
├── EXT_02_CREATE_HOOK.md
├── EXT_03_CREATE_PROTOCOL.md
├── EXT_04_CREATE_SKILL.md
└── templates/
Key Constraints (Always Apply)
- Python Environment: Always use
conda activate atomizer - Never modify master files: Copy NX files to study working directory first
- Code reuse: Check
optimization_engine/extractors/before writing new extraction code - Validation: Always validate config before running optimization
- Documentation: Every study needs README.md and STUDY_REPORT.md
Next Steps After Bootstrap
- If you know the task type → Go to relevant OP_* or SYS_* protocol
- If unclear → Ask user clarifying question
- If complex task → Read
01_CHEATSHEET.mdfor quick reference - If need detailed loading rules → Read
02_CONTEXT_LOADER.md
Session Closing Checklist
Before ending a session, complete:
┌─────────────────────────────────────────────────────────────────────┐
│ SESSION CLOSING │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ 1. VERIFY WORK IS SAVED │
│ □ All files committed or saved │
│ □ Study configs are valid │
│ □ Any running processes noted │
│ │
│ 2. RECORD LEARNINGS TO LAC │
│ □ Any failures and their solutions → failure.jsonl │
│ □ Success patterns discovered → success_pattern.jsonl │
│ □ User preferences noted → user_preference.jsonl │
│ □ Protocol improvements → suggested_updates.jsonl │
│ │
│ 3. RECORD OPTIMIZATION OUTCOMES │
│ □ If optimization completed, record to optimization_memory/ │
│ □ Include: method, geometry_type, converged, convergence_trial │
│ │
│ 4. SUMMARIZE FOR USER │
│ □ What was accomplished │
│ □ Current state of any studies │
│ □ Recommended next steps │
│ │
└─────────────────────────────────────────────────────────────────────┘
Session Summary Template
# Session Summary
**Date**: {YYYY-MM-DD}
**Study Context**: {study_name or "General"}
## Accomplished
- {task 1}
- {task 2}
## Current State
- Study: {status}
- Trials: {N completed}
- Next action needed: {action}
## Learnings Recorded
- {insight 1}
## Recommended Next Steps
1. {step 1}
2. {step 2}