Duplicate Scripts
This is the script proliferation pain point. It's that frustrating discovery that the 50-line utility script the AI just wrote for you is a near-perfect duplicate of one that already exists deep in the codebase. Because the AI's default behavior is to generate new code rather than discover and re-use existing code, it constantly "re-invents the wheel." This creates a maintenance nightmare where your repository is littered with multiple, slightly different versions of the same exact script.
By default, an AI agent lacks full-repository awareness. When a developer asks for a utility (e.g., "write a script to validate icon sizes"), the AI's path of least resistance is to generate a new script from scratch. It has no easy way to "search" the repository to see if a validate-icons.sh script already exists in a shared scripts folder. This lack of a "discover-then-use" workflow leads to a constant proliferation of duplicate tools and helper scripts, bypassing your team's established, shared tooling.
This is a silent killer for maintainability, acting as a "technical debt multiplier." The codebase becomes bloated with redundant, single-use scripts, increasing the maintenance overhead exponentially. When a bug is found in the original icon validation script, no one knows to fix the three other AI-generated duplicates that are now scattered across the repository. This creates massive inconsistency, as different parts of the application are now doing the same thing in slightly different, and possibly buggy, ways.
Multiple Icon Validation Scripts
The "Platform" team asks the AI for a script to find unused icons. The "Product" team asks for a script to check icon file sizes. The AI generates two separate scripts instead of discovering and adding a new feature to the one existing audit-icons.js script.
Redundant Utility Functions
The AI generates a brand new formatDate() function in a component file, unaware that the team has a battle-tested, localization-ready useDateFormatter utility in a shared utils/ folder.
Duplicate Linting or Formatting Tools
A developer, frustrated with a CI failure, asks the AI to "write a script to fix my linting." The AI creates a new script, fix-lint.sh, that runs eslint --fix, not knowing the team already has a package.json script (npm run lint:fix) that does the exact same thing but with more specific configurations.
The Forked Build Script
An AI generates a "quick script to build the service," not knowing a central build.sh script already exists. The new, AI-generated script works, but it misses two critical environment-flag steps, causing it to fail in the CI pipeline.
The problem isn't the AI; it's the lack of a human-in-the-loop verification and governance system. These workflows are the perfect antidote.
Prevent Duplicate Tooling
View workflow →The Pain Point It Solves
This workflow directly attacks the script proliferation problem by requiring developers to search the codebase before creating any new script or tool. Instead of allowing AI to generate new code from scratch, this workflow enforces a "find-then-use" approach that prevents duplicate tooling.
Why It Works
It enforces tool discovery. By requiring developers to search the codebase (grep -r "function.*check|function.*validate|function.*audit" scripts/ lib/) before creating any new script, checking for similar functionality in existing scripts, and reviewing ADRs for existing patterns, this workflow ensures that AI cannot constantly "re-invent the wheel." If an existing tool is found, use it. If it needs enhancement, extend it rather than creating a duplicate. This prevents the maintenance nightmare of multiple, slightly different versions of the same utility.
Prevent AI from Ignoring Existing Tools
View workflow →The Pain Point It Solves
This workflow addresses the "lack of repository awareness" problem by requiring developers to search for existing validation scripts before making changes. Instead of allowing AI to create duplicate tools, this workflow ensures that existing tools are discovered and used.
Why It Works
Want to prevent this pain point?
Explore our workflows and guardrails to learn how teams address this issue.
Engineering Leader & AI Guardrails Leader. Creator of Engify.ai, helping teams operationalize AI through structured workflows and guardrails based on real production incidents.