Draft a structured questionnaire
Map business decisions to metrics and questions before drafting. Identify the population, screening criteria, sampling assumptions, languages, timing and pilot plan. Learn structure from authorized local references without inheriting client content or fixed project parameters.
- Read schema v2. For reference-level deliverables, use the professional benchmark to find and close substantive gaps. Review wording for one concept per question, an explicit recall period, balanced labels and non-overlapping categories. Preserve existing scale definitions when comparability matters.
- Keep unprompted awareness ahead of prompted lists. Distinguish not-asked, unknown, inapplicable and substantive zero. Special codes are project-defined; Other is not automatically exclusive. Randomization changes display order, never stored codes.
- Run
python scripts/run.py survey-check --spec SPEC. Add synthetic routing cases and runsurvey-simulate --spec SPEC --cases CASES. The simulator covers explicit forward routes and display conditions, not arbitrary prose or a live survey platform. - Review content, programming and analysis; bind the current specification hash.
survey-run --spec SPEC --output OUTPUTprovides a baseline export; use the host's Office workflow for professional master and appendix layout. Missing routing branch coverage or stale reviews block export. - Use
research-codebookto generate the matching Datamap. Check variable names, multi-response storage, matrix dimensions and missing rules; then inspect Office validity and layout.
Do not invent incidence rates or quotas. Review marginal quota totals separately per dimension. Calibrate timing and quality rules through a pilot; do not assume one cutoff fits every study. Business review and fieldwork piloting remain required beyond the compiler checks.
The original small questionnaire --plan PLAN workflow remains supported through its legacy protocol. Prefer v2 for new studies.
This skill requires the shared Python package installed from this repository. It does not run a web server or grant authority to publish or message anyone.