brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
persona-hello-worldCreate and inspect one replay-safe Persona sandbox inquiry without implying a completed verification. Use when proving a new integration path. Trigger with: "test Persona inquiry", "Persona hello world", "smoke test Persona sandbox".
Independent GitHub snapshot · Automated classification · Original documentation governs
name: persona-hello-world description: >- Create and inspect one replay-safe Persona sandbox inquiry without implying a completed verification. Use when proving a new integration path. Trigger with: "test Persona inquiry", "Persona hello world", "smoke test Persona sandbox". allowed-tools: Read, Grep, Write, Edit version: 2.0.0 argument-hint: '[sandbox-template-id]' model: inherit effort: high license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:
Prove the minimum create-and-read path in sandbox while keeping identity verification, account linkage, and session issuance explicit. A successful API response proves transport and contract compatibility, not that a person passed verification.
Use exactly one of inquiry-template-id, inquiry-template-version-id, or the supported template selector. Prefer the stable template ID unless a controlled test intentionally pins a version.
Generate an Idempotency-Key from the operation ID, not a person or reference ID. Persist the request fingerprint before sending the POST.
When auto-creating an account, use meta.auto-create-account-reference-id; do not revive deprecated request reference-id guidance. Use meta.auto-create-inquiry-session only when the client needs an immediate session.
Verify data.type, inquiry ID, status, template relationship, and optional meta['session-token']. Treat new fields and types as compatible additions.
GET the inquiry, compare its ID and status, then retain a redacted receipt. Never claim pass, fail, or completion unless the observed inquiry and verification states support it.
Use the sandbox bearer API key against https://api.withpersona.com/api/v1 with the explicitly reviewed Persona-Version. Keep any session token server-side until delivered to the intended client through a protected channel.
Use Read and Grep to inspect application configuration, provider documentation, fixtures, schemas, tests, and redacted operational evidence before proposing a change. Use Write or Edit only for an approved implementation, configuration, test, runbook, or redacted receipt. Do not create, resume, approve, decline, redact, rotate, revoke, deploy, or otherwise mutate production Persona resources without explicit operator approval.
Return the environment, resource and event identifiers, API version, template context, source-contract fingerprint, evidence, unresolved risk, rollback state, and final decision without exposing bearer keys, webhook secrets, inquiry session tokens, raw identity documents, or unnecessary PII.
A CI operator creates one inquiry from template itmpl_… with operation key smoke-<run-id>, requests a session, asserts a JSON:API inquiry object, and records the returned session token only as present or absent.
| Failure | Response |
|---|---|
| 400 create error | Check JSON:API shape, template selector exclusivity, and environment ownership. |
| 409 or replay mismatch | Compare the stored request fingerprint; never reuse an idempotency key with changed parameters. |
| Inquiry remains pending | That is a valid transport result; use sandbox controls or the supported client flow rather than inventing a pass. |
Verify the result against the linked first-party evidence, the pinned API version, redacted contract fixtures, an expected failure path, and the documented rollback or manual-disposition path. A successful request is not proof of a successful identity decision.