← Back to Skills

csv-validator

v1.0.0 approved Data Processing ⬇ 1 ↑ 1/7d updated today
USK v3 ✅ Verified ⚡ Auto-Convert
⬇ Download
Install Guide↓
🤖 Agent install commands (curl / MCP / Claude Desktop)
▸ curl one-liner
curl -L -o csv-validator.skill   "https://aiskillstore.io/v1/agent/skills/7a17d623-538d-4fc2-a939-2b13cdfc93e9/download?platform=ClaudeCode"
▸ MCP tool call (after registering Skill Store MCP)
{
  "tool": "download_skill",
  "arguments": {
    "skill_id": "7a17d623-538d-4fc2-a939-2b13cdfc93e9",
    "platform": "ClaudeCode"
  }
}
▸ Claude Desktop / Cursor MCP config (one-time)
{
  "mcpServers": {
    "skill-store": {
      "url": "https://aiskillstore.io/mcp/"
    }
  }
}
📖 Full agent API guide: /llms.txt  ·  MCP server card

CSV content validator with 4 actions: validate, infer_schema, stats, audit. Zero external dependencies, Korean PII detection, fix_hint per error, Korean-first messages.

# csv # validation # data-quality # korean # pii # security # data-processing

Basic Info

Owner 👤 aiskillstore-team Category Data Processing Registered 2026-04-29 Last Updated 2026-04-29 Latest Version 1.0.0 Packaged At 2026-04-29 Vetting Status approved Downloads 1 Checksum (SHA256) 8a2ae3528d10703732ff66eab50ac21ec80de569b486d7829f5032cf16ca7a5c

⚡ AGENT INFO USK v3

Capabilities
csv_validation csv_schema_inference csv_column_statistics csv_hygiene_audit korean_pii_detection
Permissions
✗ network
✗ filesystem
✗ subprocess
Interface
type: cli   entry_point: main.py   runtime: python3   call_pattern: stdin_stdout
Agent API
# 스킬 스키마 조회 (에이전트가 호출 방법을 파악) GET /v1/agent/skills/7a17d623-538d-4fc2-a939-2b13cdfc93e9/schema # 플랫폼별 자동 변환 다운로드 GET /v1/agent/skills/7a17d623-538d-4fc2-a939-2b13cdfc93e9/download?platform=OpenClaw GET /v1/agent/skills/7a17d623-538d-4fc2-a939-2b13cdfc93e9/download?platform=ClaudeCode GET /v1/agent/skills/7a17d623-538d-4fc2-a939-2b13cdfc93e9/download?platform=ClaudeCodeAgentSkill GET /v1/agent/skills/7a17d623-538d-4fc2-a939-2b13cdfc93e9/download?platform=Cursor GET /v1/agent/skills/7a17d623-538d-4fc2-a939-2b13cdfc93e9/download?platform=GeminiCLI GET /v1/agent/skills/7a17d623-538d-4fc2-a939-2b13cdfc93e9/download?platform=CodexCLI GET /v1/agent/skills/7a17d623-538d-4fc2-a939-2b13cdfc93e9/download?platform=CustomAgent

Installation

Compatible Platforms any

1
Install the skill using openclaw_skill_manager.py.
python openclaw_skill_manager.py --install csv-validator
2
Verify installation
python openclaw_skill_manager.py --list-installed
3
Install a specific version (optional)
python openclaw_skill_manager.py --install csv-validator --version 1.0.0
1
Download the skill package.
curl -O https://aiskillstore.io/v1/skills/7a17d623-538d-4fc2-a939-2b13cdfc93e9/download
2
Place it in the Claude Code commands directory.
unzip csv-validator.skill -d ~/.claude/commands/csv-validator/
3
Use it as a slash command in Claude Code.
/csv-validator
1
Download the Agent Skills package.
curl -O https://aiskillstore.io/v1/agent/skills/7a17d623-538d-4fc2-a939-2b13cdfc93e9/download?platform=ClaudeCodeAgentSkill
2
Unzip it into the Claude Code skills directory.
unzip csv-validator-agent-skill-*.skill -d ~/.claude/skills/csv-validator/
3
Restart Claude Code — the skill is auto-loaded at session start. No slash command needed.
1
Download the Cursor-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/7a17d623-538d-4fc2-a939-2b13cdfc93e9/download?platform=Cursor
2
Unzip and place it in a permanent location.
unzip csv-validator-cursor-*.skill -d ~/.cursor/skills/csv-validator/
3
Add the MCP server config to .cursor/mcp.json, then restart Cursor.
cat ~/.cursor/skills/csv-validator/cursor_mcp_config.json
1
Download the Gemini CLI-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/7a17d623-538d-4fc2-a939-2b13cdfc93e9/download?platform=GeminiCLI
2
Unzip and place it in a permanent location.
unzip csv-validator-geminicli-*.skill -d ~/.gemini/skills/csv-validator/
3
Add the MCP server config to ~/.gemini/settings.json, then restart Gemini CLI.
cat ~/.gemini/skills/csv-validator/gemini_settings_snippet.json
1
Download the Codex CLI-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/7a17d623-538d-4fc2-a939-2b13cdfc93e9/download?platform=CodexCLI
2
Unzip and place it in a permanent location.
unzip csv-validator-codexcli-*.skill -d ~/.codex/skills/csv-validator/
3
Add the MCP server config to ~/.codex/config.toml, then restart Codex CLI.
cat ~/.codex/skills/csv-validator/codex_config_snippet.toml
1
Download the skill package via REST API.
GET https://aiskillstore.io/v1/skills/7a17d623-538d-4fc2-a939-2b13cdfc93e9/download
2
Place it in your agent platform's skills directory.
cp csv-validator.skill ./skills/
3
Fetch platform-specific details via the Install Guide API.
GET https://aiskillstore.io/v1/skills/7a17d623-538d-4fc2-a939-2b13cdfc93e9/install-guide?platform=CustomAgent

Security Vetting Report

Vetting Result APPROVED

Findings: ["메타데이터 경고: 권장 필드 없음: 'requirements' (SKILL.md v2 권장)", "메타데이터 경고: 권장 필드 없음: 'changelog' (SKILL.md v2 권장)"]

✅ No security risks found.

AI Review Stage

Reviewer gemini Risk Level 🟢 Low Review Summary CSV 유효성 검사, 스키마 추론, 통계 및 위생 감사를 수행하는 안전하고 독립적인 스킬입니다.
Reasoning

스킬 메타데이터에 선언된 권한(네트워크, 파일 시스템, 서브프로세스 접근 없음)이 코드에서 철저히 준수됩니다. 모든 작업은 Python 표준 라이브러리만을 사용하여 인메모리에서 이루어지며, 입력된 CSV 콘텐츠를 stdin으로 받아 stdout으로 결과를 반환하는 안전한 `stdin_stdout` 패턴을 따릅니다. `os` 모듈은 내부 모듈 경로 관리에만 사용되며, 파일 시스템에 대한 임의 접근은 없습니다. 악의적인 코드, 데이터 탈취, 선언되지 않은 외부 통신 또는 무단 데이터 수집/전송의 징후는 발견되지 않았습니다. 특히 한국어 PII 감지 및 CSV 인젝션 방지 기능은 보안 측면에서 긍정적인 요소입니다. 코드 품질이 우수하며 스킬의 목적과 기능 설명에 완벽하게 부합합니다.

Version History

Version USK v3 Vetting Status Packaged At Downloads Changelog
v1.0.0 approved 2026-04-29 ⬇ 1

Examples 5

Representative input/output examples for this skill. Agents can use these to understand how to invoke the skill and what output to expect.

validate_success
# validate# success# korean

유효한 CSV 검증 성공 예시 / Successful validation of a valid CSV

📥 Input
{
  "action": "validate",
  "csv_content": "\uc774\ub984,\uc774\uba54\uc77c,\ub098\uc774\n\ud64d\uae38\ub3d9,hong@example.com,30\n\uae40\ucca0\uc218,kim@example.com,25",
  "delimiter": ",",
  "has_header": true,
  "schema": {
    "columns": [
      {
        "max": 10,
        "min": 2,
        "name": "\uc774\ub984",
        "required": true,
        "type": "string"
      },
      {
        "name": "\uc774\uba54\uc77c",
        "required": true,
        "type": "email"
      },
      {
        "max": 150,
        "min": 0,
        "name": "\ub098\uc774",
        "required": true,
        "type": "integer"
      }
    ]
  }
}
📤 Output
{
  "action": "validate",
  "error_count": 0,
  "errors": [],
  "total_rows": 2,
  "valid": true
}
validate_failure_multi
# validate# failure# multi-error# korean

여러 오류가 있는 CSV 검증 실패 / Validation failure with multiple errors

📥 Input
{
  "action": "validate",
  "csv_content": "name,email,age\n\ud64d\uae38\ub3d9,not-an-email,200\n,,25",
  "delimiter": ",",
  "has_header": true,
  "schema": {
    "columns": [
      {
        "name": "name",
        "required": true,
        "type": "string"
      },
      {
        "name": "email",
        "required": true,
        "type": "email"
      },
      {
        "max": 150,
        "min": 0,
        "name": "age",
        "required": true,
        "type": "integer"
      }
    ]
  }
}
📤 Output
{
  "action": "validate",
  "error_count": 3,
  "errors": [
    {
      "code": "TYPE_EMAIL",
      "column": "email",
      "fix_hint": "user@domain.tld \ud615\uc2dd\uc744 \uc0ac\uc6a9\ud558\uc138\uc694 / Use user@domain.tld format",
      "message": "[email] \uc774\uba54\uc77c \ud615\uc2dd\uc774 \uc544\ub2d9\ub2c8\ub2e4: \u0027not-an-email\u0027 / Invalid email format",
      "row": 1
    },
    {
      "code": "RANGE_ABOVE_MAX",
      "column": "age",
      "fix_hint": "\ucd5c\ub313\uac12 150 \uc774\ud558\uc758 \uac12\uc744 \uc785\ub825\ud558\uc138\uc694 / Enter a value \u003c= 150",
      "message": "[age] \uac12\uc774 \ucd5c\ub313\uac12\ubcf4\ub2e4 \ud07d\ub2c8\ub2e4: 200 \u003e 150 / Value above maximum",
      "row": 1
    },
    {
      "code": "REQUIRED",
      "column": "name",
      "fix_hint": "\ud574\ub2f9 \ud589\uc5d0 \uc720\ud6a8\ud55c \uac12\uc744 \uc785\ub825\ud558\uc138\uc694 / Provide a non-empty value for this field",
      "message": "[name] \ud544\uc218 \uceec\ub7fc\uc778\ub370 \uac12\uc774 \ube44\uc5b4 \uc788\uc2b5\ub2c8\ub2e4 / Required column is empty",
      "row": 2
    }
  ],
  "total_rows": 2,
  "valid": false
}
infer_schema_basic
# infer_schema# korean

CSV에서 자동 스키마 추론 / Auto-infer schema from CSV

📥 Input
{
  "action": "infer_schema",
  "csv_content": "\uc0c1\ud488\ucf54\ub4dc,\uac00\uaca9,\ub4f1\ub85d\uc77c,\ub2f4\ub2f9\uc790\uc774\uba54\uc77c\nA001,15000,2024-01-15,manager@corp.com\nB002,32000,2024-03-22,sales@corp.com",
  "delimiter": ",",
  "has_header": true
}
📤 Output
{
  "action": "infer_schema",
  "confidence": "low",
  "sample_count": 2,
  "schema": {
    "columns": [
      {
        "name": "\uc0c1\ud488\ucf54\ub4dc",
        "required": true,
        "type": "string"
      },
      {
        "max": 32000,
        "min": 15000,
        "name": "\uac00\uaca9",
        "required": true,
        "type": "integer"
      },
      {
        "name": "\ub4f1\ub85d\uc77c",
        "required": true,
        "type": "date"
      },
      {
        "name": "\ub2f4\ub2f9\uc790\uc774\uba54\uc77c",
        "required": true,
        "type": "email"
      }
    ]
  }
}
audit_clean
# audit# clean# korean

위생 이슈 없는 깨끗한 CSV 감사 결과 / Audit result for a clean CSV

📥 Input
{
  "action": "audit",
  "csv_content": "id,name,phone\n1,\ud64d\uae38\ub3d9,010-1234-5678\n2,\uae40\uc601\ud76c,010-9876-5432",
  "delimiter": ",",
  "has_header": true
}
📤 Output
{
  "action": "audit",
  "issues": [],
  "score": 100,
  "total_columns": 3,
  "total_rows": 2
}
audit_security_issues
# audit# security# csv-injection# korean-pii# rrn

CSV 인젝션 + 주민번호 평문 감지 / Detect CSV injection and plain Korean RRN

📥 Input
{
  "action": "audit",
  "csv_content": "\uc774\ub984,\uc8fc\ubbfc\ubc88\ud638,\uba54\ubaa8\n\ud64d\uae38\ub3d9,901225-1234567,=CMD|\u0027/C calc\u0027!A0\n\uae40\ucca0\uc218,800101-2345678,\uc815\uc0c1",
  "delimiter": ",",
  "has_header": true
}
📤 Output
{
  "action": "audit",
  "issues": [
    {
      "category": "SEC",
      "fix_hint": "\uc140 \uac12\uc744 \uc30d\ub530\uc634\ud45c\ub85c \uac10\uc2f8\uace0 \uc55e\uc5d0 \uc791\uc740\ub530\uc634\ud45c(\u0027)\ub97c \ucd94\uac00\ud558\uc138\uc694 / Prefix with apostrophe",
      "location": "row:1,col:\uba54\ubaa8",
      "message": "\ud589 1 [\uba54\ubaa8] CSV \uc778\uc81d\uc158 \uc704\ud5d8 \ud328\ud134 \uac10\uc9c0: \u0027=CMD|\u0027/C calc\u0027!A0\u0027 / CSV injection risk",
      "rule": "SEC-001",
      "severity": "error"
    },
    {
      "category": "SEC",
      "fix_hint": "\ub4b7 7\uc790\ub9ac\ub97c \ub9c8\uc2a4\ud0b9\ud558\uc138\uc694 (\uc608: 901225-1******) / Mask last 7 digits",
      "location": "row:1,col:\uc8fc\ubbfc\ubc88\ud638",
      "message": "\ud589 1 [\uc8fc\ubbfc\ubc88\ud638] \uc8fc\ubbfc\ubc88\ud638 \ud3c9\ubb38 \uac10\uc9c0 \u2014 \uac1c\uc778\uc815\ubcf4\ubcf4\ud638\ubc95 \uc704\ubc18 \uac00\ub2a5 / Plain Korean RRN detected",
      "rule": "SEC-002",
      "severity": "error"
    },
    {
      "category": "SEC",
      "fix_hint": "\ub4b7 7\uc790\ub9ac\ub97c \ub9c8\uc2a4\ud0b9\ud558\uc138\uc694 (\uc608: 800101-2******) / Mask last 7 digits",
      "location": "row:2,col:\uc8fc\ubbfc\ubc88\ud638",
      "message": "\ud589 2 [\uc8fc\ubbfc\ubc88\ud638] \uc8fc\ubbfc\ubc88\ud638 \ud3c9\ubb38 \uac10\uc9c0 \u2014 \uac1c\uc778\uc815\ubcf4\ubcf4\ud638\ubc95 \uc704\ubc18 \uac00\ub2a5 / Plain Korean RRN detected",
      "rule": "SEC-002",
      "severity": "error"
    }
  ],
  "score": 70,
  "total_columns": 3,
  "total_rows": 2
}

All examples are also available via the agent API: /v1/agent/skills/7a17d623-538d-4fc2-a939-2b13cdfc93e9/schema

Reviews & Ratings

No reviews yet. Be the first to leave one!

✍️ Write a Review