| name | skill-search |
| description | Dynamic skill discovery: search available skills by keyword instead of loading all skill definitions into the system prompt |
Skill Search
Search the installed skill registry by keyword and return a summarized list
of matching skills. This prevents context window bloat by loading skill
definitions on demand rather than dumping every skill into the system prompt.
When to Use
Invoke this skill whenever you need to find a specific capability but do not
already know which skill provides it. Use keyword-based search to narrow down
the right skill, then load only that skill's SKILL.md for the duration of
the task.
Do not load all skills at once. Use this skill to discover what you need,
then read the specific SKILL.md file into context.
Inputs
keyword: (Required) A search term or phrase describing the capability needed.
Examples: "test", "review", "lock", "build", "plan", "safety".
Output
A summarized table of matching skills with:
- Skill name (directory name)
- One-line description (from YAML frontmatter
description field)
- File path for on-demand loading
Script
Both PowerShell and Bash equivalents are provided for cross-platform
compatibility. Use whichever matches the runtime environment.
search (.ps1 / .sh)
Scans all SKILL.md files under .github/skills/ and returns matches
where the keyword appears in the skill name or its YAML frontmatter
description.
PowerShell: scripts/search.ps1 <keyword>
Bash: scripts/search.sh <keyword>
Output format:
SKILL DESCRIPTION PATH
----- ----------- ----
build-feature Execute a harness loop — iteratively run tests... .github/skills/build-feature/SKILL.md
harness-architect Scaffolds compilable but failing test harnesses... .github/skills/harness-architect/SKILL.md
Lazy Loading Protocol
Once you identify the right skill via search.ps1 / search.sh:
- Read the specific
SKILL.md file into context:
- PowerShell:
Get-Content .github/skills/{skill-name}/SKILL.md
- Bash:
cat .github/skills/{skill-name}/SKILL.md
- Follow the skill's instructions for the duration of the current task.
- Do not retain the skill content after the task completes — let it
leave the context window naturally.
This keeps the active context focused on the current task rather than
carrying every skill's instructions simultaneously.
Fallback
If search.ps1 / search.sh returns no results:
- Try broader or alternative keywords.
- List all available skills:
- PowerShell:
Get-ChildItem .github/skills/ -Directory | Select-Object Name
- Bash:
ls -d .github/skills/*/
- If the capability truly does not exist, report it to the operator rather
than improvising.
Installed Scripts Registry
All scripts installed by autoharness live in {workspace}/scripts/. This
table is the central reference for what exists and where it comes from.
| Script | Source Skill | Platform | Purpose |
|---|
acquire_lock.ps1 | file-lock | PowerShell | Acquire advisory file lock |
acquire_lock.sh | file-lock | Bash | Acquire advisory file lock |
release_lock.ps1 | file-lock | PowerShell | Release advisory file lock |
release_lock.sh | file-lock | Bash | Release advisory file lock |
search.ps1 | skill-search | PowerShell | Search skills by keyword |
search.sh | skill-search | Bash | Search skills by keyword |
Scripts are installed conditionally based on selected primitives (Primitive 5
for file-lock, Primitive 6 for skill-search). Not all scripts may be present
in every workspace.