Brandedflow target-list

<!-- LOCKED — deterministic module v1 -->

install
source · Clone the upstream repo
git clone https://github.com/JenCW/brandedflow
manifest: business-os/sales/target-list/skill.md
source content
<!-- LOCKED — deterministic module v1 -->

Skill: Target list

Purpose

Build a deterministic mock target list JSON from the client’s ICP (no live APIs). Same

client_id
and same
icp.json
always produce the same
targets.json
.

Task

Input (runner):

{ client_id }
— optional
projectRoot
(defaults to repo root).

Reads (only):

clients/{client_id}/icp/icp.json

Writes (only):

clients/{client_id}/target-list/targets.json

Output schema (deterministic)

Top-level key:

FieldTypeRules
targets
object[]At least one target; each item has all fields below, all non-empty strings where noted;
priority
high
|
medium
|
low
.

Each target:

FieldTypeRules
company_name
stringNon-empty mock builder name (deterministic from
client_id
).
location
stringFrom ICP
location
when present, else
Southern California
.
project_type
stringAlways
custom home
for this module version.
estimated_build_value
stringAlways
5M+
.
decision_maker_role
stringOne of Owner, Principal Builder, Project Director (fixed order across three targets).
reason_for_fit
stringNon-empty; synthesized from ICP
buying_triggers
,
pain_points
, and
target_company_profile
.
priority
string
high
,
medium
, or
low
aligned to decision-maker row.

Execution flow

  1. Runner — Validate
    client_id
    , load
    icp.json
    (fail closed if missing or invalid JSON), build payload, eval → if fail, refine once → re-eval → strip internal keys → write only
    targets.json
    .
  2. Eval — Structural validation; pass/fail only (orchestration envelope passthrough same as research/icp).
  3. Refine — On fail, rebuild or patch from ICP snapshot / stub; must pass eval after refine.

Rules

  • No external APIs.
  • No randomness; no
    Math.random()
    ; stable hashing (
    djb2
    ) for name selection only.
  • Fail closed on bad input, missing ICP, failed validation after refine, path escape, or I/O errors.