@somacheck/vibecheck 0.6.10 → 0.6.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,215 @@
1
+ ---
2
+ title: Prolific + SomaCheck Research Reflection
3
+ recipe_id: prolific-research-reflection-v1
4
+ status: P1 researcher-side only
5
+ audience: Researchers using Prolific with an MCP-capable agent
6
+ updated: 2026-09-03
7
+ required_mcp_servers:
8
+ - prolific
9
+ - vibecheck
10
+ ---
11
+
12
+ # Prolific + SomaCheck Research Reflection
13
+
14
+ Use this recipe when a researcher wants a private, consented signal about their
15
+ own response to a Prolific study or recruitment plan. It supports reflection on
16
+ study framing, audience rationale, reward and time assumptions, and readiness
17
+ to revise a draft. It does not evaluate participants or authorize a study
18
+ launch.
19
+
20
+ The reading is context for the researcher. It is not truth, a diagnosis,
21
+ authorization, evidence about a participant, or a research decision. The
22
+ researcher remains the authority.
23
+
24
+ ## Launch boundary
25
+
26
+ This P1 recipe is **researcher-side only**. The person holding the phone and
27
+ receiving the SomaCheck result must be the researcher interacting with the
28
+ agent.
29
+
30
+ Do not use this recipe to:
31
+
32
+ - ask a participant or employee to complete a SomaCheck;
33
+ - export a participant reading, confidence, or confirmation to Prolific or a
34
+ connected survey platform;
35
+ - use a SomaCheck result in recruitment, screening, eligibility, allow/block
36
+ lists, reward, payment, bonus, rejection, quality, authenticity, submission,
37
+ or performance decisions;
38
+ - score or rank a participant, response, cohort, study, or researcher;
39
+ - automatically create, publish, pause, or transition a study; or
40
+ - run a live respondent workflow.
41
+
42
+ Participant-facing use stays blocked until a `respondent_private` architecture
43
+ technically prevents researcher or platform access to individual readings, a
44
+ methodology and ethics review is complete, and Mike gives explicit approval.
45
+ Prolific access or participant consent alone does not satisfy these gates.
46
+
47
+ ## Prerequisites
48
+
49
+ 1. The researcher has linked the `vibecheck` MCP server to their own SomaCheck
50
+ account and can see `request_vibecheck` and `get_vibecheck_result`.
51
+ 2. The researcher has installed Prolific's official open-source MCP server from
52
+ `prolific-oss/prolific-mcp` and can see its study-planning tools. Prefer a
53
+ reviewed, pinned package version rather than an unbounded install.
54
+ 3. `PROLIFIC_TOKEN` is stored only in the MCP client's environment or secret
55
+ configuration. Never paste, echo, log, or place it in a proposition. Prolific
56
+ states that researcher tokens do not expire and carry the researcher's
57
+ permissions, so rotate a token if exposure is suspected.
58
+ 4. The researcher names one workspace, project, or draft study in scope. The
59
+ recipe does not retrieve submissions, participant messages, participant
60
+ identifiers, response exports, or demographic exports.
61
+
62
+ The official server currently exposes study-design and launch tools but no
63
+ participant-response tools. Do not bypass that boundary with direct REST calls,
64
+ a browser, another connector, or pasted exports.
65
+
66
+ ## Prolific tool policy
67
+
68
+ Use read-only planning tools for this recipe.
69
+
70
+ | Purpose | Prolific MCP tools | Rule |
71
+ | --- | --- | --- |
72
+ | Resolve researcher-owned scope | `list_workspaces`, `list_projects`, `list_studies`, `view_study` | Read only the workspace, project, or study the researcher names. |
73
+ | Inspect recruitment options | `get_filters`, `get_filter_sets`, `get_eligibility_count` | Planning context only. Never combine a SomaCheck reading with participant eligibility, filtering, or cohort scoring. |
74
+ | Create or change platform state | `create_filter_set`, `create_study` | Not part of this recipe; require a separate, explicit, reviewed request. |
75
+ | Spend or launch | `publish_study` | Never call in this recipe. Publishing can spend real money and make a study immediately available. |
76
+
77
+ ## Exact cross-MCP workflow
78
+
79
+ Follow these steps in order. The Prolific and SomaCheck calls must not form an
80
+ automatic decision gate.
81
+
82
+ 1. **Confirm the subject and scope.** State that the researcher is reflecting
83
+ on their own recruitment or study-design choice. Name the one Prolific
84
+ workspace, project, or draft study to inspect.
85
+ 2. **Retrieve the minimum planning context.** If the researcher supplied an
86
+ exact study ID, call `view_study` directly. Otherwise use `list_workspaces`
87
+ only if the workspace is unresolved, `list_projects` only if the project is
88
+ unresolved, and `list_studies` only to resolve the named study before calling
89
+ `view_study`. Do not retrieve or request participant-level data.
90
+ 3. **Inspect feasibility without scoring people.** If needed, use `get_filters`,
91
+ `get_filter_sets`, or `get_eligibility_count` to describe available filters
92
+ and aggregate pool feasibility. Keep this separate from the SomaCheck result.
93
+ Do not recommend a filter merely because a proposition returns Aligned or
94
+ Unaligned.
95
+ 4. **Separate evidence from interpretation.** Summarize the draft's literal
96
+ study framing, audience, estimated time, reward, and status; label agent
97
+ inferences; and present two or more reasonable options. Flag missing ethics,
98
+ budget, method, or institutional approvals without inventing them.
99
+ 5. **Choose one first-person proposition.** It must express the researcher's
100
+ present experience or choice, not a claim about a participant or cohort. Do
101
+ not include study IDs, participant attributes, Prolific content, or secrets.
102
+ 6. **Establish one-ask consent.** If the researcher explicitly requested a
103
+ SomaCheck vibecheck in the current message, call `request_vibecheck` with
104
+ `consent_basis: "user_requested_vibecheck"`. Otherwise show the exact
105
+ proposition, wait for acceptance, and use
106
+ `consent_basis: "user_approved_statement"`.
107
+ 7. **Request once.** Call `request_vibecheck` with the approved statement and a
108
+ fresh UUID as `idempotency_key`. Reuse that UUID only to retry the same
109
+ statement after an ambiguous create failure. Never repeat an ask to obtain a
110
+ preferred result.
111
+ 8. **Handle the exact result.** `request_vibecheck` reports a terminal answer as
112
+ `state: "completed"`; a later `get_vibecheck_result` read reports the same
113
+ lifecycle point as `status: "answered"`. Treat either as the terminal result
114
+ and keep four layers distinct: observation (a valid gesture was captured),
115
+ interpretation (`aligned` or `unaligned` plus model confidence), confirmation
116
+ (what the researcher says), and choice (what the researcher decides).
117
+ `unaligned` means possible inner conflict relative to the proposition; it
118
+ does not identify a cause. If the initial response is `pending`, retain its
119
+ `live:<uuid>` handle and call `get_vibecheck_result` with that exact handle
120
+ once later. Do not create a replacement request. If that read is still
121
+ `pending`, is `expired` or `cancelled`, or errors, continue without a result;
122
+ do not infer one or start another request.
123
+ 9. **Return authority and stop before mutation.** Offer revise, investigate,
124
+ proceed to separate review, pause, or leave unchanged. Do not call
125
+ `create_filter_set`, `create_study`, or `publish_study`. If the researcher
126
+ chooses a change, produce a reviewable draft outside Prolific; platform
127
+ mutation is a new action requiring explicit instruction. A typed researcher
128
+ choice overrides the signal.
129
+ 10. **Keep the signal private.** Do not write the verdict, confidence, gesture,
130
+ confirmation, or inferred meaning to Prolific or another research platform.
131
+
132
+ ## Proposition examples
133
+
134
+ Good propositions are short, first-person, and about the researcher:
135
+
136
+ - “I can explain why this recruitment plan fits the research question.”
137
+ - “I am comfortable defending the current time and reward assumptions.”
138
+ - “I want to narrow this audience for methodological reasons.”
139
+ - “I am ready to send this draft for ethics and budget review.”
140
+ - “I want to investigate an alternative sampling plan before I proceed.”
141
+
142
+ Never send propositions such as:
143
+
144
+ - “This participant should be eligible.”
145
+ - “This cohort will produce high-quality data.”
146
+ - “This submission deserves payment.”
147
+ - “These respondents are authentic.”
148
+ - “This study should publish automatically.”
149
+
150
+ ## Trigger and anti-trigger rules
151
+
152
+ Trigger this recipe when the researcher explicitly asks to reflect with
153
+ SomaCheck. The agent may also **offer** one check when the researcher is choosing
154
+ between defensible recruitment plans, cannot articulate what feels off about a
155
+ draft, or wants to examine their own readiness before a formal review. An offer
156
+ must include the exact proposition and must not call the tool until accepted.
157
+
158
+ Do not trigger when:
159
+
160
+ - the task is routine Prolific retrieval or administration;
161
+ - the proposed subject is a participant, employee, cohort, or respondent;
162
+ - the result would affect eligibility, filtering, payment, bonus, rejection,
163
+ submission quality, authenticity, or performance;
164
+ - the researcher has already made a clear typed choice;
165
+ - the agent is being asked to publish, gate, or automate a launch; or
166
+ - a vibecheck was already used for the same decision.
167
+
168
+ ## Consent, privacy, and failure behavior
169
+
170
+ Linking the MCP servers is setup, not blanket consent. A proactive check always
171
+ requires acceptance of its exact wording. Never send Prolific records,
172
+ participant data, identifiers, secrets, or diagnostic claims to SomaCheck. Raw
173
+ phone motion never goes to the agent or Prolific. Do not persist a researcher's
174
+ reading or confidence in Prolific.
175
+
176
+ If Prolific authorization fails, ask the researcher to repair or rotate the
177
+ connection; never request that they paste a token. If the requested scope would
178
+ require participant-level data, stop. If SomaCheck reports an unreadable
179
+ capture, request a retry only if the researcher wants one; unreadable is not a
180
+ third interpretation. If the request expires, is cancelled, or errors, continue
181
+ without a reading. Never infer a result. If the result and the researcher's
182
+ words differ, follow the researcher's words and preserve the difference rather
183
+ than reconciling it into a score.
184
+
185
+ ## Verification checklist
186
+
187
+ - [ ] The `prolific` server is the reviewed official implementation and the
188
+ `vibecheck` server exposes the expected tools.
189
+ - [ ] No Prolific or SomaCheck credential appears in chat, config examples,
190
+ propositions, or logs.
191
+ - [ ] The agent names one researcher-owned workspace, project, or study and uses
192
+ only minimum read-only planning calls.
193
+ - [ ] No submission, participant message, identifier, response, or demographic
194
+ export is retrieved or pasted into the flow.
195
+ - [ ] The proposition is first-person and contains no Prolific or participant
196
+ content.
197
+ - [ ] A proactive ask waits for acceptance; an explicit user request does not
198
+ add a redundant consent prompt.
199
+ - [ ] One decision creates at most one `request_vibecheck` request and preserves
200
+ its stable pending handle.
201
+ - [ ] The response distinguishes observation, interpretation, confirmation, and
202
+ choice.
203
+ - [ ] No result affects eligibility, payment, quality, filtering, scoring, or
204
+ launch decisions.
205
+ - [ ] `create_filter_set`, `create_study`, and `publish_study` are not called.
206
+ - [ ] Participant-facing behavior remains blocked by the `respondent_private`,
207
+ methodology/ethics, and Mike-approval gates.
208
+
209
+ ## Sources
210
+
211
+ - [Prolific MCP server](https://github.com/prolific-oss/prolific-mcp)
212
+ - [Prolific API fundamentals](https://docs.prolific.com/documentation/get-started/api-fundamentals)
213
+ - [Prolific studies API](https://docs.prolific.com/api-reference/studies)
214
+ - [SomaCheck MCP setup and tool behavior](../README.md)
215
+ - [SomaCheck immediate-request contract](../LIVE-ASK-CONTRACT.md)
@@ -0,0 +1,151 @@
1
+ ---
2
+ title: QuestionPro + SomaCheck Research Reflection
3
+ recipe_id: questionpro-research-reflection-v1
4
+ status: P1 researcher-private partner-sandbox template
5
+ audience: Researchers evaluating a QuestionPro partnership workflow
6
+ updated: 2026-09-05
7
+ required_mcp_servers:
8
+ - questionpro-surveybuilder
9
+ - vibecheck
10
+ ---
11
+
12
+ # QuestionPro + SomaCheck Research Reflection
13
+
14
+ This recipe helps a researcher privately compare two questionnaire framings and
15
+ produce a copy-ready, non-distributed survey definition. It is not a request for
16
+ the researcher to become a QuestionPro customer or populate a personal account.
17
+ The QuestionPro half is inspected only when a product or integration owner has
18
+ provided a partner-approved sandbox with no participant data.
19
+
20
+ The researcher holds the phone and is the subject of the proposition. SomaCheck
21
+ returns Aligned or Unaligned plus confidence to the agent as context. The agent
22
+ uses its judgment; the reading is not truth, diagnosis, authorization, evidence
23
+ about a respondent, or a research decision. The researcher remains the authority.
24
+
25
+ ## Experience a partner team can evaluate
26
+
27
+ The researcher supplies a participant-free survey goal. The agent drafts two
28
+ four-question versions and may offer one SomaCheck check-in on the researcher's
29
+ own preferred direction. The researcher then chooses in words. The output is a
30
+ signal-free survey definition for a QuestionPro owner to review. This recipe
31
+ does not create, publish, distribute, or populate a survey.
32
+
33
+ ## Starter prompt
34
+
35
+ ```text
36
+ Use QuestionPro and SomaCheck to help me prepare a four-question, participant-free
37
+ test-survey plan without changing QuestionPro. I am the researcher and I am
38
+ holding the phone. The survey goal is [GOAL]. Work only from what I provide. If a
39
+ product or integration owner has supplied a preconfigured official QuestionPro
40
+ partner sandbox, you may inspect the focused Survey Builder capability names and
41
+ schemas, but do not call a platform data or action tool. Do not ask me to sign up,
42
+ upgrade, buy a plan, administer access, or populate QuestionPro data. Propose two
43
+ questionnaire framings and show the exact questions. Then offer one short
44
+ first-person proposition about my own preferred direction and wait for my
45
+ acceptance before any proactive SomaCheck ask. Give the result and confidence to
46
+ the agent as context and let it use its judgment. Ask what I choose in words.
47
+ Keep the proposition, reading, confidence, and confirmation out of QuestionPro.
48
+ Return a copy-ready, signal-free survey definition only. Do not create, edit,
49
+ send, distribute, publish, recruit, launch, access responses, or spend anything.
50
+ ```
51
+
52
+ ## Prerequisites and partner access
53
+
54
+ 1. The researcher supplies a participant-free goal and holds the linked
55
+ SomaCheck phone.
56
+ 2. QuestionPro or the integration owner supplies a partner-approved sandbox or
57
+ schema fixture. The recipe never asks the researcher to open or fund an
58
+ ordinary customer account.
59
+ 3. If live discovery is authorized, use only the focused endpoint
60
+ `https://mcp.questionpro.com/surveybuilder`, not the root, `/all`, or `/full`
61
+ surface.
62
+ 4. Inspect capability names and schemas only. Do not call create, read, send,
63
+ audience, response, poll, community, employee, or other platform tools.
64
+ 5. If no partner sandbox or safe schema fixture exists, label the QuestionPro
65
+ half untested and still return the copy-ready plan.
66
+
67
+ ## Exact workflow
68
+
69
+ 1. Confirm that the researcher is the phone holder and proposition subject.
70
+ 2. Draft two four-question variants using only the supplied brief.
71
+ 3. Offer one concise first-person proposition about the researcher's direction.
72
+ 4. If the researcher explicitly asks for a vibecheck, use
73
+ `consent_basis: "user_requested_vibecheck"`. Otherwise wait for acceptance
74
+ and use `consent_basis: "user_approved_statement"`.
75
+ 5. Use one fresh UUID idempotency key and retain the same request handle while
76
+ pending. Never create a second request to replace an unresolved one.
77
+ 6. Give the proposition, Aligned or Unaligned result, and confidence to the
78
+ agent. Let the agent use its judgment in context without treating the result
79
+ as authorization or a claim about respondents.
80
+ 7. Ask what the researcher chooses in words. Their choice controls the plan.
81
+ 8. Return a copy-ready payload with title, purpose, questions, answer choices,
82
+ and optional logic. Exclude all SomaCheck data and platform identifiers.
83
+ 9. Stop before any QuestionPro data or action call. A partner owner may review
84
+ the payload separately in its own governed workflow.
85
+
86
+ ## Proposition examples
87
+
88
+ Allowed:
89
+
90
+ - “I want this survey to focus on first-use clarity.”
91
+ - “This question asks what I am trying to learn.”
92
+ - “I want to separate usability from perceived value.”
93
+
94
+ Not allowed:
95
+
96
+ - “Respondents will understand this survey.”
97
+ - “This employee's response proves commitment.”
98
+ - “These answers will be truthful.”
99
+ - “This survey will produce valid data.”
100
+
101
+ ## Visible success condition
102
+
103
+ The recipe passes when the researcher receives at most one optional check-in,
104
+ states a choice, and receives a four-question, signal-free survey definition.
105
+ No QuestionPro data or action tool runs. Partner integration and distribution
106
+ remain unproven until QuestionPro supplies a sandbox and a documented path that
107
+ another non-Sensie customer can discover, authorize, use, and revoke.
108
+
109
+ ## Failure and degraded paths
110
+
111
+ - **No partner sandbox:** return the copy-ready plan and label platform
112
+ interoperability untested. Do not ask the researcher to sign up or upgrade.
113
+ - **Only a broad server is available:** stop rather than connect root, `/all`,
114
+ `/full`, response, send, audience, community, poll, or employee surfaces.
115
+ - **SomaCheck remains pending:** retain the handle and continue without a result
116
+ if it expires or is cancelled. Do not create a replacement request.
117
+ - **Unreadable capture:** offer a retry only if the researcher wants one.
118
+ - **The researcher's words differ from the reading:** follow their words.
119
+
120
+ ## Privacy boundary
121
+
122
+ - Raw motion never reaches QuestionPro or the agent.
123
+ - QuestionPro receives no proposition, reading, confidence, confirmation, or
124
+ gesture metadata.
125
+ - SomaCheck receives no QuestionPro questions, responses, respondent records,
126
+ survey IDs, credentials, or hidden fields.
127
+ - No participant-bearing or platform action tool is called.
128
+
129
+ ## Test checklist
130
+
131
+ - [ ] The researcher is the phone holder and proposition subject.
132
+ - [ ] Any QuestionPro surface was supplied by a partner owner, not purchased or
133
+ populated for this test.
134
+ - [ ] Live access, if present, is limited to schema discovery on the focused
135
+ `/surveybuilder` endpoint.
136
+ - [ ] No existing responses, analytics, respondents, audiences, employees, or
137
+ workspace data are retrieved.
138
+ - [ ] One decision creates at most one SomaCheck request.
139
+ - [ ] The agent receives Aligned or Unaligned plus confidence and retains
140
+ judgment; the researcher retains authority.
141
+ - [ ] The output contains four signal-free questions and no platform write.
142
+ - [ ] No SomaCheck output is written to QuestionPro.
143
+
144
+ ## Sources
145
+
146
+ - [QuestionPro MCP overview and capability catalog](https://www.questionpro.com/headless/)
147
+ - [QuestionPro MCP connector setup and focused server list](https://www.questionpro.com/help/mcp-help-file.html)
148
+ - [QuestionPro Survey Results tools, excluded from this recipe](https://www.questionpro.com/headless/survey-results/)
149
+ - [QuestionPro LivePolls tools, excluded from this recipe](https://www.questionpro.com/headless/livepolls/)
150
+ - [SomaCheck MCP setup and tool behavior](../README.md)
151
+ - [SomaCheck immediate-request contract](../LIVE-ASK-CONTRACT.md)