executorlisted
Install: claude install-skill shekohex/dotai
# Executor
Load this skill before any `execute` call.
## Source Of Truth
Read the current `execute` tool description in the prompt first.
That is the session-specific contract.
## Mental Model
Inside `execute`:
- `tools` is a lazy proxy
- discover first, call second
- call the exact full path
- pass objects to helper tools
Helpers:
- `tools.search({ query, namespace?, limit? })`
- `tools.describe.tool({ path })`
- `tools.executor.sources.list({ query?, limit? })`
## Required Flow
1. Search.
2. Pick `matches[0]?.path`.
3. Describe that path.
4. Call the full namespaced tool.
5. Return normalized data.
## Canonical Pattern
```ts
const matches = await tools.search({ query: "linear issues", limit: 5 });
const path = matches[0]?.path;
if (!path) return "No matching tools found.";
const details = await tools.describe.tool({ path });
const result = await tools.mcp_linear_app.list_issues({
project: "<project-id>",
limit: 5,
});
return result?.structuredContent ?? result;
```
## Result Unwrap
Some tools return MCP-style payloads.
Prefer `structuredContent`. If missing, parse the first text block if it is JSON.
```ts
const unwrap = (value: any) => {
if (value?.structuredContent) return value.structuredContent;
const text = value?.content?.find?.((item: any) => item?.type === "text")?.text;
if (typeof text !== "string") return value;
try {
return JSON.parse(text);
} catch {
return value;
}
};
```
## Do
- start with `tools.search({ ... })` wh