[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-openai-fix-finding":3,"mdc-fz8zlz-key":36,"related-repo-openai-fix-finding":666,"related-org-openai-fix-finding":790},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":25,"repoUrl":26,"updatedAt":27,"license":28,"forks":29,"topics":30,"repo":31,"sourceUrl":34,"mdContent":35},"fix-finding","create and maintain repository threat models","Use when the user explicitly asks to fix and verify a validated or plausible security finding. Do not use as the primary trigger for full PR, commit, branch, patch, or repository scans.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"openai","OpenAI","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fopenai.png",[12,16,19,22],{"name":13,"slug":14,"type":15},"Security","security","tag",{"name":17,"slug":18,"type":15},"Codex","codex",{"name":20,"slug":21,"type":15},"Threat Modeling","threat-modeling",{"name":23,"slug":24,"type":15},"Debugging","debugging",3992,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fplugins","2026-05-01T06:02:28.15098",null,465,[],{"repoUrl":26,"stars":25,"forks":29,"topics":32,"description":33},[],"OpenAI Plugins","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fplugins\u002Ftree\u002FHEAD\u002Fplugins\u002Fcodex-security\u002Fskills\u002Ffix-finding","---\nname: fix-finding\ndescription: Use when the user explicitly asks to fix and verify a validated or plausible security finding. Do not use as the primary trigger for full PR, commit, branch, patch, or repository scans.\n---\n\n# Fix Finding\n\n## Objective\n\nTurn a current security finding into a minimal, validated code change. If the code is already safe, prove that and report that no change was needed.\n\nJudge the result in this order:\n\n1. the current state is correctly classified as vulnerable, already safe, or unproven\n2. any fix completely closes the broken security boundary\n3. legitimate behavior and compatibility are preserved\n4. relevant repository checks pass\n5. the implementation follows repository conventions\n6. the patch contains only the scope necessary for the earlier properties\n\nNever trade an earlier property for a later one. Minimal means the smallest repository-native change that satisfies all earlier properties, not the fewest lines.\n\n## Patch Contract\n\nBefore editing, establish from repository evidence:\n\n- affected component and current source-to-sink path or broken control\n- attacker-controlled input and required preconditions\n- security invariant and narrowest plausible enforcement boundary\n- legitimate behavior, APIs, error semantics, and compatibility constraints to preserve or intentionally change with supporting product evidence\n- available PoC, reproducer, tests, evidence, and affected locations\n- nearest relevant helpers and implementation, error-handling, and test precedents\n\nInspect the repository to fill gaps. Ask the user only when a material product, security, or compatibility decision remains.\n\n## Runtime Validation\n\nUse this guidance whenever reproducing the finding, running tests, or validating the fix:\n\n- Complete the patch contract before broad setup; start with the smallest high-signal check through the real vulnerable boundary.\n- Use repository-supported setup commands. Keep repair effort bounded so it does not displace path analysis, patching, or focused verification.\n- Do not stop a progressing command merely because it is slow. Inspect process state, logs, artifacts, or resource use first.\n- If runtime validation remains unavailable, use the strongest targeted static or harness-based artifact that preserves the real integration boundary. Do not substitute a simplified harness that removes the behavior being protected. Record every unrun check as unknown.\n\n## Workflow\n\n1. Revalidate and scope the finding.\n   - Inspect repository instructions, affected code, direct callers, and only the context needed to prove the vulnerable path.\n   - Establish concrete reachability in the current checkout; generic weakness labels, file anchors, and suspicious-looking code are not proof.\n   - If the same broken security boundary cannot be shown after a bounded investigation, do not patch an adjacent weakness or add speculative defense in depth. Return `no_change` when evidence shows the path is already safe; otherwise return `blocked` with the missing proof.\n   - Complete the patch contract and inspect relevant helpers, controls, and implementation and test precedents.\n2. Reproduce or encode the issue before fixing when feasible.\n   - Prefer a failing regression test, unit test, integration test, property test, or realistic-interface reproduction.\n   - Capture the malicious condition and at least one legitimate control through the same boundary before implementation.\n   - Keep an unsafe-behavior test only when it is safe, deterministic, and appropriate for the repository. Otherwise use the strongest repeatable validation artifact available and record the gap.\n   - If the issue no longer reproduces before any code changes, investigate whether it was already fixed and preserve the validation evidence.\n3. Choose the patch strategy.\n   - Determine whether a narrow tactical change can close the boundary while preserving the patch contract.\n   - Consider broader remediation only when the narrow option cannot close the boundary without breaking supported behavior. Remove or disable functionality only when repository or product evidence supports that mitigation.\n   - If the only complete fix requires an unresolved decision about product policy, public-API compatibility, or cross-subsystem ownership, return `blocked` with the options, security tradeoff, and likely owner or codeowner when available.\n   - Use nearby variants to test the chosen boundary. Report unrelated sibling findings or longer-term architectural work separately instead of expanding this patch.\n4. Implement the fix and its proof.\n   - Make the smallest repository-native change that fully enforces the invariant.\n   - Prefer existing helpers and abstractions. Preserve APIs, legitimate inputs, and error semantics unless changing them is required by the security contract.\n   - Handle unsafe state explicitly; do not silently accept, truncate, or reinterpret it.\n   - Avoid unrelated refactors and preserve user changes outside the candidate patch.\n   - Add focused regression coverage that fails on the vulnerable behavior and passes after the fix.\n   - Include positive coverage for the legitimate control. Test at the lowest level that proves the invariant and through the realistic interface when feasible.\n5. Verify in order.\n   - **Applicability and buildability**: inspect the final diff for unrelated changes, then run the narrowest relevant syntax, import, build, type, or focused test check.\n   - **Security closure**: rerun the original PoC, trigger, or strongest exploit check. Re-trace the source-to-sink or broken-control path in the patched code.\n   - **Change-aware bypass review**: reread the finding and final diff without relying on the original rationale. Trace changed branches from direct callers, check equivalent sinks, and exercise an alternate malicious input class when practical.\n   - **Preserved behavior**: rerun the legitimate control and confirm the recorded APIs, error semantics, and compatibility constraints remain intact.\n   - **Repository checks**: run the focused regression tests, the owning package's relevant tests, and applicable formatter, linter, type checker, dependency, and integration checks.\n   - Confirm the regression check would fail if the security change were removed, when practical.\n   - Treat a failed earlier gate as disqualifying. Revise only the candidate changes or return `blocked`; never compensate for failed security closure or behavior preservation with style, smaller scope, or additional reporting.\n6. Report the outcome with exact commands, results, changed files, and remaining risk.\n\n## Workbench Remediation Stages\n\nWhen a Codex Security workbench request includes a scan ID, occurrence ID, remediation request ID, action token, and expected version, follow only the requested remediation stage. The stage boundary changes when code may be written, but it does not weaken the validation requirements above.\n\n- **Generate**: Keep the selected target checkout unchanged. Use an isolated worktree or temporary copy when edits are needed to develop or test the fix. Apply the patch contract and strategy gates above, write one canonical unified diff containing the complete source and regression-test change, then record `generated` or `failed` using the supplied workbench identity.\n- **Apply**: Verify the recorded base revision and patch digest, then apply exactly that patch to the selected working tree without unrelated edits. Record `applied` or `failed`. Do not verify or close the finding in this stage.\n- **Verify**: Do not modify source. Run the ordered verification gates above against the recorded patch. Record `verified` only when the original issue no longer reproduces, legitimate behavior remains intact, and relevant repository checks pass; preserve exact commands and results in the verification summary. Otherwise record `failed` and state the failing gate or proof gap. Do not close the finding.\n\nWhen a parent thread delegates a remediation stage, the worker owns that stage through its terminal workbench update. The parent remains an orchestrator and must not duplicate the worker's edits or treat a chat response as completion.\n\n## Outcome and Output Contract\n\nIn the final response, include:\n\n- outcome: `fixed`, `no_change`, or `blocked`\n- the concrete vulnerable path, security invariant, and legitimate behavior that had to remain\n- the selected patch strategy and why it was the narrowest complete repository-native option, or the unresolved product decision when blocked\n- files changed\n- tests or validation artifacts added\n- commands run and their pass, fail, or unknown results, grouped by the ordered verification gates\n- explicit statement of how the original issue was shown not to reproduce\n- explicit statement of how legitimate behavior was shown to remain intact\n- remaining uncertainty or skipped validation, if any\n\nIf using a scan artifact directory, resolve it using `..\u002F..\u002Freferences\u002Fscan-artifacts.md`, then write a visible report to the fix report path. If there is no existing scan directory, a final chat summary is sufficient unless the user asks for a file.\n\n## Hard Rules\n\n- Do not report `fixed` until every ordered verification gate has passed. Omit a check only when repository evidence shows it is irrelevant; an unavailable relevant check makes verification `blocked` and must be reported.\n- Do not rely only on code inspection when a focused test or reproducer is feasible.\n- Do not broaden the patch into unrelated cleanup, sibling findings, or architectural redesign without evidence that the broader change is required for complete closure.\n- Do not remove user changes or unrelated local modifications.\n- Do not weaken authentication, authorization, tenant isolation, input validation, sandboxing, or logging to make tests pass.\n- Do not hide proof gaps. If the environment blocks validation, say exactly which command or setup failed and what evidence is still missing.\n",{"data":37,"body":38},{"name":4,"description":6},{"type":39,"children":40},"root",[41,49,56,62,67,102,107,113,118,152,157,163,168,191,197,427,433,438,516,521,527,532,600,613,619],{"type":42,"tag":43,"props":44,"children":45},"element","h1",{"id":4},[46],{"type":47,"value":48},"text","Fix Finding",{"type":42,"tag":50,"props":51,"children":53},"h2",{"id":52},"objective",[54],{"type":47,"value":55},"Objective",{"type":42,"tag":57,"props":58,"children":59},"p",{},[60],{"type":47,"value":61},"Turn a current security finding into a minimal, validated code change. If the code is already safe, prove that and report that no change was needed.",{"type":42,"tag":57,"props":63,"children":64},{},[65],{"type":47,"value":66},"Judge the result in this order:",{"type":42,"tag":68,"props":69,"children":70},"ol",{},[71,77,82,87,92,97],{"type":42,"tag":72,"props":73,"children":74},"li",{},[75],{"type":47,"value":76},"the current state is correctly classified as vulnerable, already safe, or unproven",{"type":42,"tag":72,"props":78,"children":79},{},[80],{"type":47,"value":81},"any fix completely closes the broken security boundary",{"type":42,"tag":72,"props":83,"children":84},{},[85],{"type":47,"value":86},"legitimate behavior and compatibility are preserved",{"type":42,"tag":72,"props":88,"children":89},{},[90],{"type":47,"value":91},"relevant repository checks pass",{"type":42,"tag":72,"props":93,"children":94},{},[95],{"type":47,"value":96},"the implementation follows repository conventions",{"type":42,"tag":72,"props":98,"children":99},{},[100],{"type":47,"value":101},"the patch contains only the scope necessary for the earlier properties",{"type":42,"tag":57,"props":103,"children":104},{},[105],{"type":47,"value":106},"Never trade an earlier property for a later one. Minimal means the smallest repository-native change that satisfies all earlier properties, not the fewest lines.",{"type":42,"tag":50,"props":108,"children":110},{"id":109},"patch-contract",[111],{"type":47,"value":112},"Patch Contract",{"type":42,"tag":57,"props":114,"children":115},{},[116],{"type":47,"value":117},"Before editing, establish from repository evidence:",{"type":42,"tag":119,"props":120,"children":121},"ul",{},[122,127,132,137,142,147],{"type":42,"tag":72,"props":123,"children":124},{},[125],{"type":47,"value":126},"affected component and current source-to-sink path or broken control",{"type":42,"tag":72,"props":128,"children":129},{},[130],{"type":47,"value":131},"attacker-controlled input and required preconditions",{"type":42,"tag":72,"props":133,"children":134},{},[135],{"type":47,"value":136},"security invariant and narrowest plausible enforcement boundary",{"type":42,"tag":72,"props":138,"children":139},{},[140],{"type":47,"value":141},"legitimate behavior, APIs, error semantics, and compatibility constraints to preserve or intentionally change with supporting product evidence",{"type":42,"tag":72,"props":143,"children":144},{},[145],{"type":47,"value":146},"available PoC, reproducer, tests, evidence, and affected locations",{"type":42,"tag":72,"props":148,"children":149},{},[150],{"type":47,"value":151},"nearest relevant helpers and implementation, error-handling, and test precedents",{"type":42,"tag":57,"props":153,"children":154},{},[155],{"type":47,"value":156},"Inspect the repository to fill gaps. Ask the user only when a material product, security, or compatibility decision remains.",{"type":42,"tag":50,"props":158,"children":160},{"id":159},"runtime-validation",[161],{"type":47,"value":162},"Runtime Validation",{"type":42,"tag":57,"props":164,"children":165},{},[166],{"type":47,"value":167},"Use this guidance whenever reproducing the finding, running tests, or validating the fix:",{"type":42,"tag":119,"props":169,"children":170},{},[171,176,181,186],{"type":42,"tag":72,"props":172,"children":173},{},[174],{"type":47,"value":175},"Complete the patch contract before broad setup; start with the smallest high-signal check through the real vulnerable boundary.",{"type":42,"tag":72,"props":177,"children":178},{},[179],{"type":47,"value":180},"Use repository-supported setup commands. Keep repair effort bounded so it does not displace path analysis, patching, or focused verification.",{"type":42,"tag":72,"props":182,"children":183},{},[184],{"type":47,"value":185},"Do not stop a progressing command merely because it is slow. Inspect process state, logs, artifacts, or resource use first.",{"type":42,"tag":72,"props":187,"children":188},{},[189],{"type":47,"value":190},"If runtime validation remains unavailable, use the strongest targeted static or harness-based artifact that preserves the real integration boundary. Do not substitute a simplified harness that removes the behavior being protected. Record every unrun check as unknown.",{"type":42,"tag":50,"props":192,"children":194},{"id":193},"workflow",[195],{"type":47,"value":196},"Workflow",{"type":42,"tag":68,"props":198,"children":199},{},[200,245,273,308,346,422],{"type":42,"tag":72,"props":201,"children":202},{},[203,205],{"type":47,"value":204},"Revalidate and scope the finding.\n",{"type":42,"tag":119,"props":206,"children":207},{},[208,213,218,240],{"type":42,"tag":72,"props":209,"children":210},{},[211],{"type":47,"value":212},"Inspect repository instructions, affected code, direct callers, and only the context needed to prove the vulnerable path.",{"type":42,"tag":72,"props":214,"children":215},{},[216],{"type":47,"value":217},"Establish concrete reachability in the current checkout; generic weakness labels, file anchors, and suspicious-looking code are not proof.",{"type":42,"tag":72,"props":219,"children":220},{},[221,223,230,232,238],{"type":47,"value":222},"If the same broken security boundary cannot be shown after a bounded investigation, do not patch an adjacent weakness or add speculative defense in depth. Return ",{"type":42,"tag":224,"props":225,"children":227},"code",{"className":226},[],[228],{"type":47,"value":229},"no_change",{"type":47,"value":231}," when evidence shows the path is already safe; otherwise return ",{"type":42,"tag":224,"props":233,"children":235},{"className":234},[],[236],{"type":47,"value":237},"blocked",{"type":47,"value":239}," with the missing proof.",{"type":42,"tag":72,"props":241,"children":242},{},[243],{"type":47,"value":244},"Complete the patch contract and inspect relevant helpers, controls, and implementation and test precedents.",{"type":42,"tag":72,"props":246,"children":247},{},[248,250],{"type":47,"value":249},"Reproduce or encode the issue before fixing when feasible.\n",{"type":42,"tag":119,"props":251,"children":252},{},[253,258,263,268],{"type":42,"tag":72,"props":254,"children":255},{},[256],{"type":47,"value":257},"Prefer a failing regression test, unit test, integration test, property test, or realistic-interface reproduction.",{"type":42,"tag":72,"props":259,"children":260},{},[261],{"type":47,"value":262},"Capture the malicious condition and at least one legitimate control through the same boundary before implementation.",{"type":42,"tag":72,"props":264,"children":265},{},[266],{"type":47,"value":267},"Keep an unsafe-behavior test only when it is safe, deterministic, and appropriate for the repository. Otherwise use the strongest repeatable validation artifact available and record the gap.",{"type":42,"tag":72,"props":269,"children":270},{},[271],{"type":47,"value":272},"If the issue no longer reproduces before any code changes, investigate whether it was already fixed and preserve the validation evidence.",{"type":42,"tag":72,"props":274,"children":275},{},[276,278],{"type":47,"value":277},"Choose the patch strategy.\n",{"type":42,"tag":119,"props":279,"children":280},{},[281,286,291,303],{"type":42,"tag":72,"props":282,"children":283},{},[284],{"type":47,"value":285},"Determine whether a narrow tactical change can close the boundary while preserving the patch contract.",{"type":42,"tag":72,"props":287,"children":288},{},[289],{"type":47,"value":290},"Consider broader remediation only when the narrow option cannot close the boundary without breaking supported behavior. Remove or disable functionality only when repository or product evidence supports that mitigation.",{"type":42,"tag":72,"props":292,"children":293},{},[294,296,301],{"type":47,"value":295},"If the only complete fix requires an unresolved decision about product policy, public-API compatibility, or cross-subsystem ownership, return ",{"type":42,"tag":224,"props":297,"children":299},{"className":298},[],[300],{"type":47,"value":237},{"type":47,"value":302}," with the options, security tradeoff, and likely owner or codeowner when available.",{"type":42,"tag":72,"props":304,"children":305},{},[306],{"type":47,"value":307},"Use nearby variants to test the chosen boundary. Report unrelated sibling findings or longer-term architectural work separately instead of expanding this patch.",{"type":42,"tag":72,"props":309,"children":310},{},[311,313],{"type":47,"value":312},"Implement the fix and its proof.\n",{"type":42,"tag":119,"props":314,"children":315},{},[316,321,326,331,336,341],{"type":42,"tag":72,"props":317,"children":318},{},[319],{"type":47,"value":320},"Make the smallest repository-native change that fully enforces the invariant.",{"type":42,"tag":72,"props":322,"children":323},{},[324],{"type":47,"value":325},"Prefer existing helpers and abstractions. Preserve APIs, legitimate inputs, and error semantics unless changing them is required by the security contract.",{"type":42,"tag":72,"props":327,"children":328},{},[329],{"type":47,"value":330},"Handle unsafe state explicitly; do not silently accept, truncate, or reinterpret it.",{"type":42,"tag":72,"props":332,"children":333},{},[334],{"type":47,"value":335},"Avoid unrelated refactors and preserve user changes outside the candidate patch.",{"type":42,"tag":72,"props":337,"children":338},{},[339],{"type":47,"value":340},"Add focused regression coverage that fails on the vulnerable behavior and passes after the fix.",{"type":42,"tag":72,"props":342,"children":343},{},[344],{"type":47,"value":345},"Include positive coverage for the legitimate control. Test at the lowest level that proves the invariant and through the realistic interface when feasible.",{"type":42,"tag":72,"props":347,"children":348},{},[349,351],{"type":47,"value":350},"Verify in order.\n",{"type":42,"tag":119,"props":352,"children":353},{},[354,365,375,385,395,405,410],{"type":42,"tag":72,"props":355,"children":356},{},[357,363],{"type":42,"tag":358,"props":359,"children":360},"strong",{},[361],{"type":47,"value":362},"Applicability and buildability",{"type":47,"value":364},": inspect the final diff for unrelated changes, then run the narrowest relevant syntax, import, build, type, or focused test check.",{"type":42,"tag":72,"props":366,"children":367},{},[368,373],{"type":42,"tag":358,"props":369,"children":370},{},[371],{"type":47,"value":372},"Security closure",{"type":47,"value":374},": rerun the original PoC, trigger, or strongest exploit check. Re-trace the source-to-sink or broken-control path in the patched code.",{"type":42,"tag":72,"props":376,"children":377},{},[378,383],{"type":42,"tag":358,"props":379,"children":380},{},[381],{"type":47,"value":382},"Change-aware bypass review",{"type":47,"value":384},": reread the finding and final diff without relying on the original rationale. Trace changed branches from direct callers, check equivalent sinks, and exercise an alternate malicious input class when practical.",{"type":42,"tag":72,"props":386,"children":387},{},[388,393],{"type":42,"tag":358,"props":389,"children":390},{},[391],{"type":47,"value":392},"Preserved behavior",{"type":47,"value":394},": rerun the legitimate control and confirm the recorded APIs, error semantics, and compatibility constraints remain intact.",{"type":42,"tag":72,"props":396,"children":397},{},[398,403],{"type":42,"tag":358,"props":399,"children":400},{},[401],{"type":47,"value":402},"Repository checks",{"type":47,"value":404},": run the focused regression tests, the owning package's relevant tests, and applicable formatter, linter, type checker, dependency, and integration checks.",{"type":42,"tag":72,"props":406,"children":407},{},[408],{"type":47,"value":409},"Confirm the regression check would fail if the security change were removed, when practical.",{"type":42,"tag":72,"props":411,"children":412},{},[413,415,420],{"type":47,"value":414},"Treat a failed earlier gate as disqualifying. Revise only the candidate changes or return ",{"type":42,"tag":224,"props":416,"children":418},{"className":417},[],[419],{"type":47,"value":237},{"type":47,"value":421},"; never compensate for failed security closure or behavior preservation with style, smaller scope, or additional reporting.",{"type":42,"tag":72,"props":423,"children":424},{},[425],{"type":47,"value":426},"Report the outcome with exact commands, results, changed files, and remaining risk.",{"type":42,"tag":50,"props":428,"children":430},{"id":429},"workbench-remediation-stages",[431],{"type":47,"value":432},"Workbench Remediation Stages",{"type":42,"tag":57,"props":434,"children":435},{},[436],{"type":47,"value":437},"When a Codex Security workbench request includes a scan ID, occurrence ID, remediation request ID, action token, and expected version, follow only the requested remediation stage. The stage boundary changes when code may be written, but it does not weaken the validation requirements above.",{"type":42,"tag":119,"props":439,"children":440},{},[441,467,491],{"type":42,"tag":72,"props":442,"children":443},{},[444,449,451,457,459,465],{"type":42,"tag":358,"props":445,"children":446},{},[447],{"type":47,"value":448},"Generate",{"type":47,"value":450},": Keep the selected target checkout unchanged. Use an isolated worktree or temporary copy when edits are needed to develop or test the fix. Apply the patch contract and strategy gates above, write one canonical unified diff containing the complete source and regression-test change, then record ",{"type":42,"tag":224,"props":452,"children":454},{"className":453},[],[455],{"type":47,"value":456},"generated",{"type":47,"value":458}," or ",{"type":42,"tag":224,"props":460,"children":462},{"className":461},[],[463],{"type":47,"value":464},"failed",{"type":47,"value":466}," using the supplied workbench identity.",{"type":42,"tag":72,"props":468,"children":469},{},[470,475,477,483,484,489],{"type":42,"tag":358,"props":471,"children":472},{},[473],{"type":47,"value":474},"Apply",{"type":47,"value":476},": Verify the recorded base revision and patch digest, then apply exactly that patch to the selected working tree without unrelated edits. Record ",{"type":42,"tag":224,"props":478,"children":480},{"className":479},[],[481],{"type":47,"value":482},"applied",{"type":47,"value":458},{"type":42,"tag":224,"props":485,"children":487},{"className":486},[],[488],{"type":47,"value":464},{"type":47,"value":490},". Do not verify or close the finding in this stage.",{"type":42,"tag":72,"props":492,"children":493},{},[494,499,501,507,509,514],{"type":42,"tag":358,"props":495,"children":496},{},[497],{"type":47,"value":498},"Verify",{"type":47,"value":500},": Do not modify source. Run the ordered verification gates above against the recorded patch. Record ",{"type":42,"tag":224,"props":502,"children":504},{"className":503},[],[505],{"type":47,"value":506},"verified",{"type":47,"value":508}," only when the original issue no longer reproduces, legitimate behavior remains intact, and relevant repository checks pass; preserve exact commands and results in the verification summary. Otherwise record ",{"type":42,"tag":224,"props":510,"children":512},{"className":511},[],[513],{"type":47,"value":464},{"type":47,"value":515}," and state the failing gate or proof gap. Do not close the finding.",{"type":42,"tag":57,"props":517,"children":518},{},[519],{"type":47,"value":520},"When a parent thread delegates a remediation stage, the worker owns that stage through its terminal workbench update. The parent remains an orchestrator and must not duplicate the worker's edits or treat a chat response as completion.",{"type":42,"tag":50,"props":522,"children":524},{"id":523},"outcome-and-output-contract",[525],{"type":47,"value":526},"Outcome and Output Contract",{"type":42,"tag":57,"props":528,"children":529},{},[530],{"type":47,"value":531},"In the final response, include:",{"type":42,"tag":119,"props":533,"children":534},{},[535,560,565,570,575,580,585,590,595],{"type":42,"tag":72,"props":536,"children":537},{},[538,540,546,548,553,555],{"type":47,"value":539},"outcome: ",{"type":42,"tag":224,"props":541,"children":543},{"className":542},[],[544],{"type":47,"value":545},"fixed",{"type":47,"value":547},", ",{"type":42,"tag":224,"props":549,"children":551},{"className":550},[],[552],{"type":47,"value":229},{"type":47,"value":554},", or ",{"type":42,"tag":224,"props":556,"children":558},{"className":557},[],[559],{"type":47,"value":237},{"type":42,"tag":72,"props":561,"children":562},{},[563],{"type":47,"value":564},"the concrete vulnerable path, security invariant, and legitimate behavior that had to remain",{"type":42,"tag":72,"props":566,"children":567},{},[568],{"type":47,"value":569},"the selected patch strategy and why it was the narrowest complete repository-native option, or the unresolved product decision when blocked",{"type":42,"tag":72,"props":571,"children":572},{},[573],{"type":47,"value":574},"files changed",{"type":42,"tag":72,"props":576,"children":577},{},[578],{"type":47,"value":579},"tests or validation artifacts added",{"type":42,"tag":72,"props":581,"children":582},{},[583],{"type":47,"value":584},"commands run and their pass, fail, or unknown results, grouped by the ordered verification gates",{"type":42,"tag":72,"props":586,"children":587},{},[588],{"type":47,"value":589},"explicit statement of how the original issue was shown not to reproduce",{"type":42,"tag":72,"props":591,"children":592},{},[593],{"type":47,"value":594},"explicit statement of how legitimate behavior was shown to remain intact",{"type":42,"tag":72,"props":596,"children":597},{},[598],{"type":47,"value":599},"remaining uncertainty or skipped validation, if any",{"type":42,"tag":57,"props":601,"children":602},{},[603,605,611],{"type":47,"value":604},"If using a scan artifact directory, resolve it using ",{"type":42,"tag":224,"props":606,"children":608},{"className":607},[],[609],{"type":47,"value":610},"..\u002F..\u002Freferences\u002Fscan-artifacts.md",{"type":47,"value":612},", then write a visible report to the fix report path. If there is no existing scan directory, a final chat summary is sufficient unless the user asks for a file.",{"type":42,"tag":50,"props":614,"children":616},{"id":615},"hard-rules",[617],{"type":47,"value":618},"Hard Rules",{"type":42,"tag":119,"props":620,"children":621},{},[622,641,646,651,656,661],{"type":42,"tag":72,"props":623,"children":624},{},[625,627,632,634,639],{"type":47,"value":626},"Do not report ",{"type":42,"tag":224,"props":628,"children":630},{"className":629},[],[631],{"type":47,"value":545},{"type":47,"value":633}," until every ordered verification gate has passed. Omit a check only when repository evidence shows it is irrelevant; an unavailable relevant check makes verification ",{"type":42,"tag":224,"props":635,"children":637},{"className":636},[],[638],{"type":47,"value":237},{"type":47,"value":640}," and must be reported.",{"type":42,"tag":72,"props":642,"children":643},{},[644],{"type":47,"value":645},"Do not rely only on code inspection when a focused test or reproducer is feasible.",{"type":42,"tag":72,"props":647,"children":648},{},[649],{"type":47,"value":650},"Do not broaden the patch into unrelated cleanup, sibling findings, or architectural redesign without evidence that the broader change is required for complete closure.",{"type":42,"tag":72,"props":652,"children":653},{},[654],{"type":47,"value":655},"Do not remove user changes or unrelated local modifications.",{"type":42,"tag":72,"props":657,"children":658},{},[659],{"type":47,"value":660},"Do not weaken authentication, authorization, tenant isolation, input validation, sandboxing, or logging to make tests pass.",{"type":42,"tag":72,"props":662,"children":663},{},[664],{"type":47,"value":665},"Do not hide proof gaps. If the environment blocks validation, say exactly which command or setup failed and what evidence is still missing.",{"items":667,"total":789},[668,687,703,715,735,757,777],{"slug":669,"name":669,"fn":670,"description":671,"org":672,"tags":673,"stars":25,"repoUrl":26,"updatedAt":686},"accessibility-and-inclusive-visualization","make data visualizations accessible","Make data visualizations accessible and inclusive. Use when the user needs chart or diagram accessibility guidance, text alternatives for complex visuals, color and contrast review, keyboard support, reduced-motion behavior for animation or parallax, or an accessibility QA workflow for exported figures, UML-like diagrams, and dashboards.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[674,677,680,683],{"name":675,"slug":676,"type":15},"Accessibility","accessibility",{"name":678,"slug":679,"type":15},"Charts","charts",{"name":681,"slug":682,"type":15},"Data Visualization","data-visualization",{"name":684,"slug":685,"type":15},"Design","design","2026-06-30T19:00:57.102",{"slug":688,"name":688,"fn":689,"description":690,"org":691,"tags":692,"stars":25,"repoUrl":26,"updatedAt":702},"agent-browser","automate browser interactions for agents","Browser automation CLI for AI agents. Use when the user needs to interact with websites, verify dev server output, test web apps, navigate pages, fill forms, click buttons, take screenshots, extract data, or automate any browser task. Also triggers when a dev server starts so you can verify it visually.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[693,696,699],{"name":694,"slug":695,"type":15},"Agents","agents",{"name":697,"slug":698,"type":15},"Browser Automation","browser-automation",{"name":700,"slug":701,"type":15},"Testing","testing","2026-04-06T18:41:03.44016",{"slug":704,"name":704,"fn":705,"description":706,"org":707,"tags":708,"stars":25,"repoUrl":26,"updatedAt":714},"agent-browser-verify","verify dev server output with automated browser","Automated browser verification for dev servers. Triggers when a dev server starts to run a visual gut-check with agent-browser — verifies the page loads, checks for console errors, validates key UI elements, and reports pass\u002Ffail before continuing.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[709,710,713],{"name":697,"slug":698,"type":15},{"name":711,"slug":712,"type":15},"Local Development","local-development",{"name":700,"slug":701,"type":15},"2026-04-06T18:41:17.526867",{"slug":716,"name":716,"fn":717,"description":718,"org":719,"tags":720,"stars":25,"repoUrl":26,"updatedAt":734},"agents-sdk","build AI agents on Cloudflare Workers","Build AI agents on Cloudflare Workers using the Agents SDK. Load when creating stateful agents, durable workflows, real-time WebSocket apps, scheduled tasks, MCP servers, or chat applications. Covers Agent class, state management, callable RPC, Workflows integration, and React hooks. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[721,722,725,728,731],{"name":694,"slug":695,"type":15},{"name":723,"slug":724,"type":15},"Cloudflare Workers","cloudflare-workers",{"name":726,"slug":727,"type":15},"SDK","sdk",{"name":729,"slug":730,"type":15},"Serverless","serverless",{"name":732,"slug":733,"type":15},"WebSockets","websockets","2026-04-06T18:39:51.717063",{"slug":736,"name":736,"fn":737,"description":738,"org":739,"tags":740,"stars":25,"repoUrl":26,"updatedAt":756},"ai-elements","build chat UIs with AI Elements","AI Elements component library guidance — pre-built React components for AI interfaces built on shadcn\u002Fui. Use when building chat UIs, message displays, tool call rendering, streaming responses, reasoning panels, or any AI-native interface with the AI SDK.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[741,744,747,750,753],{"name":742,"slug":743,"type":15},"Frontend","frontend",{"name":745,"slug":746,"type":15},"React","react",{"name":748,"slug":749,"type":15},"shadcn\u002Fui","shadcn-ui",{"name":751,"slug":752,"type":15},"UI Components","ui-components",{"name":754,"slug":755,"type":15},"Vercel","vercel","2026-04-06T18:40:59.619419",{"slug":758,"name":758,"fn":759,"description":760,"org":761,"tags":762,"stars":25,"repoUrl":26,"updatedAt":776},"ai-gateway","configure Vercel AI Gateway","Vercel AI Gateway expert guidance. Use when configuring model routing, provider failover, cost tracking, or managing multiple AI providers through a unified API.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[763,766,769,772,775],{"name":764,"slug":765,"type":15},"AI Infrastructure","ai-infrastructure",{"name":767,"slug":768,"type":15},"Cost Optimization","cost-optimization",{"name":770,"slug":771,"type":15},"LLM","llm",{"name":773,"slug":774,"type":15},"Performance","performance",{"name":754,"slug":755,"type":15},"2026-04-06T18:40:44.377464",{"slug":778,"name":778,"fn":779,"description":780,"org":781,"tags":782,"stars":25,"repoUrl":26,"updatedAt":788},"ai-generation-persistence","implement persistence patterns for AI generations","AI generation persistence patterns — unique IDs, addressable URLs, database storage, and cost tracking for every LLM generation",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[783,784,787],{"name":767,"slug":768,"type":15},{"name":785,"slug":786,"type":15},"Database","database",{"name":770,"slug":771,"type":15},"2026-04-06T18:41:08.513425",600,{"items":791,"total":986},[792,813,836,853,867,884,903,915,929,943,955,970],{"slug":793,"name":793,"fn":794,"description":795,"org":796,"tags":797,"stars":810,"repoUrl":811,"updatedAt":812},"prior-auth-packet-builder","build healthcare prior authorization packets","Build a concise prior authorization packet from local case files and payer policy docs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[798,801,804,807],{"name":799,"slug":800,"type":15},"Documents","documents",{"name":802,"slug":803,"type":15},"Healthcare","healthcare",{"name":805,"slug":806,"type":15},"Insurance","insurance",{"name":808,"slug":809,"type":15},"Regulatory Compliance","regulatory-compliance",28169,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-python","2026-04-16T05:11:39.180399",{"slug":814,"name":814,"fn":815,"description":816,"org":817,"tags":818,"stars":833,"repoUrl":834,"updatedAt":835},"aspnet-core","build ASP.NET Core web applications","Build, review, refactor, or architect ASP.NET Core web applications using current official guidance for .NET web development. Use when working on Blazor Web Apps, Razor Pages, MVC, Minimal APIs, controller-based Web APIs, SignalR, gRPC, middleware, dependency injection, configuration, authentication, authorization, testing, performance, deployment, or ASP.NET Core upgrades.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[819,822,824,827,830],{"name":820,"slug":821,"type":15},".NET","dotnet",{"name":823,"slug":814,"type":15},"ASP.NET Core",{"name":825,"slug":826,"type":15},"Blazor","blazor",{"name":828,"slug":829,"type":15},"C#","csharp",{"name":831,"slug":832,"type":15},"Web Development","web-development",23787,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills","2026-04-12T05:07:02.819491",{"slug":837,"name":837,"fn":838,"description":839,"org":840,"tags":841,"stars":833,"repoUrl":834,"updatedAt":852},"chatgpt-apps","build ChatGPT Apps SDK applications","Build, scaffold, refactor, and troubleshoot ChatGPT Apps SDK applications that combine an MCP server and widget UI. Use when Codex needs to design tools, register UI resources, wire the MCP Apps bridge or ChatGPT compatibility APIs, apply Apps SDK metadata or CSP or domain settings, or produce a docs-aligned project scaffold. Prefer a docs-first workflow by invoking the openai-docs skill or OpenAI developer docs MCP tools before generating code.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[842,845,848,851],{"name":843,"slug":844,"type":15},"Apps SDK","apps-sdk",{"name":846,"slug":847,"type":15},"ChatGPT","chatgpt",{"name":849,"slug":850,"type":15},"MCP","mcp",{"name":9,"slug":8,"type":15},"2026-04-12T05:07:05.468097",{"slug":854,"name":854,"fn":855,"description":856,"org":857,"tags":858,"stars":833,"repoUrl":834,"updatedAt":866},"cli-creator","build CLIs from API docs","Build a composable CLI for Codex from API docs, an OpenAPI spec, existing curl examples, an SDK, a web app, an admin tool, or a local script. Use when the user wants Codex to create a command-line tool that can run from any repo, expose composable read\u002Fwrite commands, return stable JSON, manage auth, and pair with a companion skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[859,862,865],{"name":860,"slug":861,"type":15},"API Development","api-development",{"name":863,"slug":864,"type":15},"CLI","cli",{"name":17,"slug":18,"type":15},"2026-04-12T05:07:04.132762",{"slug":868,"name":868,"fn":869,"description":870,"org":871,"tags":872,"stars":833,"repoUrl":834,"updatedAt":883},"cloudflare-deploy","deploy projects to Cloudflare","Deploy applications and infrastructure to Cloudflare using Workers, Pages, and related platform services. Use when the user asks to deploy, host, publish, or set up a project on Cloudflare.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[873,876,879,880],{"name":874,"slug":875,"type":15},"Cloudflare","cloudflare",{"name":877,"slug":878,"type":15},"Cloudflare Pages","cloudflare-pages",{"name":723,"slug":724,"type":15},{"name":881,"slug":882,"type":15},"Deployment","deployment","2026-04-12T05:07:14.275118",{"slug":885,"name":885,"fn":886,"description":887,"org":888,"tags":889,"stars":833,"repoUrl":834,"updatedAt":902},"define-goal","define and set measurable project goals","Help the user define a concrete, measurable goal before starting work, especially when they ask to use the goal tool, create a goal, set an objective, clarify success criteria, or turn a fuzzy intention into a quantitative outcome. Use this skill for goal creation and goal refinement only; it does not manage durable snapshots, decision logs, or long-running execution artifacts.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[890,893,896,899],{"name":891,"slug":892,"type":15},"Productivity","productivity",{"name":894,"slug":895,"type":15},"Project Management","project-management",{"name":897,"slug":898,"type":15},"Strategy","strategy",{"name":900,"slug":901,"type":15},"Task Management","task-management","2026-05-23T06:17:16.870838",{"slug":904,"name":904,"fn":905,"description":906,"org":907,"tags":908,"stars":833,"repoUrl":834,"updatedAt":914},"figma","translate Figma designs into code","Use the Figma MCP server to fetch design context, screenshots, variables, and assets from Figma, and to translate Figma nodes into production code. Trigger when a task involves Figma URLs, node IDs, design-to-code implementation, or Figma MCP setup and troubleshooting.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[909,910,912,913],{"name":684,"slug":685,"type":15},{"name":911,"slug":904,"type":15},"Figma",{"name":742,"slug":743,"type":15},{"name":849,"slug":850,"type":15},"2026-04-12T05:06:47.939943",{"slug":916,"name":916,"fn":917,"description":918,"org":919,"tags":920,"stars":833,"repoUrl":834,"updatedAt":928},"figma-code-connect-components","connect Figma designs to code components","Connects Figma design components to code components using Code Connect mapping tools. Use when user says \"code connect\", \"connect this component to code\", \"map this component\", \"link component to code\", \"create code connect mapping\", or wants to establish mappings between Figma designs and code implementations. For canvas writes via `use_figma`, use `figma-use`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[921,922,925,926,927],{"name":684,"slug":685,"type":15},{"name":923,"slug":924,"type":15},"Design System","design-system",{"name":911,"slug":904,"type":15},{"name":742,"slug":743,"type":15},{"name":751,"slug":752,"type":15},"2026-05-10T05:59:52.971881",{"slug":930,"name":930,"fn":931,"description":932,"org":933,"tags":934,"stars":833,"repoUrl":834,"updatedAt":942},"figma-create-design-system-rules","generate design system rules from Figma","Generates custom design system rules for the user's codebase. Use when user says \"create design system rules\", \"generate rules for my project\", \"set up design rules\", \"customize design system guidelines\", or wants to establish project-specific conventions for Figma-to-code workflows. Requires Figma MCP server connection.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[935,936,937,940,941],{"name":684,"slug":685,"type":15},{"name":923,"slug":924,"type":15},{"name":938,"slug":939,"type":15},"Documentation","documentation",{"name":911,"slug":904,"type":15},{"name":742,"slug":743,"type":15},"2026-05-16T06:07:47.821474",{"slug":944,"name":944,"fn":945,"description":946,"org":947,"tags":948,"stars":833,"repoUrl":834,"updatedAt":954},"figma-implement-design","translate Figma designs into application code","Translates Figma designs into production-ready application code with 1:1 visual fidelity. Use when implementing UI code from Figma files, when user mentions \"implement design\", \"generate code\", \"implement component\", provides Figma URLs, or asks to build components matching Figma specs. For Figma canvas writes via `use_figma`, use `figma-use`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[949,950,951,952,953],{"name":684,"slug":685,"type":15},{"name":911,"slug":904,"type":15},{"name":742,"slug":743,"type":15},{"name":751,"slug":752,"type":15},{"name":831,"slug":832,"type":15},"2026-05-16T06:07:40.583615",{"slug":956,"name":956,"fn":957,"description":958,"org":959,"tags":960,"stars":833,"repoUrl":834,"updatedAt":969},"hatch-pet","create animated pets for Codex","Create, repair, validate, visually QA, and package Codex-compatible animated pets and pet spritesheets from character art, generated images, company or prospect brand cues, or visual references. Use when a user wants a lightweight-worker Codex pet workflow, a non-pixel custom pet style, a prospect or company mascot pet, or a full 8x9 animated pet atlas with transparent unused cells, QA contact sheets, and pet.json packaging. This skill composes the installed $imagegen system skill for visual generation and uses bundled scripts for deterministic spritesheet assembly.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[961,964,965,968],{"name":962,"slug":963,"type":15},"Animation","animation",{"name":17,"slug":18,"type":15},{"name":966,"slug":967,"type":15},"Creative","creative",{"name":684,"slug":685,"type":15},"2026-05-02T05:31:48.48485",{"slug":971,"name":971,"fn":972,"description":973,"org":974,"tags":975,"stars":833,"repoUrl":834,"updatedAt":985},"imagegen","generate and edit raster images","Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output should be a bitmap asset rather than repo-native code or vector. Do not use when the task is better handled by editing existing SVG\u002Fvector\u002Fcode-native assets, extending an established icon or logo system, or building the visual directly in HTML\u002FCSS\u002Fcanvas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[976,977,978,981,984],{"name":966,"slug":967,"type":15},{"name":684,"slug":685,"type":15},{"name":979,"slug":980,"type":15},"Image Generation","image-generation",{"name":982,"slug":983,"type":15},"Images","images",{"name":9,"slug":8,"type":15},"2026-05-15T06:23:24.312127",675]