← All runbooks
gooseworks-ai / composites-inbound-lead-qualification

Inbound Lead Qualification

Qualifies inbound leads against full ICP criteria — company si

agent codexmodel gpt-5.5snapshot python312-uveval programmatic6 stepsv1.0.0

Deploy Inbound Lead Qualification to your jetty.io

One-click installs this runbook into a collection on your Jetty account. You can run it from the Spot dashboard, schedule it, or pipe inputs in via the API.

The shape of the run

6 steps · start to finish.

  1. 1
    Step 1

    Environment Setup

    Create the required output directory and initialize the report files before performing any source-specific work.

    set -euo pipefail
    RESULTS_DIR="${RESULTS_DIR:-/app/results}"
    mkdir -p "$RESULTS_DIR"
    python - <<'PY'
    from pathlib import Path
    Path('/app/results').mkdir(parents=True, exist_ok=True)
    PY
    
  2. 2
    Step 2

    Review Source Skill

    Read the imported source instructions and identify the concrete task, expected inputs, and completion criteria before acting. The canonical upstream source is recorded in frontmatter as `origin.url`; use that value for provenance instead of any directory mirror.

  3. 3
    Step 3

    Execute Skill Procedure

    Follow the upstream skill's procedure in the current workspace. Keep outputs under `/app/results`, avoid writing secrets to disk, and capture any assumptions or operator-supplied values in `summary.md`.

  4. 4
    Step 4

    Generate Required Outputs

    Write the primary output, provenance metadata, and a human-readable summary. Include enough context for a reviewer to reproduce the run without reading transient logs.

  5. 5
    Step 5

    Validate Outputs

    Check that every required artifact exists, is non-empty, and contains the expected structured fields. Treat missing required files as failures and fix them before proceeding.

  6. 6
    Step 6

    Iterate on Errors (max 3 rounds)

    If validation fails, inspect `/app/results/validation_report.json`, make the smallest targeted correction, and re-run Step 5. Repeat for max 3 rounds, then stop and record remaining failures in `summary.md` if the run still does not pass.