Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/fabioc-aloha/Alex_Skill_Mallnpx agentmods add skills/fabioc-aloha/alex_skill_mall/test-rename-driftWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/fabioc-aloha/alex_skill_mall/test-rename-drift)<a href="https://agentmods.dev/skills/fabioc-aloha/alex_skill_mall/test-rename-drift"><img src="https://agentmods.dev/badge/skills/fabioc-aloha/alex_skill_mall/test-rename-drift/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/fabioc-aloha/alex_skill_mall/test-rename-drift"><img src="https://agentmods.dev/badge/skills/fabioc-aloha/alex_skill_mall/test-rename-drift.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00023 | $0.00600 |
| Opus 5 | $0.00012 | $0.00300 |
| Sonnet 5 | $0.00005 | $0.00120 |
| Haiku 4.5 | $0.00002 | $0.00060 |
Grade A, and why
test-rename-drift scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
const { execSync } = require('child_process'); How it starts
The opening of the file, as written. The whole thing — 92 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Test Rename Drift
The Problem
When renaming a function, test files have references that survive find-and-replace:
// Old function: calculateTotal()
// New function: computeTotal()
// Find-and-replace catches: calculateTotal(
// But misses:
describe('calculateTotal', () => { // Describe block
// tests for calculateTotal // Comment
it('calculateTotal returns sum', () => { // It block text
The Solution
Grep for BOTH the old AND new name after renaming.
# After renaming calculateTotal → computeTotal
# Find remaining old references
grep -rn "calculateTotal" . --include="*.test.*" --include="*.spec.*"
# Verify new references exist
grep -rn "computeTotal" . --include="*.test.*" --include="*.spec.*"
Checklist
| Location | Find Pattern | Replace? |
|---|---|---|
| Function calls | oldName( |
✅ Auto |
| Import statements | import { oldName } |
✅ Auto |
| Describe blocks | describe('oldName' |
❌ Manual |
| It block text | it('oldName should' |
❌ Manual |
| Comments | // oldName does X |
❌ Manual |
| Variable names | const oldNameResult |
Depends |
| Mock names | jest.mock('oldName') |
❌ Manual |
| Snapshot files | Contains "oldName" | ❌ Manual |
Automated Check
// scripts/check-rename-drift.cjs
const oldName = process.argv[2];
const newName = process.argv[3];
const { execSync } = require('child_process');
const oldRefs = execSync(
`grep -rn "${oldName}" . --include="*.test.*" --include="*.spec.*" || true`,
{ encoding: 'utf8' }
);
if (oldRefs.trim()) {
console.error(`Found ${oldRefs.split('\n').length - 1} remaining references to "${oldName}":`);
console.error(oldRefs);
process.exit(1);
}
console.log(`No remaining references to "${oldName}" in test files.`);
Verification
# Run after any rename
node scripts/check-rename-drift.cjs oldFunctionName newFunctionName
# Should report: "No remaining references"
When to Apply
- After any function/class/method rename
- Before committing renamed code
- During code review of renames
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 92 lines · 23 tokens per session scan A 049b5be74e52
test-rename-drift is a skill published in the GitHub repository fabioc-aloha/Alex_Skill_Mall (4 stars, last pushed yesterday), licensed MIT. It adds 23 tokens to every session and 600 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
apply-change-leadership
Use when a manager's team is experiencing a significant organizational change — restructuring, strategy shift, leadership change, layoffs, or major process transition — and needs leadership that maintains team stability, preserves trust, and converts uncertainty into direction.
apply-cross-functional-leadership
Use when a manager needs to lead a project or initiative that depends on team members or stakeholders they do not formally manage — to build voluntary cooperation, alignment, and momentum across organizational boundaries through influence rather than authority.
apply-grow-coaching
Use when a manager wants to help a direct report solve a problem, develop a skill, or reach a goal through structured questioning rather than advice-giving — because telling people answers builds dependency while coaching builds self-sufficiency.
apply-upward-influence
Use when a manager needs to build an effective working relationship with their own manager, secure resources or decisions for their team, or influence organizational priorities without formal authority over the outcome.
build-psychological-safety
Use when a team leader wants to assess and improve the degree to which team members feel safe to speak up, admit mistakes, ask questions, and disagree — because psychological safety is the strongest predictor of team learning and high performance.
run-performance-improvement-plan
Use when a direct report has a documented pattern of performance falling below role expectations — after informal feedback has not produced sustained change — to create a structured, time-bound plan with clear success criteria before making a continuation decision.