curl -L -o test-data-generator.skill "https://aiskillstore.io/v1/agent/skills/8c15fc7b-81e2-4aec-9bc9-4a0dd650cffc/download?platform=ClaudeCode"
{
"tool": "download_skill",
"arguments": {
"skill_id": "8c15fc7b-81e2-4aec-9bc9-4a0dd650cffc",
"platform": "ClaudeCode"
}
}
{
"mcpServers": {
"skill-store": {
"url": "https://aiskillstore.io/mcp/"
}
}
}
Schema-driven realistic fake data generation with deterministic seed, foreign key consistency, multi-locale (Korean/en), and CSV/SQL output. Up to 1000 records per call. 테스트 데이터 생성, 더미 데이터, 가짜 데이터 자동 생성.
호환 플랫폼: any
검사 결과: ["메타데이터 경고: 권장 필드 없음: 'requirements' (SKILL.md v2 권장)", "메타데이터 경고: 권장 필드 없음: 'changelog' (SKILL.md v2 권장)"]
✅ 보안 위험 항목이 발견되지 않았습니다.
AI 검수 단계
스킬 메타데이터와 코드 파일을 종합적으로 검토한 결과, 다음과 같은 판단 근거를 도출했습니다. 1. **권한 일치 여부**: 스킬 메타데이터에 `network: false`, `filesystem: false`, `subprocess: false`로 명확히 선언되어 있습니다. 코드(`main.py`, `lib/generator.py`)를 분석한 결과, `requests`, `urllib`, `socket` 등 네트워크 통신을 위한 모듈 사용이 없으며, `open()`, `os.remove()` 등 파일 시스템 접근이나 `subprocess`, `os.system()` 등 외부 프로세스 실행 시도가 전혀 발견되지 않았습니다. `io.StringIO`는 메모리 내 문자열 버퍼링에 사용되며 실제 파일 시스템 접근이 아닙니다. 선언된 권한과 실제 코드가 완벽하게 일치합니다. 2. **악의적 목적 코드 부재**: 사용자 데이터를 탈취하거나 시스템을 파괴하려는 어떠한 악의적인 코드도 발견되지 않았습니다. 코드는 난독화되어 있지 않고 명확하며, 오직 테스트 데이터를 생성하는 기능에만 집중하고 있습니다. 3. **외부 통신 부재**: 선언된 권한에 따라 외부 네트워크 통신이 없으며, 코드에서도 외부 통신을 시도하는 부분이 없습니다. 4. **사용자 데이터 무단 수집/전송 부재**: 이 스킬은 사용자가 제공한 스키마 정의에 따라 가상의 데이터를 생성하는 것이 주 목적입니다. 실제 사용자 데이터를 수집하거나 외부로 전송하는 기능은 전혀 포함되어 있지 않습니다. 5. **코드 품질 및 목적 일치**: 코드는 `faker` 라이브러리를 활용하여 스키마 기반의 테스트 데이터를 생성하는 기능을 충실히 구현하고 있습니다. 다국어 지원, 결정론적 시드, 외래키 일관성 유지, CSV/SQL 출력 등 메타데이터에 명시된 모든 기능이 잘 구현되어 있습니다. 입력 유효성 검사 및 오류 처리도 적절하게 이루어져 있습니다. `count`의 최대값이 1000으로 제한되어 있어 과도한 리소스 사용을 방지합니다. 정적 분석 결과 또한 'approved' 상태로, 레드 플래그, 난독화 경고, 금지된 실행 파일 발견이 없음을 확인했습니다. 전반적으로 안전하고 신뢰할 수 있는 스킬로 판단됩니다.
이 스킬의 대표적인 입출력 예시입니다. 에이전트는 이 예시를 보고 스킬 호출 방법과 결과 형태를 이해할 수 있습니다.
ko_KR 로케일로 이름/전화/주소 생성, seed 고정으로 재현 가능
{
"action": "generate",
"count": 3,
"locale": "ko_KR",
"output_format": "json",
"schema": {
"address": {
"type": "address"
},
"id": {
"type": "uuid"
},
"name": {
"type": "name"
},
"phone": {
"type": "phone"
}
},
"seed": 42
}
{
"csv_output": null,
"meta": {
"count": 3,
"disclaimer": "All data is artificially generated for testing purposes only (\uac00\uc0c1 \ub370\uc774\ud130)",
"locale": "ko_KR",
"seed_used": 42
},
"preview_record": null,
"records": [
{
"address": "[Korean Address]",
"id": "[GENERATED_UUID]",
"name": "[Korean Name]",
"phone": "[Korean Phone Number]"
}
],
"schema_issues": [],
"sql_output": null,
"tables": null
}
users 50건 + orders 200건 생성, orders.user_id는 users.id 참조
{
"action": "generate_table",
"locale": "en",
"seed": 7,
"tables": {
"orders": {
"count": 10,
"schema": {
"amount": {
"max": 1000.0,
"min": 10.0,
"type": "float"
},
"created_at": {
"type": "date"
},
"order_id": {
"type": "uuid"
},
"user_id": {
"field": "id",
"table": "users",
"type": "ref"
}
}
},
"users": {
"count": 5,
"schema": {
"email": {
"type": "email"
},
"id": {
"type": "uuid"
},
"name": {
"type": "name"
}
}
}
}
}
{
"csv_output": null,
"meta": {
"count": 15,
"disclaimer": "All data is artificially generated for testing purposes only (\uac00\uc0c1 \ub370\uc774\ud130)",
"locale": "en",
"seed_used": 7
},
"preview_record": null,
"records": null,
"schema_issues": [],
"sql_output": null,
"tables": {
"orders": [
{
"amount": 299.99,
"created_at": "2024-03-15",
"order_id": "[UUID]",
"user_id": "[REF_TO_USER_ID]"
}
],
"users": [
{
"email": "[Email]",
"id": "[UUID]",
"name": "[Name]"
}
]
}
}
CSV 포맷으로 1000개 레코드 일괄 생성
{
"action": "generate",
"count": 10,
"output_format": "csv",
"schema": {
"company": {
"type": "company"
},
"email": {
"type": "email"
},
"full_name": {
"type": "name"
},
"id": {
"max": 99999,
"min": 1,
"type": "int"
}
},
"seed": 100
}
{
"csv_output": "id,full_name,email,company\n1234,John Doe,john@example.com,Acme Corp\n...",
"meta": {
"count": 10,
"disclaimer": "All data is artificially generated for testing purposes only (\uac00\uc0c1 \ub370\uc774\ud130)",
"locale": "en",
"seed_used": 100
},
"preview_record": null,
"records": null,
"schema_issues": [],
"sql_output": null,
"tables": null
}
SQL INSERT 문으로 테스트 DB 시딩
{
"action": "generate",
"count": 5,
"output_format": "sql_insert",
"schema": {
"created_at": {
"type": "date"
},
"email": {
"type": "email"
},
"user_id": {
"max": 9999,
"min": 1,
"type": "int"
},
"username": {
"type": "name"
}
},
"seed": 55
}
{
"csv_output": null,
"meta": {
"count": 5,
"disclaimer": "All data is artificially generated for testing purposes only (\uac00\uc0c1 \ub370\uc774\ud130)",
"locale": "en",
"seed_used": 55
},
"preview_record": null,
"records": null,
"schema_issues": [],
"sql_output": "INSERT INTO records (user_id, username, email, created_at) VALUES (...);",
"tables": null
}
어떤 type 값을 schema에 쓸 수 있는지 확인
{
"action": "list_providers"
}
{
"csv_output": null,
"meta": {
"count": 0,
"disclaimer": "All data is artificially generated for testing purposes only (\uac00\uc0c1 \ub370\uc774\ud130)",
"locale": "en",
"seed_used": 0
},
"preview_record": null,
"providers": [
{
"description": "Full person name",
"name": "name",
"options": {}
},
{
"description": "Email address",
"name": "email",
"options": {}
},
{
"description": "UUID v4 string",
"name": "uuid",
"options": {}
}
],
"records": null,
"schema_issues": [],
"sql_output": null,
"tables": null
}
모든 예시는 에이전트 API로도 조회 가능:
/v1/agent/skills/8c15fc7b-81e2-4aec-9bc9-4a0dd650cffc/schema
아직 리뷰가 없습니다. 첫 번째 리뷰를 남겨보세요!