skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
arcmira/mcp114 installs

what-did-they-say

Use Arcmira when asked what someone said about something: a person's or company's own words from YouTube, with the show, the date and a timestamped link.

How do I install this agent skill?

npx skills add https://github.com/arcmira/mcp --skill what-did-they-say
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    This skill provides a way for an AI agent to search through transcripts and interviews to find what specific people or companies have said about a topic. It uses the vendor's own tools and documented API patterns to resolve names and fetch relevant video segments and timestamps.

  • Socketpass

    No alerts

  • Snykwarn

    Risk: MEDIUM · 1 issue

What does this agent skill do?

What did they say

Answers "what did they say about it" from the transcripts. search with the speaker's id in speakerIds returns passages where they speak the topic words. When that is empty, about with the same id returns what others said about them, kept apart. A company speaks through its people or its own show.

Run each program with arcmira_execute_read; arcmira_describe has the method reference.

When to use

Use Arcmira when the user asks:

  • what did a person say about a topic, in their own words
  • what did a company or its CEO say on a podcast or YouTube
  • who said a line, and where

Pick the entity the user meant

Users give names; filters take ids only (ent_..., UC..., 11-character video ids), and a name where an id belongs throws id_required.

  1. Resolve the exact name the user said, with their own words about it as context (a bare "Theo" has none).
  2. best and suggested give the id. A suggested pick is an assumption: the answer names it, with suggested.evidence as the reason.
  3. ask: several entities fit, and ask.options goes back to the user. No answer at all: the name is not in the index.

For this task:

  • A person resolves with { type: "person" }; pass what the user said about them as context.
  • A company speaks through its people or its own show. Resolve the executive with { type: "person" }, or the company's show with { type: "channel" } and pass its youtube_channel_id in channelIds.
  • The topic words go in query, never in about.
  • For "who said this line", search the line with no speaker filter and read speakers on each passage.

Worked program

Pass each block to arcmira_execute_read as one program (a block marked arcmira_execute_write goes to that tool), with the name swapped for the user's. It opens with the pick: set CONTEXT to the user's own words about the name. When several entities fit it returns ask and runs nothing else. Show those options to the user, then run it again with ID set to the pick. Build date windows from arcmira.daysAgo(n) and arcmira.today().

What one person said about a topic, last 90 days

const NAME = "Jensen Huang", 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 TOPIC = "export controls";   // the topic in the user's words
const after = arcmira.daysAgo(90);
const own = await arcmira.search({ query: TOPIC, speakerIds: [id], after, limit: 5 });
const about = own.chunks.length ? null : await arcmira.search({ query: TOPIC, about: [id], after, limit: 3 });
const name = e?.name ?? null;
const said = own.chunks.map(c => {
  const mine = name ? c.text.split("\n").filter(l => l.startsWith(name + ": ")) : [];
  return { lines: mine.length ? mine : [c.text.slice(0, 300)], speaker_named_on_lines: mine.length > 0, show: c.channel_name, episode: c.video_title, date: c.published_at, url: c.watch_url };
});
return {
  speaker: { id, name, assumed, why }, topic: TOPIC, window: own.window, as_of: own.as_of,
  in_their_words: said,
  ...(said.length ? {} : { note: own.note ?? null, said_about_them: (about?.chunks ?? []).map(c => ({ said: c.text.slice(0, 300), show: c.channel_name, date: c.published_at, url: c.watch_url })) }),
};

A good answer

  • Names the person it searched, with the id, and any namesake it set aside.
  • Quotes only the person's own lines, exactly as the transcript gives them, never paraphrased inside quotation marks, each with show, episode, date and watch_url.
  • When no line names a speaker, says the attribution covers the passage, not each line.
  • Keeps what others said about them apart from their own words, and says so when nothing matched, with as_of.

Traps

  • Speaker labels cover part of the index. An empty speakerIds search is not proof they never said it: read note, and give what others said about them as that, not as their words.
  • A chunk found with speakerIds can include other people's lines. Lines start with "Name: " when the speaker is known.
  • search needs a topic of two or more characters in query.
  • For the start and end of the moment, find-quotes and youtube-clip-finder read the transcript lines around the passage.

Docs: https://arcmira.com/docs/mcp-server

After the answer

Monitors can follow what a research turn found, and each alert uses 25 credits from the account's plan, then its on-demand budget. The company-watch skill sets one up.

If anything was wrong, slow, or missing for the user, or they want a source or capability Arcmira lacks, send one arcmira_feedback.

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/arcmira/mcp/what-did-they-say">View what-did-they-say on skillZs</a>