AI coding agents
Prompts for coding agents
Paste one of these into Claude Code, Cursor, Copilot or a similar agent to add Moyo to your codebase. Each prompt states the privacy rules so the agent does not send identifying data.
Replace pk_live_your_key with your publishable key from API keys. Never give an agent your secret key.
Install check-ins (web)
prompt
Add Moyo wellbeing check-ins to this web app.
1. Load the Moyo SDK on every page where a check-in may appear:
<script src="https://moyo.3sb.io/v1/moyo.js" data-key="pk_live_your_key" async></script>
If the app uses a bundler, use the npm package @moyo/web and call
moyo.init({ key: "pk_live_your_key" }) once at startup instead.
2. For single page apps, call moyo.session.start() when the user returns
to the app after being away for more than 30 minutes.
3. Pass moyo.init an "avoid" list of CSS selectors for the primary
action bar and any fixed bottom navigation so the card never covers them.
Rules:
- Do not pass user IDs, emails, names, or any other personal data to Moyo.
- Do not wrap, restyle, hide or reword the check-in card, its privacy line
or its "Independent check-in · Moyo" attribution.
- Do not add code that triggers a check-in manually. Moyo samples sessions itself.
- Theme, timing and dimensions are set in the Moyo dashboard, not in code.
When done, list the files you changed and how to verify the script loads.Install check-ins (React)
prompt
Add Moyo wellbeing check-ins to this React app. Install @moyo/react and wrap the root component in <MoyoProvider publishableKey="pk_live_your_key">. Read the key from an environment variable named MOYO_PUBLISHABLE_KEY using the convention this project already uses for public env vars. Rules: - Do not pass user IDs, emails, names or other personal data to Moyo. - Do not restyle or reword the check-in card or its attribution. - Do not trigger check-ins manually. When done, list the files you changed.
Pause media while a check-in is open
prompt
In this app, pause any playing audio or video when a Moyo check-in
is shown, and resume it when the check-in closes.
Use moyo.on("shown", ...) and moyo.on("closed", ({ reason }) => ...).
Events never include answer values. Do not read, log or store anything
from these events beyond the close reason.Pull readings into an internal dashboard
prompt
Add a server-side job that fetches Moyo readings once a day and stores
them for our internal dashboard.
- Call GET https://moyo.3sb.io/api/v1/dimensions, then
GET https://moyo.3sb.io/api/v1/readings/{dimension}?period=30d for each.
- Authenticate with Authorization: Bearer <secret key>, read from a server
environment variable MOYO_SECRET_KEY. Never expose it to client code.
- When a reading returns "status": "below_minimum", store the n and show
"Need 50 responses before this dimension is shown." Do not estimate values.
- Show distributions first and the 0 to 100 index as a secondary number,
always with its n and period.
- A period is whole ISO weeks, so label it as the API returns it rather
than as a rolling number of days.
- Respect the 60 requests per minute limit.Review an existing integration
prompt
Review how this codebase integrates Moyo and report problems. Check that: - No personal data (IDs, emails, names, device IDs) is passed to Moyo. - No secret key (sk_...) appears in client code or the repo. - The check-in card, privacy line and attribution are not hidden, restyled or overlaid. - Nothing triggers check-ins manually or suppresses them for some users. - moyo.optedOut() is respected if the app wraps the SDK. Report each finding with file and line. Do not change code yet.
Agent context file
To give an agent standing context, add this to CLAUDE.md, AGENTS.md or .cursorrules in your repo.
markdown
## Moyo - Moyo runs anonymous wellbeing check-ins. Docs: https://moyo.3sb.io/docs - Publishable key: MOYO_PUBLISHABLE_KEY. Secret key: MOYO_SECRET_KEY, server only. - Never send personal data to Moyo. - Never restyle, reword or hide the check-in card or its attribution. - Theme, timing and dimensions live in the Moyo dashboard, not in code. - Readings under n=50 are withheld. Do not estimate them. - Periods are whole ISO weeks, not rolling days.