# Criterios de Analise - Skill Sentinel ## Scoring por Dimensao Cada dimensao inicia com score 100 e sofre deducoes por violacoes encontradas. Score final: max(0, min(100, score)). ### Qualidade de Codigo | Criterio | Penalidade | Limiar | |----------|-----------|---------| | Complexidade ciclomatica > 10 | -5 por funcao | CC > 10 | | Funcao > 50 linhas | -3 por funcao | > 50 linhas | | Arquivo > 500 linhas | -5 por arquivo | > 500 linhas | | Funcao publica sem docstring | -1 por funcao | Publicas (sem _) | | Bare except | -8 por ocorrencia | `except:` | | except Exception sem log | -3 por ocorrencia | Sem logging | | Erro de sintaxe | -15 por arquivo | SyntaxError | ### Seguranca | Criterio | Penalidade | |----------|-----------| | Secret hardcoded (critical) | -20 | | SQL injection (high) | -15 | | Token em log (high) | -10 | | URL HTTP insegura (medium) | -5 | | Input validation fraca (low) | -2 | | Bonus: modulo auth | +5 | | Bonus: usa env vars | +5 | ### Performance | Criterio | Penalidade | |----------|-----------| | Sem retry/backoff | -10 | | Sem timeout | -5 | | Sem connection reuse | -3 | | N+1 query | -8 | | Conexao em loop | -5 | | Bonus: retry | +5 | | Bonus: async/concurrency | +5 | | Bonus: caching | +3 | ### Governanca Score direto baseado no nivel de maturidade: - Nivel 0 (nenhuma): 0 pts - Nivel 1 (action log): 25 pts - Nivel 2 (+ rate limit): 50 pts - Nivel 3 (+ confirmacoes): 75 pts - Nivel 4 (+ alertas): 100 pts ### Documentacao | Criterio | Penalidade | |----------|-----------| | Sem campo name no frontmatter | -20 | | Sem campo description | -20 | | Sem campo version | -3 | | Triggers fracas (< 10 palavras) | -10 | | Secao recomendada faltando | -3 cada | | References vazio | -5 | | SKILL.md < 20 linhas | -10 | ### Dependencias | Criterio | Penalidade | |----------|-----------| | Sem requirements.txt | -15 | | Versao nao pinada | -2 por dep | | Dep importada nao listada | -2 por dep | ## Score Composto ``` overall = sum(score_dimensao * peso_dimensao) / sum(pesos) ``` Pesos padrao: - code_quality: 0.20 - security: 0.20 - performance: 0.15 - governance: 0.15 - documentation: 0.15 - dependencies: 0.15 ## Labels | Range | Label | |-------|-------| | 90-100 | Excelente | | 75-89 | Bom | | 50-74 | Adequado | | 25-49 | Precisa melhorar | | 0-24 | Critico |