Community코딩 & 개발github.com

1arley/skill-preflight

스킬 폴더의 형식, 구조, 정적 보안 및 공급망 문제를 감사합니다. '이 스킬 감사해줘', '내 SKILL.md 확인해줘', '이 스킬 게시해도 안전한가요', '스킬 린트', '마켓플레이스 준비'라는 요청이 있을 때 사용하세요.

skill-preflight란 무엇인가요?

이 스킬은 게시 전에 스킬 폴더를 감사하여 형식, 구조, 정적 보안 및 공급망 문제를 확인합니다. 감사 스크립트는 해당 폴더를 신뢰할 수 없는 데이터로 취급하여 파일을 실행하거나, 모델을 호출하거나, 네트워크 요청을 하지 않습니다. 이는 스킬에 에이전트 권한으로 작동할 수 있는 지침이나 코드가 포함될 수 있기 때문에 중요합니다. 감사는 curl 또는 npx를 통해 다운로드한 단일 파일로 실행되며 다운로드 후에는 완전히 오프라인으로 작동합니다. JSON 보고서를 생성하고 각 오류, 경고 및 정보를 설명하며, 결정론적 결과와는 별도로 활성화 명확성, 예시 및 잠재적 과소 활성화에 대한 정성적 루브릭 평가를 제공합니다. 이 스킬은 Claude Code, Cursor, Codex와 같은 AI 에이전트 플랫폼에서 '이 스킬 감사해줘' 또는 'SKILL.md 확인해줘'와 같은 요청을 할 때 사용됩니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/1arley/skill-preflight/tree/HEAD/skills/devtools/skill-preflight

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Skill Preflight

게시하기 전에 제공된 스킬 폴더를 감사합니다. 감사 스크립트는 해당 폴더를 신뢰할 수 없는 데이터로 취급합니다. 즉, 해당 파일을 절대 실행하지 않고, 모델을 호출하지 않으며, 네트워크 요청을 하지 않습니다. 이는 스킬에 에이전트 권한으로 작동할 수 있는 지침이나 코드가 포함될 수 있기 때문에 중요합니다.

  1. 감사 도구를 가져와서 실행합니다. 이 도구는 하나의 자체 포함 파일로, 런타임 종속성이 없으며 https://github.com/1arley/skill-preflight에 게시되어 있습니다.

    curl -fsSL https://raw.githubusercontent.com/1arley/skill-preflight/main/scripts/preflight.mjs -o /tmp/skill-preflight.mjs
    node /tmp/skill-preflight.mjs <skill-folder> --format json
    

    npx --yes github:1arley/skill-preflight <skill-folder> --format json은 동일한 작업을 수행하며 CLI를 캐시합니다. 한 번 다운로드하여 재사용하세요. 다운로드 후의 모든 것은 오프라인으로 실행됩니다. 감사 도구는 절대 모델을 호출하지 않고, 감사 중인 스킬을 실행하지 않으며, 어떤 것도 어디로 보내지 않습니다.

    검토 중인 폴더가 이 스킬 자체인 경우, 스킬 폴더에서 --ignore-file preflightignore.json을 전달하세요. 이렇게 하면 이 파일과 README.md의 다운로드 URL로 인해 발생하는 두 개의 오탐지(false positive)가 억제됩니다.

  2. JSON 보고서를 읽고 각 오류, 경고 및 정보 제공용 이식성 참고 사항을 평이한 언어로 설명합니다.

  3. references/rubric.md의 정성적 루브릭을 활성화 명확성, 예시 및 잠재적 과소 활성화에 적용합니다. 해당 판단을 결정론적 결과와 별도로 레이블을 지정합니다.

  4. 하나의 결합된 보고서를 제시합니다. 모든 결정론적 규칙 ID와 file:line 위치를 유지한 다음, 루브릭 평가와 그 증거를 추가합니다.

  5. 집중된 수정 사항을 제안합니다. 사용자가 명시적으로 해당 수정을 요청하지 않는 한 감사 중인 스킬을 편집하지 마십시오.

agensi 프로필은 휴리스틱하며 Agensi의 공개 보안 범주에서 영감을 받았습니다. 이는 그들의 비공개 스캐너를 재현하거나 마켓플레이스 결정을 예측하지 않습니다. 보안 결과를 해석하기 전에 references/security.md를 읽고 보고서 형식을 변환할 때 references/report-format.md를 읽으십시오.

예시

입력:

node /tmp/skill-preflight.mjs ./my-skill --profile default --format json

결정론적 출력 발췌:

{
  "schemaVersion": "1.0.0",
  "summary": { "errors": 0, "warnings": 1, "infos": 0 },
  "findings": [{
    "id": "SEC-001", "severity": "warning", "category": "security",
    "message": "Outbound network access is statically referenced.",
    "location": { "file": "scripts/run.mjs", "line": 12 },
    "suggestion": "remove it or document a narrow, user-approved purpose"
  }]
}

호스트 에이전트는 별도의 정성적 섹션을 추가합니다. 예를 들어: "활성화: 명확함; 설명이 작업을 명명하고 사용자 구문을 포함합니다. 증거: 설명에 별개의 감사 및 게시 트리거가 포함되어 있습니다." 스크립트는 해당 판단을 절대 제공하지 않습니다.

관련 스킬