How Jules’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 Score23/100
Agent-ready 28.9 × 0.30 = 8.67
API quality 4.3 × 0.20 = 0.86
Openness 6.0 × 0.20 = 1.20
Built-in AI 60.4 × 0.15 = 9.06
Automation 18.8 × 0.15 = 2.82
(8.67 + 0.86 + 1.20 + 9.06 + 2.82) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 22.61 ÷ 1.00 = 22.6
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-ready28.9/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
- [probe] https://jules.google/llms.txt“PROBE llms.txt: HTTP 404 at https://jules.google/llms.txt”
- [probe] https://jules.google/docs.md“PROBE docs-md: HTTP 404 at https://jules.google/docs.md”
- [probe] https://jules.google/openapi.json“PROBE openapi: all candidate paths 404 (https://jules.google/openapi.json, https://jules.google/swagger.json, https://jules.google/api/openapi.json, https://jules.google/.well-known/openapi.json)”
Run the product headlessly / in CI for automationweight 2
2 (weight) × 7 (quality) × 1.0 (full) = 14.0 of 20 max
- [claimed-docs] https://developers.google.com/jules/api“You can use the API to create custom workflows, automate tasks like bug fixing and code reviews, and embed Jules's intelligence directly into the tools you use every day”
- [claimed-docs] https://developers.google.com/jules/api“In the Jules web app, go to the Settings page to create a new API key. You can have at most 3 API keys at a time.”
- [claimed-docs] https://developers.google.com/jules/api“The `automationMode` field is optional. By default, no PR will be automatically created.”
- [claimed-docs] https://developers.google.com/jules/api“To send a message to the agent:”
- [community] https://news.ycombinator.com/item?id=45466588“Was able to build a personal MCP server that connects to the Jules API, letting me dispatch tasks to Jules, from Copilot Chat in VS Code.”
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
- [community] https://news.ycombinator.com/item?id=45466588“Was able to build a personal MCP server that connects to the Jules API, letting me dispatch tasks to Jules, from Copilot Chat in VS Code.”
Connect an agent via an official MCP serverweight 3
n/a — not applicable to this product: excluded from numerator and denominator
- [claimed-docs] https://developers.google.com/jules/api“You can use the API to create custom workflows, automate tasks like bug fixing and code reviews, and embed Jules's intelligence directly into the tools you use every day”
- [community] https://news.ycombinator.com/item?id=45466588“Was able to build a personal MCP server that connects to the Jules API, letting me dispatch tasks to Jules, from Copilot Chat in VS Code.”
Use an official CLIweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://developers.google.com/jules/api“You can use the API to create custom workflows, automate tasks like bug fixing and code reviews, and embed Jules's intelligence directly into the tools you use every day”
- [claimed-docs] https://developers.google.com/jules/api“In the Jules web app, go to the Settings page to create a new API key. You can have at most 3 API keys at a time.”
Drive the product through a documented public APIweight 3
3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max
- [claimed-docs] https://developers.google.com/jules/api“You can use the API to create custom workflows, automate tasks like bug fixing and code reviews, and embed Jules's intelligence directly into the tools you use every day”
- [claimed-docs] https://developers.google.com/jules/api“In the Jules web app, go to the Settings page to create a new API key. You can have at most 3 API keys at a time.”
- [claimed-docs] https://developers.google.com/jules/api“The `automationMode` field is optional. By default, no PR will be automatically created.”
- [claimed-docs] https://developers.google.com/jules/api“To send a message to the agent:”
- [community] https://news.ycombinator.com/item?id=45466588“Was able to build a personal MCP server that connects to the Jules API, letting me dispatch tasks to Jules, from Copilot Chat in VS Code.”
- [probe] https://jules.google/openapi.json“PROBE openapi: all candidate paths 404 (https://jules.google/openapi.json, https://jules.google/swagger.json, https://jules.google/api/openapi.json, https://jules.google/.well-known/openapi.json)”
Issue scoped/least-privilege API credentials for an agentweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://developers.google.com/jules/api“You can use the API to create custom workflows, automate tasks like bug fixing and code reviews, and embed Jules's intelligence directly into the tools you use every day”
- [claimed-docs] https://developers.google.com/jules/api“In the Jules web app, go to the Settings page to create a new API key. You can have at most 3 API keys at a time.”
- [claimed-docs] https://developers.google.com/jules/api“The `automationMode` field is optional. By default, no PR will be automatically created.”
Build against official SDKsweight 2
2 (weight) × 7 (quality) × 1.0 (full) = 14.0 of 20 max
- [claimed-docs] https://developers.google.com/jules/api“You can use the API to create custom workflows, automate tasks like bug fixing and code reviews, and embed Jules's intelligence directly into the tools you use every day”
- [claimed-docs] https://developers.google.com/jules/api“In the Jules web app, go to the Settings page to create a new API key. You can have at most 3 API keys at a time.”
- [claimed-docs] https://developers.google.com/jules/api“The `automationMode` field is optional. By default, no PR will be automatically created.”
- [claimed-docs] https://developers.google.com/jules/api“To send a message to the agent:”
- [community] https://news.ycombinator.com/item?id=45466588“Was able to build a personal MCP server that connects to the Jules API, letting me dispatch tasks to Jules, from Copilot Chat in VS Code.”
- [probe] https://jules.google/openapi.json“PROBE openapi: all candidate paths 404 (https://jules.google/openapi.json, https://jules.google/swagger.json, https://jules.google/api/openapi.json, https://jules.google/.well-known/openapi.json)”
Subscribe to events via webhooksweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://developers.google.com/jules/api“You can use the API to create custom workflows, automate tasks like bug fixing and code reviews, and embed Jules's intelligence directly into the tools you use every day”
- [claimed-docs] https://developers.google.com/jules/api“In the Jules web app, go to the Settings page to create a new API key. You can have at most 3 API keys at a time.”
- [claimed-docs] https://developers.google.com/jules/api“To send a message to the agent:”
- [claimed-docs] https://jules.google/docs“You’ll be notified when the task completes or needs your input.”
Agent-ready = 52.0 ÷ 180 × 100 = 28.9
API quality4.3/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
- [claimed-docs] https://developers.google.com/jules/api“You can use the API to create custom workflows, automate tasks like bug fixing and code reviews, and embed Jules's intelligence directly into the tools you use every day”
- [claimed-docs] https://developers.google.com/jules/api“In the Jules web app, go to the Settings page to create a new API key. You can have at most 3 API keys at a time.”
- [claimed-docs] https://developers.google.com/jules/api“To send a message to the agent:”
- [probe] https://jules.google/openapi.json“PROBE openapi: all candidate paths 404 (https://jules.google/openapi.json, https://jules.google/swagger.json, https://jules.google/api/openapi.json, https://jules.google/.well-known/openapi.json)”
Download a machine-readable API spec (OpenAPI or equivalent)weight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://developers.google.com/jules/api“You can use the API to create custom workflows, automate tasks like bug fixing and code reviews, and embed Jules's intelligence directly into the tools you use every day”
- [claimed-docs] https://developers.google.com/jules/api“In the Jules web app, go to the Settings page to create a new API key. You can have at most 3 API keys at a time.”
- [probe] https://jules.google/llms.txt“PROBE llms.txt: HTTP 404 at https://jules.google/llms.txt”
- [probe] https://jules.google/docs.md“PROBE docs-md: HTTP 404 at https://jules.google/docs.md”
- [probe] https://jules.google/openapi.json“PROBE openapi: all candidate paths 404 (https://jules.google/openapi.json, https://jules.google/swagger.json, https://jules.google/api/openapi.json, https://jules.google/.well-known/openapi.json)”
Test against a sandbox environment without touching production dataweight 1
1 (weight) × 5 (quality) × 0.6 (partial) = 3.0 of 10 max
- [claimed-docs] https://jules.google/docs“Jules runs in a virtual machine where it clones your code, installs dependencies, and modifies files.”
- [claimed-docs] https://jules.google/docs“Once you submit a task, Jules will generate a plan. You can review and approve it before any code changes are made.”
- [claimed-docs] https://jules.google“Jules provides a diff of the changes. Quickly browse and approve code edits.”
- [claimed-docs] https://jules.google“Jules creates a PR of the changes. Approve the PR, merge it to your branch, and publish it on GitHub.”
Rely on versioned APIs with a documented deprecation policyweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://developers.google.com/jules/api“You can use the API to create custom workflows, automate tasks like bug fixing and code reviews, and embed Jules's intelligence directly into the tools you use every day”
- [claimed-docs] https://developers.google.com/jules/api“In the Jules web app, go to the Settings page to create a new API key. You can have at most 3 API keys at a time.”
- [probe] https://jules.google/llms.txt“PROBE llms.txt: HTTP 404 at https://jules.google/llms.txt”
- [probe] https://jules.google/docs.md“PROBE docs-md: HTTP 404 at https://jules.google/docs.md”
- [probe] https://jules.google/openapi.json“PROBE openapi: all candidate paths 404 (https://jules.google/openapi.json, https://jules.google/swagger.json, https://jules.google/api/openapi.json, https://jules.google/.well-known/openapi.json)”
API quality = 3.0 ÷ 70 × 100 = 4.3
Openness6.0/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) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max
- [claimed-docs] https://developers.google.com/jules/api“You can use the API to create custom workflows, automate tasks like bug fixing and code reviews, and embed Jules's intelligence directly into the tools you use every day”
- [claimed-docs] https://developers.google.com/jules/api“In the Jules web app, go to the Settings page to create a new API key. You can have at most 3 API keys at a time.”
- [claimed-docs] https://developers.google.com/jules/api“The `automationMode` field is optional. By default, no PR will be automatically created.”
- [claimed-docs] https://developers.google.com/jules/api“To send a message to the agent:”
- [community] https://news.ycombinator.com/item?id=45466588“Was able to build a personal MCP server that connects to the Jules API, letting me dispatch tasks to Jules, from Copilot Chat in VS Code.”
- [probe] https://jules.google/openapi.json“PROBE openapi: all candidate paths 404 (https://jules.google/openapi.json, https://jules.google/swagger.json, https://jules.google/api/openapi.json, https://jules.google/.well-known/openapi.json)”
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
- [claimed-docs] https://jules.google/docs“Jules needs access to your repositories in order to work.”
- [claimed-docs] https://developers.google.com/jules/api“You can use the API to create custom workflows, automate tasks like bug fixing and code reviews, and embed Jules's intelligence directly into the tools you use every day”
- [probe] https://jules.google/llms.txt“PROBE llms.txt: HTTP 404 at https://jules.google/llms.txt”
- [probe] https://jules.google/docs.md“PROBE docs-md: HTTP 404 at https://jules.google/docs.md”
- [probe] https://jules.google/openapi.json“PROBE openapi: all candidate paths 404 (https://jules.google/openapi.json, https://jules.google/swagger.json, https://jules.google/api/openapi.json, https://jules.google/.well-known/openapi.json)”
Self-host the core productweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
- [claimed-docs] https://jules.google/docs“Jules runs in a virtual machine where it clones your code, installs dependencies, and modifies files.”
- [community] https://news.ycombinator.com/item?id=44034918“Jules runs in cloud-based VMs instead of on my local machine, making it much less useful than Claude Code. My projects have bespoke build scripts specific to my machine and environment.”
- [community] https://news.ycombinator.com/item?id=45466588“It's a shame Google picked the wrong system design for Jules. Claude Code's system design is clearly superior at this point.”
Openness = 6.0 ÷ 100 × 100 = 6.0
Built-in AI60.4/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) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max
- [claimed-docs] https://jules.google/docs“Once you submit a task, Jules will generate a plan. You can review and approve it before any code changes are made.”
- [claimed-docs] https://jules.google“Jules provides a diff of the changes. Quickly browse and approve code edits.”
- [claimed-docs] https://jules.google“Jules creates a PR of the changes. Approve the PR, merge it to your branch, and publish it on GitHub.”
- [community] https://news.ycombinator.com/item?id=44813854“its way better than the github thing in my experience it produces usable PRs”
- [community] https://news.ycombinator.com/item?id=44813854“I've tried using Jules for a side project, and the code quality it emits is much worse than GH Copilot, Gemini CLI, and Claude Code. It also had a tendency to get confused in a monorepo.”
Set up automations that run autonomously in the backgroundweight 2
2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max
- [claimed-docs] https://jules.google“Use the "jules" label in an issue to assign a task directly in GitHub.”
- [claimed-docs] https://developers.google.com/jules/api“You can use the API to create custom workflows, automate tasks like bug fixing and code reviews, and embed Jules's intelligence directly into the tools you use every day”
- [claimed-docs] https://developers.google.com/jules/api“The `automationMode` field is optional. By default, no PR will be automatically created.”
- [claimed-docs] https://jules.google/docs“Once you submit a task, Jules will generate a plan. You can review and approve it before any code changes are made.”
- [community] https://news.ycombinator.com/item?id=45466588“I've moved infrastructure to Railway and taught the customer to use Jules. They make their own PRs now, Railway spins up an environment with the changes. It works like 75% of the time. Huge time saver.”
- [community] https://news.ycombinator.com/item?id=44034918“Jules was unable to complete the task in time. Please review the work done so far and provide feedback for Jules to continue.”
- [community] https://news.ycombinator.com/item?id=44813854“Jules quickly after a few messages/prompts just gets stuck in an endless loop like Gemini-cli does. The worst part is that there is no 'STOP' button to quickly get it out of the loop.”
Delegate tasks to a built-in AI assistant inside the productweight 3
3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max
- [claimed-docs] https://jules.google“Use the "jules" label in an issue to assign a task directly in GitHub.”
- [claimed-docs] https://jules.google/docs“Jules runs in a virtual machine where it clones your code, installs dependencies, and modifies files.”
- [claimed-docs] https://jules.google/docs“Once you submit a task, Jules will generate a plan. You can review and approve it before any code changes are made.”
- [claimed-docs] https://jules.google“Jules provides a diff of the changes. Quickly browse and approve code edits.”
- [claimed-docs] https://jules.google“Jules creates a PR of the changes. Approve the PR, merge it to your branch, and publish it on GitHub.”
- [claimed-docs] https://developers.google.com/jules/api“You can use the API to create custom workflows, automate tasks like bug fixing and code reviews, and embed Jules's intelligence directly into the tools you use every day”
- [community] https://news.ycombinator.com/item?id=44034918“I used Jules three times today, very impressive! It also handles coding-adjacent work. Good github integrations.”
- [community] https://news.ycombinator.com/item?id=44813854“I've used this tool for a few months now and have been pretty impressed by it. It handles large quantities of tasks very well and is good at making tests for very specific/isolated functions.”
- [community] https://news.ycombinator.com/item?id=44813854“I gave Jules a try on a new, very unorganized Python project. It failed the first time, I gave it the error message and it fixed it. I was shocked it ran after that. Not bad for the free plan.”
- [community] https://news.ycombinator.com/item?id=45466588“I've moved infrastructure to Railway and taught the customer to use Jules. They make their own PRs now, Railway spins up an environment with the changes. It works like 75% of the time. Huge time saver.”
- [community] https://news.ycombinator.com/item?id=44813854“Jules quickly after a few messages/prompts just gets stuck in an endless loop like Gemini-cli does. The worst part is that there is no 'STOP' button to quickly get it out of the loop.”
- [community] https://news.ycombinator.com/item?id=45466588“Do people really find Jules useful? I find it needs babysitting much more than Cursor.”
Operate the product with natural-language commandsweight 2
2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max
- [claimed-docs] https://jules.google/docs“Once you submit a task, Jules will generate a plan. You can review and approve it before any code changes are made.”
- [claimed-docs] https://developers.google.com/jules/api“To send a message to the agent:”
- [community] https://news.ycombinator.com/item?id=44034918“I used Jules three times today, very impressive! It also handles coding-adjacent work. Good github integrations.”
- [community] https://news.ycombinator.com/item?id=44813854“I gave Jules a try on a new, very unorganized Python project. It failed the first time, I gave it the error message and it fixed it. I was shocked it ran after that. Not bad for the free plan.”
- [community] https://news.ycombinator.com/item?id=45466588“I've moved infrastructure to Railway and taught the customer to use Jules. They make their own PRs now, Railway spins up an environment with the changes. It works like 75% of the time. Huge time saver.”
Built-in AI = 54.4 ÷ 90 × 100 = 60.4
Automation18.8/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) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max
- [claimed-docs] https://developers.google.com/jules/api“You can use the API to create custom workflows, automate tasks like bug fixing and code reviews, and embed Jules's intelligence directly into the tools you use every day”
- [claimed-docs] https://developers.google.com/jules/api“To send a message to the agent:”
- [claimed-docs] https://jules.google/docs/usage-limits“Power users & agent-heavy workflows ... 300 ... 60”
- [community] https://news.ycombinator.com/item?id=44813854“I've used this tool for a few months now and have been pretty impressed by it. It handles large quantities of tasks very well and is good at making tests for very specific/isolated functions.”
- [community] https://news.ycombinator.com/item?id=45466588“Was able to build a personal MCP server that connects to the Jules API, letting me dispatch tasks to Jules, from Copilot Chat in VS Code.”
Define rules that trigger actions automatically on eventsweight 3
3 (weight) × 5 (quality) × 0.6 (partial) = 9.0 of 30 max
- [claimed-docs] https://jules.google“Use the "jules" label in an issue to assign a task directly in GitHub.”
- [claimed-docs] https://developers.google.com/jules/api“You can use the API to create custom workflows, automate tasks like bug fixing and code reviews, and embed Jules's intelligence directly into the tools you use every day”
- [claimed-docs] https://developers.google.com/jules/api“The `automationMode` field is optional. By default, no PR will be automatically created.”
Schedule recurring jobs or workflowsweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://developers.google.com/jules/api“You can use the API to create custom workflows, automate tasks like bug fixing and code reviews, and embed Jules's intelligence directly into the tools you use every day”
- [claimed-docs] https://developers.google.com/jules/api“In the Jules web app, go to the Settings page to create a new API key. You can have at most 3 API keys at a time.”
- [claimed-docs] https://developers.google.com/jules/api“The `automationMode` field is optional. By default, no PR will be automatically created.”
- [claimed-docs] https://developers.google.com/jules/api“To send a message to the agent:”
Version, review, and roll back my automationsweight 1
1 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 10 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Automation = 15.0 ÷ 80 × 100 = 18.8