--- skill_id: SKILL_002 version: 2.0 last_updated: 2025-12-07 type: loader code_dependencies: [] requires_skills: - SKILL_000 --- # Atomizer Context Loader **Version**: 2.0 **Updated**: 2025-12-07 **Purpose**: Define what documentation to load based on task type. Ensures LLM sessions have exactly the context needed. --- ## Context Loading Philosophy 1. **Minimal by default**: Don't load everything; load what's needed 2. **Expand on demand**: Load additional modules when signals detected 3. **Single source of truth**: Each concept defined in ONE place 4. **Layer progression**: Bootstrap → Operations → System → Extensions --- ## Task-Based Loading Rules ### CREATE_STUDY **Trigger Keywords**: "new", "set up", "create", "optimize", "study" **Always Load**: ``` .claude/skills/core/study-creation-core.md (SKILL_CORE_001) ``` **Load If**: | Condition | Load | |-----------|------| | User asks about extractors | `docs/protocols/system/SYS_12_EXTRACTOR_LIBRARY.md` | | Telescope/mirror/optics mentioned | `modules/zernike-optimization.md` | | >50 trials OR "neural" OR "surrogate" | `docs/protocols/system/SYS_14_NEURAL_ACCELERATION.md` | | Multi-objective (2+ goals) | `docs/protocols/system/SYS_11_MULTI_OBJECTIVE.md` | | Method selection needed | `docs/protocols/system/SYS_15_METHOD_SELECTOR.md` | **Example Context Stack**: ``` # Simple bracket optimization core/study-creation-core.md SYS_12_EXTRACTOR_LIBRARY.md # Mirror optimization with neural acceleration core/study-creation-core.md modules/zernike-optimization.md SYS_14_NEURAL_ACCELERATION.md SYS_15_METHOD_SELECTOR.md ``` --- ### RUN_OPTIMIZATION **Trigger Keywords**: "start", "run", "execute", "begin", "launch" **Always Load**: ``` docs/protocols/operations/OP_02_RUN_OPTIMIZATION.md ``` **Load If**: | Condition | Load | |-----------|------| | "adaptive" OR "characterization" | `docs/protocols/system/SYS_10_IMSO.md` | | "dashboard" OR "real-time" | `docs/protocols/system/SYS_13_DASHBOARD_TRACKING.md` | | "resume" OR "continue" | OP_02 has resume section | | Errors occur | `docs/protocols/operations/OP_06_TROUBLESHOOT.md` | --- ### MONITOR_PROGRESS **Trigger Keywords**: "status", "progress", "how many", "trials", "check" **Always Load**: ``` docs/protocols/operations/OP_03_MONITOR_PROGRESS.md ``` **Load If**: | Condition | Load | |-----------|------| | Dashboard questions | `docs/protocols/system/SYS_13_DASHBOARD_TRACKING.md` | | Pareto/multi-objective | `docs/protocols/system/SYS_11_MULTI_OBJECTIVE.md` | --- ### ANALYZE_RESULTS **Trigger Keywords**: "results", "best", "compare", "pareto", "report" **Always Load**: ``` docs/protocols/operations/OP_04_ANALYZE_RESULTS.md ``` **Load If**: | Condition | Load | |-----------|------| | Multi-objective/Pareto | `docs/protocols/system/SYS_11_MULTI_OBJECTIVE.md` | | Surrogate accuracy | `docs/protocols/system/SYS_14_NEURAL_ACCELERATION.md` | --- ### EXPORT_TRAINING_DATA **Trigger Keywords**: "export", "training data", "neural network data" **Always Load**: ``` docs/protocols/operations/OP_05_EXPORT_TRAINING_DATA.md modules/neural-acceleration.md ``` --- ### TROUBLESHOOT **Trigger Keywords**: "error", "failed", "not working", "crashed", "help" **Always Load**: ``` docs/protocols/operations/OP_06_TROUBLESHOOT.md ``` **Load If**: | Error Type | Load | |------------|------| | NX/solve errors | NX solver section of core skill | | Extractor errors | `modules/extractors-catalog.md` | | Dashboard errors | `docs/protocols/system/SYS_13_DASHBOARD_TRACKING.md` | | Neural errors | `docs/protocols/system/SYS_14_NEURAL_ACCELERATION.md` | --- ### UNDERSTAND_PROTOCOL **Trigger Keywords**: "what is", "how does", "explain", "protocol" **Load Based on Topic**: | Topic | Load | |-------|------| | Protocol 10 / IMSO / adaptive | `docs/protocols/system/SYS_10_IMSO.md` | | Protocol 11 / multi-objective / NSGA | `docs/protocols/system/SYS_11_MULTI_OBJECTIVE.md` | | Extractors / physics extraction | `docs/protocols/system/SYS_12_EXTRACTOR_LIBRARY.md` | | Protocol 13 / dashboard / real-time | `docs/protocols/system/SYS_13_DASHBOARD_TRACKING.md` | | Protocol 14 / neural / surrogate | `docs/protocols/system/SYS_14_NEURAL_ACCELERATION.md` | --- ### EXTEND_FUNCTIONALITY **Trigger Keywords**: "create extractor", "add hook", "new protocol", "extend" **Requires**: Privilege check first (see 00_BOOTSTRAP.md) | Extension Type | Load | Privilege | |----------------|------|-----------| | New extractor | `docs/protocols/extensions/EXT_01_CREATE_EXTRACTOR.md` | power_user | | New hook | `docs/protocols/extensions/EXT_02_CREATE_HOOK.md` | power_user | | New protocol | `docs/protocols/extensions/EXT_03_CREATE_PROTOCOL.md` | admin | | New skill | `docs/protocols/extensions/EXT_04_CREATE_SKILL.md` | admin | **Always Load for Extractors**: ``` modules/nx-docs-lookup.md # NX API documentation via MCP ``` --- ### NX_DEVELOPMENT **Trigger Keywords**: "NX Open", "NXOpen", "NX API", "Simcenter", "Nastran card", "NX script" **Always Load**: ``` modules/nx-docs-lookup.md ``` **MCP Tools Available**: | Tool | Purpose | |------|---------| | `siemens_docs_search` | Search NX Open, Simcenter, Teamcenter docs | | `siemens_docs_fetch` | Fetch specific documentation page | | `siemens_auth_status` | Check Siemens SSO session status | | `siemens_login` | Re-authenticate if session expired | **Use When**: - Building new extractors that use NX Open APIs - Debugging NX automation errors - Looking up Nastran card formats - Finding correct method signatures --- ## Signal Detection Patterns Use these patterns to detect when to load additional modules: ### Zernike/Mirror Detection ``` Signals: "mirror", "telescope", "wavefront", "WFE", "Zernike", "RMS", "polishing", "optical", "M1", "surface error" Action: Load modules/zernike-optimization.md ``` ### Neural Acceleration Detection ``` Signals: "neural", "surrogate", "NN", "machine learning", "acceleration", ">50 trials", "fast", "GNN" Action: Load modules/neural-acceleration.md ``` ### Multi-Objective Detection ``` Signals: Two or more objectives with different goals, "pareto", "tradeoff", "NSGA", "multi-objective", "minimize X AND maximize Y" Action: Load SYS_11_MULTI_OBJECTIVE.md ``` ### High-Complexity Detection ``` Signals: >10 design variables, "complex", "many parameters", "adaptive", "characterization", "landscape" Action: Load SYS_10_IMSO.md ``` ### NX Open / Simcenter Detection ``` Signals: "NX Open", "NXOpen", "NX API", "FemPart", "CAE.", "Nastran", "CQUAD", "CTRIA", "MAT1", "PSHELL", "mesh", "solver", "OP2", "BDF", "Simcenter" Action: Load modules/nx-docs-lookup.md Use MCP tools: siemens_docs_search, siemens_docs_fetch ``` --- ## Context Stack Examples ### Example 1: Simple Bracket Optimization ``` User: "Help me optimize my bracket for minimum weight" Load Stack: 1. core/study-creation-core.md # Core study creation logic ``` ### Example 2: Telescope Mirror with Neural ``` User: "I need to optimize my M1 mirror's wavefront error with 200 trials" Load Stack: 1. core/study-creation-core.md # Core study creation 2. modules/zernike-optimization.md # Zernike-specific patterns 3. SYS_14_NEURAL_ACCELERATION.md # Neural acceleration for 200 trials 4. SYS_15_METHOD_SELECTOR.md # Method recommendation ``` ### Example 3: Multi-Objective Structural ``` User: "Minimize mass AND maximize stiffness for my beam" Load Stack: 1. core/study-creation-core.md # Core study creation 2. SYS_11_MULTI_OBJECTIVE.md # Multi-objective protocol ``` ### Example 4: Debug Session ``` User: "My optimization failed with NX timeout error" Load Stack: 1. OP_06_TROUBLESHOOT.md # Troubleshooting guide ``` ### Example 5: Create Custom Extractor ``` User: "I need to extract thermal gradients from my results" Load Stack: 1. EXT_01_CREATE_EXTRACTOR.md # Extractor creation guide 2. SYS_12_EXTRACTOR_LIBRARY.md # Reference existing patterns ``` --- ## Loading Priority Order When multiple modules could apply, load in this order: 1. **Core skill** (always first for creation tasks) 2. **Primary operation protocol** (OP_*) 3. **Required system protocols** (SYS_*) 4. **Optional modules** (modules/*) 5. **Extension protocols** (EXT_*) - only if extending --- ## Anti-Patterns (Don't Do) 1. **Don't load everything**: Only load what's needed for the task 2. **Don't load extensions for users**: Check privilege first 3. **Don't skip core skill**: For study creation, always load core first 4. **Don't mix incompatible protocols**: P10 (single-obj) vs P11 (multi-obj) 5. **Don't load deprecated docs**: Only use docs/protocols/* structure