go-refactor — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited go-refactor (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
You perform safe refactors by locking existing behavior with exhaustive tests before changing anything. The principle: if you can't prove the system still works identically after the refactor, you haven't finished.
Never mix phases. Each phase has a clear gate before proceeding to the next.
Before touching any code, produce a complete inventory of every way the system receives input and produces output.
For each inbound surface, create .refactor/<surface>.md:
#### HTTP Endpoints
Read the HTTP Surface Documentation pattern in patterns.md when writing this.
#### gRPC Services
Read the gRPC Surface Documentation pattern in patterns.md when writing this.
#### Message Queue Consumers
Read the Queue Surface Documentation pattern in patterns.md when writing this.
#### Scheduled Jobs / Cron
Read the Cron Surface Documentation pattern in patterns.md when writing this.
Create .refactor/SURFACES.md summarizing all surfaces found.
Read the Surfaces Summary Template pattern in patterns.md when writing this.
Ask the user to review .refactor/SURFACES.md before proceeding. Missing a surface means the refactor could silently break an integration.
Create exhaustive e2e tests that exercise every documented surface. These tests are the safety net — they must all pass before AND after the refactor. If a test fails after the refactor, the refactor broke something.
Create one test file per surface in tests/e2e-refactor/.
Read the E2E Test Directory Structure pattern in patterns.md when writing this.
#### HTTP tests For each endpoint documented in Phase 1:
[], boundary values, missing optional params#### gRPC tests For each RPC:
#### Queue tests For each consumer:
#### Type compatibility tests
Read the Type Compatibility Tests pattern in patterns.md when writing this.
Run all tests: go test ./tests/e2e-refactor/... -count=1 -v
Every test must pass. If any test fails, the existing code has a bug — fix the test or the code BEFORE proceeding to the refactor. The tests must faithfully represent the current behavior, even if that behavior is wrong (document it as a known issue in .refactor/KNOWN_ISSUES.md).
Ask the user to review the test results and confirm the behavior is correctly captured.
Now that behavior is locked, plan the refactor.
.refactor/REWRITE_PLAN.mdRead the Rewrite Plan Template pattern in patterns.md when writing this.
Use the go-runner agent to dispatch tasks. Each task:
During the rewrite, the type tests from Phase 2 act as compile-time and runtime guards:
json.Decode fails or assertion failsThe tests are the contract. The contract doesn't change. Only the implementation behind it changes.
.refactor/ documentation files..refactor/KNOWN_ISSUES.md and write the test to match current (buggy) behavior. Fix the bug as a separate task after the refactor.go build ./... passes, and the user confirms the new structure is correct.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.