razor
YAGNI enforcement at the harness level for real engineering work — nudges toward the simplest solution and gates against unnecessary dependencies, file sprawl, and unchecked build growth.
By Victor VillegasLicense: MIT4 GitHub starsUpdated last week
Directory evidence
- Runtimes
- Claude Code
- Parsed components
- 0 skill or MCP entries
- Source updated
- Sep 15, 2026
- Manifest status
- Canonical path parsed
The directory validates manifest shape and source location. It does not execute the plugin or provide a security endorsement. Review the indexing methodology →
Install razor for Claude Code
claude plugin marketplace add IchenDEV/agent-plugin-mkt
claude plugin marketplace update agent-plugin-marketplace
claude plugin install razor@agent-plugin-marketplacePaste and run these commands in a terminal with Claude Code. They add and refresh the PluginsMP catalog, then install this plugin.
The installer fetches third-party code from the source repository shown on this page. This directory validates manifest structure and source location, but does not perform a security audit; review the manifest, components, and source before installing.
Get the source manually
git clone https://github.com/V-Songbird/foundryClone the source repository, then follow its setup instructions to add the plugin to a compatible client. The plugin root is benchmarks/razor/experiments/dependency-comparison/arms/razor-noclause/.
Plugin files
└── .claude-plugin/plugin.json
Plugin manifests1
{
"name": "razor",
"description": "YAGNI enforcement at the harness level for real engineering work — nudges toward the simplest solution and gates against unnecessary dependencies, file sprawl, and unchecked build growth.",
"license": "MIT",
"author": {
"name": "Victor Villegas",
"email": "[email protected]"
},
"homepage": "https://github.com/V-Songbird/razor",
"repository": "https://github.com/V-Songbird/razor",
"keywords": [
"yagni",
"token-optimization",
"minimalism",
"over-engineering",
"hooks",
"subagents",
"dependency-guard",
"lazy"
],
"userConfig": {
"file_budget": {
"type": "number",
"title": "New-file budget per turn",
"description": "New files allowed in one turn before razor asks whether existing files already cover it. 0 disables the check.",
"default": 4,
"min": 0
},
"search_budget": {
"type": "number",
"title": "Post-edit search budget",
"description": "Extra searches allowed after the code is written before razor asks whether the question is already answered. 0 disables the check.",
"default": 1,
"min": 0
},
"dep_guard": {
"type": "boolean",
"title": "Dependency guard (installs)",
"description": "One forced reconsideration before a command installs a new dependency.",
"default": true
},
"import_guard": {
"type": "boolean",
"title": "Dependency guard (imports)",
"description": "One forced reconsideration before code imports a package that isn't in the project manifest.",
"default": true
},
"manifest_guard": {
"type": "boolean",
"title": "Dependency guard (manifest edits)",
"description": "One forced reconsideration before an edit adds a new package to package.json or requirements.txt directly.",
"default": true
},
"ledger": {
"type": "boolean",
"title": "End-of-session build check",
"description": "One \"is all of this needed?\" question when a session adds a lot of code with almost no deletions.",
"default": true
}
}
}For maintainers
If you maintain this plugin, link to this source-backed listing from your README so users can review its manifest and indexed components.
[razor on Agent Plugins Marketplace](https://pluginsmp.com/plugins/razor)