{
  "id": "webapp-testing",
  "handle": "webapp-testing",
  "canonicalUrl": "https://bestskillsforclaude.com/en/skills/webapp-testing",
  "language": "en",
  "alternates": {
    "en": "https://bestskillsforclaude.com/en/skills/webapp-testing",
    "es": "https://bestskillsforclaude.com/es/skills/webapp-testing",
    "pt-BR": "https://bestskillsforclaude.com/pt-br/skills/webapp-testing",
    "ja": "https://bestskillsforclaude.com/ja/skills/webapp-testing"
  },
  "category": {
    "id": "build-and-ship",
    "name": "Build and ship"
  },
  "publisher": {
    "name": "Anthropic",
    "url": "https://github.com/anthropics"
  },
  "source": "https://github.com/anthropics/skills/tree/main/skills/webapp-testing",
  "documentation": null,
  "licenseAsStated": "Apache 2.0",
  "runtime": "Claude apps and Claude Code",
  "lastReviewed": "2026-08-05",
  "headline": "How do you stop an agent claiming a web change works?",
  "summary": "Make checking part of the job, not an optional extra step.",
  "verdict": "The webapp-testing skill lets Claude exercise a running web application and confirm what actually happens, instead of reporting success from reading its own diff. If you install one skill from the official set for application work, this class of skill returns the most, because unverified changes are the most expensive failure in agent assisted development.",
  "bestFor": "Any web work where a change is supposed to be visible in a browser.",
  "skipIf": "The change is in a library, a data pipeline or anything with no browser surface to drive.",
  "keyTakeaways": [
    "The failure it prevents is the confident false report, which is the costliest one.",
    "It needs a running application. It is not static analysis.",
    "Ask for observations, not conclusions. What appeared on screen is checkable, what worked is not.",
    "It pairs with verification-before-completion, which turns the habit into a rule."
  ],
  "quickStart": [
    "Install it from anthropics/skills under Apache 2.0.",
    "Have the application running locally first, because the skill drives a real app rather than imagining one.",
    "Ask for the check to be described as a user action and an expected observation, not as a claim of success."
  ],
  "sections": [
    {
      "heading": "What it changes in practice",
      "paragraphs": [
        "The default failure mode of coding agents is not writing bad code. It is writing plausible code and then reporting that the task is done without ever running it. Every hour lost to that pattern is spent discovering the failure later, in a worse place.",
        "Driving the actual application changes the report from a claim into evidence. The useful output is not the words the agent used but the sequence of actions and what the page did in response."
      ]
    },
    {
      "heading": "Where it disappoints",
      "paragraphs": [
        "It verifies behaviour, not intent. A flow can pass every step and still be the wrong flow, which is a product question the skill cannot answer.",
        "Flaky selectors and timing issues also carry over from ordinary browser automation, so expect to make the checks specific rather than broad."
      ]
    }
  ],
  "faq": [
    {
      "question": "Does it replace a test suite?",
      "answer": "No. It verifies work in progress. A durable test suite still belongs in the repository."
    },
    {
      "question": "Does the app have to be running?",
      "answer": "Yes. It drives a real application, so the server has to be up before it can check anything."
    },
    {
      "question": "What should I ask it to report?",
      "answer": "Actions and observations. What was clicked, and what appeared afterwards. Conclusions without observations are the failure it exists to stop."
    }
  ],
  "sources": [
    {
      "label": "anthropics/skills on GitHub",
      "url": "https://github.com/anthropics/skills",
      "kind": "repository"
    },
    {
      "label": "anthropics/skills, webapp-testing skill directory",
      "url": "https://github.com/anthropics/skills/tree/main/skills/webapp-testing",
      "kind": "documentation"
    }
  ],
  "machineReadable": {
    "markdown": "https://bestskillsforclaude.com/en/skills/webapp-testing/content.md",
    "json": "https://bestskillsforclaude.com/en/skills/webapp-testing/skill.json"
  },
  "disclosure": "Editorial desk review based on the publisher's own repository. Not a security audit, a benchmark or a guarantee of maintenance."
}