Skip to content
Skills Library
Management & product · Analysis

simulate

/simulate

Run what-if scenarios to explore outcomes and test hypotheses. Use when evaluating alternatives, stress-testing designs, exploring edge cases, or predicting system behavior under different conditions.

Licence
Apache-2.0
Last repository change
30.08.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
6
Scripts
0
HTML comments
0
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 30.08.2026, without references to retired models or APIs.

Licence

Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.

What it does and when to use it

Run what-if scenarios to explore outcomes and test hypotheses. Use when evaluating alternatives, stress-testing designs, exploring edge cases, or predicting system behavior under different conditions.

Arguments

/simulate [scenario] [initial_state] [steps]
Original author description

Run what-if scenarios to explore outcomes and test hypotheses. Use when evaluating alternatives, stress-testing designs, exploring edge cases, or predicting system behavior under different conditions.

How it works

  1. Intent
  2. Inputs
  3. Procedure
  4. Output Contract
  5. Examples
  6. Verification
  7. Safety Constraints
  8. Composition Patterns
Original SKILL.md headings · 323 lines, 1,107 words
SKILL.md preview
---
name: simulate
description: Run what-if scenarios to explore outcomes and test hypotheses. Use when evaluating alternatives, stress-testing designs, exploring edge cases, or predicting system behavior under different conditions.
argument-hint: "[scenario] [initial_state] [steps]"
disable-model-invocation: false
user-invocable: true
allowed-tools: Read, Grep, Bash
context: fork
agent: explore
layer: MODEL
---

## Intent

Execute mental simulations of scenarios to explore outcomes without making real changes. This capability enables safe exploration of "what-if" questions and helps identify risks before action.

**Success criteria:**
- Scenario executed through logical steps
- Multiple outcomes considered
- Key decision points identified
- Assumptions made explicit

**Compatible schemas:**
- `schemas/output_schema.yaml`

## Inputs

| Parameter | Required | Type | Description |
|-----------|----------|------|-------------|
| `scenario` | Yes | object | Scenario to simulate (intervention, change, event) |
| `initial_state` | No | object | Starting state for simulation |
| `steps` | No | integer | Number of simulation steps/iterations |
| `explore` | No | string | What to explore: single_path, branches, exhaustive |

## Procedure

1) **Set up scenario**: Define what is being simulated
   - Clarify the intervention or change being tested
   - Establish initial conditions
   - Define simulation boundaries

2) **Initialize state**: Establish starting point
   - Use provided initial_state or current system state
   - Validate state is consistent
   - Note any simplifications

3) **Execute simulation**: Step through scenario
   - Apply changes specified in scenario
   - Propagate effects through state
   - Track state at each step

4) **Explore branches**: Consider alternative paths
   - Identify decision points
   - Explore likely alternative outcomes
   - Note probability of each branch

5) **Evaluate outcomes**: Assess simulation results
   - Compare final states across branches
   - Identify risks and opportunities
   - Note unexpected behaviors

6) **Document simulation**: Record process and results
   - List assumptions made
   - Note limitations of simulation
   - Provide evidence for conclusions

## Output Contract

Return a structured object:

```yaml
outcomes:
  - branch_id: string  # Unique branch identifier
    probability: number  # Estimated likelihood
    final_state: object  # State after simulation
    key_events: array[string]  # Notable events during simulation
    risks: array[string]  # Identified risks
trajectory:
  - step: number
    state: object  # State at this step
    changes: array[string]  # What changed
final_state: object  # Most likely final state
insights:
  - type: string  # risk, opportunity, surprise
    description: string
    severity: string  # low, medium, high
simulation_meta:
  steps_executed: number
  branches_explored: number
  assumptions: array[string]
confidence: 0..1
evidence_anchors: ["model:component", "assumption:id"]
```

### Field Definitions

| Field | Type | Description |
|-------|------|-------------|
| `outcomes` | array | Possible outcomes with probabilities |
| `trajectory` | array | State changes over simulation |
| `final_state` | object | Most likely end state |
| `insights` | array | Risks, opportunities, and surprises found |
| `simulation_meta` | object | Simulation parameters and assumptions |

## Examples

### Example 1: Simulate Dependency Upgrade

**Input:**
```yaml
scenario:
  type: "dependency_upgrade"
  change: "Upgrade Rails from 6.1 to 7.0"
initial_state:
  rails_version: "6.1.7"
  ruby_version: "3.1.0"
  gems_count: 85
steps: 5
```

**Output:**
```yaml
outcomes:
  - branch_id: "success_path"
    probability: 0.60
    final_state:
      rails_version: "7.0.8"
      breaking_changes_resolved: true
      tests_passing: true
    key_events:
      - "ActiveStorage API changes detected"
      - "Zeitwerk autoloading adjustments needed"
      - "Deprecation warnings resolved"
    risks:
      - "Minor performance regression in asset pipeline"
  - branch_id: "partial_failure"
    probability: 0.30
    final_state:
      rails_version: "7.0.8"
      breaking_changes_resolved: true
      tests_passing: false
    key_events:
      - "ActiveRecord callback order changed"
      - "3 test failures in UserService"
    risks:
      - "Subtle behavior changes in model callbacks"
      - "Extended debugging time required"
  - branch_id: "blocked"
    probability: 0.10
    final_state:
      rails_version: "6.1.7"
      upgrade_blocked: true
    key_events:
      - "Incompatible gem: devise_token_auth requires Rails < 7"
    risks:
      - "Upgrade blocked until gem updated"
trajectory:
  - step: 1
    state: { phase: "analysis" }
    changes: ["Identified 12 deprecation warnings", "Found 3 incompatible gems"]
  - step: 2
    state: { phase: "gem_updates" }
    changes: ["Updated 8 gems", "1 gem requires replacement"]
  - step: 3
    state: { phase: "code_changes" }
    changes: ["Modified 15 files for API changes"]
  - step: 4
    state: { phase: "testing" }
    changes: ["Tests executed", "85% passing initially"]
  - step: 5
    state: { phase: "resolution" }
    changes: ["Fixed remaining issues"]
final_state:
  rails_version: "7.0.8"
  breaking_changes_resolved: true
  tests_passing: true
  effort_estimate: "2-3 days"
insights:
  - type: "risk"
    description: "devise_token_auth compatibility is the main blocker"
    severity: "high"
  - type: "opportunity"
    description: "Rails 7 Hotwire enables simpler frontend code"
    severity: "medium"
  - type: "surprise"
    description: "More callback order dependencies than expected"
    severity: "medium"
simulation_meta:
  steps_executed: 5
  branches_explored: 3
  assumptions:
    - "Test suite provides good coverage"
    - "No undocumented monkey patches"
    - "CI environment matches production"
confidence: 0.75
evidence_anchors:
  - "Gemfile:dependencies"
  - "rails upgrade guide:7.0"
  - "gem:devise_token_auth:compatibility"
```

### Example 2: Simulate Failure Scenario

**Input:**
```yaml
scenario:
  type: "failure_injection"
  change: "Database becomes unavailable for 5 minutes"
initial_state:
  database: "available"
  cache: "warm"
  queue_depth: 0
steps: 10
explore: "branches"
```

**Output:**
```yaml
outcomes:
  - branch_id: "graceful_degradation"
    probability: 0.40
    final_state:
      service_status: "degraded"
      data_loss: false
      user_impact: "read_only_mode"
    key_events:
      - "Circuit breaker activates at t+30s"
      - "Cache serves stale reads"
      - "Writes queued for retry"
    risks:
      - "Cache expires during outage"
  - branch_id: "cascade_failure"
    probability: 0.35
    final_state:
      service_status: "down"
      data_loss: false
      user_impact: "complete_outage"
    key_events:
      - "Connection pool exhausted at t+60s"
      - "Health checks fail"
      - "Load balancer removes all instances"
    risks:
      - "Recovery requires manual intervention"
  - branch_id: "data_inconsistency"
    probability: 0.25
    final_state:
      service_status: "recovered"
      data_loss: "possible"
      user_impact: "partial_data_loss"
    key_events:
      - "In-flight transactions lost"
      - "Retry logic creates duplicates"
    risks:
      - "Data reconciliation needed"
trajectory:
  - step: 1
    state: { db: "available", errors: 0 }
    changes: []
  - step: 2
    state: { db: "unavailable", errors: "increasing" }
    changes: ["First connection timeout"]
  - step: 3
    state: { db: "unavailable", circuit: "open" }
    changes: ["Circuit breaker triggered"]
final_state:
  database: "available"
  service_status: "recovering"
  queue_depth: 1250
insights:
  - type: "risk"
    description: "No circuit breaker on write path"
    severity: "high"
  - type: "risk"
    description: "Connection pool timeout too long (30s)"
    severity: "medium"
  - type: "opportunity"
    description: "Add read replica failover"
    severity: "medium"
simulation_meta:
  steps_executed: 10
  branches_explored: 3
  assumptions:
    - "Database failure is total, not partial"
    - "No manual intervention during outage"
    - "Cache TTL is 5 minutes"
confidence: 0.65
evidence_anchors:
  - "config/database.yml:pool_settings"
  - "app/services/circuit_breaker.rb"
  - "architecture:failure_modes"
```

## Verification

- [ ] Scenario clearly defined
- [ ] At least one outcome path explored
- [ ] Probabilities assigned to outcomes
- [ ] Key assumptions documented
- [ ] Insights identify actionable findings

**Verification tools:** Read (to verify model components)

## Safety Constraints

- `mutation`: false
- `requires_checkpoint`: false
- `requires_approval`: false
- `risk`: low

**Capability-specific rules:**
- Simulation does not modify real state
- Note when model may be incomplete
- Flag high-uncertainty outcomes
- Do not present simulation as prediction

## Composition Patterns

**Commonly follows:**
- `state` - State model provides simulation basis
- `transition` - Transition rules drive simulation
- `plan` - Simulate plan outcomes before execution

**Commonly precedes:**
- `compare` - Compare simulation outcomes
- `plan` - Inform planning with simulation insights
- `critique` - Critique designs based on simulation

**Anti-patterns:**
- Never treat simulation as certainty (use `verify` for real testing)
- Avoid simulating without state/transition models

**Workflow references:**
- See `reference/workflow_catalog.yaml#world_model_build` for simulation in modeling
Files in this package (6)
  • SKILL.md 9 KB
  • reference/event_schema.yaml 4 KB
  • reference/transform_mapping_rawlog_to_observation.yaml 2 KB
  • reference/workflow_catalog.yaml 56 KB
  • reference/world_state_schema.yaml 11 KB
  • schemas/output_schema.yaml 1 KB

Versions

RepositoryScoreLicence
This page · synaptiai/agent-capability-standard100Apache-2.0
wellwelwel/blue-spec100Apache-2.0
wellwelwel/lagune100Apache-2.0
Alejo2075/claude-code-aws100MIT
ScottDuncanAI/HistorianSim100MIT
peabrane/peapods95MIT

Database snapshot: 13.11.2026 · package version c2635e7fee6b (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 90autoresearch:scenario
    12-dimension scenario exploration across user-specified domain modes. TRIGGER when: user wants to explore scenarios, edge cases, or what-if analysis; user asks "what could go wrong"; user wants failure mode analysis; user asks about best/worst case outcomes; user wants to…
  • 90product-test
    Use to turn a PRD section, user story, feature slice, or behavior description into product test scenarios and pass/fail conditions. Use when the user asks for product testing, acceptance criteria, Given/When/Then scenarios, QA-ready scenarios, pass/fail checks, edge cases, error…
  • 100test-scenarios
    Derives QA test scenarios and acceptance test cases from a spec or user story, covering happy paths, edge cases, error states, data variations, and ML quality-bar/eval cases. Use when you need to "write test cases for this story," "figure out what QA should check," "turn this…
  • 90rulebook-edge-cases
    Use when asked for the edge cases, boundary conditions, corner cases or "cas limites" of a documented business rule or domain in rulebook/, or when a rule card has no Edge cases section and someone asks what happens at its limits.
  • 87simulator-simulate
    Simulator.Company behaviour simulation specialist ("what if" on a graph). Use when the user wants to simulate, forecast or compare scenarios on a layer: describe how actors behave, change parameters (price, capacity, delivery time, growth, AI share), play model time forward and…
  • 100specflow-simulate
    Simulates end-to-end usage of a Specflow story across multiple personas and divergent routes to discover gaps, edge cases, and unhandled branches BEFORE the story is built — then proposes each finding as a concrete story addition (new REQ, negative-path AC, Gherkin branch, or…

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.