Skip to main content
Glama

Update Project Init Status

update-project-init-status
Idempotent

Merge project-init progress fields for the current project. Pass a status object with snake_case keys (platform_comms, folder_mapping, connect_to_test_env, ci_wiring, and optional import_plans, import_tests, smoke_validation). The server recomputes overall_complete when required items are DONE — do not send it (overallComplete / overall_complete are ignored). Legacy camelCase keys from older skills are forwarded to the backend.

Input Schema

NameRequiredDescriptionDefault
botIdNoQA bots: your botId from your stored TestChimp binding.
statusYesPartial ProjectInitStatus. Advertised keys are snake_case: platform_comms, folder_mapping, connect_to_test_env, ci_wiring, import_plans, import_tests, smoke_validation. overall_complete is server-computed and ignored. Legacy camelCase keys are forwarded to the backend (not advertised).
projectApiKeyNoQA bots: your own project API key from your stored TestChimp binding. Required on every call except get-bot-credentials, get-project-credentials and get-bot-compat. Never print it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changed
    • addedInput schema / properties / status / description
      Added value: +"Partial ProjectInitStatus. Advertised keys are snake_case: platform_comms, folder_mapping, connect_to_test_env, ci_wiring, import_plans, import_tests, smoke_validation. overall_complete is server-computed and ignored. Legacy camelCase keys are forwarded to the backend (not advertised)."
    • removedInput schema / properties / status / properties / ciWiring
      Removed value: -{
      -  "enum": [
      -    "PROJECT_INIT_ITEM_STATUS_INCOMPLETE",
      -    "PROJECT_INIT_ITEM_STATUS_DONE",
      -    "PROJECT_INIT_ITEM_STATUS_SKIPPED",
      -    "PROJECT_INIT_ITEM_STATUS_NOT_APPLICABLE",
      -    "INCOMPLETE",
      -    "DONE",
      -    "SKIPPED",
      -    "NOT_APPLICABLE"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / status / properties / connectToTestEnv
      Removed value: -{
      -  "enum": [
      -    "PROJECT_INIT_ITEM_STATUS_INCOMPLETE",
      -    "PROJECT_INIT_ITEM_STATUS_DONE",
      -    "PROJECT_INIT_ITEM_STATUS_SKIPPED",
      -    "PROJECT_INIT_ITEM_STATUS_NOT_APPLICABLE",
      -    "INCOMPLETE",
      -    "DONE",
      -    "SKIPPED",
      -    "NOT_APPLICABLE"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / status / properties / folderMapping
      Removed value: -{
      -  "enum": [
      -    "PROJECT_INIT_ITEM_STATUS_INCOMPLETE",
      -    "PROJECT_INIT_ITEM_STATUS_DONE",
      -    "PROJECT_INIT_ITEM_STATUS_SKIPPED",
      -    "PROJECT_INIT_ITEM_STATUS_NOT_APPLICABLE",
      -    "INCOMPLETE",
      -    "DONE",
      -    "SKIPPED",
      -    "NOT_APPLICABLE"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / status / properties / importPlans
      Removed value: -{
      -  "enum": [
      -    "PROJECT_INIT_ITEM_STATUS_INCOMPLETE",
      -    "PROJECT_INIT_ITEM_STATUS_DONE",
      -    "PROJECT_INIT_ITEM_STATUS_SKIPPED",
      -    "PROJECT_INIT_ITEM_STATUS_NOT_APPLICABLE",
      -    "INCOMPLETE",
      -    "DONE",
      -    "SKIPPED",
      -    "NOT_APPLICABLE"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / status / properties / importTests
      Removed value: -{
      -  "enum": [
      -    "PROJECT_INIT_ITEM_STATUS_INCOMPLETE",
      -    "PROJECT_INIT_ITEM_STATUS_DONE",
      -    "PROJECT_INIT_ITEM_STATUS_SKIPPED",
      -    "PROJECT_INIT_ITEM_STATUS_NOT_APPLICABLE",
      -    "INCOMPLETE",
      -    "DONE",
      -    "SKIPPED",
      -    "NOT_APPLICABLE"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / status / properties / overallComplete
      Removed value: -{
      -  "enum": [
      -    "PROJECT_INIT_ITEM_STATUS_INCOMPLETE",
      -    "PROJECT_INIT_ITEM_STATUS_DONE",
      -    "PROJECT_INIT_ITEM_STATUS_SKIPPED",
      -    "PROJECT_INIT_ITEM_STATUS_NOT_APPLICABLE",
      -    "INCOMPLETE",
      -    "DONE",
      -    "SKIPPED",
      -    "NOT_APPLICABLE"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / status / properties / overall_complete
      Removed value: -{
      -  "enum": [
      -    "PROJECT_INIT_ITEM_STATUS_INCOMPLETE",
      -    "PROJECT_INIT_ITEM_STATUS_DONE",
      -    "PROJECT_INIT_ITEM_STATUS_SKIPPED",
      -    "PROJECT_INIT_ITEM_STATUS_NOT_APPLICABLE",
      -    "INCOMPLETE",
      -    "DONE",
      -    "SKIPPED",
      -    "NOT_APPLICABLE"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / status / properties / platformComms
      Removed value: -{
      -  "enum": [
      -    "PROJECT_INIT_ITEM_STATUS_INCOMPLETE",
      -    "PROJECT_INIT_ITEM_STATUS_DONE",
      -    "PROJECT_INIT_ITEM_STATUS_SKIPPED",
      -    "PROJECT_INIT_ITEM_STATUS_NOT_APPLICABLE",
      -    "INCOMPLETE",
      -    "DONE",
      -    "SKIPPED",
      -    "NOT_APPLICABLE"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / status / properties / smokeValidation
      Removed value: -{
      -  "enum": [
      -    "PROJECT_INIT_ITEM_STATUS_INCOMPLETE",
      -    "PROJECT_INIT_ITEM_STATUS_DONE",
      -    "PROJECT_INIT_ITEM_STATUS_SKIPPED",
      -    "PROJECT_INIT_ITEM_STATUS_NOT_APPLICABLE",
      -    "INCOMPLETE",
      -    "DONE",
      -    "SKIPPED",
      -    "NOT_APPLICABLE"
      -  ],
      -  "type": "string"
      -}
  2. Changed2 schema fields changed
    • addedInput schema / properties / botId
      Added value: +{
      +  "description": "QA bots: your botId from your stored TestChimp binding.",
      +  "maxLength": 64,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / projectApiKey
      Added value: +{
      +  "description": "QA bots: your own project API key from your stored TestChimp binding. Required on every call except get-bot-credentials, get-project-credentials and get-bot-compat. Never print it.",
      +  "maxLength": 256,
      +  "minLength": 8,
      +  "type": "string"
      +}
  3. First observed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (idempotent, non-destructive), it discloses genuine behaviour: that this is a merge/partial update, that the server recomputes overall_complete, that overallComplete/overall_complete are silently ignored, and that legacy camelCase keys are forwarded. That is rich context an agent could not infer from the schema or annotations alone, though error/auth behaviour is left to the parameter descriptions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with the core action, and every sentence carries a distinct fact (purpose, key naming, server recompute, legacy handling). Dense but no filler; only the parenthetical key list slightly bloats it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema and a nested object parameter, the description covers merge semantics, accepted keys, computed fields and legacy compatibility, leaving little for the agent to guess. Auth requirements are carried by the schema's projectApiKey description, and error/validation behaviour is the only notable omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description adds real meaning: it labels platform_comms/folder_mapping/connect_to_test_env/ci_wiring as the core keys and import_plans/import_tests/smoke_validation as optional, and fixes the snake_case convention plus the ignore-list. This goes past what the schema's per-key enum definitions convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — 'Merge project-init progress fields for the current project' — and the word 'merge' distinguishes it from the read-only sibling get-project-init-status or a full replace. An agent can tell what it writes and to what scope without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description tells the agent how to call it (pass a status object, omit overall_complete) but never states when to reach for this tool versus alternatives such as get-project-init-status or update-plan-items-lifecycle-status, nor any prerequisites for invoking it. Usage is implied by the guidance on payload shape rather than made explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.