simulate

A scenario-analysis tool that connects company data and economic assumptions to possible paths for revenue, profit margins, cash flow, and valuation. Its results depend on the chosen assumptions and are not certain forecasts.

In plain words
What is it for?
Use it for baseline and adverse scenarios, stress tests, interest-rate shocks, and what-if comparisons over a chosen time horizon.
Why use it?
It makes the effect of different assumptions visible and keeps the inputs and reasoning behind each result available for review.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/eddmpython/dartlab/simulate
Any agent
npx skills add eddmpython/dartlab --skill simulate
Clone the repo
git clone --depth 1 https://github.com/eddmpython/dartlab

Made for: Claude Code, Codex.

Per session 0 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,619 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.01619
Opus 5 $0.00000 $0.00809
Sonnet 5 $0.00000 $0.00324
Haiku 4.5 $0.00000 $0.00162

Measured yesterday against content hash 9b1c7b8fd100, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

simulate scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

src/dartlab/skills/specs/engines/simulate/SKILL.md · 184 lines

How it starts

The opening of the file, as written. The whole thing — 184 lines — stays where its author put it; the contents beside it link to each section on GitHub.

엔진 역할

simulate는 회사 원자료와 매크로 시나리오를 macro.path -> rev.path -> proforma -> dcf 결정론 드라이버 시트로 연결하는 L3 엔진이다. 난수를 쓰지 않으며 같은 target, scenario, asOf는 같은 노드별 inputsHash를 만든다. 결과는 미래 확정치가 아니라 입력 가정에 조건부인 변환 결과다.

공개 호출 방식

import dartlab

baseline = dartlab.simulate(
    "005930",
    scenario="baseline",
    horizon=3,
    asOf="2024",
)
adverse = dartlab.simulate(
    "005930",
    scenario="adverse",
    horizon=3,
    asOf="2024",
)

c = dartlab.Company("005930")
company_result = c.simulate(scenario="adverse", horizon=3, asOf="2024")

설치형 AI 런타임은 다음 canonical 계약을 쓴다.

{
  "apiRef": "simulate",
  "args": {
    "target": "005930",
    "scenario": "adverse",
    "horizon": 3,
    "asOf": "2024"
  }
}

호출 동작

  1. target을 KR Company로 해소하고 지원하지 않는 시장과 시나리오를 차단한다.
  2. 회사 snapshot과 매크로 preset을 같은 asOf 경계에 고정한다.
  3. DriverSheet를 위상 순서로 평가해 매출, 마진, proforma, FCF, DCF 노드를 계산한다.
  4. 각 노드에 provenance, refs, inputsHash, 품질 상태와 gap을 남긴다.
  5. base와 stress 비교는 target, horizon, asOf를 동일하게 유지하고 scenario만 변경한다.

partial은 실패 값을 0으로 채운 상태가 아니다. 필요한 leaf가 없어서 해당 값이 None인 정직한 결손 상태다.

대표 반환 형태

SimulationResult
  scenarioName: str
  horizon: int
  latestAsOf: str | None
  revenuePath: list[float | None]
  marginPath: list[float | None]
  fcfPath: list[float | None]
  dcfPerShare: float | None
  quality: ok | partial
  gaps: list
  audit: list[NodeAudit]
  assumptionLedger: dict
  lensProducts: dict

답변은 시나리오 이름과 가정, 기준 기간, 조건부 값, 노드 근거를 함께 제시한다. dcfPerShare는 해당 시나리오 가정 아래의 계산값이며 목표주가나 성과 보장이 아니다.

기본 검증

  • quality, gaps, latestAsOf, inputsHash가 함께 존재하는지 확인한다.
  • 답변에 인용한 경로와 DCF 수치는 해당 valueRef, dateRef, executionRef와 직접 연결한다.
  • base와 stress 비교는 target, horizon, asOf가 동일한지 확인한다.
  • partial의 결손값을 0으로 바꾸지 않고 제한과 필요한 입력을 명시한다.

기대 원장과 거시 상태

  • expectation ledger (dartlab.simulate.expectationCycle, 주기 실행 .github/workflows/expectationCycle.yml) 는 관측값, prior, 검증 상태를 분리 보관한다. 표본이 부족하면 검증된 것처럼 표시하지 않는다.
  • 거시 시뮬레이션은 regime transition 과 결과 container 를 공통 타입으로 유지한다. 시나리오 가정과 실제 관측값을 같은 필드에 섞지 않는다.

Read the full file on GitHub · 184 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 184 lines · 0 tokens per session scan A 9b1c7b8fd100

Subscribe to this mod's changes

simulate is a skill published in the GitHub repository eddmpython/dartlab (209 stars, last pushed 10d ago), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 1,619 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

build_workspace_app

This guide covers the full lifecycle of building, running, and serving a custom OpenBB Workspace application from an extension project scaffolded by openbb-cookiecutter. It assumes the project shell already exists (see the developextension skill for scaffolding instructions).

OpenBB-finance/OpenBB · 57 tokens

configure_mcp_server

This guide covers installation, configuration, authentication, tool discovery, prompt management, and client integration for openbb-mcp-server.

OpenBB-finance/OpenBB · 31 tokens

develop_extension

This is a complete guide for creating a new OpenBB Platform extension from scratch. Follow every phase in order. When the user says "build me an application that does X", use this guide to scaffold, implement, install, and verify the extension.

OpenBB-finance/OpenBB · 53 tokens

work_with_server

This guide explains how to call tools, interpret responses, discover capabilities, use prompts, and handle errors when interacting with an OpenBB MCP server.

OpenBB-finance/OpenBB · 33 tokens

fin-data-acquisition

根据REFINEDDESIGN.md中的变量定义,自动获取所需数据并生成可执行的回归分析脚本(Python/Stata)。.

csmar432/finai-research · 36 tokens

alphasift

自动选股 Skill。Use when: 用户要按策略筛选 A 股、列出可用策略、运行双低/放量突破/均衡多因子/资金热度等选股,或保存运行并做 T+N 后验评估。通过 alphasift CLI 或 Python 接口输出候选股票列表。.

ZhuLinsen/alphasift · 76 tokens