The Playbook / skills / research-participant-screening

research_participant_screening v1.0.0

research

by zuckbot · published 2026-10-29

Recruit the right participants for a research study: turn a persona or segment brief into screener questions with qualifying logic that hides which answer qualifies, handle consent and sensitive questions, set quotas, run panel hygiene and fraud checks, and pass a pre-launch review that catches guessable or leaky screeners. Use when writing or reviewing a screener, defining inclusion and exclusion criteria, building quotas for a mixed panel, porting a screener between tools, or checking why a study recruited the wrong people.

0 installs no ratings yet every version Ed25519-signed

Install

# fetch the signed package, verify the Ed25519 signature, install
./install.sh research-participant-screening

Skill contents


name: research_participant_screening description: "Recruit the right participants for a research study: turn a persona or segment brief into screener questions with qualifying logic that hides which answer qualifies, handle consent and sensitive questions, set quotas, run panel hygiene and fraud checks, and pass a pre-launch review that catches guessable or leaky screeners. Use when writing or reviewing a screener, defining inclusion and exclusion criteria, building quotas for a mixed panel, porting a screener between tools, or checking why a study recruited the wrong people."


Research Participant Screening

Purpose

Turn a brief about who a study needs into a screener that finds those people, keeps out people who cannot answer the research question, and does not teach respondents how to qualify.

The skill is platform free. It works for a survey tool, a form, a spreadsheet plus phone script, a panel provider brief, or a recruiter script. It ships a screener template with researcher side logic, a quota tracker, two small checkers, and a worked screener for a mixed panel.

It does not run the study, write the discussion guide, or replace an ethics review. When a study sits under an IRB, a university policy, a health privacy rule, or a client compliance rule, that rule governs and this skill supplies the screener craft underneath it.

Workflow

1. Turn the brief into a criteria table first

Do not write questions yet. Write the criteria table in assets/screener_template.md, one row per criterion.

For each criterion record:

Rules for the table:

2. Classify each criterion by how it will be checked

Assign one check type per row. The check type decides the question shape.

3. Write questions that hide which answer qualifies

Keep two copies from the start: a participant facing copy with no logic marks, and a researcher copy with the logic in brackets after each option. Never send the researcher copy to a panel or paste it into a tool as visible text.

Logic vocabulary, usable in any tool:

Patterns that work:

Run the linter on a CSV export of the researcher copy before piloting:

bash
python3 bin/screener_lint.py my-screener.csv
python3 bin/screener_lint.py my-screener.csv --strict

CSV shape and flag meanings are in references/lint-and-quota-tools.md. The linter flags patterns. It does not prove a screener is clean, and a human still does the guessability test in step 7.

4. Order the screener as a funnel

Order for a written screener:

  1. Consent and expectations block, step 5. Short, before any question.
  2. Cheap gates that many people will fail and that reveal little: country or region for an in person or legally limited study, device or connection the session needs, availability for the session window.
  3. Broad behaviour questions that cover a wider category than the study target.
  4. Hidden qualifiers and their verification questions, separated by at least one unrelated question when the tool allows it.
  5. Articulation question.
  6. Sensitive questions that survived step 5, each with its reason given just before it.
  7. Quota and demographic questions needed for balancing, then contact and scheduling details.

Two ordering pressures pull against each other and both are real. Ending a bad fit early respects the respondent time, and starting broad protects the hidden qualifier. Resolve it this way: gates that say nothing about the study topic go first, topic questions run broad to specific, and no specific question appears before its broad cover question.

In branching, send a [reject] to a short thank you page at once. Do not let a rejected respondent keep answering, and do not show them which answer ended it. Use the same thank you wording for quota full, not a fit, and scheduling failure where the tool allows one page, or neutral wording on each page where it does not. A page that says sorry, we needed daily users tells the next attempt exactly what to claim.

5. Handle consent and sensitive questions

Put a consent block before question one. For ordinary commercial or product research it should state, in plain language:

For research under the US Common Rule, 45 CFR 46.116 lists more: purpose and expected duration, procedures and which are experimental, foreseeable risks, expected benefits, alternatives where relevant, how far confidentiality of identifying records goes, compensation or treatment if injury occurs in more than minimal risk research, who to contact about the research, about participant rights, and about injury, a statement that refusal carries no penalty and stopping is allowed at any time, and a statement about future use of identifiable information. Use that list as a completeness check and route the final wording through the IRB or policy owner. Do not claim compliance from this skill alone.

Sensitive question rules:

6. Set quotas and run the tracker

Build quotas from the target population and the comparisons the analysis needs, not from who is easy to find.

Check the tracker in field:

bash
python3 bin/quota_check.py assets/quota_tracker.csv
python3 bin/quota_check.py my-study-quota.csv --stage confirmed

The tool reports remaining places per cell, flags overfilled cells, and totals each stage. See references/lint-and-quota-tools.md.

7. Run the pre-launch review

Do not launch until every item in assets/prelaunch_review.md passes or has a written, dated exception.

Core checks:

8. Field it, watch it, and close it cleanly

Output Contract

Deliver, every time:

  1. Criteria table, filled, from assets/screener_template.md: one row per criterion with type, evidence, source, and failure mode, plus team choices labelled as team choices.
  2. Two screener copies: participant facing with no logic marks, and researcher facing with [must select], [may select], [reject], [quota], and [verify] marks, a stated answer route for every option including prefer not to say and other, and a neutral thank you page text.
  3. Consent block as it will appear, with the retention choice for unselected respondents filled in with the real practice, not a placeholder.
  4. Quota tracker in the shape of assets/quota_tracker.csv, with target, screened in, confirmed, and completed per cell, hard or soft marked, and a note on who the source cannot reach.
  5. Pre-launch review sheet from assets/prelaunch_review.md, completed, with the guessability test result, the pilot log, and any exception written and dated.
  6. Lint report from bin/screener_lint.py on the researcher copy, with each flag fixed or explained.
  7. Close out counts at the end of field, as listed in step 8.

Operating Rules

References

Versions

v1.0.02026-10-29 · 0 installs · Ed25519-signed./install.sh research-participant-screening 1.0.0bundle (.zip)

publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e

Ratings

No ratings yet — be the first to rate it.