Loading...
Loading...
Finds exact spoken quotes and clip-ready moments on podcasts and YouTube: verbatim words, speaker, date, a timestamped link, clip start and end. Uses arcmira.
npx skill4agent add arcmira/mcp find-quotessearchtranscriptstartendarcmira_execute_readarcmira_describeid_requiredcontextbestsuggestedsuggestedsuggested.evidenceaskask.options{ type: "person" }speakerIdsaboutchannelIdscontextqueryaboutarcmira_execute_readCONTEXTaskIDarcmira.daysAgo(n)arcmira.today()const NAME = "Chamath", CONTEXT = undefined, ID = null; // CONTEXT: the user's own words about the name, never a guess. After an ask, set ID to the picked option's id and run again
const r = ID ? null : await arcmira.resolve(NAME, { type: "person", context: CONTEXT });
const e = r && (r.best ?? r.suggested);
if (r && !e) return { ask: r.ask };
const id = ID ?? e.id;
const assumed = Boolean(r?.suggested), why = r?.suggested?.evidence ?? null;
const hits = await arcmira.search({ query: "Anthropic IPO", speakerIds: [id], limit: 5 });
const moments = [];
for (const c of hits.chunks.slice(0, 2)) {
const moment = { episode: c.video_title, show: c.channel_name, date: c.published_at, url: c.watch_url, speakers: c.speakers_by.map(s => s.name) };
try {
const t = await arcmira.transcript(c.video_id, { start: Math.max(0, c.start_seconds - 10), end: c.start_seconds + 50 });
moment.clip = { start: t.lines[0]?.start ?? c.start_seconds, end: t.lines.at(-1)?.end ?? c.start_seconds + 60 };
moment.lines = t.lines.map(l => `[${Math.round(l.start)}s] ${l.text}`);
} catch (err) {
moment.clip = { start: c.start_seconds, end: c.start_seconds + 60 };
moment.passage = c.text;
moment.transcript = err.code;
}
moments.push(moment);
}
return { speaker: { id, name: e?.name ?? null, assumed, why }, as_of: hits.as_of, ...(moments.length ? { moments } : { none: hits.note ?? null }) };watch_urlas_ofsearchqueryspeakerIdsquality: "premium"speakers[]startendtranscript_unavailabletranscript_fetchingtextcompany-watch