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 through bracket access
- pass objects to helper tools
Helpers:
- `tools.search({ query, namespace?, limit? })`
- `tools.describe.tool({ path })`
- `tools[path](args)` where `path` is exact path from search/describe
## 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 { items } = await tools.search({ query: "linear issues", limit: 5 });
const path = items[0]?.path;
if (!path) return "No matching tools found.";
const details = await tools.describe.tool({ path });
const result = await tools[path]({
project: "<project-id>",
limit: 5,
});
if (!result.ok) return { error: result.error };
return result.data?.structuredContent ?? result.data;
```
## 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