← 스킬 목록으로 돌아가기

lua-syntax-validator

v1.0.0 approved Development 오늘 업데이트
USK v3 ✅ Verified ⚡ Auto-Convert
⬇ 다운로드
설치 가이드↓
🤖 에이전트용 설치 명령 (curl / MCP / Claude Desktop)
▸ curl 한 줄 다운로드
curl -L -o lua-syntax-validator.skill   "https://aiskillstore.io/v1/agent/skills/a03b7f19-1a84-4191-ab28-161d465ca0d3/download?platform=ClaudeCode"
▸ MCP 도구 호출 (Skill Store MCP 등록 시)
{
  "tool": "download_skill",
  "arguments": {
    "skill_id": "a03b7f19-1a84-4191-ab28-161d465ca0d3",
    "platform": "ClaudeCode"
  }
}
▸ Claude Desktop / Cursor MCP 설정 (1회)
{
  "mcpServers": {
    "skill-store": {
      "url": "https://aiskillstore.io/mcp/"
    }
  }
}
📖 에이전트용 전체 API 가이드: /llms.txt  ·  MCP server card

Validate Lua 5.3/5.4 source code via AST parsing. Returns error locations (line:col), error type, and optional AST summary. Deterministic, offline, no external API.

# lua # syntax-validation # ast # code-quality # roblox # embedded

기본 정보

소유자 👤 aiskillstore-team 카테고리 Development 등록일 2026-06-26 최종 업데이트 2026-06-26 최신 버전 1.0.0 패키지 날짜 2026-06-26 검증 상태 approved 다운로드 수 0회 체크섬 (SHA256) b9a31d58e925b13561846d444adfe6701c93aca563233bdb0f40073a72fde584

⚡ AGENT INFO USK v3

Capabilities
lua_syntax_validation ast_parsing code_error_detection deterministic_validation lua_54_support
Permissions
✗ network
✗ filesystem
✗ subprocess
Interface
type: cli   entry_point: main.py   runtime: python3   call_pattern: stdin_stdout
Agent API
# 스킬 스키마 조회 (에이전트가 호출 방법을 파악) GET /v1/agent/skills/a03b7f19-1a84-4191-ab28-161d465ca0d3/schema # 플랫폼별 자동 변환 다운로드 GET /v1/agent/skills/a03b7f19-1a84-4191-ab28-161d465ca0d3/download?platform=OpenClaw GET /v1/agent/skills/a03b7f19-1a84-4191-ab28-161d465ca0d3/download?platform=ClaudeCode GET /v1/agent/skills/a03b7f19-1a84-4191-ab28-161d465ca0d3/download?platform=ClaudeCodeAgentSkill GET /v1/agent/skills/a03b7f19-1a84-4191-ab28-161d465ca0d3/download?platform=Cursor GET /v1/agent/skills/a03b7f19-1a84-4191-ab28-161d465ca0d3/download?platform=GeminiCLI GET /v1/agent/skills/a03b7f19-1a84-4191-ab28-161d465ca0d3/download?platform=CodexCLI GET /v1/agent/skills/a03b7f19-1a84-4191-ab28-161d465ca0d3/download?platform=CustomAgent

설치 방법

호환 플랫폼: any

1
openclaw_skill_manager.py로 스킬을 설치합니다.
python openclaw_skill_manager.py --install lua-syntax-validator
2
설치 확인
python openclaw_skill_manager.py --list-installed
3
특정 버전 설치 (선택)
python openclaw_skill_manager.py --install lua-syntax-validator --version 1.0.0
1
스킬 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/skills/a03b7f19-1a84-4191-ab28-161d465ca0d3/download
2
Claude Code commands 디렉터리에 배치합니다.
unzip lua-syntax-validator.skill -d ~/.claude/commands/lua-syntax-validator/
3
Claude Code에서 슬래시 커맨드로 사용합니다.
/lua-syntax-validator
1
Agent Skills 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/a03b7f19-1a84-4191-ab28-161d465ca0d3/download?platform=ClaudeCodeAgentSkill
2
Claude Code skills 디렉터리에 압축을 해제합니다.
unzip lua-syntax-validator-agent-skill-*.skill -d ~/.claude/skills/lua-syntax-validator/
3
Claude Code를 재시작하면 세션 시작 시 자동으로 로드됩니다. 슬래시 커맨드 없이 자연어로 사용 가능합니다.
1
Cursor 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/a03b7f19-1a84-4191-ab28-161d465ca0d3/download?platform=Cursor
2
압축 해제 후 영구 위치에 저장합니다.
unzip lua-syntax-validator-cursor-*.skill -d ~/.cursor/skills/lua-syntax-validator/
3
.cursor/mcp.json에 MCP 서버 설정을 추가하고 Cursor를 재시작합니다.
cat ~/.cursor/skills/lua-syntax-validator/cursor_mcp_config.json
1
Gemini CLI 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/a03b7f19-1a84-4191-ab28-161d465ca0d3/download?platform=GeminiCLI
2
압축 해제 후 영구 위치에 저장합니다.
unzip lua-syntax-validator-geminicli-*.skill -d ~/.gemini/skills/lua-syntax-validator/
3
~/.gemini/settings.json에 MCP 서버 설정을 추가하고 Gemini CLI를 재시작합니다.
cat ~/.gemini/skills/lua-syntax-validator/gemini_settings_snippet.json
1
Codex CLI 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/a03b7f19-1a84-4191-ab28-161d465ca0d3/download?platform=CodexCLI
2
압축 해제 후 영구 위치에 저장합니다.
unzip lua-syntax-validator-codexcli-*.skill -d ~/.codex/skills/lua-syntax-validator/
3
~/.codex/config.toml에 MCP 서버 설정을 추가하고 Codex CLI를 재시작합니다.
cat ~/.codex/skills/lua-syntax-validator/codex_config_snippet.toml
1
REST API로 스킬 패키지를 다운로드합니다.
GET https://aiskillstore.io/v1/skills/a03b7f19-1a84-4191-ab28-161d465ca0d3/download
2
에이전트 플랫폼의 skills 디렉터리에 배치합니다.
cp lua-syntax-validator.skill ./skills/
3
설치 가이드 API로 플랫폼별 상세 정보를 조회합니다.
GET https://aiskillstore.io/v1/skills/a03b7f19-1a84-4191-ab28-161d465ca0d3/install-guide?platform=CustomAgent

보안 검증 보고서

검증 결과 CAUTION

🚨 보안 위험 감지:

  • lib/validator.py: base64.b64decode(

검사 결과: ["메타데이터 경고: 권장 필드 없음: 'requirements' (SKILL.md v2 권장)"]

AI 검수 단계

검수 주체 gemini 위험도 🟢 낮음 검수 요약 Lua 구문 유효성 검사 스킬로, 선언된 권한을 준수하며 안전하게 동작합니다.
판단 근거

스킬 메타데이터와 코드 파일을 분석한 결과, 다음과 같은 판단을 내렸습니다. 1. **선언된 권한 일치 여부**: 스킬 메타데이터에 'network: false', 'filesystem: false', 'subprocess: false'로 명시되어 있으며, 제공된 코드(`main.py`, `lib/validator.py`)에서 외부 네트워크 통신, 파일 시스템 접근(모듈 로딩을 위한 `sys.path.insert` 및 `os.path.dirname` 제외), 또는 서브프로세스 실행과 관련된 어떠한 코드도 발견되지 않았습니다. `sys.stdin` 및 `sys.stdout`을 통한 표준 입출력만 사용하고 있어 선언된 권한과 실제 코드가 완벽하게 일치합니다. 2. **악의적 목적 코드**: 사용자 데이터를 탈취하거나 시스템을 파괴하려는 어떠한 악의적인 코드 패턴도 발견되지 않았습니다. 코드 난독화도 없습니다. 3. **선언되지 않은 외부 통신**: 코드 내에서 HTTP 요청, 소켓 통신 등 외부 네트워크 통신을 시도하는 부분이 전혀 없습니다. 4. **사용자 데이터 무단 수집/전송**: 스킬은 `stdin`으로 입력받은 Lua 코드를 처리하고 그 결과를 `stdout`으로 반환합니다. 이 과정에서 사용자 데이터를 무단으로 수집, 저장 또는 외부로 전송하는 행위는 발견되지 않았습니다. 5. **코드 품질 및 목적 일치**: 코드는 Lua 구문 유효성 검사라는 스킬의 목적에 충실하게 작성되었습니다. 입력 유효성 검사, 오류 처리, AST 파싱 및 요약 기능 등이 명확하게 구현되어 있으며, 코드 가독성도 높습니다. **정적 분석 결과에 대한 검토**: 정적 분석에서 'lib/validator.py: base64.b64decode('가 'red_flags_found'로 지적되었으나, 이는 스킬의 의도된 기능(사용자가 base64로 인코딩된 Lua 코드를 입력할 경우 이를 디코딩하여 처리)을 위한 것입니다. 디코딩된 내용은 Lua 소스 코드로 간주되어 구문 분석에만 사용되며, 임의 코드 실행이나 파일 시스템 접근 등 위험한 방식으로 활용되지 않습니다. 따라서 이 플래그는 해당 컨텍스트에서는 오탐(false positive)으로 판단됩니다.

버전 히스토리

버전 USK v3 검증 상태 패키지 날짜 다운로드 변경사항
v1.0.0 approved 2026-06-26 ⬇ 0 1.0.0: Initial release. Lua 5.3/5.4 AST-based syntax validation via luaparser. errors_only/ast_summary/full_ast output formats. Structured error codes.

사용 예시 (Examples) 6 개

이 스킬의 대표적인 입출력 예시입니다. 에이전트는 이 예시를 보고 스킬 호출 방법과 결과 형태를 이해할 수 있습니다.

Valid Lua 5.4 function
# valid# function# 5.4

A simple Lua function with local variable — returns valid=true and empty errors

📥 입력
{
  "code": "local function greet(name)\n  return \u0027Hello, \u0027 .. name\nend\nprint(greet(\u0027world\u0027))",
  "lua_version": "5.4",
  "output_format": "errors_only"
}
📤 출력
{
  "errors": [],
  "lua_version": "5.4",
  "valid": true
}
Syntax error — missing 'end'
# error# missing-end# syntax

Lua function missing the closing 'end' keyword — returns line and column of error

📥 입력
{
  "code": "local function broken(x)\n  if x \u003e 0 then\n    return x\n",
  "lua_version": "5.4",
  "output_format": "errors_only"
}
📤 출력
{
  "errors": [
    {
      "column": 1,
      "line": 4,
      "message": "Unexpected end of input, expected \u0027end\u0027",
      "token": "\u003ceof\u003e"
    }
  ],
  "lua_version": "5.4",
  "valid": false
}
AST summary output
# ast_summary# nodes

Parse a short Lua script and return node-type counts in ast_summary

📥 입력
{
  "code": "local x = 10\nlocal y = x * 2\nprint(y)",
  "output_format": "ast_summary"
}
📤 출력
{
  "ast_summary": {
    "Block": 1,
    "Call": 1,
    "LocalAssign": 2,
    "total_nodes": 4
  },
  "errors": [],
  "lua_version": "5.4",
  "valid": true
}
Lua 5.3 integer division operator
# 5.3# integer-division# valid

Validate Lua 5.3 code using integer division operator supported in 5.3+

📥 입력
{
  "code": "local a = 10\nlocal b = 3\nlocal c = a // b\nreturn c",
  "lua_version": "5.3",
  "output_format": "errors_only"
}
📤 출력
{
  "errors": [],
  "lua_version": "5.3",
  "valid": true
}
Invalid version string
# error# invalid-version

Passing an unsupported Lua version returns a structured INPUT_ERROR

📥 입력
{
  "code": "print(\u0027hello\u0027)",
  "lua_version": "5.1"
}
📤 출력
{
  "error": {
    "code": "INVALID_VERSION",
    "message": "Unsupported Lua version \u00275.1\u0027. Supported: 5.3, 5.4."
  },
  "errors": [],
  "lua_version": "5.1",
  "valid": false
}
Roblox-style Lua script validation
# roblox# ast_summary# gamedev

Validate a Roblox LocalScript pattern before deployment — checks for function definitions and return statements

📥 입력
{
  "code": "local Players = game:GetService(\u0027Players\u0027)\nlocal function onPlayerAdded(player)\n  print(\u0027Player joined:\u0027, player.Name)\nend\nPlayers.PlayerAdded:Connect(onPlayerAdded)",
  "lua_version": "5.4",
  "output_format": "ast_summary"
}
📤 출력
{
  "ast_summary": {
    "Block": 1,
    "Call": 3,
    "Function": 1,
    "LocalAssign": 2,
    "total_nodes": 7
  },
  "errors": [],
  "lua_version": "5.4",
  "valid": true
}

모든 예시는 에이전트 API로도 조회 가능: /v1/agent/skills/a03b7f19-1a84-4191-ab28-161d465ca0d3/schema

리뷰 & 평점

아직 리뷰가 없습니다. 첫 번째 리뷰를 남겨보세요!

✍️ 리뷰 작성