CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/gosec-go

Configures and runs gosec - Go-only SAST covering 40+ rule IDs (G101 hardcoded creds, G104 unhandled errors, G304 path traversal, G401 weak crypto, G601 memory aliasing) via Go AST + SSA taint tracking; `gosec ./...` scan, `#nosec G404 -- justification` suppression, `--fmt sarif|json|junit-xml|html`, golangci-lint integration. Use for a focused Go SAST wired into golangci-lint / CI. Go-only: for Python use bandit-python, for cross-language pattern SAST use semgrep-rules; to merge gosec findings with other scanners into one gate use multi-tool-finding-triage - not this for non-Go code.

75

Quality

94%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Overview
Quality
Evals
Security
Files

Quality

Content

85%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is highly actionable with executable commands, YAML configs, and a well-sequenced workflow including a verify-and-rerun loop, and it correctly offloads the rule catalog to a real reference file. Its main weakness is mild verbosity and repetition between the summary and the per-step sections.

Suggestions

Collapse the redundancy between the 'How to use' summary and the Step sections — keep the summary as a brief index and let each Step section own its commands, or vice versa, to avoid repeating 'gosec ./...' and the same flags twice.

Trim the conceptual taint-analysis explanation in the Overview (Claude already knows what taint tracking and AST/SSA are); keep only the gosec-specific distinction that matters for choosing this skill.

Consolidate the duplicate suppression examples: the Step 5 table, the mandatory template block, and the worked example all show '// #nosec' lines — keep one canonical template and cross-reference it.

DimensionReasoningScore

Conciseness

Mostly efficient concrete commands, but there is redundancy — 'gosec ./...' and the per-step commands reappear in both the 'How to use' summary and the numbered Step sections — plus a short concept explanation of taint analysis ('tracks input flow through method chains, which catches injection patterns linters miss') that Claude already knows. It is not a 1 because the bulk is executable code rather than padded conceptual prose, but it could be tightened.

2 / 3

Actionability

Provides fully executable, copy-paste-ready guidance: 'go install github.com/securego/gosec/v2/cmd/gosec@latest', 'gosec -fmt sarif -out results.sarif ./...', a complete .golangci.yml, CI workflow YAML, and concrete '// #nosec G404 -- Reason: ...' suppression examples. This matches the 'fully executable code/commands; copy-paste ready' anchor.

3 / 3

Workflow Clarity

A numbered 'How to use' (1-7) maps each step to a dedicated Step section with a clear sequence, and the worked example closes with a verification loop ('Re-run gosec -fmt sarif -out gosec.sarif ./...; the SARIF now reports zero HIGH findings') plus a quarterly '#nosec' re-review checkpoint and an anti-patterns checklist. It is not the level-2 anchor because validation/re-run checkpoints are explicit rather than implicit.

3 / 3

Progressive Disclosure

SKILL.md is an overview that pushes the detailed rule table to a clearly signaled one-level-deep reference ('The full lookup table ... lives in references/rule-catalog.md'), and that bundle file is present. This matches the 'clear overview with well-signaled one-level-deep references; content appropriately split' anchor, not the level-2 case where content that should be separate is inline.

3 / 3

Total

11

/

12

Passed

Description

100%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is dense, specific, and well-scoped: it names concrete capabilities, gives an explicit 'Use for...' trigger, and actively disambiguates from sister skills. Voice is third person throughout, so no specificity penalty applies.

DimensionReasoningScore

Specificity

Lists multiple concrete actions and named rules: 'Configures and runs gosec', 'covering 40+ rule IDs (G101 hardcoded creds, G104 unhandled errors, G304 path traversal, G401 weak crypto, G601 memory aliasing) via Go AST + SSA taint tracking', plus 'gosec ./... scan', '#nosec G404 -- justification' suppression, '--fmt sarif|json|junit-xml|html', and 'golangci-lint integration'. This matches the 'lists multiple specific concrete actions' anchor, not the level below which only names the domain and some actions.

3 / 3

Completeness

Answers both what ('Configures and runs gosec... via Go AST + SSA taint tracking; scan, suppression, output formats, golangci-lint integration') and when with an explicit trigger ('Use for a focused Go SAST wired into golangci-lint / CI'). The explicit 'Use for...' clause means it is not capped at 2 per the rubric guideline.

3 / 3

Trigger Term Quality

Includes natural terms a developer needing this would say: 'Go SAST', 'gosec', 'golangci-lint / CI', 'security gates', and 'rule IDs'. It is not the level-2 anchor ('Works with PDF files'-style partial coverage) because it covers the tool name, the domain, and the integration target together.

3 / 3

Distinctiveness Conflict Risk

Explicitly carves a niche and disambiguates: 'Go-only: for Python use bandit-python, for cross-language pattern SAST use semgrep-rules; to merge gosec findings with other scanners into one gate use multi-tool-finding-triage - not this for non-Go code.' This clear, distinct-trigger disambiguation matches the 'clear niche with distinct triggers; unlikely to conflict' anchor rather than the 'somewhat specific but could still overlap' level below.

3 / 3

Total

12

/

12

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

Table of Contents