{
  "schema_version": 1,
  "version": "v1-a109c7643cce",
  "release": "v1",
  "updated": "2026-10-24",
  "minimum_cli_version": "0.6.0",
  "bundle_version": "75",
  "catalog": [
    {
      "id": "com-vcs",
      "folder": "com-vcs",
      "display_name": "Composal Source Control",
      "description": "Use Composal for version control in a Composal checkout: status, log, diff, commit, describe, split, squash, rebase, undo, push, pull, bookmarks, conflict resolution, and recovery. In Git checkouts, use Git instead. `com` also exposes JJ commands. Read before Composal source-control actions.",
      "publish_path": "skill.md"
    },
    {
      "id": "composal",
      "folder": "composal",
      "display_name": "Composal",
      "description": "Use Composal to test a product's features and workflows: learn how the product works from the codebase, company knowledge, and plans, then set up QA Scenarios with Composal Verify, run browser tests, and investigate bugs from any project.",
      "publish_path": "skills/composal.md"
    },
    {
      "id": "com-submit",
      "folder": "com-submit",
      "display_name": "Composal Submit",
      "description": "Submit work for code review with Composal: open a pull request, push a branch for review, submit or re-submit a change, stack dependent changes, request or add reviewers, write a review description, attach screenshot or video proof, approve, request changes, check CI, sync, and land or merge. Also fold — squash one change into the change below it when two adjacent changes should have been one. Use whenever work is finished and needs review — `vex submit`, not `vex push`. Also covers `#number` review lookups and the GitHub projection.",
      "publish_path": "skills/com-submit.md"
    },
    {
      "id": "com-apps",
      "folder": "com-apps",
      "display_name": "Composal Apps",
      "description": "Configure what a Composal hosted app looks like: create an app, add or inspect services and environments, make a service public or internal, set environment and config variables, attach domains, and route paths. Use for `com app`, `com service`, `com env`, `com config-var`, and `com domain` — anything that changes desired topology rather than shipping code. For deploying an image, watching a rollout, or PR previews and preview profiles for Composal Verify use com-deploy; for secret values use com-secrets.",
      "publish_path": "skills/com-apps.md"
    },
    {
      "id": "com-deploy",
      "folder": "com-deploy",
      "display_name": "Composal Deploy",
      "description": "Host apps on Composal and confirm rollout health: create an app and its services, deploy an image to a service and Environment, follow the deployment, check allocation and public health, and roll back. Also sets up PR previews: a preview profile so Composal Verify builds, deploys and tests a hosted preview of every pull request and reports a PR check. Use for `com app create`, `com service create`, `com deploy`, `com preview-profile`, `com preview`, and `com verify pr-testing setup --previews composal`. Optional; install it with `com skills setup --with deploy`.",
      "publish_path": "skills/com-deploy.md"
    },
    {
      "id": "com-secrets",
      "folder": "com-secrets",
      "display_name": "Composal Secrets",
      "description": "Store and rotate secret values in Composal: set an API key, token, password, or database URL, rotate a credential, list secret metadata, and import or export a dotenv file at app or org scope. Use whenever a value is sensitive — always via stdin or a file, never as a shell argument. For non-secret configuration use com-apps and `com config-var`.",
      "publish_path": "skills/com-secrets.md"
    },
    {
      "id": "com-workspace",
      "folder": "com-workspace",
      "display_name": "Composal Workspace",
      "description": "Create and tear down extra local checkouts of a Composal repo with `vex ws`: spin up a second working copy to run a slow build or test while editing elsewhere, work on two changes in parallel, get a throwaway checkout for a risky experiment, or configure per-workspace lifecycle hooks in `.composal/workspace.toml`. Prefer `vex ws` over the low-level `vex workspace add|forget|list` primitives.",
      "publish_path": "skills/com-workspace.md"
    },
    {
      "id": "com-ui",
      "folder": "com-ui",
      "display_name": "Composal UI",
      "description": "Open Composal UI inside the coding app to inspect local changes, diffs, files, bookmarks, and transcripts. Use when asked to show the change UI or manage commits visually in Codex, Cursor, or another agent app.",
      "publish_path": "skills/com-ui.md"
    },
    {
      "id": "com-automations",
      "folder": "com-automations",
      "display_name": "Composal Automations",
      "description": "Create and schedule Composal automations for a user: run prompts or pinned skills through Roder on cron, intervals, one-time timers, platform events or signals. Use the Composal CLI or manage_automation MCP tool to create drafts, preview schedules, activate a reviewed revision, inspect runs, pause triggers or cancel work without the UI.",
      "publish_path": "skills/com-automations.md"
    },
    {
      "id": "com-code-rules",
      "folder": "com-code-rules",
      "display_name": "Composal Code Rules",
      "description": "Author and manage a Repo's code rules with Composal: semantic checks (a narrow question, the file globs it covers, and source attribution) that hooks later evaluate. Use the com CLI or the manage_code_rules MCP tool to list rules, write a definition file, create a disabled rule, append draft revisions, enable an exact revision, disable, or delete without the UI. Use when receiving code-rule findings or when a user asks to add, review, tighten, enable or remove a code rule, coding standard check, or review question for a repository.",
      "publish_path": "skills/com-code-rules.md"
    },
    {
      "id": "composal-telemetry",
      "folder": "composal-telemetry",
      "display_name": "Composal Telemetry",
      "description": "Install and configure OpenTelemetry in an application, instrument its important request and background-work paths, and run evidence-backed performance verification with Composal managed telemetry. Use when asked to add OTEL, observe a verification run, diagnose latency or resource use, compare an optimization, or design a safe shadow-traffic test.",
      "publish_path": "skills/composal-telemetry.md"
    },
    {
      "id": "com-verify-start",
      "folder": "com-verify-start",
      "display_name": "Composal Verify Start",
      "description": "Set up a Composal Verify project and choose discovery, saved Scenario tests, or a deep scan using the unified Composal skill.",
      "publish_path": "skills/com-verify-start.md"
    },
    {
      "id": "com-verifier-setup",
      "folder": "com-verifier-setup",
      "display_name": "Composal Verifier Setup",
      "description": "Create, check, and upload Composal project Scenarios using the unified Composal skill and the current Scenario file schema.",
      "publish_path": "skills/com-verifier-setup.md"
    },
    {
      "id": "com-verify-run",
      "folder": "com-verify-run",
      "display_name": "Composal Verify Run",
      "description": "Prepare, review, launch, and inspect Composal project Scenario runs using the unified Composal skill and current runner semantics.",
      "publish_path": "skills/com-verify-run.md"
    },
    {
      "id": "com-uat-plan",
      "folder": "com-uat-plan",
      "display_name": "Composal UAT Plan",
      "description": "Write or update a UAT plan for a change: acceptance scenarios in plain user terms, agreed with the user, independent of how they are later run. Use when asked for a UAT plan, acceptance tests, test scenarios, or what to check before a change ships, or to update the plan after the change moves on. Writes .composal/uat/<area>/plan.md; run it with com-uat-run or turn it into Composal Verify scenarios with com-verifier-setup.",
      "publish_path": "skills/com-uat-plan.md"
    },
    {
      "id": "com-uat-run",
      "folder": "com-uat-run",
      "display_name": "Composal UAT Run",
      "description": "Run a UAT plan with your own agent against a running copy of the app, usually local development, and write a run report. Use when asked to run, execute, or try the UAT plan or acceptance scenarios for a change in a browser, from the CLI, or against the API. Reads .composal/uat/<area>/plan.md and an optional .composal/uat/environment.md, and reports what was observed for each scenario without a pass or fail verdict.",
      "publish_path": "skills/com-uat-run.md"
    }
  ],
  "skills": {
    "skill.md": {
      "canonical_url": "https://composal.ai/skill.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/skill.md",
      "sha256": "9fe2d926a8cb180802e684678f4e0fca0add51d68f118d0e405993ceb975247a"
    },
    "skills/source-control.md": {
      "canonical_url": "https://composal.ai/skills/source-control.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/source-control.md",
      "sha256": "4218e4d9e6c70ea83a937926a560efabd653226983ab89cefad0708adc48b3ea"
    },
    "skills/setup.md": {
      "canonical_url": "https://composal.ai/skills/setup.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/setup.md",
      "sha256": "3366739bee2c89c1293dcd9a8b9df5631a4c6525fa0f21e35af15ba2c7472b2b"
    },
    "skills/mcp.md": {
      "canonical_url": "https://composal.ai/skills/mcp.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/mcp.md",
      "sha256": "6d68a8a8453cb9eda79d4213590e091fe5bfd05b70aaab0115f98ec606bf49f8"
    },
    "skills/deploy.md": {
      "canonical_url": "https://composal.ai/skills/deploy.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/deploy.md",
      "sha256": "92e5398faff5d1d89d33c08da83654b0b7d217085e43252e5c50457137c67a51"
    },
    "skills/ci.md": {
      "canonical_url": "https://composal.ai/skills/ci.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/ci.md",
      "sha256": "5e38d1380ffa3d5689caa2d2cf329b173fe0e717263422f3a53e1f1c251e0ce3"
    },
    "skills/ids.md": {
      "canonical_url": "https://composal.ai/skills/ids.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/ids.md",
      "sha256": "6b8219e49e50fa1460505cb9a1f69b1c766eda70233afa1c0b5ed330ecc9f9f7"
    },
    "skills/recipes.md": {
      "canonical_url": "https://composal.ai/skills/recipes.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/recipes.md",
      "sha256": "05e59208ab223e6c7166dcf12a45af3a178778782b427f557e8f1a96b1b59338"
    },
    "skills/transcripts.md": {
      "canonical_url": "https://composal.ai/skills/transcripts.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/transcripts.md",
      "sha256": "6ebb4da8481e09b5a3315ad591b93c0f53dad1b5924d9bb89204ab3caf83674b"
    },
    "skills/artefacts.md": {
      "canonical_url": "https://composal.ai/skills/artefacts.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/artefacts.md",
      "sha256": "395edbd2d3d6ca24247dea79575676e8577edf2094a19dd38ce3a02ec8e29aa3"
    },
    "skills/composal.md": {
      "canonical_url": "https://composal.ai/skills/composal.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/composal.md",
      "sha256": "aef3a9f8033cfcd82825c5c966cc71b317b8885b5ed7cd59e42f2f359ae1a502"
    },
    "skills/composal-qa.md": {
      "canonical_url": "https://composal.ai/skills/composal-qa.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/composal-qa.md",
      "sha256": "3ac77d486ee7153e907bf8a31de902fdb9bed57034896b18bf05bc914d5a5c52"
    },
    "skills/composal-verify.md": {
      "canonical_url": "https://composal.ai/skills/composal-verify.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/composal-verify.md",
      "sha256": "4510fc25eea297103afd2c7a8221b33f0a113c4c614a84eff0a919be72ded953"
    },
    "skills/composal-scenarios.md": {
      "canonical_url": "https://composal.ai/skills/composal-scenarios.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/composal-scenarios.md",
      "sha256": "ca1b8176e1cc15688d2afb6abd2e35fb820156512d10efa5dff103c81fb6cea9"
    },
    "skills/composal-tests.md": {
      "canonical_url": "https://composal.ai/skills/composal-tests.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/composal-tests.md",
      "sha256": "1d01385902d41181e4b346e868cfda754d9dd23009dabe872644357972977c7f"
    },
    "skills/com-submit.md": {
      "canonical_url": "https://composal.ai/skills/com-submit.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/com-submit.md",
      "sha256": "33a83d4e06ff3f1bd16ac10447f5c98f2657a38c0732520262b6449934d283e0"
    },
    "skills/com-apps.md": {
      "canonical_url": "https://composal.ai/skills/com-apps.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/com-apps.md",
      "sha256": "fd2192587dd84428dbf88ba036234021ef8622176ad46a9591aca17dd908d598"
    },
    "skills/com-deploy.md": {
      "canonical_url": "https://composal.ai/skills/com-deploy.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/com-deploy.md",
      "sha256": "1c8c3c14f8d68bdb2644068c7e24d17a8e3304f71ffe41367d0ec90e2457defd"
    },
    "skills/composal-deploy.md": {
      "canonical_url": "https://composal.ai/skills/composal-deploy.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/composal-deploy.md",
      "sha256": "46d1257b83874f743df399922a9f455381c6b80b9a2563f8325c073bfb063b73"
    },
    "skills/composal-deploy-pr-previews.md": {
      "canonical_url": "https://composal.ai/skills/composal-deploy-pr-previews.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/composal-deploy-pr-previews.md",
      "sha256": "638f8662e3a33aa2730d2bf3553d364ead9d032741488b1e37c6d2722fdd3e27"
    },
    "skills/com-secrets.md": {
      "canonical_url": "https://composal.ai/skills/com-secrets.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/com-secrets.md",
      "sha256": "92b3c6193bf92488b71f4add9e63fd802420d6e6b0a5b97e49cbc41fa85d1bc6"
    },
    "skills/com-workspace.md": {
      "canonical_url": "https://composal.ai/skills/com-workspace.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/com-workspace.md",
      "sha256": "ce661c5cc681db8ca180861c0fe91c21abdcdd700cd0b055f24e173650b954f0"
    },
    "skills/com-ui.md": {
      "canonical_url": "https://composal.ai/skills/com-ui.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/com-ui.md",
      "sha256": "b56ccc9d7473d7890c9cbffa18075b58e82be8e5cc6772c6a9c5540938f3abe9"
    },
    "skills/com-automations.md": {
      "canonical_url": "https://composal.ai/skills/com-automations.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/com-automations.md",
      "sha256": "bc130b86a26859d2576d1300de3eddbb1741a3b381c4496e1d84abc612140759"
    },
    "skills/com-code-rules.md": {
      "canonical_url": "https://composal.ai/skills/com-code-rules.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/com-code-rules.md",
      "sha256": "6b267932b2c7e6c257a73d343222923f23f25cc05abc440e34d2fab874220f8b"
    },
    "skills/composal-telemetry.md": {
      "canonical_url": "https://composal.ai/skills/composal-telemetry.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/composal-telemetry.md",
      "sha256": "1ed73056fce4ef5bd5243556239491ba5a7d7f717f5a83ee9f4c1e0bc8ab93de"
    },
    "skills/com-verify-start.md": {
      "canonical_url": "https://composal.ai/skills/com-verify-start.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/com-verify-start.md",
      "sha256": "b4ef80689fd9fb28bebbfc4d34474c0de6d730a3114b0adcc6c9e391f03910e1"
    },
    "skills/com-verifier-setup.md": {
      "canonical_url": "https://composal.ai/skills/com-verifier-setup.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/com-verifier-setup.md",
      "sha256": "8f4744d071b9fdc5d63c4da66bf7a604b9986713a61739743f9f90580c1e4e81"
    },
    "skills/com-verify-run.md": {
      "canonical_url": "https://composal.ai/skills/com-verify-run.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/com-verify-run.md",
      "sha256": "a4d0f5ea2629cf909357f8c22ecf12db2e4c1c2125113877bb9258726e94d1fb"
    },
    "skills/com-uat-plan.md": {
      "canonical_url": "https://composal.ai/skills/com-uat-plan.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/com-uat-plan.md",
      "sha256": "03c5edf792a5374475dd4c1829afd6145a36fa3b21eeb23607f053e9cc574c44"
    },
    "skills/com-uat-run.md": {
      "canonical_url": "https://composal.ai/skills/com-uat-run.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/com-uat-run.md",
      "sha256": "25209b9c484992f1cb20a1a7ad693c2600dde86476d0459114aa773e59e87e36"
    },
    "skills/vex-submit.md": {
      "canonical_url": "https://composal.ai/skills/vex-submit.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/vex-submit.md",
      "sha256": "33a83d4e06ff3f1bd16ac10447f5c98f2657a38c0732520262b6449934d283e0"
    },
    "skills/vex-apps.md": {
      "canonical_url": "https://composal.ai/skills/vex-apps.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/vex-apps.md",
      "sha256": "fd2192587dd84428dbf88ba036234021ef8622176ad46a9591aca17dd908d598"
    },
    "skills/vex-deploy.md": {
      "canonical_url": "https://composal.ai/skills/vex-deploy.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/vex-deploy.md",
      "sha256": "1c8c3c14f8d68bdb2644068c7e24d17a8e3304f71ffe41367d0ec90e2457defd"
    },
    "skills/vex-secrets.md": {
      "canonical_url": "https://composal.ai/skills/vex-secrets.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/vex-secrets.md",
      "sha256": "92b3c6193bf92488b71f4add9e63fd802420d6e6b0a5b97e49cbc41fa85d1bc6"
    },
    "skills/vex-workspace.md": {
      "canonical_url": "https://composal.ai/skills/vex-workspace.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/vex-workspace.md",
      "sha256": "ce661c5cc681db8ca180861c0fe91c21abdcdd700cd0b055f24e173650b954f0"
    },
    "skills/vex-ui.md": {
      "canonical_url": "https://composal.ai/skills/vex-ui.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/vex-ui.md",
      "sha256": "b56ccc9d7473d7890c9cbffa18075b58e82be8e5cc6772c6a9c5540938f3abe9"
    },
    "skills/vex-automations.md": {
      "canonical_url": "https://composal.ai/skills/vex-automations.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/vex-automations.md",
      "sha256": "bc130b86a26859d2576d1300de3eddbb1741a3b381c4496e1d84abc612140759"
    },
    "skills/vex-code-rules.md": {
      "canonical_url": "https://composal.ai/skills/vex-code-rules.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/vex-code-rules.md",
      "sha256": "6b267932b2c7e6c257a73d343222923f23f25cc05abc440e34d2fab874220f8b"
    },
    "skills/vex-verify-start.md": {
      "canonical_url": "https://composal.ai/skills/vex-verify-start.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/vex-verify-start.md",
      "sha256": "b4ef80689fd9fb28bebbfc4d34474c0de6d730a3114b0adcc6c9e391f03910e1"
    },
    "skills/vex-verifier-setup.md": {
      "canonical_url": "https://composal.ai/skills/vex-verifier-setup.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/vex-verifier-setup.md",
      "sha256": "8f4744d071b9fdc5d63c4da66bf7a604b9986713a61739743f9f90580c1e4e81"
    },
    "skills/vex-verify-run.md": {
      "canonical_url": "https://composal.ai/skills/vex-verify-run.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/vex-verify-run.md",
      "sha256": "a4d0f5ea2629cf909357f8c22ecf12db2e4c1c2125113877bb9258726e94d1fb"
    },
    "skills/vex-uat-plan.md": {
      "canonical_url": "https://composal.ai/skills/vex-uat-plan.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/vex-uat-plan.md",
      "sha256": "03c5edf792a5374475dd4c1829afd6145a36fa3b21eeb23607f053e9cc574c44"
    },
    "skills/vex-uat-run.md": {
      "canonical_url": "https://composal.ai/skills/vex-uat-run.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/vex-uat-run.md",
      "sha256": "25209b9c484992f1cb20a1a7ad693c2600dde86476d0459114aa773e59e87e36"
    },
    "skills/com-vcs.md": {
      "canonical_url": "https://composal.ai/skills/com-vcs.md",
      "immutable_url": "https://composal.ai/skills/v1-a109c7643cce/com-vcs.md",
      "sha256": "9fe2d926a8cb180802e684678f4e0fca0add51d68f118d0e405993ceb975247a"
    }
  }
}
