전기(작년) 감사보고서 · 연결감사보고서 dsd 하나로 당기 초안 dsd 를 만든다. 회사가 준 전기 dsd 든, DSD변환 스킬이 작년 공시 원문으로 만든 dsd 든 그 파일만 있으면 된다. 당기 숫자를 전기 칸으로 옮기고 당기 칸을 비우며, 기수 · 해 +1, 변동표의 새 당기 기초를 작년 기말로 채우고, 원고 엑셀과 초안 검산 · 안내까지 한 번에 낸다. 같은 전기 파일이면 몇 번을 돌려도 바이트까지 같다. "전기 DSD 로 당기 초안", "작년 dsd 로 올해 초안", "다음 기수 초안", "초안 만들어 줘", "롤포워드", "기초 채워서", "당기 초안으로 바꿔 줘", "전기 dsd 있어", "초안 dsd", "이 원고로 dsd 다시 만들어 줘"가 언급되면 트리거. 공시 원문을 dsd 로 바꾸는 것은 DSD변환, 초안 · 회사제시 dsd 의 숫자 검증은 DSD푸팅 스킬이다.
6 stars
0 votes
0 copies
0 views
Added November 11, 2026
ai-agentspythonbash
Security analysis
A92/100
mediumInstalls packages at runtime which could introduce malicious dependencies
Installs into .claude/skills of the current project.
Sponsors
SSkills DirectorySkills Directory
Know which skills are safe — weekly.
SSkills DirectorySkills Directory
Is that skill safe to install?
Are you the author of DSD초안?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/hany202507-dsd-3d714a92)
---
name: DSD초안
description: '전기(작년) 감사보고서 · 연결감사보고서 dsd 하나로 당기 초안 dsd 를 만든다. 회사가 준 전기 dsd 든, DSD변환 스킬이 작년 공시 원문으로 만든 dsd 든 그 파일만 있으면 된다. 당기 숫자를 전기 칸으로 옮기고 당기 칸을 비우며, 기수 · 해 +1, 변동표의 새 당기 기초를 작년 기말로 채우고, 원고 엑셀과 초안 검산 · 안내까지 한 번에 낸다. 같은 전기 파일이면 몇 번을 돌려도 바이트까지 같다. "전기 DSD 로 당기 초안", "작년 dsd 로 올해 초안", "다음 기수 초안", "초안 만들어 줘", "롤포워드", "기초 채워서", "당기 초안으로 바꿔 줘", "전기 dsd 있어", "초안 dsd", "이 원고로 dsd 다시 만들어 줘"가 언급되면 트리거. 공시 원문을 dsd 로 바꾸는 것은 DSD변환, 초안 · 회사제시 dsd 의 숫자 검증은 DSD푸팅 스킬이다.'
---
# DSD초안
전기 dsd 하나만 있으면 된다. 엔진이 다 하고 AI 판단은 없다. 이 스킬은 명령을 돌리고, 결과 줄을 읽어 사용자에게 전한다. 변환(공시 원문 → dsd)과 따로 둔 까닭은, 전기 dsd 가 어디서 왔든 그것이 생기는 순간 초안을 만들 수 있어야 하기 때문이다.
- 엔진: 이 스킬 폴더의 `scripts/`. 감사 엔진에서 원고 판독과 롤포워드(`scripts/audit/report/dsd_draft.py`), 원고 엑셀(`dsd_draft_book.py`), 엑셀 → dsd(`dsd_build.py`)에 쓰는 부분만 담았다.
- 명령: `python scripts/run.py <draft · sheet · build> …`. 스킬 폴더에서 부르고 환경변수 `PYTHONIOENCODING=utf-8` 을 준다. 옵션은 `python scripts/run.py draft -h`.
- 의존성: `pip install -r requirements.txt`(openpyxl · pyyaml).
## 처음 쓰는 사람에게(설치 직후 · 「어떻게 써」)
설치한 뒤 처음 부르거나 「DSD초안 어떻게 써」 라고 하면 아래를 짧게 알려 준다. Claude 에게 보낼 문장으로 적는다(터미널 명령은 적지 않는다). 사용자가 파일을 이미 줬으면 안내 없이 바로 만든다.
1. 「<전기 dsd 경로> 로 당기 초안 만들어 줘」. 결과 폴더를 말하지 않으면 파일 옆에 둔다.
2. 전기 dsd 가 없고 작년 공시만 있으면 먼저 [DSD변환](../DSD변환/) 으로 「<접수번호> dsd 로 바꿔 줘」, 그 다음 1번.
3. 원고 엑셀에서 고친 뒤 「이 원고로 dsd 다시 만들어 줘」.
4. 만든 초안은 DART 편집기로 열어 본 뒤에 쓰고, 숫자는 [DSD푸팅](../DSD푸팅/) 으로 검증한다.
## 1. 명령
```bash
python scripts/run.py draft "<전기.dsd>" [--out <폴더>]
python scripts/run.py build "<원고_….xlsx>" # 고친 원고로 dsd 다시 만들기
```
| 가진 것 | 먼저 할 일 |
|---|---|
| 회사가 준 전기 dsd | 바로 `draft` |
| 작년 공시 원문(접수번호 · PDF · xml)만 있음 | DSD변환으로 `…_변환.dsd` 를 만든 뒤 그 파일로 `draft` |
| 전기 dsd 가 없는 초도 감사 | 초안을 만들 수 없다. DSD변환으로 작년 공시를 받거나 회사 양식으로 시작한다 |
회사 · 결산연도 · 보고서 종류(감사보고서 · 연결감사보고서)는 dsd 안의 회사명 · 결산일 · 문서 이름에서 읽는다. 없으면 파일 이름 `<회사>_<연도>_<보고서>` 에서 찾고, 그래도 연도를 모르면 종료 코드 2 로 멈춘다. 읽지 못하는 파일(zip 이 아님, xml 깨짐)도 2 다.
## 2. 결과
| 파일 | 내용 |
|---|---|
| `<회사>_<다음 연도>_감사보고서_초안.dsd` | 당기 초안. 연결이면 `…_연결감사보고서_초안.dsd` |
| `원고_<회사>_<다음 연도>_감사보고서_초안.xlsx` | 초안의 원고 엑셀. C 열부터 고친다. 고친 뒤 `build` 로 dsd 를 다시 만든다 |
| `원고검사_원고_….json` | 원고 검사와 초안 검산 |
| `초안안내_원고_….txt` | 롤포워드 안내 전체와 원고 검사 전체. 화면에는 안내 30줄 · 원고 검사 20줄만 나온다 |
화면 「초안 검산: 모든 표 · 줄이 원고와 같다」 가 나와야 넘긴다. 다른 곳은 원고 검사 「초안 검산 · 막음」 으로 안내 파일에 남는다. 같은 전기 파일이면 몇 번을 돌려도 초안 dsd · 원고 엑셀 · 안내가 바이트까지 같다.
## 3. 사용자에게 전할 것
1. 만든 파일 넷과 첫 줄(회사 · 결산일 · 보고서 종류 · 롤포워드 표 수 · 고친 요소 수)과 초안 검산 줄.
2. 롤포워드 표 수와 「옮기지 않았다」 줄. 당기 · 전기를 찾지 못한 표(주주 · 담보 · 약정 · 상환계획처럼 당기말 한 기간만 적는 표)와 날짜별 변동 내역처럼 줄이 해마다 다른 표는 손대지 않는다. 그런 표는 작년 숫자가 그대로 남으니 회사 자료로 고친다. 원고 엑셀은 그 표의 숫자 칸을 분홍으로 칠하고 「원고 안내」 시트 맨 위에 「작년 숫자를 그대로 둔 표 n개」 로 모은다. 옮긴 표 안에서도 당기 · 전기 열이 아닌 숫자 열(「이자율(%)」 · 「지분율」 · 「주식수」)은 기간을 몰라 작년 값이 남는다. 그 칸도 분홍으로 칠하고 「작년 값을 그대로 둔 숫자 칸 n개」 로 알린다. 회사가 올해 표 모양을 바꾼 곳(따로 적던 당기 · 전기 표를 한 표로 합침, 열을 더함)도 초안은 작년 모양 그대로라 손으로 고친다.
3. 기초를 채운 곳: 변동표(머리 「기초 · … · 기말」, 또는 첫 칸 「기초 · 기말」 줄)의 새 당기 기초는 작년 당기 기말이다. 당기 · 전기 열을 둔 한 표에 「기초금액 · 기말금액」 줄이 있으면 새 전기 기말을 새 당기 기초로 넣는다. 따로 둔 당기 · 전기 두 표는 전기 표를 작년 당기 표 사본(열 · 줄 · 숫자 · 율 같은 글)으로 바꾸고, 머리의 기간 글(「당기」 → 「전기」)만 한 해 뒤로 고친다. 안내에 「따로 둔 당기 · 전기 두 표 n쌍」 으로 나온다.
- 기간 표시를 읽는 곳: 표 위 문단 앞머리, 문단 끝에 붙은 머리, 표 위 한 줄 표, 표 왼쪽 위 칸(「당 기」 · 「전 기」), 문단 끝에 꺾쇠 · 괄호로 붙은 기간. 「(전기말)」 표시만 있고 앞 표에 표시가 없으면 첫 열 머리가 같고 열을 맞출 수 있을 때 앞 표를 당기 표로 본다. 「당기와 전기 중 …」 처럼 두 기간을 함께 말하는 문단과 「(*) 전기는 …」 각주는 기간 표시로 읽지 않는다. 머리에 당기 · 전기 열이 다 있는 표는 다른 표와 짝짓지 않는다.
- 당기말 · 전기말 · 전기초 세 기간 표는 당기말을 전기말 열로 옮기고 전기초 열은 비운다. 그 열은 편집기에서 지우라고 전한다. 기간마다 범주 열 수가 다른 표는 기간을 뗀 열 이름으로 맞추고, 당기 열이 없는 전기말 범주 열은 비운다. 「당기손익-공정가치 측정」 같은 범주 이름의 「당기」 는 기간으로 세지 않는다.
- 줄 꼴 변동표의 새 당기 기초는 같은 표의 작년 기말 줄에서 가져온다. 표의 줄이 모두 「재작년 줄」 이어도 마지막 줄은 남기고 숫자만 비운다(줄 없는 표는 DART 편집기가 열지 않는다).
- 자본변동표와 위아래로 쌓은 주석 표: 전기초 · 전기말 · 당기초 · 당기말 줄로 두 해를 가른다. 작년 당기 줄을 전기 줄로 옮기고, 새 당기초에 작년 당기말을 넣고, 새 당기 변동 줄은 줄 이름만 두고 숫자를 비운다. 전기 변동 줄은 작년 당기 변동 줄에 맞춰 더하고 지운다.
- 세로 병합 칸(ROWSPAN)이 든 표도 줄을 더하고 지운다. 새 줄 앞쪽 칸은 위 줄의 병합 칸에 잇고, 묶음 첫 줄을 지우면 남은 줄에 병합 칸을 다시 넣는다. 편집기가 지우기를 막은 줄(ADELETE)만 숫자를 비워 남긴다. 세로 병합으로 묶은 줄은 묶음 이름부터 줄 이름으로 센다(「외화예금 | USD」).
- 더 옮기는 표: 기간과 단위를 한 문단에 적은 표, 머리 열로만 기간을 적은 두 표, 「당기말:」 소제목 줄로 가른 표, 두 줄 머리, 「기초잔액」 · 「기초」 처럼 이름만 다른 머리, 「계」 · 「합 계」 처럼 이름이 다른 합계 줄, 기초 · 기말 짝이 둘인 표, 당기만 여러 열로 나누고 전기는 「합계」 한 열인 표(합계끼리 옮기고 당기에만 있는 열은 비운다).
- 작년 전기가 감사받지 않은 숫자였으면(초도 감사) 괄호 · 따옴표로 감싼 「(감사받지 않은 재무제표)」 표시를 표지 · 재무제표 · 주석에서 지운다. 문장으로 적은 것은 고치지 않고 알린다.
4. 그대로 남은 것: 감사인의 감사보고서, 외부감사 실시내용, 문단 속 날짜 · 금액은 작년 글이다. 외부감사 실시내용의 「감사대상 사업연도」 칸만 표지 기간과 함께 다음 해로 옮긴다. 원고 엑셀에서 고치고 `build` 로 다시 만든다. 고친 판은 DSD푸팅으로 검증한다.
5. 요약 코드(자산총계 · 감사의견 구분 등)는 작년 값 그대로다. 제출 전 편집기 「문서 헤더정보」 에서 고친다. 엔진은 감사의견을 정하지 않는다.
6. DART 편집기에서 열린다(별도 · 연결 · 다음 기수 초안 모두 목차 · 재무제표 · 주석 · 외부감사 실시내용이 보이고 파일형식 검사의 구조 검사를 넘는다). 작년 서식 판 파일이면 편집기가 최신 서식으로 바꿀지 묻는다. 「예」 를 누르면 바뀌어 열리고 본문은 그대로다.
초안을 얼마나 믿을지 물으면: 2026년 3월 공시된 감사보고서 가운데 작년 공시로 초안을 만들어 올해 공시와 숫자 칸마다 견줬다. 엔진이 당기 · 전기를 갈라 옮긴 표는 초안 숫자의 94.5% 가 올해 공시와 같았다(11개 회사). 엔진을 맞추는 데 쓰지 않은 처음 보는 26개 회사에서도 94.2% 였다. 남은 차이는 회사가 올해 줄 · 표 모양을 바꾼 곳이다. 가르지 못해 작년 숫자를 그대로 둔 표(분홍 칸)는 회사 자료로 고친다. 같은 작년 파일이면 결과가 바이트까지 같고, 만든 dsd 는 원고와 칸마다 같다(43개 회사 초안 검산 0건).
## 하지 않는 것
- 당기 숫자를 채우지 않는다. 당기 칸은 비워 두고 사용자가 정산표 · 조서로 채운다.
- 원고 엑셀의 글을 AI 가 고치지 않는다. 고칠 곳을 알리고 사용자가 고친다.
- 회사 dsd · 초안을 저장소나 공유 폴더에 올리지 않는다.
- 문체: 줄표와 비유 명사를 쓰지 않고 물음표로 끝내지 않는다. 사용자에게 부탁은 「주십시오」.