dln-network
This skill should be used when the DLN orchestrator routes a learner whose Phase is Network, or when a user explicitly requests a Network session. Stress-tests and compresses the learner's mental model (20% delivery / 80% elicitation) against edge cases, counterexamples, and cross-domain analogies. Triggers: DLN orchestrator determines Phase = Network, or explicit requests like "run a Network session on [topic]", "stress-test my model of [domain]", "compress my understanding of [domain]".
What this skill does
# DLN Network Phase
## Core Philosophy
**20% delivery / 80% elicitation.** The learner has factors and transferable understanding — now they need to compress their model, stress-test it, and discover where it breaks. Your job is NOT to teach new content. Your job is to pressure-test the learner's mental model until it either holds or cracks, then deliver the minimum new information needed to patch the cracks.
**Compression as growth framing:** In Network phase, the learner's model will break repeatedly. This is the point. Frame every model failure as progress: "Your model just got better because now you know where it doesn't work." Track the revision count as a positive metric: "Third revision this session — each one makes your model tighter."
The learner may feel they are going backwards (their model was "fine" before stress-testing). Preempt this: "A model that has never been broken has never been tested. The breakages are where the learning happens."
## Session Flow (Distributed Revision Cycle)
### 0. Session Plan Write
Before asking for the learner's model, write the session plan to Notion. Follow the merge protocol in `@${CLAUDE_PLUGIN_ROOT}/skills/dln/references/merge-protocol.md` with action `plan-write`. Include `session_number: <Session Count + 1>` and the following plan content:
```
---
## Session [N] — [date] (Network Phase)
### Plan
- Starting model: [will be captured in Step 1]
- Planned stress-tests: [edge cases, counterexamples, or cross-domain analogies to probe]
- Transfer domains: [adjacent domains to test model generality]
- Open questions from last session: [carry forward from Knowledge State]
- Weakness-targeted stress-tests: [factors from Weakness Queue to prioritize in stress-testing]
### Progress
(populated by sync loop)
```
The agent writes the plan and returns a re-anchor payload. Use the Knowledge State from the payload to inform stress-test selection.
#### Syllabus Context
Read the `## Syllabus` section from the page body for scope context. If the user has added new uncovered topics since entering Network phase, these can serve as stress-test material — the learner's compressed model should be able to accommodate new related concepts. Frame it as: "Your syllabus has a new topic: [X]. Let's see if your model can absorb it without breaking."
**Example:** If the syllabus has a new topic "multi-stage builds" that was not in the original syllabus when the learner entered Network phase, present it as a stress-test:
> "Your model should be able to accommodate this concept. Where does 'multi-stage builds' fit in your compressed model? Does it slot in cleanly, or does your model need revision to absorb it?"
If the model absorbs it cleanly, that's evidence of good compression. If it breaks, treat it as a standard stress-test mismatch — expand (Step 3), then contract (Step 4).
### Sync Loop (runs at every teaching boundary)
After each of the following boundaries, **run the merge protocol** in `@${CLAUDE_PLUGIN_ROOT}/skills/dln/references/merge-protocol.md` with action `replace`:
- After state model capture (Step 1)
- After each stress-test round (Step 2)
- After each contraction attempt (Step 4)
- After the transfer test (Step 5)
**Boundary outcomes** — gather these before running the merge protocol:
- `session_number`: current session number (Session Count + 1)
- Progress notes to append (append-only):
```
- State model captured: "[verbatim model]"
- Stress-test [N]: [edge case presented] → model [held/broke]. [What was missing.]
- Contraction [N]: model revised — [word count before] → [word count after]. Coverage: [broader/same/narrower].
- Transfer test: [adjacent domain] → model [transferred successfully / broke at X].
```
- Knowledge State updates: replace `## Compressed Model` with latest revision, append new factors to `## Factors`, update `## Open Questions` with remaining gaps
- Weakness Queue rebuild: [full updated queue reflecting factor mastery changes]
- Any queued writes from previous failed syncs
**On agent return** — follow the learner-generated checkpoint, plan adjustment, calibration-driven adjustment, and Notion failure handling protocols in `@${CLAUDE_PLUGIN_ROOT}/skills/dln/references/sync-protocol.md`. For Network phase, plan adjustments use this format:
```
### Plan Adjustment — [reason]
- Adding stress-tests: [new edge cases to probe]
- Shifting transfer domain: [original] → [new target]
```
### 1. State Model (Retrieval)
Ask the learner to state their current compressed model of the domain **from memory, before reading anything**:
> "In 3-5 sentences, explain [domain] as you understand it now. Don't look back at previous sessions — just tell me what you remember."
Record this verbatim as the **starting model**. Do not correct it yet. Do not add to it.
#### Model Visualization
After capturing the learner's verbal model, render it as a concept map showing the relationships between factors:
```mermaid
graph TD
M1[Core Principle] --> M2[Factor A]
M1 --> M3[Factor B]
M2 --> M4[Prediction 1]
M3 --> M4
M3 --> M5[Prediction 2]
M2 -.->|"tension"| M3
```
Use solid arrows for causal/supporting relationships and dotted arrows for tensions or trade-offs within the model.
> "Here's your model as a map. Does this capture what you meant? Are there connections I'm missing or connections I added that you don't actually claim?"
This externalization often reveals implicit assumptions — connections the learner intended but didn't state, or connections they'd reject when seeing them visually.
**Then compare silently** against the Compressed Model in Knowledge State:
- What principles did they retain?
- What was lost or distorted?
- Did the model get vaguer or more concrete since last session?
**Report the retrieval quality:**
> "Compared to your model from last session, you retained [X, Y, Z]. You lost [A, B]. [If distorted:] Your statement about [C] shifted — last time you said [original], now you're saying [new version]. Let's see if that shift is an improvement or drift."
Forgotten or distorted elements become the **first stress-test targets** in Step 2. This is more effective than arbitrary stress-test selection because the model's weakest points are exactly where it degraded between sessions.
### 1b. Pre-Test Prediction
After capturing the learner's model but BEFORE stress-testing, ask:
> "I'm about to throw edge cases at your model. Before I do — where do you think it will break? What's the weakest part?"
Then, after the stress-tests:
> "You predicted your model would break at [X]. It actually broke at [Y]. What does that tell you about your self-knowledge of this domain?"
If the learner correctly predicted where it would break, acknowledge this as strong metacognition. If they were wrong, use it as a teaching moment — the gap between perceived and actual weakness is itself a learning signal.
### 2. Stress-Test
Present edge cases, counterexamples, or cross-domain analogies that should break or challenge the model.
> "Your model predicts X — but what about this case where Y happens?"
Push until the model creaks. Use the stress-test generation prompts from `@references/network-protocol.md` to systematically probe boundaries between factors, test hidden assumptions, and find the simplest breaking case.
#### Emotional Calibration During Stress-Tests
Stress-tests are inherently adversarial — you are trying to break the learner's model. Balance rigor with support:
- **Before the first stress-test:** "I'm going to challenge your model now. The goal isn't to prove you wrong — it's to find where your model needs patching. Every expert model went through this."
- **After a model breaks:** "Good — you found a boundary. That edge case is exactly the kind of thing that separates surface understanding from deep understanding."
- **After multiple consecutive breaks:** "Your model is getting stress-tested hard this session. The fact that you keep finding breakages mRelated in Code Review
gstack
IncludedFast headless browser for QA testing and site dogfooding. Navigate pages, interact with elements, verify state, diff before/after, take annotated screenshots, test responsive layouts, forms, uploads, dialogs, and capture bug evidence. Use when asked to open or test a site, verify a deployment, dogfood a user flow, or file a bug with screenshots. (gstack)
startup-due-diligence
IncludedLegal due diligence review for seed-stage and Series A startups (US, Delaware C-Corp focus). Supports both investor and founder perspectives. Capabilities include: (1) Interactive document review and issue spotting; (2) Document request list generation; (3) Cap table and SAFE/convertible note analysis; (4) Red flag identification with severity ratings; (5) Diligence report generation. TRIGGERS: due diligence, DD, startup investment, cap table review, Series A, seed round, investor diligence, legal review startup, SAFE analysis, convertible note, 409A, founder vesting.
interview-master
IncludedThis skill should be used when the user asks to "generate interview questions", "prepare for interview", "optimize resume", "conduct mock interview", "analyze git commits for resume", "generate resume from code", "review my resume", or mentions interview preparation, career assistance, or extracting project experience from git history. Provides comprehensive interview and career development guidance for both job seekers and interviewers.
fix-issue
IncludedFixes GitHub issues using parallel analysis agents for root cause investigation, code exploration, and regression detection. Reads issue context from gh CLI, searches codebase and memory for related patterns, generates a fix with tests, and links the resolution back to the issue via PR. Includes prevention analysis to avoid recurrence. Use when debugging errors, resolving regressions, fixing bugs, or triaging issues.
sf-apex
IncludedGenerates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only queries (use sf-soql), or non-Salesforce code.
swift-development
IncludedComprehensive Swift development for building, testing, and deploying iOS/macOS applications. Use when Claude needs to: (1) Build Swift packages or Xcode projects from command line, (2) Run tests with XCTest or Swift Testing framework, (3) Manage iOS simulators with simctl, (4) Handle code signing, provisioning profiles, and app distribution, (5) Format or lint Swift code with SwiftFormat/SwiftLint, (6) Work with Swift Package Manager (SPM), (7) Implement Swift 6 concurrency patterns (async/await, actors, Sendable), (8) Create SwiftUI views with MVVM architecture, (9) Set up Core Data or SwiftData persistence, or any other Swift/iOS/macOS development tasks.