firegoat-ai/skills

comparing-competitors

Use when you need to benchmark a provider against its competitors on the same eval prompt, or write a defensible "you vs them" narrative.

Ver código-fonte

Como usar

  1. Copie o comando e verifique o pacote antes de instalar no seu ambiente de agente.
  2. Consulte no original as ferramentas, credenciais e ambientes necessários.
  3. Descreva os dados de entrada e a entrega esperada; confira a saída com as fontes.
npx skills add https://github.com/firegoat-ai/skills --skill comparing-competitors

Antes de começar

  • A instalação não inclui assinatura de modelo, franquia API ou acesso aos seus arquivos.
  • Estrelas e instalações indicam atividade, não um teste independente de qualidade ou segurança.
Documento original do Skill

Renderizado do repositório de origem, preservando títulos, exemplos, código, tabelas, links e imagens.

Comparing competitors

A prompt's competitor benchmark comes from sub-prompts, not from any URL list. get_prompt_benchmarks assembles the whole picture — every lane and its run history; get_report fills in the per-run detail for specific slugs.

Where competitor identity comes from

Competitors are sub-prompts: rows whose parentPromptId points at the parent prompt and whose targetProviderId names the competitor provider. Each sub-prompt runs the same task against a different provider. Do NOT derive competitors from a parent prompt's URL list or additionalUrls — sub-prompts are canonical. get_prompt_benchmarks already does this resolution for you.

Tools

  • get_prompt_benchmarks({ promptId }) — the primary tool. Returns:
  • prompt: { id, title, text, endGoal, orgDomain }
  • self: { provider, runCount, latest, history[] } | null — the "you" lane (the prompt's own provider).
  • competitors: [ { provider, runCount, latest, history[] } ] — one lane per competitor sub-prompt.
  • Each lane's latest/history[] item is { slug, timestamp, score, grade, status, metrics, runType }. provider is { id, slug, name, url }. This mirrors the prompt-detail page the user sees. The per-lane history[] (ordered oldest→newest) is your trajectory source — read it for "closing the gap" vs "falling behind", not just point-in-time.
  • get_report({ slug }) — pull the full per-run detail (metrics, legacy.frictionPoints, legacy.keyFinding, summary, recommendations) for a specific slug once you've picked runs to contrast (e.g. each provider's latest.slug from get_prompt_benchmarks). To compare two runs, fetch each slug and diff their metrics yourself. Note: score, grade, and dimensions are no longer part of the report output.
  • list_prompts() — to find the parent promptId (it lists top-level prompts only; competitor sub-prompts are intentionally excluded).
  • list_sub_prompts({ promptId }) — a lighter lookup when you only need the competitor lanes themselves (id, status, targetProvider: { id, slug, name, url }) and not their run history; prefer get_prompt_benchmarks once you're actually comparing runs.

Normalize before you compare

Runs are only comparable on the same prompt. Even then, a prompt can run on multiple harness·model combos over time, and metrics like time/cost shift with the harness. So:

  • Compare lanes within one get_prompt_benchmarks result (same task).
  • When contrasting specific runs, prefer runs on the same harness/model; if they differ, say so rather than treating a raw time delta as a clean win.
  • Lead with metric deltas (time, cost, errors, interruptions, tool calls) and the judged insights (legacy.keyFinding/recommendations via get_report). The report output no longer carries score/grade/dimensions, so build the comparison from metrics and insights, never from a grade.

Writing the narrative

  • Frame as movement, not static standings: "closed the gap from 30s to 12s", "moved from #3 to #1 on this flow" — grounded in history[].
  • Anchor claims to real runs: cite the competitor's and your own latest.slug, with the metric deltas and insights that back the claim.
  • The competitor set is the org's chosen comparison, not a neutral market view; default to wins and gap-closures, and flag losses as "worth investigating" with the specific delta.
  • Never invent a competitor that isn't a sub-prompt lane.

Relacionados por tarefa

do mesmo repositório

Mais Skills

Todos os Skills
firegoat-ai
Comunidade

firegoat-onboarding

Draft 2-3 firegoat evals (firegoat.yaml) for the current repo: tests a coding agent runs locally with npx firegoat eval, each with a prompt, an endgoal and script checks. Use when the user says "write firegoat evals", "draft evals", "set up firegoat", "firegoat init", or asks for local agent-experience (AX) evals of their SDK, CLI, API or docs.

Instalações / 1h
2
GitHub Stars
0
Atualizado
20 de out.
firegoat-ai
Comunidade

suggesting-eval-prompts

Use when helping author a new eval prompt or trigger an eval run, so the task actually measures the agent experience of a real end-goal.

Instalações / 1h
2
GitHub Stars
0
Atualizado
20 de out.
firegoat-ai
Comunidade

reading-browser-screenshots

Use when a session trace contains browser-agent screenshot turns, or when a run's friction happened in the browser (login, signup, OAuth, dashboard) rather than in the code agent's terminal.

Instalações / 1h
1
GitHub Stars
0
Atualizado
20 de out.
firegoat-ai
Comunidade

designing-agent-error-messages

Audit and rewrite error messages, exceptions, and API/SDK/CLI failure output so an AI agent (and a human) can self-correct without leaving the terminal. Use when designing or reviewing how a tool fails — error strings, HTTP error bodies, auth/credential errors, CLI errors, thrown exceptions — especially for libraries, APIs, and CLIs that AI agents consume. Grounded in patterns from 2027.dev's evals of 136 dev tools across 3,500+ agent runs.

Instalações / 1h
1
GitHub Stars
0
Atualizado
20 de out.