lsp-refactoring — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited lsp-refactoring (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.
Refactoring workflow that combines language server capabilities with code search and test-driven verification for safe, precise code transformations.
# Find all usages of a function
grep -rn "getUserData" src/ --include="*.ts"
# Find pattern across codebase with AST-aware tools (if available)
# e.g., ast-grep, semgrep, or comby
ast-grep --pattern 'console.log($MSG)' --lang typescriptFor renames (use IDE/editor capabilities when available):
# Using sed for simple renames
find src/ -name "*.ts" -exec sed -i '' 's/getUserData/fetchUserProfile/g' {} +
# Or use language-specific tools
# TypeScript: ts-morph, jscodeshift
# Python: rope, bowler
# Go: gorenameFor pattern-based transformations:
# Using ast-grep (if installed)
ast-grep --pattern 'console.log($MSG)' --rewrite 'logger.info($MSG)' --lang typescript
# Using comby
comby 'console.log(:[msg])' 'logger.info(:[msg])' .tsFor structural changes (extract/move):
npx tsc --noEmit # TypeScript
mypy src/ # Python
go vet ./... # Gogit diff to review the complete changes for unintended modificationsIf any check fails:
git checkout -- .| Language | Rename Tool | Pattern Search | Type Check |
|---|---|---|---|
| TypeScript | ts-morph, jscodeshift | ast-grep, semgrep | tsc --noEmit |
| Python | rope, bowler | ast-grep, semgrep | mypy, pyright |
| Go | gorename, gopls | ast-grep, semgrep | go vet |
| Java | IntelliJ refactor, openrewrite | semgrep | javac |
| Rust | rust-analyzer | ast-grep | cargo check |
User: "Rename getUserData to fetchUserProfile across the project"
Output:
grep -rn finds 23 usages across 8 filestsc --noEmit passes with no errorsnpm test — 47 tests passgit diff shows clean, focused changesInspired by: oh-my-opencode /refactor command
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.