company

A single-company research interface for South Korean DART filings and United States EDGAR filings. It provides one object through which users can request company records, analysis, credit, prices, quantitative data, market context, industry information, and reports.

In plain words
What is it for?
Use it with a stock code or ticker to retrieve financial panels, selected figures, filing traces, profitability analysis, credit information, prices, momentum data, macro sensitivity, company stories, report models, and industry context.
Why use it?
It gives company research a consistent entry point while showing which source and date support the returned information.

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/company
Any agent
npx skills add eddmpython/dartlab --skill company
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 10,801 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.10801
Opus 5 $0.00000 $0.05400
Sonnet 5 $0.00000 $0.02160
Haiku 4.5 $0.00000 $0.01080

Measured 2d ago against content hash b390c9bee33d, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

company 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 2d ago.

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/company/SKILL.md · 805 lines

How it starts

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

엔진 역할

Company는 DartLab의 단일 기업 facade다. 사용자는 종목코드나 ticker로 Company를 만들고, 이 객체에서 원자료 조회, 공시 탐색, 분석, 신용, gather, quant, macro, story를 호출한다.

한국 DART 회사와 미국 EDGAR 회사 모두 같은 facade 패턴을 따른다. 세부 topic/컬럼은 시장과 provider별로 다를 수 있으므로 반환값의 source와 기준일을 확인한다.

공개 호출 방식

import dartlab

c = dartlab.Company("005930")

raw = c.panel("BS")
selected = c.select("매출액")
trace = c.trace("IS")

analysis = c.analysis("financial", "수익성")
credit = c.credit()
price = c.gather("price")
quant = c.quant("모멘텀")
macro = c.macro("사이클")                          # 시장 매크로 (사이클/위기/시나리오/유동성/심리)
sensitivity = c.analysis("macro", "매크로민감도")  # 기업 단위 매크로 민감도는 analysis 엔진
story = c.story()
reportModel = c.reportModel()                      # 전문 리포트 계약(ReportModel, schemaVersion=2)
industry = c.industry()

강행 호출 룰 (agent 답변 품질 회귀 차단)

단일 종목 질문은 본 엔진이 1 차 진입점. 다음 4 룰 강행:

  1. EngineCall(apiRef="Company.panel", args={"stockCode": "...", "topic": "..."}) 1 회로 다수 답변 가능 - 응답 data dict 에 dcrBadge (Track G 7 축 신용) + industryBadge (Track E 산업/lifecycle/peers) 자동 부착. 신용·산업 질문은 추가 EngineCall 불필요.
  2. 본문 안 숫자 / 점수 / 등급 / peers 명에 inline ref 표기 필수 - tool result 의 refs 배열에 들어온 id 그대로 table:Company.panel:005930 또는 tableRef:id literal 로 표기한다.
  3. 다중 종목 비교는 PeerCompareN 1 회 강제 (2~12 종목) - Company.panel 를 N 회 반복 호출 + RunPython 정렬 패턴 금지. 메모리 압박 + refs 가치체인 약화.
  4. RunPython 직접 BS/IS/CF 비율 계산 금지 - Company.panel 결과의 dcrBadge.axes (7 축 신용) 또는 Company.analysis 결과의 items / history 인용. 같은 비율 재계산은 raw fallback 만.

호출 동작

Company 생성 시 target과 market/provider를 확정한다. 이후 panel/select/trace는 원자료 조회, analysis/credit/quant/macro/story는 하위 엔진 호출, gather는 보조 데이터 수집, disclosure/liveFilings/readFiling은 공시 접근을 담당한다.

무인자 또는 topic 누락 호출은 가능한 topic/axis 가이드를 반환할 수 있다. 데이터가 없으면 결손을 0으로 채우지 않고 빈 DataFrame, None, flags, 제한 메시지로 표현한다.

c.panel() 응답 data 의 자동 부착 필드 (단일 종목 답변의 1 차 진입점)

c.panel(topic) 의 반환 dict (server agent/MCP 경유 시 EngineCall(apiRef="Company.panel") 결과의 data) 에는 원자료 외에 다음이 자동 부착된다 - 별도 도구 호출 없이 그대로 인용:

Read the full file on GitHub · 805 lines

Files

What ships with it

9 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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. 2d ago First seen · 805 lines · 0 tokens per session scan A b390c9bee33d

Subscribe to this mod's changes

company 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 10,801 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.