Scribeless recipient data prep
Skill scribeless/skills/skills/scribeless-recipient-data-prep
Public agent skills for Scribeless handwritten mail workflows
npx -y skills add scribeless/skills --skill scribeless-recipient-data-prepAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Clean and validate recipient CSV or JSON data for Scribeless uploads and API calls. Use when a user needs to map spreadsheet columns to Scribeless recipient fields, detect missing names or postal addresses, normalize country/state/postcode fields, keep personalization variables, build POST /api/recipients payloads, validate POST /api/recipients/html data, or produce a validation report before uploading recipients.
SKILL.md
3.5 KB, 762 tokens by cl100k_base, as published. Nobody here has run it
Scribeless Recipient Data Prep
Workflow
- Inspect the input format:
- CSV spreadsheet
- raw JSON array
- existing Scribeless API payload with
campaignIdanddata - custom HTML recipient payload with
product_key,html, anddata
- Map input columns to public Scribeless API fields:
titlefirstNamelastNamecompanyaddress.address1address.address2address.address3address.cityaddress.stateaddress.postalCodeaddress.country
- Preserve unrecognized business fields as
variables.- For
POST /api/recipients/html, keep generated creative in the top-levelhtml.frontand/orhtml.backobjects. - Keep custom recipient values inside
data.variables.
- For
- Validate:
- first name present
- address line 1 present
- city present
- state/region present when required for the destination country
- country present
- postcode present
- address line 1 preferably no longer than 30 characters
- HTML front/back
htmlvalues, when present, are strings no larger than 250 KB each
- Return a concise report:
- valid count
- warning/error count
- rows requiring user attention
- suggested column mapping
- Build payloads only when the user provides or confirms the campaign ID.
Scripts
Validate a CSV or JSON file:
python3 scripts/validate_recipients.py recipients.csv --report report.json
Build a Scribeless API payload:
python3 scripts/build_recipient_payload.py recipients.csv --campaign-id CAMPAIGN_ID --output payload.json
Payload Guidance
Prefer the standard campaign recipient API shape:
{
"campaignId": "CAMPAIGN_ID",
"data": [
{
"firstName": "Ada",
"lastName": "Lovelace",
"company": "Example Co",
"address": {
"address1": "123 Example St",
"city": "Bristol",
"state": "Bristol",
"postalCode": "BS1 1AA",
"country": "GB"
},
"variables": {
"plan": "VIP"
}
}
]
}
For custom HTML recipient rendering, validate the data object, top-level html object, product_key, include_envelope, and orientation used by POST /api/recipients/html.
Rules
- Do not discard unknown columns; put them under
variablesunless they are empty. - Use the public API field names in generated payloads:
firstName,lastName, andaddress.postalCode. - For custom HTML recipient rendering, do not put HTML creative inside
data.variables; use the endpoint's top-levelhtml.frontand/orhtml.backobjects. - Do not fabricate missing addresses.
- Do not send live API requests unless explicitly asked after payload review.
- If a country, state, or postcode is ambiguous, flag it rather than guessing.
Support
- Help Center:
https://help.scribeless.co/en/ - API documentation:
https://docs.scribeless.co/ - For integration issues, ask the user to contact Scribeless through live chat or
[email protected].
References
- Use
references/recipient-fields.mdfor field mapping and warning rules.