Small tools. One-time purchases. Real examples and setup guides. Try the available previews before buying.

Perunlight Corp

Step-by-step guide

SkuldOrder

Set order rules, inspect distinct sequences and take the reviewed CSV files into your experiment.

Use it before an experiment when a simple spreadsheet shuffle does not express your block, repetition, spacing or fixed-position rules.

Get SkuldOrder · $9.99

Generate and inspect the example in SkuldOrder
Actual desktop Chrome run: 12-word sample, explicit constraints, four valid orders and row-by-row review. View full size

Before you start

  • Desktop Chrome that can open extracted local HTML files; Chrome 152 on Linux was verified.
  • A UTF-8 stimulus CSV with unique row IDs; no account, upload or server is required.
  • A separately installed experiment host if you intend to run the exported sequences.

Your first result

  1. Open the example

    Extract the complete ZIP, open app/SkuldOrder.html and choose Load fictional example to show the 12-word table. The manual is included beside the app.

  2. Map your own table

    Import CSV or paste and apply it. Choose the row ID, condition and optional block columns. Inspect the preview before generating; the original stimulus columns remain in the order CSVs.

  3. Set explicit constraints

    Choose maximum condition run, optional minimum intervening rows, block order and any fixed row positions. Enter a seed and the number of distinct orders to request.

  4. Review the found orders

    Inspect each tab and its row counts, condition counts and constraint checks. A partial result needs you to select which found orders to export. Search exhaustion does not prove that a design is impossible.

  5. Save, export and check in your host

    Save project keeps an editable JSON file. Download order pack produces the selected CSV sequences and an audit. Keep a prepared sequence in sequential order when importing into an experiment, and verify how your host interprets each column.

A worked example

Four orders from twelve fictional words

Input: The included fictional-words.csv has 12 rows, six A and six B, and two blocks of six rows.

  1. Load fictional example.
  2. Keep block order 1, 2; maximum consecutive condition 2; seed skuld-demo-1; request 4 orders.
  3. Generate, inspect all four tabs and download the order pack.

Expected result: Four distinct 12-row sequences. Every row appears once; each six-row block stays contiguous; no same-condition run exceeds two. The pack includes four order CSVs, an index, original input, settings and a printable review.

See the real workflow

Screenshots from the included fictional example in the tested Chrome environment.

1. Generate and inspect the example

Generate and inspect the example in SkuldOrder
Actual desktop Chrome run: 12-word sample, explicit constraints, four valid orders and row-by-row review.

2. Review the sequence at a narrow width

Review the sequence at a narrow width in SkuldOrder
Actual 390px Chrome run with all workflow controls and a horizontally scrollable sequence table.

Troubleshooting

An import is rejected

Check unique nonblank IDs, matching CSV column counts and supported headers. Headers start with an ASCII letter and use letters, digits or underscores. Row IDs and block values cannot contain commas.

Generation finds fewer orders than requested

Inspect the reported constraints. Explicitly select valid found orders for export, or change the rules or seed. The bounded search does not prove impossibility.

A saved file will not open

Use the JSON downloaded by Save project. settings.json inside an exported order pack describes an export and is not an editable project.

Values look different in the experiment host

The order CSV preserves source cell text. A host may interpret numeric-looking text as numbers. Check identifier and stimulus types in your own experiment before collecting data.

Compatibility & limits

  • 200 data rows
  • 12 columns
  • 8 contiguous blocks
  • 20 requested distinct orders
  • 1 MiB imported CSV
  • 8 MiB opened project
  • 10,000 characters per field
  • 20,000 search nodes per attempt; difficult feasible cases may remain unresolved
  • ASCII identifier headers; comma-free row IDs and block values
  • Rejects formula-like nonnumeric text before export
  • Prepares input tables only; it does not present stimuli, assign participants, collect responses or establish scientific validity.
  • Search is deterministic for matching input, settings, seed and version; it is bounded and does not sample uniformly.
  • PsychoPy core CSV reading is a limited integration check. Builder GUI, Pavlovia, stimulus presentation and timing were not verified.

Need a hand?

Tell us the product, host application and version, what you tried, and the exact error. Contact support with a fictional example; keep private customer files and passwords out of your message.