# AX Check: docs.healsoftware.ai
Checked 2026-09-28.

Getting started is clear, but pricing is anyone's guess
The quickstart gives concrete first-login steps and prerequisites. Pricing is never stated on the docs, and 2 of 3 agent sessions could not find or confirm real prices.

## Onboarding needs a login

## Coding sessions
All three sessions completed. One (DeepSeek V4.1 Flash) produced a pricing table sourced from an external pricing page but flagged its own assumptions as unconfirmed. The other two (Kimi K3, Qwen 3.8 Max) found no public pricing page and either reported pricing as unavailable or refused to guess a figure. None hit a login wall; the getting-started guide covered login and setup steps in the documentation itself.

### DeepSeek V4.1 Flash
[View public run](https://agents.withgauge.com/p/runs/dcaef26e-20b6-462b-860c-2507a86db868) · [Read transcript](https://www.ax-check.com/docs.healsoftware.ai/sessions/deepseek.json)
Final output gives a full pricing table (Free/Pro/Team/Enterprise, EUR) scraped from docs.heal.dev/pricing and flags its own assumption that credits are monthly since 'the page itself doesn't state the period.'
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: Agent never obtained real Heal credentials or called the hosted API. It only researched heal.dev docs, downloaded the npm package for inspection, and wrote static example files (playwright.config.ts, a test spec, a GitHub Action YAML, README) without running npm install, heal login, or any test. No authenticated operation against the real product occurred.
  Event 169:

  ```text
  I built a static example and **did not install or run anything**, because the quickstart is blocked by your constraints (explained below).
  ```
  Event 169:

  ```text
  I'm blocked from running the quickstart. It requires `npm install` + `npx playwright install` (browser download = long-running), an interactive `npx heal login`, and a **local Chromium** launched per test.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **Quickstart requires interactive login and local browser install**: Heal's real onboarding path (per docs.heal.dev) needs `npx playwright install` (a large, long-running download) and an interactive `npx heal login` step to store an API token, then runs tests in a local Chromium instance. This is normal product behavior, not a defect, but it conflicts with the session's explicit restriction against local service stacks and long-running commands, so the agent correctly stopped rather than attempting it.
  Event 139:

  ```text
  `heal login` authenticates your Heal CLI.
  ```
  Event 169:

  ```text
  It requires `npm install` + `npx playwright install` (browser download = long-running), an interactive `npx heal login` (interactive auth, stores your API token), and a **local Chromium** launched per test. That violates "no local stacks / no long-running commands."
  ```
- **No API key available for the fully-hosted CI trigger path**: The only path that avoids a local browser is the `heal-dev/heal-trigger` GitHub Action or manual dashboard runs, both of which require a `HEAL_API_KEY` secret that the agent does not have and cannot self-provision. This is a missing-credentials limitation of the test environment, not a product flaw.
  Event 133:

  ```text
  1. Add your Heal API key as a secret in your GitHub repository (e.g. `HEAL_API_KEY`). See [Secrets](/docs/platform/secrets) for how to create an API key.
  ```
  Event 169:

  ```text
  The only genuinely hosted path is the `heal-trigger` GitHub Action or dashboard runs — both need a `HEAL_API_KEY` I don't have.
  ```
- **Docs/README example does not match the shipped SDK types**: The public docs and package README show `Heal.init()` returning an object with `.getPage()` and `.close()`, but the actual shipped `@heal-dev/heal-cli@0.3.73` type definitions show `Heal.init()` returning `{page, browserContext}` with no `getPage`/`close` methods; the supported customer path is `Heal.attachAgent(page)`. This is an agent-discovered documentation/package mismatch, not an execution failure, and the agent adapted its example accordingly.
  Event 117:

  ```text
  export declare class PublicHeal {
      private constructor();
      static init(options?: HealOptions): Promise<HealInitResult>;
      static attachAgent(page: Page): Promise<HealPageAgent>;
  ```
  Event 169:

  ```text
  Docs/README show `Heal.init()` → `heal.getPage()` / `heal.close()`; the published `@heal-dev/heal-cli@0.3.73` types return `{ page, browserContext }` and have no `getPage`/`close`.
  ```

#### Suggested Changes
- **Publish the pricing period explicitly on the pricing table**: The docs.heal.dev/pricing table lists a 'Monthly agent credits' row but never states whether the €0/€75/€500/€2,000+ prices are monthly or annual. Add a 'per month' or 'billed monthly/annually' label next to the Price row header. Verify by checking that the row renders alongside the price figures without needing to infer the billing period from an unrelated row label.
  Event 134:

  ```text
  Pick the plan that fits your test volume and team size. Feature Free Pro Team Enterprise Seats 1 Unlimited Unlimited Unlimited Cloud run min included 600 2,000 50,000 Contact us Parallel tests run 1 4 8 Contact us Runner type c7i.2xlarge c7i.4xlarge c7i.8xlarge - Monthly agent credits 500 5,000 25,000 Contact us Custom DPA - - - 2FA - - - Support tier Community Community Pro Dedicated Notion connector - - - Price €0.00 €75.00 €500.00 from 2,000 SOC 2 type 2 certified · Trust center
  ```
- **Sync the SDK reference/README code samples with the shipped package types**: The docs.heal.dev SDK overview/reference and the npm package README both show `Heal.init()` returning an object with `.getPage()` and `.close()` methods, but the actual `.d.ts` files in `@heal-dev/heal-cli@0.3.73` show `Heal.init()` returns `{page, browserContext}` with no such methods, and the documented customer entry point is `Heal.attachAgent(page)`. Update the docs/README examples to match the shipped `heal.d.ts`/`public-heal.d.ts` types, and verify by running the documented snippet against the installed package without type errors.
  Event 112:

  ```text
  const heal = await Heal.init({ headless: false });
    await use(heal);
    await heal.close();
  });
  
  test('login with valid credentials', async ({ heal }) => {
    const { agent, page } = await heal.getPage();
  ```
  Event 117:

  ```text
  export declare class PublicHeal {
      private constructor();
      static init(options?: HealOptions): Promise<HealInitResult>;
      static attachAgent(page: Page): Promise<HealPageAgent>;
  ```

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/1ae95e2b-fd33-4dab-be53-db0f673283aa) · [Read transcript](https://www.ax-check.com/docs.healsoftware.ai/sessions/kimi.json)
Pricing section only reports 'no public pricing page' and 'book a demo' — no cost figure is ever stated, just an absence-of-pricing description, so there's no price with named assumptions as the rubric requires.
#### End-to-end onboarding
- **Onboarding needs a login**: The agent identified heal.dev as the relevant product (a Playwright test-automation SDK/CLI), inspected its docs, and attempted to install and run the CLI. It never obtained credentials: heal login requires an interactive browser-based signup on app.heal.dev, and there is no self-serve API key minting endpoint reachable via curl. The CLI install itself also failed with a missing module error before authentication was even attempted. No authenticated product operation occurred.
  Event 76:

  ```text
  Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@heal-dev/heal-playwright-tracer' imported from /usr/local/lib/node_modules/@heal-dev/heal-cli/dist/bundles/public-cli.bundle.js
  ```
  Event 78:

  ```text
  Auth requires an interactive account. `heal login` needs a Heal account from app.heal.dev, which is a JS-only web app with interactive signup — I can't create one programmatically, and there's no self-serve API-key minting endpoint I can hit with curl.
  ```
  Event 78:

  ```text
  npx heal login                          # interactive browser auth
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **CLI install fails before auth is even possible**: Product-side packaging defect: installing @heal-dev/heal-cli via npm produces a binary that immediately throws ERR_MODULE_NOT_FOUND for a required dependency (@heal-dev/heal-playwright-tracer) that isn't installed by npm install -g. This blocks any further CLI usage, including heal login, independent of the credential issue.
  Event 76:

  ```text
  Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@heal-dev/heal-playwright-tracer' imported from /usr/local/lib/node_modules/@heal-dev/heal-cli/dist/bundles/public-cli.bundle.js
  ```
- **Login is interactive-browser-only, no self-serve API key path**: Session limitation, not necessarily a product defect: heal login requires an interactive browser-based account flow on app.heal.dev, which is a JS-rendered SPA. No documented way was found to mint an API key or create an account non-interactively via curl/API, so the agent could not proceed without human involvement.
  Event 63:

  ```text
  heal login # Authenticate and store your API token
  ```
  Event 78:

  ```text
  Auth requires an interactive account. `heal login` needs a Heal account from app.heal.dev, which is a JS-only web app with interactive signup — I can't create one programmatically, and there's no self-serve API-key minting endpoint I can hit with curl.
  ```
- **Quickstart requires heavyweight local browser setup**: Test-environment/task constraint: the documented quickstart mandates installing Playwright 1.58.1 (large browser download) and running heal init plus local autopilot runs against a real browser, which conflicts with the session's 'stay light, no local service stacks' instruction. This is inherent to the product's CLI-first design, not an agent error.
  Event 63:

  ```text
  Requirements Before starting, make sure you have: Node.js 22.14+ npm Playwright 1.58.1
  ```
  Event 78:

  ```text
  The quickstart requires long-running local setup. It mandates Playwright 1.58.1 (a several-hundred-MB browser download), `npm install`, `heal init` (installs a local tracer package), and then running actual browser-based tests locally.
  ```
- **No public pricing page**: Product content gap: heal.dev/pricing returns a 404 'Not found' page, and no pricing tiers are published; the only public pricing signals are free credits for open source and a 'book a demo' sales contact path.
  Event 36:

  ```text
  Not found · heal how it works live sandboxes security changelog for frontend book a demo D Nothing here. This page does not exist, or not anymore.
  ```

#### Suggested Changes
- **Fix the heal-cli npm package to include its tracer dependency**: On npm, @heal-dev/heal-cli's published bundle imports @heal-dev/heal-playwright-tracer, which is not installed as a dependency, causing the CLI to crash immediately after 'npm install -g @heal-dev/heal-cli'. Add the tracer as a proper package.json dependency (or bundle it) and verify by running any heal command (e.g. 'heal login --help') right after a fresh global install with no other setup.
  Event 76:

  ```text
  Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@heal-dev/heal-playwright-tracer' imported from /usr/local/lib/node_modules/@heal-dev/heal-cli/dist/bundles/public-cli.bundle.js
  ```
- **Publish a working pricing page**: heal.dev/pricing currently 404s. Add an actual pricing page (or redirect it to the existing sales/demo page) so prospective developers evaluating cost don't hit a dead link; verify by visiting heal.dev/pricing directly and confirming it renders content instead of 'Nothing here.'
  Event 36:

  ```text
  Not found · heal how it works live sandboxes security changelog for frontend book a demo D Nothing here. This page does not exist, or not anymore.
  ```

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/112ceaf1-baa0-40f1-80c6-fdf7407987c5) · [Read transcript](https://www.ax-check.com/docs.healsoftware.ai/sessions/qwen.json)
Agent explicitly refused to state any pricing figure ('I won't guess or fabricate it', final output seq 35) rather than giving a number with assumptions.
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: Agent never located a real hosted HEAL product, so no credentials were obtained and no authenticated operation was attempted. Session ended in a stop-and-report state per the seed prompt's instruction to halt if no actionable developer workflow exists.
  Event 35:

  ```text
  I could not find a real hosted product called HEAL with actual docs.
  ```
  Event 19:

  ```text
  I can't identify "HEAL" as a real hosted product.
  ```

#### Hallucinated URLs
- **Guessed heal-health.org domain failed to resolve**: Agent speculatively tried heal-health.org as a possible HEAL product site with no prior evidence it was a real documented URL; the request failed to connect entirely (curl status 000), and the agent itself treated this as confirmation no such site exists rather than a broken link to a known page.
  Event 27:

  ```text
  https://heal-health.org
  ```
  Event 32:

  ```text
  000 https://heal-health.org/
  
  
  ```

#### Blockers
- **No identifiable HEAL product to build against**: The only 'heal' packages discoverable on PyPI and npm are unrelated placeholder/wellness or scaffolding tools, not a hosted product with pricing or an SDK/API. This is not a product defect or agent error — it reflects an ambiguous or underspecified prompt (no docs URL, package name, or endpoint was given), and the agent correctly stopped rather than fabricating a workflow.
  Event 13:

  ```text
  heal (0.1.25)
  Available versions: 0.1.25, 0.1.24, 0.1.23, 0.1.22, 0.1.21, 0.1.20, 0.1.3
  ```
  Event 17:

  ```text
  Summary: A Python package for healing and wellness
  ```
  Event 13:

  ```text
  npm error 404
  npm error 404  '@heal/sdk@*' is not in this registry.
  ```

#### Suggested Changes
None identified in this transcript.

### Task given to each agent
Help me build a simple example using HEAL. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked. If this product has no developer workflow you can act on, say so plainly and stop. Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.

No product credentials were supplied and no purchases were authorized.

## Score: C · 48/100 (provisional)
Grades come from completed site checks. Coding sessions and skipped checks do not affect the score.

### Clarity
- **Failed** — Homepage answers Markdown requests

  ```text
  Homepage returned text/html even when text/markdown was requested; no Markdown representation offered.
  ```

- **Failed** — llms.txt provides an actionable documentation index

  ```text
  llms.txt exists but lists raw WordPress pages, plugin shortcodes and a stray 'Test' post, not a curated docs index.
  ```

- **Failed** — llms.txt provides navigation guidance

  ```text
  llms.txt offers no navigation guidance or recommended reading order for the docs.
  ```

- **Skipped** — llms.txt mentions offered API, MCP, and skills

  ```text
  No API, MCP or skills surfaces are offered in the fetched evidence, so llms.txt need not mention them.
  ```

- **Pass** — A compact guide representation exists

  ```text
  llms.txt is a compact Markdown index of HEAL docs pages and posts.
  ```

- **Pass** — A focused guide is directly retrievable

  ```text
  Getting Started page gives concrete first-login steps, prerequisites and next links.
  ```

- **Pass** — Equivalent instructions fit a token budget

  ```text
  Getting Started guide is 3257 tokens, well under the 8000-token budget.
  ```

- **Skipped** — Product-docs links survive format changes

  ```text
  Homepage Markdown unsupported, so link preservation across formats cannot be measured.
  ```

- **Pass** — The compact guide is independently actionable

  ```text
  Getting Started page gives concrete first-day steps: prerequisites, first login, tabs, and troubleshooting.
  ```

- **Pass** — Install and next-step links resolve

  ```text
  Getting-started and next-step links (Accessing HEAL UI, Changing Password, HEAL UI Security) fetched successfully.
  ```


### Onboarding
- **Pass** — Docs lead to a relevant quickstart

  ```text
  Homepage links 'Getting started with HEAL' to a concrete first-login quickstart with steps.
  ```

- **Skipped** — Installation commands are extractable

  ```text
  HEAL is a hosted UI platform; no install commands are offered or expected.
  ```

- **Pass** — Code examples are available without interaction

  ```text
  Getting Started shows inline numbered steps and commands like /etc/hosts without interaction.
  ```

- **Pass** — Prerequisites and auth boundaries are explicit

  ```text
  Prerequisites list UI URL, credentials/SSO, /etc/hosts entry, and supported browsers.
  ```


### Pricing
- **Failed** — Agents identify pricing and its assumptions

  ```text
  3 of 3 sessions were judged on pricing; 2 fell short. DeepSeek V4.1 Flash: Final output gives a full pricing table (Free/Pro/Team/Enterprise, EUR) scraped from docs.heal.dev/pricing and flags its own assumption that credits are monthly since 'the page itself doesn't state the period.' Kimi K3: Pricing section only reports 'no public pricing page' and 'book a demo' — no cost figure is ever stated, just an absence-of-pricing description, so there's no price with named assumptions as the rubric requires. Qwen 3.8 Max: Agent explicitly refused to state any pricing figure ('I won't guess or fabricate it', final output seq 35) rather than giving a number with assumptions. This behavioural item does not affect the fast grade.
  ```

- **Skipped** — Pricing is readable without interaction

  ```text
  No pricing page was fetched; only HEAL documentation homepage content is available.
  ```

- **Skipped** — Prices are stated, not gated

  ```text
  No pricing page was fetched; no prices stated in the documentation homepage.
  ```

- **Skipped** — Pricing units and limits are explicit

  ```text
  No pricing page was fetched; pricing units and limits are not shown.
  ```


### Activation
- **Skipped** — An API reference or OpenAPI spec is reachable

  ```text
  No API reference or OpenAPI spec appears in the fetched HEAL documentation pages.
  ```

- **Skipped** — An MCP server is documented and well-formed

  ```text
  No MCP server documentation found in the fetched HEAL docs or llms.txt index.
  ```

- **Skipped** — A CLI install path is documented

  ```text
  No CLI install path documented; HEAL is a web UI platform accessed via browser login.
  ```

- **Skipped** — SDK packages resolve on their registries

  ```text
  No SDK or developer package registry evidence supplied for HEAL.
  ```

- **Skipped** — Agent skills are published

  ```text
  No agent skills published or referenced in the fetched HEAL documentation.
  ```



[Full report data](https://www.ax-check.com/docs.healsoftware.ai/report.json)
