An agent helping a local history archive receives a folder of exhibition notes and a request for an inventory of the images cited in them. It can read the files and produce a table. A specialist skill might help it extract references from scanned pages or check the links consistently. Deciding whether to look for one should be part of the work plan. The archive can give the agent permission to search a catalog while keeping installation, external requests and changes to the source folder under separate controls.
Give the agent a reason to search
Describe the deliverable and acceptance conditions before naming a skill. For the archive, ask for a table with one row per image citation, including its note filename, page, reference label, and verification status. Give the agent a few synthetic notes and one expected row. Require it to mark ambiguous references and retain the original wording. State which local files it may read and where it may write the result. The sample establishes what success looks like before a new capability enters the workflow.
At planning time have the agent check what it can already do. It can list files, parse ordinary text and build a table with existing tools. It should search when the gap affects the deliverable, such as when several notes contain only scanned pages and the available tools cannot extract their text reliably. Ask it to name the gap and search for that action, input and output together. A query for extracting image references from local scanned exhibition notes gives the catalog more to work with than a search for an archive assistant.
Write the search trigger into the project instructions or use an explicit invocation while setting up the workflow. For an automatic trigger, state the condition in language the host can evaluate. For example, search for a candidate when a required input format cannot be read, or when the current tool cannot produce a verifiable result. Record when the agent decides it already has enough capability. Compare this outcome with a prompt that directly invokes the finder. If explicit search works but automatic search does not, the catalog can respond and the problem is likely in the trigger, host configuration or task description.
Separate discovery, review and installation
A catalog lookup produces candidates. For each candidate, record the exact name, source repository and path, version or commit if available, and the part of the task it would handle. Inspect the package instructions and dependencies. Check what it reads, whether it creates or overwrites files, whether it sends input to a service, and what permissions its scripts need. A result that says it can read PDFs may only handle a text layer. Open the upstream instructions and check for an image-based input example before selecting it for scanned pages.
Try to compare two candidates on the same small input. One might extract text locally with a runtime the archive already has. Another might need a network service and an account. If the local option cannot produce page references, the agent can use it for a preliminary transcription and let the reviewer fill the missing locations. In either case, ask the agent to show the evidence behind its choice and keep a fallback for notes it cannot read. Downloads, reviews and popularity may help choose what to inspect first. A review with a specific host, input and output is more useful than a rating alone. Give fresh evidence from the synthetic sample more weight when it directly tests your requirements.
Choose the smallest installation scope the host supports. An archive workspace with its own approved skills makes it easier to reproduce the workflow and test an update. Record the source and pinned revision in the run notes. If a candidate needs a separate executable, runtime or external account, check those prerequisites independently. The finder helps locate packages. Whether the host loads a package and permits its tools depends on the host's setup and the current workspace.
Check portability with a small acceptance run
An instruction package may use a portable format while its dependencies or triggers differ across Claude Code, Codex and Cursor. Before relying on it in a second host, check that host's documented skill discovery locations, its invocation method and permission settings. Use the same pinned package and the same synthetic notes to compare runs. Keep a short matrix with one row per host and columns for discovery, explicit invocation, automatic invocation, required tools and output. A candidate can load successfully in all three hosts and still produce different results if a shell command, network permission or file path resolves differently.
For the archive pilot, use three fixtures. A plain text note cites an image clearly, a scanned page contains a reference that requires extraction, and a third note has an incomplete citation. Run first without a new skill. The agent should still produce a correct row from the plain text, flag the scanned page and preserve the incomplete citation for a human. Run again with the approved candidate and compare the extracted page and reference against a human-reviewed sample. Keep a source location for each new result and verify that the original folder remains intact. The improvement is measurable if the candidate resolves the scanned reference without turning the incomplete one into a guessed match.
Save the fixture, package revision, host, permissions and expected output with the result. To evaluate an upgrade, run the same fixtures at both revisions and compare the row values and any new permission prompts. If the upgrade changes where the output is written or begins calling an external service, resolve that change before replacing the pinned revision. Keep the earlier revision available so the archive can reproduce the last accepted run.
Diagnose the stage that failed
If the agent never searches, ask it to state which required operation it could not perform, then test a direct lookup for that operation. A vague description may lead it to believe the task is already complete. If the finder returns candidates but the chosen package never appears in the host, confirm the installed location and scope, and check whether the host needs to reload its registry. If the package appears but fails at execution, check the first dependency error and the working directory against the upstream prerequisites. Keep the original invocation and its error in the notes so another person can replay the failure.
If the agent keeps installing candidates for simple tasks, change the project rule to require a stated capability gap and an expected improvement before installation. Ask it to run a baseline first. If the agent keeps using a specialist after the task changes, add a stop condition, such as using the extraction skill only on scanned notes. If search returns no candidate that can meet the archive's requirements, complete the text portion and report the unreadable pages with their filenames and expected next action. The resulting inventory still gives the reviewer something to work from.
Common questions
Can discovery run without allowing every installation?
Yes. Give the agent read access to the approved catalog and have it return candidates, sources and prerequisites. Installation can stay subject to the host's existing permissions and the archive's review rules. For routine work, maintain a list of approved packages and revisions that the agent can reuse when the trigger matches.
Does a rating tell me whether a package works in my host?
It gives you a reason to examine the package and the conditions of the review. Check which host and revision the reviewer used and whether their inputs resemble yours. Then run a small acceptance sample using your own workspace and compare the actual artifact with the expected one.
What if I can invoke it manually but it never starts on its own?
Inspect the package description and the host's trigger rules. Add a concrete task example that makes the capability gap visible. Run the same prompt with and without an explicit invocation and record where the two paths diverge. Use direct invocation for repeatable work if automatic selection remains unpredictable.