소스 정보
- 저장소
- skeletorflet/opencode-kit
- 최근 소스 활동
- 2026년 3월 31일 19:12
- 감지된 SKILL.md 언어
- 영어
- 스타
- 7
- 포크
- 1
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/skeletorflet/opencode-kit --skill lint-and-validate명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Web accessibility (a11y). WCAG 2.1, ARIA, keyboard navigation, screen readers, testing tools.
Analytics and event tracking. Product analytics, Mixpanel, PostHog, Segment, GDPR compliance, event taxonomy.
UI animation patterns. CSS transitions, Framer Motion, GSAP, performance, accessibility.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | lint-and-validate |
| description | Automatic multi-language quality control, linting, and static analysis. |
MANDATORY: Run appropriate validation tools after EVERY code change. IMPORTANT: This skill auto-detects the project language and applies the correct linting stack.
Detecta automáticamente el lenguaje del proyecto:
├── pyproject.toml / requirements.txt → Python (Ruff, mypy)
├── package.json → JavaScript/TypeScript (ESLint, tsc)
├── go.mod → Go (go fmt, golangci-lint)
├── Cargo.toml → Rust (cargo clippy, cargo fmt)
├── pom.xml / build.gradle → Java (Checkstyle)
├── *.csproj → C# (.NET format, StyleCop)
├── Gemfile → Ruby (RuboCop)
├── composer.json → PHP (PHP-CS-Fixer, PHPStan)
├── Package.swift → Swift (SwiftLint)
├── build.gradle.kts → Kotlin (ktlint)
└── CMakeLists.txt → C++ (clang-format)
| Herramienta | Propósito | Comando |
|---|---|---|
| Ruff | Linting rápido | ruff check . --fix |
| Black | Formateo | black . |
| isort | Import sorting | isort . |
| MyPy | Tipos estáticos | mypy . |
| Bandit | Seguridad | bandit -r . -ll |
| Flake8 | Estilo PEP 8 | flake8 . |
# Python: Full lint pipeline
ruff check . --fix && black . --check && mypy . && bandit -r . -ll
| Herramienta | Propósito | Comando |
|---|---|---|
| ESLint | Linting | npx eslint . --fix |
| Prettier | Formateo | npx prettier . --write |
| TypeScript | Tipos | npx tsc --noEmit |
| npm audit | Seguridad | npm audit --audit-level=high |
# JavaScript/TypeScript: Full lint pipeline
npx eslint . --fix && npx prettier . --check && npx tsc --noEmit
| Herramienta | Propósito | Comando |
|---|---|---|
| go fmt | Formateo | go fmt ./... |
| go vet | Análisis estático | go vet ./... |
| golangci-lint | Linting completo | golangci-lint run ./... |
| staticcheck | Análisis estático | staticcheck ./... |
# Go: Full lint pipeline
go fmt ./... && go vet ./... && golangci-lint run ./...
| Herramienta | Propósito | Comando |
|---|---|---|
| cargo fmt | Formateo | cargo fmt --check |
| cargo clippy | Linting | cargo clippy -- -D warnings |
| cargo test | Tests | cargo test |
| cargo audit | Seguridad | cargo audit |
# Rust: Full lint pipeline
cargo fmt --check && cargo clippy -- -D warnings && cargo test
| Herramienta | Propósito | Comando |
|---|---|---|
| Checkstyle | Estilo de código | mvn checkstyle:check |
| SpotBugs | Análisis estático | mvn spotbugs:check |
| PMD | Análisis de código | mvn pmd:check |
| Google Java Format | Formateo | google-java-format -d . |
# Java: Full lint pipeline (Maven)
mvn checkstyle:check spotbugs:check pmd:check
| Herramienta | Propósito | Comando |
|---|---|---|
| dotnet format | Formateo | dotnet format --verify-no-changes |
| dotnet build | Compilación | dotnet build --no-restore |
| StyleCopAnalyzers | Estilo | dotnet build (incluido) |
| Roslynator | Análisis | dotnet build |
# C#: Full lint pipeline
dotnet format --verify-no-changes && dotnet build --no-restore
| Herramienta | Propósito | Comando |
|---|---|---|
| RuboCop | Linting | rubocop -a |
| Brakeman | Seguridad | brakeman -w 1 |
| bundler-audit | Dependencias | bundler-audit |
# Ruby: Full lint pipeline
rubocop -a && brakeman -w 1 && bundler-audit
| Herramienta | Propósito | Comando |
|---|---|---|
| PHP-CS-Fixer | Estilo | php-cs-fixer fix . |
| PHPStan | Análisis estático | phpstan analyse . |
| psalm | Análisis estático | psalm . |
| PHPUnit | Tests | phpunit |
# PHP: Full lint pipeline
php-cs-fixer fix . && phpstan analyse . --level=max
| Herramienta | Propósito | Comando |
|---|---|---|
| SwiftLint | Linting | swiftlint |
| SwiftFormat | Formateo | swiftformat . |
| swift build | Compilación | swift build |
# Swift: Full lint pipeline
swiftlint && swiftformat . && swift build
| Herramienta | Propósito | Comando |
|---|---|---|
| ktlint | Linting | ktlint . |
| detekt | Análisis estático | detekt . |
| kotlinc | Compilación | kotlinc -include-runtime -d app.jar |
# Kotlin: Full lint pipeline
ktlint . && detekt .
| Herramienta | Propósito | Comando |
|---|---|---|
| clang-format | Formateo | clang-format -i *.cpp |
| cppcheck | Análisis estático | cppcheck . |
| clang-tidy | Linting | clang-tidy . |
# C++: Full lint pipeline
clang-format -i *.cpp *.h && cppcheck . && clang-tidy .
INPUT: Proyecto multi-lenguaje
├── Carpeta / archivo a validar
└── Auto-detección de lenguajes presentes
PROCESO:
1. Detectar lenguajes en el proyecto (glob *.{ext})
2. Para cada lenguaje:
a. Aplicar linting (dependencies/tooling check)
b. Aplicar formatting
c. Verificar tipos/análisis estático
3. Agregar warnings de security scan
4. Aggregate results
OUTPUT: Reporte de errores y warnings por lenguaje
¿Qué validación necesito?
├── Necesito verificartypes
│ ├── Python → mypy
│ ├── TypeScript → tsc --noEmit
│ ├── Go → go vet
│ ├── Rust → cargo clippy
│ ├── Java → mvn checkstyle:check
│ └── C# → dotnet build --no-restore
├── Necesito formatear código
│ ├── Python → black
│ ├── JS/TS → prettier
│ ├── Go → go fmt
│ ├── Rust → cargo fmt
│ ├── PHP → php-cs-fixer
│ ├── Swift → swiftformat
│ └── C++ → clang-format
└── Necesito verificar seguridad
├── Python → bandit
├── JS/TS → npm audit
├── Go → golangci-lint
├── Ruby → brakeman
└── PHP → phpstan
🔴 Strict Rule: No code should be committed or reported as "done" without passing lint checks. 🔴 If no tool is configured: Check the project root for config files (.eslintrc, pyproject.toml, go.mod) and suggest/create appropriate configuration.
| Script | Propósito | Comando |
|---|---|---|
scripts/lint_runner.py | Ejecución multi-lenguaje | python scripts/lint_runner.py <project_path> |
scripts/type_coverage.py | Análisis de cobertura de tipos | python scripts/type_coverage.py <project_path> |
scripts/security_check.py | Escaneo de seguridad | python scripts/security_check.py <project_path> |
## Lint Results: /project
### Python (detected via pyproject.toml)
✅ Ruff passed
✅ Black formatted correctly
✅ MyPy: 0 errors, 0 warnings
### TypeScript (detected via package.json)
✅ ESLint passed
⚠️ Prettier: 2 files needs formatting (run with --write)
❌ TypeScript: 3 errors found
### Errors to fix:
[file1.ts:12] Type error: Argument of type 'string' is not assignable to parameter of type 'number'
[file2.ts:5] TS2304: Cannot find name 'Undefinec'
[app.ts:45] TS7006: Parameter 'userId' implicitly has an 'any' type
Should I fix these errors?
| Check | Question |
|---|---|
| ✅ Language detected? | What language(s) is the project? |
| ✅ Tools available? | Are the lint tools installed? |
| ✅ Config exists? | Does the project have lint config? |
| ✅ Dependencies installed? | Did you run npm install / pip install / go mod download? |
Tip: If tools aren't installed, offer to install them or configure them.