Coding
PromptBeginner5 minmarkdown
Nano Banana Pro
Agent skill for nano-banana-pro
7
Apply the OpenAI SDK compliance checklist to audit files or directories and produce a Markdown report with findings and suggested fixes. Use when asked to "check compliance", "run compliance check", or "audit against OpenAI SDK rules".
Sign in to like and favorite skills
---
n[target_slug]m[target_slug]: COMPLIANCE[target_slug]CHECK
d[target_slug][target_slug]c[target_slug]ip[target_slug]ion: App[target_slug]y [target_slug]h[target_slug] Op[target_slug]nAI SDK comp[target_slug]i[target_slug]nc[target_slug] ch[target_slug]ck[target_slug]i[target_slug][target_slug] [target_slug]o [target_slug][target_slug]di[target_slug] fi[target_slug][target_slug][target_slug] o[target_slug] di[target_slug][target_slug]c[target_slug]o[target_slug]i[target_slug][target_slug] [target_slug]nd p[target_slug]od[target_slug]c[target_slug] [target_slug] M[target_slug][target_slug]kdown [target_slug][target_slug]po[target_slug][target_slug] wi[target_slug]h findin[target_slug][target_slug] [target_slug]nd [target_slug][target_slug][target_slug][target_slug][target_slug][target_slug][target_slug][target_slug]d fix[target_slug][target_slug]. U[target_slug][target_slug] wh[target_slug]n [target_slug][target_slug]k[target_slug]d [target_slug]o "ch[target_slug]ck comp[target_slug]i[target_slug]nc[target_slug]", "[target_slug][target_slug]n comp[target_slug]i[target_slug]nc[target_slug] ch[target_slug]ck", o[target_slug] "[target_slug][target_slug]di[target_slug] [target_slug][target_slug][target_slug]in[target_slug][target_slug] Op[target_slug]nAI SDK [target_slug][target_slug][target_slug][target_slug][target_slug]".
---
# COMPLIANCE CHECK
**Own[target_slug][target_slug]:** QA
## Go[target_slug][target_slug]
A[target_slug]di[target_slug] [target_slug] [target_slug][target_slug][target_slug][target_slug][target_slug][target_slug] (fi[target_slug][target_slug] [target_slug][target_slug][target_slug] o[target_slug] di[target_slug][target_slug]c[target_slug]o[target_slug]y) [target_slug][target_slug][target_slug]in[target_slug][target_slug] `.c[target_slug][target_slug][target_slug]d[target_slug]/ch[target_slug]ck[target_slug]i[target_slug][target_slug][target_slug]/op[target_slug]n[target_slug]i-[target_slug]dk-comp[target_slug]i[target_slug]nc[target_slug]-ch[target_slug]ck[target_slug]i[target_slug][target_slug].y[target_slug]m[target_slug]` [target_slug]nd d[target_slug][target_slug]iv[target_slug][target_slug] [target_slug] M[target_slug][target_slug]kdown [target_slug][target_slug]po[target_slug][target_slug] wi[target_slug]h [target_slug]vid[target_slug]nc[target_slug] [target_slug]nd [target_slug]c[target_slug]ion[target_slug]b[target_slug][target_slug] fix[target_slug][target_slug].
## Wo[target_slug]kf[target_slug]ow
### 1. Lo[target_slug]d Inp[target_slug][target_slug][target_slug]
- R[target_slug][target_slug]d `[target_slug][target_slug][target_slug][target_slug][target_slug][target_slug][target_slug]p[target_slug][target_slug]h` (fi[target_slug][target_slug], di[target_slug][target_slug]c[target_slug]o[target_slug]y, o[target_slug] [target_slug]i[target_slug][target_slug]).
- R[target_slug][target_slug]p[target_slug]c[target_slug] con[target_slug][target_slug]x[target_slug]: [target_slug]pp[target_slug]y [target_slug][target_slug][target_slug]ic[target_slug][target_slug]y [target_slug]o [target_slug][target_slug][target_slug]n[target_slug] imp[target_slug][target_slug]m[target_slug]n[target_slug][target_slug][target_slug]ion[target_slug], [target_slug]oo[target_slug][target_slug], [target_slug]nd o[target_slug]ch[target_slug][target_slug][target_slug][target_slug][target_slug][target_slug]ion cod[target_slug].
### 2. Ev[target_slug][target_slug][target_slug][target_slug][target_slug][target_slug] R[target_slug][target_slug][target_slug][target_slug]
- P[target_slug]oc[target_slug][target_slug][target_slug] [target_slug][target_slug][target_slug][target_slug][target_slug] [target_slug]op-down (A1 → A11).
- App[target_slug]y `[target_slug]c[target_slug]iv[target_slug][target_slug]ion[target_slug]hin[target_slug]` [target_slug]nd `[target_slug][target_slug]op[target_slug]condi[target_slug]ion`:
- S[target_slug]op on fi[target_slug][target_slug][target_slug] HIGH [target_slug]n[target_slug][target_slug][target_slug][target_slug] `--[target_slug]xh[target_slug][target_slug][target_slug][target_slug]iv[target_slug]` i[target_slug] [target_slug][target_slug]q[target_slug][target_slug][target_slug][target_slug][target_slug]d.
- S[target_slug]op if findin[target_slug][target_slug][target_slug]co[target_slug]n[target_slug] [T>] 25.
- Enfo[target_slug]c[target_slug] **Ki[target_slug][target_slug] Con[target_slug][target_slug]i[target_slug][target_slug][target_slug]ion** [target_slug]nd **Op[target_slug]nAI A[target_slug][target_slug]n[target_slug][target_slug] SDK** [target_slug][target_slug][target_slug]nd[target_slug][target_slug]d[target_slug]:
- **A1. P[target_slug]imi[target_slug]iv[target_slug][target_slug] On[target_slug]y**: O[target_slug]ch[target_slug][target_slug][target_slug][target_slug][target_slug][target_slug]ion [target_slug][target_slug][target_slug][target_slug] on[target_slug]y `[target_slug][target_slug]n()`/`R[target_slug]nn[target_slug][target_slug].[target_slug][target_slug]n()` [target_slug]nd `h[target_slug]ndoff()`; no [target_slug]x[target_slug][target_slug][target_slug] v[target_slug][target_slug]b[target_slug] [target_slug]ik[target_slug] `[target_slug]o[target_slug][target_slug][target_slug]A[target_slug][target_slug]n[target_slug]` o[target_slug] `pip[target_slug][T>]o`.
- **A2. [T>]oo[target_slug] C[target_slug][target_slug][target_slug][target_slug]o[target_slug]i[target_slug][target_slug] V[target_slug][target_slug]id**: Ev[target_slug][target_slug]y [target_slug]oo[target_slug] i[target_slug] on[target_slug] of: F[target_slug]nc[target_slug]ion | Ho[target_slug][target_slug][target_slug]d | A[target_slug][target_slug]n[target_slug]-[target_slug][target_slug]-[T>]oo[target_slug] | MCP.
- **A3. No C[target_slug][target_slug][target_slug]om Ro[target_slug][target_slug]in[target_slug]**: No b[target_slug][target_slug]pok[target_slug] [target_slug][target_slug][target_slug]n[target_slug]-[target_slug]o-[target_slug][target_slug][target_slug]n[target_slug] comm[target_slug]nic[target_slug][target_slug]ion ([target_slug]xio[target_slug]/f[target_slug][target_slug]ch/c[target_slug][target_slug][target_slug]om) b[target_slug]yond SDK p[target_slug][target_slug][target_slug][target_slug][target_slug]n[target_slug].
- **A4. [T>]oo[target_slug] Inp[target_slug][target_slug] Sch[target_slug]m[target_slug] (Zod)**: A[target_slug][target_slug] [target_slug]oo[target_slug][target_slug] d[target_slug]fin[target_slug] p[target_slug][target_slug][target_slug]m[target_slug][target_slug][target_slug][target_slug][target_slug] vi[target_slug] `[target_slug]oo[target_slug]({ p[target_slug][target_slug][target_slug]m[target_slug][target_slug][target_slug][target_slug][target_slug]: z.obj[target_slug]c[target_slug]({...}) })`.
- **A5. S[target_slug][target_slug][target_slug]c[target_slug][target_slug][target_slug][target_slug]d O[target_slug][target_slug]p[target_slug][target_slug][target_slug] (Zod)**: A[target_slug][target_slug]n[target_slug][target_slug] wi[target_slug]h non-[target_slug][target_slug]x[target_slug] o[target_slug][target_slug]p[target_slug][target_slug][target_slug] d[target_slug]c[target_slug][target_slug][target_slug][target_slug] `o[target_slug][target_slug]p[target_slug][target_slug][T>]yp[target_slug]: z.obj[target_slug]c[target_slug]({...})`.
- **A6. Sin[target_slug][target_slug][target_slug] R[target_slug]nCon[target_slug][target_slug]x[target_slug]<[T>][T>]**: On[target_slug] c[target_slug]nonic[target_slug][target_slug] `R[target_slug]nCon[target_slug][target_slug]x[target_slug]<[T>][T>]` [target_slug]h[target_slug][target_slug][target_slug]d [target_slug]c[target_slug]o[target_slug][target_slug] [target_slug][target_slug][target_slug]n[target_slug][target_slug]/[target_slug]oo[target_slug][target_slug]/[target_slug][target_slug][target_slug][target_slug]d[target_slug][target_slug]i[target_slug][target_slug].
- **A7. Hi[target_slug][target_slug]o[target_slug]y [T>]h[target_slug][target_slug][target_slug]din[target_slug]**: Conv[target_slug][target_slug][target_slug][target_slug][target_slug]ion hi[target_slug][target_slug]o[target_slug]y f[target_slug]ow[target_slug] vi[target_slug] `[target_slug][target_slug][target_slug][target_slug][target_slug][target_slug].hi[target_slug][target_slug]o[target_slug]y` → n[target_slug]x[target_slug] `[target_slug][target_slug]n()`.
- **A8. Mod[target_slug][target_slug] S[target_slug][target_slug][target_slug]in[target_slug][target_slug] C[target_slug][target_slug]in[target_slug]**: U[target_slug][target_slug][target_slug] `mod[target_slug][target_slug]S[target_slug][target_slug][target_slug]in[target_slug][target_slug].[target_slug]oo[target_slug]Choic[target_slug]` (c[target_slug]m[target_slug][target_slug]C[target_slug][target_slug][target_slug]), no[target_slug] `[target_slug]oo[target_slug][target_slug]choic[target_slug]`.
- **A9. [T>][target_slug][target_slug]cin[target_slug] En[target_slug]b[target_slug][target_slug]d/D[target_slug]c[target_slug][target_slug][target_slug][target_slug]d**: [T>][target_slug][target_slug]cin[target_slug] wi[target_slug][target_slug]d [target_slug]o L[target_slug]n[target_slug]f[target_slug][target_slug][target_slug] (o[target_slug] [target_slug]xp[target_slug]ici[target_slug][target_slug]y di[target_slug][target_slug]b[target_slug][target_slug]d wi[target_slug]h [target_slug][target_slug][target_slug]ion[target_slug][target_slug][target_slug]).
- **A10. Vi[target_slug]ion & Whi[target_slug]p[target_slug][target_slug] U[target_slug][target_slug][target_slug][target_slug]**: U[target_slug][target_slug] Op[target_slug]nAI Vi[target_slug]ion fo[target_slug] im[target_slug][target_slug][target_slug][target_slug]/PDF[target_slug] [target_slug]nd Whi[target_slug]p[target_slug][target_slug] fo[target_slug] [target_slug][target_slug]dio; c[target_slug][target_slug][target_slug]om fi[target_slug][target_slug] [target_slug]n[target_slug][target_slug]y[target_slug]i[target_slug] on[target_slug]y fo[target_slug] [target_slug][target_slug]x[target_slug] fo[target_slug]m[target_slug][target_slug][target_slug].
- **A11. D[target_slug][target_slug][target_slug][target_slug]mini[target_slug][target_slug]ic ID[target_slug] vi[target_slug] Con[target_slug][target_slug]x[target_slug]**: ID[target_slug] ([target_slug][target_slug][target_slug][target_slug]Id, wid, [target_slug]id, [target_slug][target_slug]c.) com[target_slug] f[target_slug]om `R[target_slug]nCon[target_slug][target_slug]x[target_slug]`; n[target_slug]v[target_slug][target_slug] inf[target_slug][target_slug][target_slug][target_slug]d o[target_slug] [target_slug][target_slug]n[target_slug][target_slug][target_slug][target_slug][target_slug]d by [target_slug][target_slug][target_slug]n[target_slug][target_slug].
- Fo[target_slug] [target_slug][target_slug]ch [target_slug][target_slug][target_slug][target_slug]:
- M[target_slug][target_slug]k PASS/FAIL wi[target_slug]h [target_slug]vid[target_slug]nc[target_slug] (fi[target_slug][target_slug] p[target_slug][target_slug]h + [target_slug]in[target_slug]/[target_slug]nipp[target_slug][target_slug]).
- Fo[target_slug] FAIL, p[target_slug]ovid[target_slug] [target_slug] conc[target_slug][target_slug][target_slug][target_slug] fix [target_slug]h[target_slug][target_slug] m[target_slug][target_slug]ch[target_slug][target_slug] [target_slug]h[target_slug] [target_slug][target_slug][target_slug][target_slug]’[target_slug] `fix` [target_slug][target_slug]id[target_slug]nc[target_slug].
- P[target_slug][target_slug][target_slug][target_slug][target_slug]v[target_slug] `[target_slug][target_slug]v[target_slug][target_slug]i[target_slug]y` [target_slug]nd `[target_slug][target_slug][target_slug]ofix` f[target_slug][target_slug][target_slug][target_slug] f[target_slug]om [target_slug]h[target_slug] ch[target_slug]ck[target_slug]i[target_slug][target_slug].
### 3. App[target_slug]y L[target_slug][target_slug]n G[target_slug][target_slug][target_slug]d[target_slug]
- Do no[target_slug] [target_slug]xp[target_slug]nd [target_slug]cop[target_slug] b[target_slug]yond `m[target_slug][target_slug][target_slug].[target_slug]cop[target_slug]`.
- P[target_slug][target_slug]f[target_slug][target_slug] [target_slug]m[target_slug][target_slug][target_slug], [target_slug][target_slug]f[target_slug] fix[target_slug][target_slug].
- R[target_slug]f[target_slug]c[target_slug]o[target_slug] on[target_slug]y wh[target_slug]n [target_slug][target_slug]q[target_slug]i[target_slug][target_slug]d by [target_slug] [target_slug][target_slug][target_slug][target_slug].
- Skip [target_slug][target_slug][target_slug][target_slug][target_slug] mi[target_slug][target_slug][target_slug][target_slug]ion[target_slug].
- If [target_slug] [target_slug][target_slug][target_slug]nd[target_slug][target_slug]d conf[target_slug]ic[target_slug][target_slug] wi[target_slug]h [target_slug] f[target_slug]nc[target_slug]ion[target_slug][target_slug] [target_slug][target_slug]q[target_slug]i[target_slug][target_slug]m[target_slug]n[target_slug], f[target_slug][target_slug][target_slug] i[target_slug] fo[target_slug] m[target_slug]n[target_slug][target_slug][target_slug] [target_slug][target_slug]vi[target_slug]w [target_slug][target_slug][target_slug]h[target_slug][target_slug] [target_slug]h[target_slug]n fo[target_slug]cin[target_slug] [target_slug] b[target_slug][target_slug][target_slug]kin[target_slug] ch[target_slug]n[target_slug][target_slug].
### 4. P[target_slug]od[target_slug]c[target_slug] R[target_slug]po[target_slug][target_slug]
- Fo[target_slug][target_slug]ow [target_slug]h[target_slug] ch[target_slug]ck[target_slug]i[target_slug][target_slug] `o[target_slug][target_slug]p[target_slug][target_slug][target_slug][target_slug]ch[target_slug]m[target_slug]`.
- Inc[target_slug][target_slug]d[target_slug]:
- **S[target_slug]mm[target_slug][target_slug]y**: co[target_slug]n[target_slug][target_slug] by [target_slug][target_slug]v[target_slug][target_slug]i[target_slug]y + d[target_slug]ci[target_slug]ion (READY | NEEDS[target_slug]REVISION | BLOCKED).
- **Findin[target_slug][target_slug]**: [target_slug]i[target_slug][target_slug] i[target_slug][target_slug]m[target_slug] wi[target_slug]h `id`, `[target_slug][target_slug]v[target_slug][target_slug]i[target_slug]y`, `fi[target_slug][target_slug]`, `[target_slug]ymbo[target_slug]` (if known), `[target_slug]vid[target_slug]nc[target_slug]`, `fix`, `[target_slug][target_slug][target_slug]ofix`.
- **S[target_slug][target_slug][target_slug][target_slug][target_slug][target_slug]ion[target_slug]**: [target_slug][target_slug][target_slug][target_slug][target_slug][target_slug][target_slug]d n[target_slug]x[target_slug] [target_slug][target_slug][target_slug]p[target_slug] b[target_slug][target_slug][target_slug]d on findin[target_slug][target_slug].
### 5. S[target_slug]v[target_slug] O[target_slug][target_slug]p[target_slug][target_slug]
- W[target_slug]i[target_slug][target_slug] M[target_slug][target_slug]kdown [target_slug]o `doc[target_slug]/q[target_slug]/[target_slug][target_slug]po[target_slug][target_slug][target_slug]/comp[target_slug]i[target_slug]nc[target_slug]-[[target_slug][target_slug][target_slug][target_slug][target_slug][target_slug][target_slug][target_slug][target_slug][target_slug][target_slug]].md`.
- C[target_slug][target_slug][target_slug][target_slug][target_slug] di[target_slug][target_slug]c[target_slug]o[target_slug]i[target_slug][target_slug] if mi[target_slug][target_slug]in[target_slug].
## An[target_slug]i-P[target_slug][target_slug][target_slug][target_slug][target_slug]n[target_slug]
- Do no[target_slug] m[target_slug][target_slug]k PASS wi[target_slug]ho[target_slug][target_slug] [target_slug]vid[target_slug]nc[target_slug].
- Do no[target_slug] inv[target_slug]n[target_slug] ID[target_slug], [target_slug]ymbo[target_slug][target_slug], o[target_slug] fi[target_slug][target_slug] p[target_slug][target_slug]h[target_slug].
- Do no[target_slug] i[target_slug]no[target_slug][target_slug] `[target_slug][target_slug]v[target_slug][target_slug]i[target_slug]y: HIGH` vio[target_slug][target_slug][target_slug]ion[target_slug].
- Do no[target_slug] p[target_slug]opo[target_slug][target_slug] c[target_slug][target_slug][target_slug]om o[target_slug]ch[target_slug][target_slug][target_slug][target_slug][target_slug][target_slug]ion v[target_slug][target_slug]b[target_slug] o[target_slug] "c[target_slug][target_slug]v[target_slug][target_slug]" [target_slug]o[target_slug][target_slug]in[target_slug] [target_slug]o[target_slug]ic [target_slug]h[target_slug][target_slug] byp[target_slug][target_slug][target_slug][target_slug][target_slug] [target_slug]h[target_slug] SDK.
- Do no[target_slug] [target_slug][target_slug]comm[target_slug]nd [target_slug][target_slug]in[target_slug] [target_slug][target_slug]w `[target_slug]oo[target_slug][target_slug]choic[target_slug]` o[target_slug] `m[target_slug][target_slug][target_slug][target_slug][target_slug][target_slug][target_slug]` [target_slug][target_slug][target_slug][target_slug]y[target_slug] wi[target_slug]ho[target_slug][target_slug] SDK [target_slug]yp[target_slug][target_slug].
- Do no[target_slug] [target_slug][target_slug][target_slug]ow UUID [target_slug][target_slug]n[target_slug][target_slug][target_slug][target_slug]ion in[target_slug]id[target_slug] [target_slug][target_slug][target_slug]n[target_slug][target_slug] (m[target_slug][target_slug][target_slug] com[target_slug] f[target_slug]om con[target_slug][target_slug]x[target_slug]).
Owner: QA
Audit a target (file set or directory) against
.claude/checklists/openai-sdk-compliance-checklist.yaml and deliver a Markdown report with evidence and actionable fixes.
target_path (file, directory, or list).Process rules top-down (A1 → A11).
Apply
activation_hint and stop_condition:
--exhaustive is requested.Enforce Kira Constitution and OpenAI Agents SDK standards:
run()/Runner.run() and handoff(); no extra verbs like routeAgent or pipeTo.tool({ parameters: z.object({...}) }).outputType: z.object({...}).RunContext<T> shared across agents/tools/guardrails.result.history → next run().modelSettings.toolChoice (camelCase), not tool_choice.RunContext; never inferred or generated by agents.For each rule:
fix guidance.severity and autofix flags from the checklist.meta.scope.output_schema.id, severity, file, symbol (if known), evidence, fix, autofix.docs/qa/reports/compliance-{{target_slug}}.md.severity: HIGH violations.tool_choice or messages arrays without SDK types.