agentleFS
DataSift-Ty-PersonalDataSift-Ty-Personal/SiftStack/skills/account-blueprint/SKILL.md

account-blueprint

Skill22 starsChanged 53 days agoMITView on GitHub

Build a DataSift account in the same structure as the DataSift reference account, over the API, with a read-back on every object: preset folders and presets, lead statuses, lists, tags, custom fields, task presets, sequences, and SiftMap auto-add presets. Ships the current reference blueprint. Also exports any account you hold an Open API key for into the same portable format. Trigger for: set up my DataSift account like the challenge account, clone the preset system, install the sequential marketing presets, copy the sequences into a new account, or export my account structure.

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 4 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use when someone says "set my account up like the challenge account", "install the preset system", "clone the sequences", or "export my …

    line 13
  2. Distinctive:

    Every object is read back after it is created and compared to what was sent.

    line 31
  3. Distinctive:

    Create a preset that means something different: If a list, tag, board or column a preset references does not exist in your account, that …

    line 75
  4. Distinctive:

    If you hold an Open API key for an account, you can turn it into a blueprint the same way:

    line 104

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Account Blueprint

Set up a DataSift account the way the reference account is set up, without clicking through 98 presets and 27 sequences by hand, and without trusting that a create "worked" because the server said 200.

Use when someone says "set my account up like the challenge account", "install the preset system", "clone the sequences", or "export my account structure".

What you get

One command creates, in dependency order, everything a working account needs:

familywhat lands
statusesthe custom lead statuses, with their colors
liststhe classification lists (Absentee Owners, Probate, Foreclosure, ...)
tagsonly the tags the system uses (Priority 1, Courthouse Data, recently sold, ...)
custom fieldsgroups, fields and select options
task presetstask groups and the presets sequences create tasks from
presetsevery preset folder and preset, filters translated to your account
sequencesfolders and sequences, board columns and task presets re-linked
SiftMapthe auto-add presets, created with auto-add OFF

Every object is read back after it is created and compared to what was sent. A preset whose saved filter differs from the one sent is a mismatch and the run exits 2. Anything that could not be reproduced is a named gap in the report, never a silent omission.

Requirements

  • Python 3.10+ (stdlib only, nothing to install)
  • Your own DataSift login. Either a JWT copied from the browser session, or your email and password (the script mints its own token)
  • A blueprint file. The reference one is in blueprints/

Run it

cd scripts

# 1. See what would happen. Nothing is written.
python clone_account.py --phase plan --blueprint ../blueprints/ty2_2026-09-10.json \
    --target you@example.com --email you@example.com --password '...'

# 2. Create it. Still nothing is written without --commit.
python clone_account.py --phase apply --blueprint ../blueprints/ty2_2026-09-10.json \
    --target you@example.com --email you@example.com --password '...' --commit

# 3. Check parity later, read-only.
python clone_account.py --phase verify --blueprint ../blueprints/ty2_2026-09-10.json \
    --target you@example.com --jwt '<paste>'

A pasted token works instead of a password: --jwt '<token>' or the REISIFT_TARGET_JWT environment variable. Copy it from any request to apiv2.reisift.io in your browser's network tab (the authorization: Bearer header).

The report lands next to the blueprint as apply_<you>_<time>.md. Read the "Configure by hand" section: it lists exactly what the API could not do.

What it refuses to do, on purpose

  • Write to the wrong account. The token's email must match --target, the token's account must differ from the blueprint's source account, and a live read must come back from that same account. Any doubt is exit 3 before the first write.
  • Create a preset that means something different. If a list, tag, board or column a preset references does not exist in your account, that preset is skipped and named in the report. A "Ready to Call" preset minus its Priority 1 gate would select every record with a phone number.
  • Create a sequence that fires into nothing. A sequence whose trigger points at a board column you do not have is skipped. One that lost only a notification action (send SMS, send email carry the source account's own numbers and are never copied) is created inactive with a note.
  • Spend your record allowance. SiftMap presets are created with auto-add off. Turn it on per preset once the addresses are your market (--siftmap-auto-add keeps the source setting).
  • Bring market data along. Neighborhood exclusions from the source market are stripped (--keep-neighborhoods to keep them).

Options worth knowing

flagwhat it does
--only presets,sequencescreate only these families; the rest are indexed but never created
--skip siftmapleave a family alone
--user-map "Adriana=Jane,Tinaa=Sam"map the source callers to yours for the per-caller queue presets; unmapped ones point at you with a note
--folders allinclude non-numbered preset folders (default: only 01. style folders)
--move-presetsa preset that already exists in a differently named folder is moved to the blueprint's folder (a folder rename at the source is normal drift)
--stub-inactivecreate a sequence inactive when one of its actions cannot be re-linked
--probe-only --commitcreate one object on each never-before-used route, read it back, stop
--strict-countstreat a preset that matches zero records as a failure

Export your own account

If you hold an Open API key for an account, you can turn it into a blueprint the same way:

python clone_account.py --phase export --api-key '<key>' --label myaccount --no-counts
python clone_account.py --phase validate --blueprint ../../output/blueprints/myaccount_<date>.json

Validation refuses a file that carries any uuid other than the source account id, any phone number, or any email address, so a blueprint is safe to hand to someone else.

How the reference blueprint was made

references/blueprint-format.md describes the file. The reference blueprint was exported live from the DataSift challenge account on 2026-09-10: 20 preset folders and 98 presets, 27 sequences, 13 task presets, 37 custom fields, 37 SiftMap presets, 56 lists, 21 tags and 4 custom statuses. Sequences that send SMS or email in the source account are included without those actions and are created inactive, with the message text kept in the file so you can re-add them with your own integration.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.