dsh-search-first
IdentifiedAdds a system-prompt rule that makes DSH agents look for existing work before they build.
dsh-search-first
Look before you build.
An agent with a task in hand tends to start building immediately — and then re-implements something that already exists, badly. This bundle makes searching for prior art the first step instead of an afterthought.
What it does
Two halves, both optional:
- A system-prompt rule. Adds one section to the assembled system prompt telling the agent to search for an existing implementation, package or documented approach before it writes, edits, runs or installs anything, and to reuse what it finds. This alone changes behaviour: the rule is read on every assembly.
- An optional hard guard. With
strict: true, the first hands-on call in a turn (write,edit,ops_bash,plugin_manager,present, …) is refused until a search tool has actually run in that same turn. The refusal carries the reason and the retry instruction, so the agent corrects itself on the next step instead of dead-ending.
The rule is always on; the guard is off by default, because a one-line typo fix should not require a web search.
Install
dsh plugin add dsh-search-first
or install the bundle from the plugin market.
Config
Every key is optional and can be set on the bundle row:
- insert:
- id: search-first
name: 'dsh-search-first'
config:
enabled: true # false removes both the rule and the guard
order: 130 # position among system-prompt sections
strict: false # true = deny hands-on tools until a search ran
rule: | # replaces the default rule text
...
searchTools: [web_search, memory_search] # what counts as a search
guardedTools: [write, edit, ops_bash] # what the guard holds back
allowTools: [ops_bash] # guard exceptions
searchTools and guardedTools accept exact names or prefixes: an entry
ops_bash also matches ops_bash_async.
Behaviour notes
- The guard is per turn, per session. Once a search tool runs, every guarded tool is allowed for the rest of that turn.
- The guard never blocks search tools themselves, and never blocks tools in
allowTools. - Subagents inherit the rule through the system prompt but keep their own turn state.
- The rule section is registered once; if the
systemPromptservice mounts late, registration retries for up to 20 seconds.
Why
Rebuilding a solved problem is the expensive path. Finding the mature solution first is the cheap one — in tokens, in time, and in bugs.
License
MIT
Comments
Loading…
Similar plugins
by TCY07
Keeps an agent working continuously over long stretches: set a deadline, and if it finishes the task early, Dont-Stop automatically nudges it to keep iterating and take on the next step on its own.
★ 1
MIT
JavaScript
Nov 2, 2026
dsh plugin --profile web add dsh-dont-stopby IHS470
DSH plugin: one user-owned rule list, injected into every request system prompt, so the agent has to walk the rules before answering.
★ 0
MIT
JavaScript
Oct 3, 2026
dsh plugin --profile web add dsh-global-rulesDIY workflow builder for DSH - compose multi-step prompt workflows with self-check gating, engine-enforced jump rules, agent-driven execution and a live run panel.
★ 0
dsh plugin --profile web add dsh-flowforgeby changlianxiya-139
Appends ambiguity-handling rules to the dsh system prompt so the agent asks clarifying options before guessing.
★ 1
MIT
JavaScript
Aug 17, 2026
dsh plugin --profile web add dsh-ambiguity-handlingby sxwer001
DSH native collaboration: main-agent architecture and validated plans, parallel workers, verification and independent review.
★ 1
MIT
JavaScript
Oct 13, 2026
dsh plugin --profile web add dsh-collab-devby lion231226
Verified-progress ledger for long-running DSH work: an independent verifier certifies each claimed step, and a fingerprint check voids any verdict whose verifier mutated the workspace.
★ 0
MIT
JavaScript
Oct 18, 2026
dsh plugin --profile web add dsh-verified-progress