Agent skill
34-ndjson-storage
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/34-ndjson-storage
SKILL.md
34-ndjson-storage
Status: ACTIVE
AppliesTo: v10
SSOT
이 문서는 NDJSON 저장 포맷의 정본이다.
목적/범위
NDJSON(Line-delimited JSON) 파일의 저장 포맷(내용/확장자)을 정의한다.
이 스킬은 "저장 포맷"만 정의한다. 구체적인 폴더 경로/라우팅은 각 도메인 스킬에서 정한다:
- String Table:
skills/devian-data/33-string-table/SKILL.md→.../string/ndjson/... - 일반 Table:
skills/devian-data/32-json-row-io/SKILL.md→.../ndjson/...
NDJSON 포맷 규칙 (Hard Rules)
파일 인코딩
UTF-8 텍스트
내용 형식
NDJSON (Line-delimited JSON)
- 한 줄 = JSON object 1개
- 빈 줄 금지
- JSON array (
[]) 금지
{"id":"item1","value":100}
{"id":"item2","value":200}
{"id":"item3","value":300}
확장자 규칙 (중요)
파일 확장자는 .json이다.
- 내용이 NDJSON이라도 확장자는
.json사용 - 소비 측(Unity/툴링) 요구로
.json고정 .ndjson확장자 금지
결정성 (Deterministic)
같은 입력이면 항상 같은 출력이 나와야 한다.
- 라인 순서: 입력 데이터 순서 유지
- JSON stringify: 컴팩트 포맷 (들여쓰기 없음)
- 필드 순서: 각 도메인 스킬에서 정의
빌더 API
소스 경로
framework-ts/tools/builder/generators/ndjson-storage.js
Export 함수
/**
* Object 배열을 NDJSON 문자열로 변환
* @param {Array<object>} objects - JSON object 배열
* @returns {string} NDJSON 문자열
*/
export function encodeNdjsonFromObjects(objects);
/**
* JSON 문자열 배열을 NDJSON 문자열로 변환
* @param {Array<string>} lines - 이미 JSON.stringify된 라인 배열
* @returns {string} NDJSON 문자열
*/
export function encodeNdjsonFromLines(lines);
동작 규칙
encodeNdjsonFromObjects:objects.map(o => JSON.stringify(o)).join('\n')encodeNdjsonFromLines:lines.join('\n')- 빈 배열이면
''반환 (기존 동작과 호환)
금지 행동
- NDJSON 내용을 JSON array(
[])로 바꾸기 금지 - 확장자를
.ndjson로 바꾸기 금지 (.json유지) - 라인 끝에 trailing comma 추가 금지
DoD (검증 가능)
PASS 조건
- NDJSON 파일 확장자가
.json임 - 파일 내용이 한 줄당 JSON object 1개
- JSON array가 아님
- 빈 줄 없음
- 같은 입력이면 같은 출력 (결정성)
FAIL 조건
- 파일 확장자가
.ndjson - 내용이 JSON array
- 빈 줄 포함
- 비결정적 출력
Reference
- Consumer:
skills/devian-data/32-json-row-io/SKILL.md(일반 Table) - Consumer:
skills/devian-data/33-string-table/SKILL.md(String Table)
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?