Skip to content

How Foreloop’s scores are calculated

The full audit trail, recomputed from the verdict data at build time through the same code that produced the leaderboard: verdict × quality × story weight per cell, cells sum to dimension scores, dimensions blend into the PA Score. Every number on the product page is reproducible from this page alone; for why the formula looks like this, see the methodology.

verdict factors: full ×1.0 · partial ×0.6 · disputed ×0.3 · none ×0.0 · n/a excluded from both sides · cell points = weight × quality × factor · cell max = weight × 10

PA Score19/100

Agent-ready 39.0 × 0.30 = 11.70

API quality 6.0 × 0.20 = 1.20

Openness 7.2 × 0.20 = 1.44

Built-in AI 20.0 × 0.15 = 3.00

Automation 7.5 × 0.15 = 1.13

(11.70 + 1.20 + 1.44 + 3.00 + 1.13) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 18.46 ÷ 1.00 = 18.5

Scores are stored to 1 decimal; the product page’s pills round to whole numbers for display. Each dimension below shows the stories, verdicts, and cited evidence behind its number.

Agent-ready39.0/100×0.30 of the PA blend

Outside-in: can YOUR agent reach and drive this product — API, MCP, CLI, headless runs, agent docs.

Point an agent at llms.txt or agent-oriented docsweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Run the product headlessly / in CI for automationweight 2

2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max

  • [claimed-docs] https://foreloop.com/install`--json` works on any command and has a stable shape. Additive changes only.
  • [claimed-docs] https://foreloop.com/installProjects, loops, intentions, stories and tasks from a terminal — and from anything that can run one, including coding agents and cron.
  • [claimed-docs] https://foreloop.com/install--json works on any command and has a stable shape. Additive changes only.
  • [claimed-docs] https://foreloop.com/docs/getting-work-doneNothing runs until a person approves a contract. Approval is the only gate, and the gate is deliberate: an agent is about to change your repository.
  • [probe] https://foreloop.com/installofficial CLI documented at https://foreloop.com/install

Plug MCP servers into this product so it can use their toolsweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

  • [claimed-docs] https://foreloop.com/docs/working-with-agentsForeloop speaks MCP at /api/app/public/v1/mcp over streamable HTTP. An MCP client needs that URL and an API key and nothing else
  • [claimed-docs] https://foreloop.com/docs/working-with-agentsForeloop speaks MCP at /api/app/public/v1/mcp over streamable HTTP. An MCP client needs that URL and an API key and nothing else.

Connect an agent via an official MCP serverweight 3

3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max

  • [claimed-docs] https://foreloop.com/docs/working-with-agentsForeloop speaks MCP at /api/app/public/v1/mcp over streamable HTTP. An MCP client needs that URL and an API key and nothing else
  • [claimed-docs] https://foreloop.com/docs/working-with-agentsForeloop speaks MCP at /api/app/public/v1/mcp over streamable HTTP. An MCP client needs that URL and an API key and nothing else.
  • [claimed-docs] https://foreloop.com/docs/working-with-agentsYou run an agent — Claude Code or Codex — in a checkout of your repository on your own machine. That agent asks Foreloop for approved tasks in that repository, claims one, does the work, and opens a pull request from your GitHub account.

Use an official CLIweight 2

2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max

  • [claimed-docs] https://foreloop.com/docsnpm i -g foreloop # installs globally, so the CLI works in any directory
  • [claimed-docs] https://foreloop.com/install`--json` works on any command and has a stable shape. Additive changes only.
  • [claimed-docs] https://foreloop.com/installProjects, loops, intentions, stories and tasks from a terminal — and from anything that can run one, including coding agents and cron.
  • [claimed-docs] https://foreloop.com/install--json works on any command and has a stable shape. Additive changes only.
  • [probe] https://foreloop.com/installofficial CLI documented at https://foreloop.com/install

Drive the product through a documented public APIweight 3

3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max

  • [claimed-docs] https://foreloop.com/docs/working-with-agentsForeloop speaks MCP at /api/app/public/v1/mcp over streamable HTTP. An MCP client needs that URL and an API key and nothing else
  • [claimed-docs] https://foreloop.com/docs/working-with-agentsForeloop speaks MCP at /api/app/public/v1/mcp over streamable HTTP. An MCP client needs that URL and an API key and nothing else.
  • [claimed-docs] https://foreloop.com/install`--json` works on any command and has a stable shape. Additive changes only.
  • [claimed-docs] https://foreloop.com/installProjects, loops, intentions, stories and tasks from a terminal — and from anything that can run one, including coding agents and cron.
  • [claimed-docs] https://foreloop.com/docs/working-with-agentsYou run an agent — Claude Code or Codex — in a checkout of your repository on your own machine. That agent asks Foreloop for approved tasks in that repository, claims one, does the work, and opens a pull request from your GitHub account.
  • [probe] https://foreloop.com/installofficial CLI documented at https://foreloop.com/install

Issue scoped/least-privilege API credentials for an agentweight 2

2 (weight) × 3 (quality) × 0.6 (partial) = 3.6 of 20 max

  • [claimed-docs] https://foreloop.com/installawait initForeloopFeedback({ apiKey: "flpk_YOUR_WRITE_ONLY_KEY", reporterName: signedInUser?.email, });
  • [claimed-docs] https://foreloop.com/docs/working-with-agentsForeloop speaks MCP at /api/app/public/v1/mcp over streamable HTTP. An MCP client needs that URL and an API key and nothing else.
  • [claimed-docs] https://foreloop.com/docs/working-with-agentsForeloop speaks MCP at /api/app/public/v1/mcp over streamable HTTP. An MCP client needs that URL and an API key and nothing else

Build against official SDKsweight 2

2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max

  • [claimed-docs] https://foreloop.com/docs/working-with-agentsForeloop speaks MCP at /api/app/public/v1/mcp over streamable HTTP. An MCP client needs that URL and an API key and nothing else
  • [claimed-docs] https://foreloop.com/installawait initForeloopFeedback({ apiKey: "flpk_YOUR_WRITE_ONLY_KEY", reporterName: signedInUser?.email, });
  • [claimed-docs] https://foreloop.com/docs/working-with-agentsForeloop speaks MCP at /api/app/public/v1/mcp over streamable HTTP. An MCP client needs that URL and an API key and nothing else.
  • [claimed-docs] https://foreloop.com/install`--json` works on any command and has a stable shape. Additive changes only.
  • [probe] https://foreloop.com/installofficial CLI documented at https://foreloop.com/install

Subscribe to events via webhooksweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Agent-ready = 82.0 ÷ 210 × 100 = 39.0

API quality6.0/100×0.20 of the PA blend

The programmable surface once an agent is there — machine-readable spec, interactive docs, sandbox, versioning discipline.

Explore an interactive API reference with runnable examplesweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Download a machine-readable API spec (OpenAPI or equivalent)weight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Test against a sandbox environment without touching production dataweight 1

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Rely on versioned APIs with a documented deprecation policyweight 2

2 (weight) × 3 (quality) × 0.6 (partial) = 3.6 of 20 max

  • [claimed-docs] https://foreloop.com/install`--json` works on any command and has a stable shape. Additive changes only.
  • [claimed-docs] https://foreloop.com/install--json works on any command and has a stable shape. Additive changes only.
  • [claimed-docs] https://foreloop.com/docs/working-with-agentsForeloop speaks MCP at /api/app/public/v1/mcp over streamable HTTP. An MCP client needs that URL and an API key and nothing else
  • [claimed-docs] https://foreloop.com/docs/working-with-agentsForeloop speaks MCP at /api/app/public/v1/mcp over streamable HTTP. An MCP client needs that URL and an API key and nothing else.

API quality = 3.6 ÷ 60 × 100 = 6.0

Openness7.2/100×0.20 of the PA blend

Can you leave, inspect, or self-host — data export, open source, portability.

Do everything through the API that I can do in the UIweight 2

2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max

  • [claimed-docs] https://foreloop.com/installProjects, loops, intentions, stories and tasks from a terminal — and from anything that can run one, including coding agents and cron.
  • [claimed-docs] https://foreloop.com/install`--json` works on any command and has a stable shape. Additive changes only.
  • [claimed-docs] https://foreloop.com/install--json works on any command and has a stable shape. Additive changes only.
  • [claimed-docs] https://foreloop.com/docs/working-with-agentsForeloop speaks MCP at /api/app/public/v1/mcp over streamable HTTP. An MCP client needs that URL and an API key and nothing else
  • [claimed-docs] https://foreloop.com/docs/working-with-agentsForeloop speaks MCP at /api/app/public/v1/mcp over streamable HTTP. An MCP client needs that URL and an API key and nothing else.
  • [probe] https://foreloop.com/installofficial CLI documented at https://foreloop.com/install

Export all of my data in open formats and leaveweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Read the product's source under an open licenseweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Self-host the core productweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Openness = 7.2 ÷ 100 × 100 = 7.2

Built-in AI20.0/100×0.15 of the PA blend

Inside-out: how agentic the product itself is for its users — built-in assistants, autonomous features.

Get AI-generated insights and suggestions from my data inside the productweight 2

2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max

  • [claimed-docs] https://foreloop.com/docs/collecting-user-feedbackAn intention starts from the report, and its agent reads the submission, fills in the intention, and proposes the tasks
  • [claimed-docs] https://foreloop.com/docs/getting-work-done"Users can't tell which invoices are overdue" is enough to start; you do not need to know which files change.
  • [claimed-docs] https://foreloop.comCustomers point at the element. The widget adds the page, its metadata, and an optional screenshot, so the model fixes the right thing.

Set up automations that run autonomously in the backgroundweight 2

2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max

  • [claimed-docs] https://foreloop.com/installProjects, loops, intentions, stories and tasks from a terminal — and from anything that can run one, including coding agents and cron.
  • [claimed-docs] https://foreloop.com/docs/getting-work-doneNothing runs until a person approves a contract. Approval is the only gate, and the gate is deliberate: an agent is about to change your repository.
  • [claimed-docs] https://foreloop.com/docs/working-with-agentsYou run an agent — Claude Code or Codex — in a checkout of your repository on your own machine. That agent asks Foreloop for approved tasks in that repository, claims one, does the work, and opens a pull request from your GitHub account.
  • [claimed-docs] https://foreloop.comApprove the big calls from your phone.

Delegate tasks to a built-in AI assistant inside the productweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

  • [claimed-docs] https://foreloop.com/docs/working-with-agentsYou run an agent — Claude Code or Codex — in a checkout of your repository on your own machine. That agent asks Foreloop for approved tasks in that repository, claims one, does the work, and opens a pull request from your GitHub account.
  • [claimed-docs] https://foreloop.com/docs/working-with-agentsForeloop speaks MCP at /api/app/public/v1/mcp over streamable HTTP. An MCP client needs that URL and an API key and nothing else
  • [claimed-docs] https://foreloop.com/docs/working-with-agentsForeloop speaks MCP at /api/app/public/v1/mcp over streamable HTTP. An MCP client needs that URL and an API key and nothing else.

Operate the product with natural-language commandsweight 2

2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max

  • [claimed-docs] https://foreloop.com/docs/getting-work-done"Users can't tell which invoices are overdue" is enough to start; you do not need to know which files change.
  • [claimed-docs] https://foreloop.com/docs/collecting-user-feedbackAn intention starts from the report, and its agent reads the submission, fills in the intention, and proposes the tasks
  • [claimed-docs] https://foreloop.com/installProjects, loops, intentions, stories and tasks from a terminal — and from anything that can run one, including coding agents and cron.

Built-in AI = 18.0 ÷ 90 × 100 = 20.0

Automation7.5/100×0.15 of the PA blend

Depth of automation primitives — rules, scheduling, bulk operations, webhooks.

Perform bulk operations across many items at onceweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://foreloop.com/docs/working-with-agentsYou run an agent — Claude Code or Codex — in a checkout of your repository on your own machine. That agent asks Foreloop for approved tasks in that repository, claims one, does the work, and opens a pull request from your GitHub account.
  • [claimed-docs] https://foreloop.com/docs/working-with-agentsDevelopment, under Agents, lists one row per worker: which agent it is running as, the name that checkout gave itself, the task it holds, and the last thing it said.
  • [claimed-docs] https://foreloop.com/install`--json` works on any command and has a stable shape. Additive changes only.
  • [claimed-docs] https://foreloop.com/installProjects, loops, intentions, stories and tasks from a terminal — and from anything that can run one, including coding agents and cron.

Define rules that trigger actions automatically on eventsweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

  • [claimed-docs] https://foreloop.com/docs/getting-work-doneNothing runs until a person approves a contract. Approval is the only gate, and the gate is deliberate: an agent is about to change your repository.
  • [claimed-docs] https://foreloop.com/installProjects, loops, intentions, stories and tasks from a terminal — and from anything that can run one, including coding agents and cron.

Schedule recurring jobs or workflowsweight 2

2 (weight) × 3 (quality) × 0.6 (partial) = 3.6 of 20 max

  • [claimed-docs] https://foreloop.com/installProjects, loops, intentions, stories and tasks from a terminal — and from anything that can run one, including coding agents and cron.

Version, review, and roll back my automationsweight 1

1 (weight) × 4 (quality) × 0.6 (partial) = 2.4 of 10 max

  • [claimed-docs] https://foreloop.com/docs/getting-work-doneNothing runs until a person approves a contract. Approval is the only gate, and the gate is deliberate: an agent is about to change your repository.
  • [claimed-docs] https://foreloop.com/docs/working-with-agentsYou run an agent — Claude Code or Codex — in a checkout of your repository on your own machine. That agent asks Foreloop for approved tasks in that repository, claims one, does the work, and opens a pull request from your GitHub account.
  • [claimed-docs] https://foreloop.com/docsConnecting GitHub is how Foreloop reads your code, and how an agent opens a pull request against it.
  • [claimed-docs] https://foreloop.com/docs/working-with-agentsDevelopment, under Agents, lists one row per worker: which agent it is running as, the name that checkout gave itself, the task it holds, and the last thing it said.

Automation = 6.0 ÷ 80 × 100 = 7.5