# Run your first assessment with the CLI (/docs/cli/first-assessment)



This workflow uses the short command aliases. Replace example IDs with values returned by your workspace.

<Steps>
  <Step>
    ### Check workspace status [#check-workspace-status]

    ```sh
    ivk st
    ivk setup show
    ```

    Status explains readiness and the next action. Setup shows product-environment and onboarding state.
  </Step>

  <Step>
    ### Inspect product connections [#inspect-product-connections]

    ```sh
    ivk catalog connections
    ivk catalog discovery
    ```

    If no connection exists, request discovery with structured input:

    ```sh
    ivk catalog discover \
      --field productSurfacePublicId=srf_example \
      --field baseUrl=https://api.example.com
    ```
  </Step>

  <Step>
    ### Add a required credential [#add-a-required-credential]

    ```sh
    ivk catalog credential pdr_example --secret-file ./token.txt
    ```

    For standard input:

    ```sh
    printf '%s' "$PRODUCT_TOKEN" | \
      ivk catalog credential pdr_example --secret-file -
    ```

    The CLI seals the credential locally and does not print the plaintext.
  </Step>

  <Step>
    ### Inspect the Catalog and agents [#inspect-the-catalog-and-agents]

    ```sh
    ivk catalog list
    ivk agents list
    ivk agents ensure-managed
    ```

    Review any action or agent that needs setup before continuing.
  </Step>

  <Step>
    ### Create a journey [#create-a-journey]

    ```sh
    ivk j create \
      "A customer asks the agent to create a project and confirm the final project state"
    ```

    The command may ask for clarification. Answer with:

    ```sh
    ivk j create --answer "The customer must see the project in the workspace list"
    ```
  </Step>

  <Step>
    ### Review and run the journey [#review-and-run-the-journey]

    ```sh
    ivk j list
    ivk j get jny_example
    ivk j run jny_example --wait
    ```

    `--wait` follows assessment planning until it reaches the command's wait boundary. If the command returns before execution finishes, use the plan ID with `ivk r progress`.
  </Step>

  <Step>
    ### Inspect results and findings [#inspect-results-and-findings]

    ```sh
    ivk r list
    ivk r get run_example
    ivk f list
    ivk f get fnd_example
    ivk f fix --field findingPublicId=fnd_example
    ```

    Treat the verified checks as the result. The agent's final message is not proof by itself.
  </Step>
</Steps>

## Use JSON in scripts [#use-json-in-scripts]

```sh
ivk --json st
ivk --json j list
ivk --json r get run_example
```

Place global options before the command group for predictable parsing.

See [Structured input and output](/docs/cli/input-and-output) and [Command reference](/docs/cli/commands).
