[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-openai-playwright":3,"mdc--kte6w1-key":35,"related-repo-openai-playwright":1350,"related-org-openai-playwright":1474},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":24,"repoUrl":25,"updatedAt":26,"license":27,"forks":28,"topics":29,"repo":30,"sourceUrl":33,"mdContent":34},"playwright","automate browsers with Playwright","Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via `playwright-cli` or the bundled wrapper script.",{"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,18,21],{"name":13,"slug":14,"type":15},"CLI","cli","tag",{"name":17,"slug":4,"type":15},"Playwright",{"name":19,"slug":20,"type":15},"Testing","testing",{"name":22,"slug":23,"type":15},"Browser Automation","browser-automation",23787,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills","2026-04-12T05:06:57.615016",null,1614,[],{"repoUrl":25,"stars":24,"forks":28,"topics":31,"description":32},[],"Skills Catalog for Codex","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002F.curated\u002Fplaywright","---\nname: \"playwright\"\ndescription: \"Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via `playwright-cli` or the bundled wrapper script.\"\n---\n\n\n# Playwright CLI Skill\n\nDrive a real browser from the terminal using `playwright-cli`. Prefer the bundled wrapper script so the CLI works even when it is not globally installed.\nTreat this skill as CLI-first automation. Do not pivot to `@playwright\u002Ftest` unless the user explicitly asks for test files.\n\n## Prerequisite check (required)\n\nBefore proposing commands, check whether `npx` is available (the wrapper depends on it):\n\n```bash\ncommand -v npx >\u002Fdev\u002Fnull 2>&1\n```\n\nIf it is not available, pause and ask the user to install Node.js\u002Fnpm (which provides `npx`). Provide these steps verbatim:\n\n```bash\n# Verify Node\u002Fnpm are installed\nnode --version\nnpm --version\n\n# If missing, install Node.js\u002Fnpm, then:\nnpm install -g @playwright\u002Fcli@latest\nplaywright-cli --help\n```\n\nOnce `npx` is present, proceed with the wrapper script. A global install of `playwright-cli` is optional.\n\n## Skill path (set once)\n\n```bash\nexport CODEX_HOME=\"${CODEX_HOME:-$HOME\u002F.codex}\"\nexport PWCLI=\"$CODEX_HOME\u002Fskills\u002Fplaywright\u002Fscripts\u002Fplaywright_cli.sh\"\n```\n\nUser-scoped skills install under `$CODEX_HOME\u002Fskills` (default: `~\u002F.codex\u002Fskills`).\n\n## Quick start\n\nUse the wrapper script:\n\n```bash\n\"$PWCLI\" open https:\u002F\u002Fplaywright.dev --headed\n\"$PWCLI\" snapshot\n\"$PWCLI\" click e15\n\"$PWCLI\" type \"Playwright\"\n\"$PWCLI\" press Enter\n\"$PWCLI\" screenshot\n```\n\nIf the user prefers a global install, this is also valid:\n\n```bash\nnpm install -g @playwright\u002Fcli@latest\nplaywright-cli --help\n```\n\n## Core workflow\n\n1. Open the page.\n2. Snapshot to get stable element refs.\n3. Interact using refs from the latest snapshot.\n4. Re-snapshot after navigation or significant DOM changes.\n5. Capture artifacts (screenshot, pdf, traces) when useful.\n\nMinimal loop:\n\n```bash\n\"$PWCLI\" open https:\u002F\u002Fexample.com\n\"$PWCLI\" snapshot\n\"$PWCLI\" click e3\n\"$PWCLI\" snapshot\n```\n\n## When to snapshot again\n\nSnapshot again after:\n\n- navigation\n- clicking elements that change the UI substantially\n- opening\u002Fclosing modals or menus\n- tab switches\n\nRefs can go stale. When a command fails due to a missing ref, snapshot again.\n\n## Recommended patterns\n\n### Form fill and submit\n\n```bash\n\"$PWCLI\" open https:\u002F\u002Fexample.com\u002Fform\n\"$PWCLI\" snapshot\n\"$PWCLI\" fill e1 \"user@example.com\"\n\"$PWCLI\" fill e2 \"password123\"\n\"$PWCLI\" click e3\n\"$PWCLI\" snapshot\n```\n\n### Debug a UI flow with traces\n\n```bash\n\"$PWCLI\" open https:\u002F\u002Fexample.com --headed\n\"$PWCLI\" tracing-start\n# ...interactions...\n\"$PWCLI\" tracing-stop\n```\n\n### Multi-tab work\n\n```bash\n\"$PWCLI\" tab-new https:\u002F\u002Fexample.com\n\"$PWCLI\" tab-list\n\"$PWCLI\" tab-select 0\n\"$PWCLI\" snapshot\n```\n\n## Wrapper script\n\nThe wrapper script uses `npx --package @playwright\u002Fcli playwright-cli` so the CLI can run without a global install:\n\n```bash\n\"$PWCLI\" --help\n```\n\nPrefer the wrapper unless the repository already standardizes on a global install.\n\n## References\n\nOpen only what you need:\n\n- CLI command reference: `references\u002Fcli.md`\n- Practical workflows and troubleshooting: `references\u002Fworkflows.md`\n\n## Guardrails\n\n- Always snapshot before referencing element ids like `e12`.\n- Re-snapshot when refs seem stale.\n- Prefer explicit commands over `eval` and `run-code` unless needed.\n- When you do not have a fresh snapshot, use placeholder refs like `eX` and say why; do not bypass refs with `run-code`.\n- Use `--headed` when a visual check will help.\n- When capturing artifacts in this repo, use `output\u002Fplaywright\u002F` and avoid introducing new top-level artifact folders.\n- Default to CLI commands and workflows, not Playwright test specs.\n",{"data":36,"body":37},{"name":4,"description":6},{"type":38,"children":39},"root",[40,49,72,79,92,142,154,253,272,278,381,402,408,413,574,579,616,622,652,657,750,756,761,785,790,796,803,970,976,1059,1065,1161,1167,1180,1206,1211,1217,1222,1247,1253,1344],{"type":41,"tag":42,"props":43,"children":45},"element","h1",{"id":44},"playwright-cli-skill",[46],{"type":47,"value":48},"text","Playwright CLI Skill",{"type":41,"tag":50,"props":51,"children":52},"p",{},[53,55,62,64,70],{"type":47,"value":54},"Drive a real browser from the terminal using ",{"type":41,"tag":56,"props":57,"children":59},"code",{"className":58},[],[60],{"type":47,"value":61},"playwright-cli",{"type":47,"value":63},". Prefer the bundled wrapper script so the CLI works even when it is not globally installed.\nTreat this skill as CLI-first automation. Do not pivot to ",{"type":41,"tag":56,"props":65,"children":67},{"className":66},[],[68],{"type":47,"value":69},"@playwright\u002Ftest",{"type":47,"value":71}," unless the user explicitly asks for test files.",{"type":41,"tag":73,"props":74,"children":76},"h2",{"id":75},"prerequisite-check-required",[77],{"type":47,"value":78},"Prerequisite check (required)",{"type":41,"tag":50,"props":80,"children":81},{},[82,84,90],{"type":47,"value":83},"Before proposing commands, check whether ",{"type":41,"tag":56,"props":85,"children":87},{"className":86},[],[88],{"type":47,"value":89},"npx",{"type":47,"value":91}," is available (the wrapper depends on it):",{"type":41,"tag":93,"props":94,"children":99},"pre",{"className":95,"code":96,"language":97,"meta":98,"style":98},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","command -v npx >\u002Fdev\u002Fnull 2>&1\n","bash","",[100],{"type":41,"tag":56,"props":101,"children":102},{"__ignoreMap":98},[103],{"type":41,"tag":104,"props":105,"children":108},"span",{"class":106,"line":107},"line",1,[109,115,121,126,132,137],{"type":41,"tag":104,"props":110,"children":112},{"style":111},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[113],{"type":47,"value":114},"command",{"type":41,"tag":104,"props":116,"children":118},{"style":117},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[119],{"type":47,"value":120}," -v",{"type":41,"tag":104,"props":122,"children":123},{"style":117},[124],{"type":47,"value":125}," npx",{"type":41,"tag":104,"props":127,"children":129},{"style":128},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[130],{"type":47,"value":131}," >",{"type":41,"tag":104,"props":133,"children":134},{"style":117},[135],{"type":47,"value":136},"\u002Fdev\u002Fnull",{"type":41,"tag":104,"props":138,"children":139},{"style":128},[140],{"type":47,"value":141}," 2>&1\n",{"type":41,"tag":50,"props":143,"children":144},{},[145,147,152],{"type":47,"value":146},"If it is not available, pause and ask the user to install Node.js\u002Fnpm (which provides ",{"type":41,"tag":56,"props":148,"children":150},{"className":149},[],[151],{"type":47,"value":89},{"type":47,"value":153},"). Provide these steps verbatim:",{"type":41,"tag":93,"props":155,"children":157},{"className":95,"code":156,"language":97,"meta":98,"style":98},"# Verify Node\u002Fnpm are installed\nnode --version\nnpm --version\n\n# If missing, install Node.js\u002Fnpm, then:\nnpm install -g @playwright\u002Fcli@latest\nplaywright-cli --help\n",[158],{"type":41,"tag":56,"props":159,"children":160},{"__ignoreMap":98},[161,170,185,198,208,217,240],{"type":41,"tag":104,"props":162,"children":163},{"class":106,"line":107},[164],{"type":41,"tag":104,"props":165,"children":167},{"style":166},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[168],{"type":47,"value":169},"# Verify Node\u002Fnpm are installed\n",{"type":41,"tag":104,"props":171,"children":173},{"class":106,"line":172},2,[174,180],{"type":41,"tag":104,"props":175,"children":177},{"style":176},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[178],{"type":47,"value":179},"node",{"type":41,"tag":104,"props":181,"children":182},{"style":117},[183],{"type":47,"value":184}," --version\n",{"type":41,"tag":104,"props":186,"children":188},{"class":106,"line":187},3,[189,194],{"type":41,"tag":104,"props":190,"children":191},{"style":176},[192],{"type":47,"value":193},"npm",{"type":41,"tag":104,"props":195,"children":196},{"style":117},[197],{"type":47,"value":184},{"type":41,"tag":104,"props":199,"children":201},{"class":106,"line":200},4,[202],{"type":41,"tag":104,"props":203,"children":205},{"emptyLinePlaceholder":204},true,[206],{"type":47,"value":207},"\n",{"type":41,"tag":104,"props":209,"children":211},{"class":106,"line":210},5,[212],{"type":41,"tag":104,"props":213,"children":214},{"style":166},[215],{"type":47,"value":216},"# If missing, install Node.js\u002Fnpm, then:\n",{"type":41,"tag":104,"props":218,"children":220},{"class":106,"line":219},6,[221,225,230,235],{"type":41,"tag":104,"props":222,"children":223},{"style":176},[224],{"type":47,"value":193},{"type":41,"tag":104,"props":226,"children":227},{"style":117},[228],{"type":47,"value":229}," install",{"type":41,"tag":104,"props":231,"children":232},{"style":117},[233],{"type":47,"value":234}," -g",{"type":41,"tag":104,"props":236,"children":237},{"style":117},[238],{"type":47,"value":239}," @playwright\u002Fcli@latest\n",{"type":41,"tag":104,"props":241,"children":243},{"class":106,"line":242},7,[244,248],{"type":41,"tag":104,"props":245,"children":246},{"style":176},[247],{"type":47,"value":61},{"type":41,"tag":104,"props":249,"children":250},{"style":117},[251],{"type":47,"value":252}," --help\n",{"type":41,"tag":50,"props":254,"children":255},{},[256,258,263,265,270],{"type":47,"value":257},"Once ",{"type":41,"tag":56,"props":259,"children":261},{"className":260},[],[262],{"type":47,"value":89},{"type":47,"value":264}," is present, proceed with the wrapper script. A global install of ",{"type":41,"tag":56,"props":266,"children":268},{"className":267},[],[269],{"type":47,"value":61},{"type":47,"value":271}," is optional.",{"type":41,"tag":73,"props":273,"children":275},{"id":274},"skill-path-set-once",[276],{"type":47,"value":277},"Skill path (set once)",{"type":41,"tag":93,"props":279,"children":281},{"className":95,"code":280,"language":97,"meta":98,"style":98},"export CODEX_HOME=\"${CODEX_HOME:-$HOME\u002F.codex}\"\nexport PWCLI=\"$CODEX_HOME\u002Fskills\u002Fplaywright\u002Fscripts\u002Fplaywright_cli.sh\"\n",[282],{"type":41,"tag":56,"props":283,"children":284},{"__ignoreMap":98},[285,345],{"type":41,"tag":104,"props":286,"children":287},{"class":106,"line":107},[288,294,300,305,310,315,320,325,330,335,340],{"type":41,"tag":104,"props":289,"children":291},{"style":290},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[292],{"type":47,"value":293},"export",{"type":41,"tag":104,"props":295,"children":297},{"style":296},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[298],{"type":47,"value":299}," CODEX_HOME",{"type":41,"tag":104,"props":301,"children":302},{"style":128},[303],{"type":47,"value":304},"=",{"type":41,"tag":104,"props":306,"children":307},{"style":128},[308],{"type":47,"value":309},"\"${",{"type":41,"tag":104,"props":311,"children":312},{"style":296},[313],{"type":47,"value":314},"CODEX_HOME",{"type":41,"tag":104,"props":316,"children":317},{"style":128},[318],{"type":47,"value":319},":-",{"type":41,"tag":104,"props":321,"children":322},{"style":296},[323],{"type":47,"value":324},"$HOME",{"type":41,"tag":104,"props":326,"children":327},{"style":128},[328],{"type":47,"value":329},"\u002F",{"type":41,"tag":104,"props":331,"children":332},{"style":117},[333],{"type":47,"value":334},".",{"type":41,"tag":104,"props":336,"children":337},{"style":296},[338],{"type":47,"value":339},"codex",{"type":41,"tag":104,"props":341,"children":342},{"style":128},[343],{"type":47,"value":344},"}\"\n",{"type":41,"tag":104,"props":346,"children":347},{"class":106,"line":172},[348,352,357,361,366,371,376],{"type":41,"tag":104,"props":349,"children":350},{"style":290},[351],{"type":47,"value":293},{"type":41,"tag":104,"props":353,"children":354},{"style":296},[355],{"type":47,"value":356}," PWCLI",{"type":41,"tag":104,"props":358,"children":359},{"style":128},[360],{"type":47,"value":304},{"type":41,"tag":104,"props":362,"children":363},{"style":128},[364],{"type":47,"value":365},"\"",{"type":41,"tag":104,"props":367,"children":368},{"style":296},[369],{"type":47,"value":370},"$CODEX_HOME",{"type":41,"tag":104,"props":372,"children":373},{"style":117},[374],{"type":47,"value":375},"\u002Fskills\u002Fplaywright\u002Fscripts\u002Fplaywright_cli.sh",{"type":41,"tag":104,"props":377,"children":378},{"style":128},[379],{"type":47,"value":380},"\"\n",{"type":41,"tag":50,"props":382,"children":383},{},[384,386,392,394,400],{"type":47,"value":385},"User-scoped skills install under ",{"type":41,"tag":56,"props":387,"children":389},{"className":388},[],[390],{"type":47,"value":391},"$CODEX_HOME\u002Fskills",{"type":47,"value":393}," (default: ",{"type":41,"tag":56,"props":395,"children":397},{"className":396},[],[398],{"type":47,"value":399},"~\u002F.codex\u002Fskills",{"type":47,"value":401},").",{"type":41,"tag":73,"props":403,"children":405},{"id":404},"quick-start",[406],{"type":47,"value":407},"Quick start",{"type":41,"tag":50,"props":409,"children":410},{},[411],{"type":47,"value":412},"Use the wrapper script:",{"type":41,"tag":93,"props":414,"children":416},{"className":95,"code":415,"language":97,"meta":98,"style":98},"\"$PWCLI\" open https:\u002F\u002Fplaywright.dev --headed\n\"$PWCLI\" snapshot\n\"$PWCLI\" click e15\n\"$PWCLI\" type \"Playwright\"\n\"$PWCLI\" press Enter\n\"$PWCLI\" screenshot\n",[417],{"type":41,"tag":56,"props":418,"children":419},{"__ignoreMap":98},[420,451,471,496,529,554],{"type":41,"tag":104,"props":421,"children":422},{"class":106,"line":107},[423,427,432,436,441,446],{"type":41,"tag":104,"props":424,"children":425},{"style":176},[426],{"type":47,"value":365},{"type":41,"tag":104,"props":428,"children":429},{"style":296},[430],{"type":47,"value":431},"$PWCLI",{"type":41,"tag":104,"props":433,"children":434},{"style":176},[435],{"type":47,"value":365},{"type":41,"tag":104,"props":437,"children":438},{"style":117},[439],{"type":47,"value":440}," open",{"type":41,"tag":104,"props":442,"children":443},{"style":117},[444],{"type":47,"value":445}," https:\u002F\u002Fplaywright.dev",{"type":41,"tag":104,"props":447,"children":448},{"style":117},[449],{"type":47,"value":450}," --headed\n",{"type":41,"tag":104,"props":452,"children":453},{"class":106,"line":172},[454,458,462,466],{"type":41,"tag":104,"props":455,"children":456},{"style":176},[457],{"type":47,"value":365},{"type":41,"tag":104,"props":459,"children":460},{"style":296},[461],{"type":47,"value":431},{"type":41,"tag":104,"props":463,"children":464},{"style":176},[465],{"type":47,"value":365},{"type":41,"tag":104,"props":467,"children":468},{"style":117},[469],{"type":47,"value":470}," snapshot\n",{"type":41,"tag":104,"props":472,"children":473},{"class":106,"line":187},[474,478,482,486,491],{"type":41,"tag":104,"props":475,"children":476},{"style":176},[477],{"type":47,"value":365},{"type":41,"tag":104,"props":479,"children":480},{"style":296},[481],{"type":47,"value":431},{"type":41,"tag":104,"props":483,"children":484},{"style":176},[485],{"type":47,"value":365},{"type":41,"tag":104,"props":487,"children":488},{"style":117},[489],{"type":47,"value":490}," click",{"type":41,"tag":104,"props":492,"children":493},{"style":117},[494],{"type":47,"value":495}," e15\n",{"type":41,"tag":104,"props":497,"children":498},{"class":106,"line":200},[499,503,507,511,516,521,525],{"type":41,"tag":104,"props":500,"children":501},{"style":176},[502],{"type":47,"value":365},{"type":41,"tag":104,"props":504,"children":505},{"style":296},[506],{"type":47,"value":431},{"type":41,"tag":104,"props":508,"children":509},{"style":176},[510],{"type":47,"value":365},{"type":41,"tag":104,"props":512,"children":513},{"style":117},[514],{"type":47,"value":515}," type",{"type":41,"tag":104,"props":517,"children":518},{"style":128},[519],{"type":47,"value":520}," \"",{"type":41,"tag":104,"props":522,"children":523},{"style":117},[524],{"type":47,"value":17},{"type":41,"tag":104,"props":526,"children":527},{"style":128},[528],{"type":47,"value":380},{"type":41,"tag":104,"props":530,"children":531},{"class":106,"line":210},[532,536,540,544,549],{"type":41,"tag":104,"props":533,"children":534},{"style":176},[535],{"type":47,"value":365},{"type":41,"tag":104,"props":537,"children":538},{"style":296},[539],{"type":47,"value":431},{"type":41,"tag":104,"props":541,"children":542},{"style":176},[543],{"type":47,"value":365},{"type":41,"tag":104,"props":545,"children":546},{"style":117},[547],{"type":47,"value":548}," press",{"type":41,"tag":104,"props":550,"children":551},{"style":117},[552],{"type":47,"value":553}," Enter\n",{"type":41,"tag":104,"props":555,"children":556},{"class":106,"line":219},[557,561,565,569],{"type":41,"tag":104,"props":558,"children":559},{"style":176},[560],{"type":47,"value":365},{"type":41,"tag":104,"props":562,"children":563},{"style":296},[564],{"type":47,"value":431},{"type":41,"tag":104,"props":566,"children":567},{"style":176},[568],{"type":47,"value":365},{"type":41,"tag":104,"props":570,"children":571},{"style":117},[572],{"type":47,"value":573}," screenshot\n",{"type":41,"tag":50,"props":575,"children":576},{},[577],{"type":47,"value":578},"If the user prefers a global install, this is also valid:",{"type":41,"tag":93,"props":580,"children":582},{"className":95,"code":581,"language":97,"meta":98,"style":98},"npm install -g @playwright\u002Fcli@latest\nplaywright-cli --help\n",[583],{"type":41,"tag":56,"props":584,"children":585},{"__ignoreMap":98},[586,605],{"type":41,"tag":104,"props":587,"children":588},{"class":106,"line":107},[589,593,597,601],{"type":41,"tag":104,"props":590,"children":591},{"style":176},[592],{"type":47,"value":193},{"type":41,"tag":104,"props":594,"children":595},{"style":117},[596],{"type":47,"value":229},{"type":41,"tag":104,"props":598,"children":599},{"style":117},[600],{"type":47,"value":234},{"type":41,"tag":104,"props":602,"children":603},{"style":117},[604],{"type":47,"value":239},{"type":41,"tag":104,"props":606,"children":607},{"class":106,"line":172},[608,612],{"type":41,"tag":104,"props":609,"children":610},{"style":176},[611],{"type":47,"value":61},{"type":41,"tag":104,"props":613,"children":614},{"style":117},[615],{"type":47,"value":252},{"type":41,"tag":73,"props":617,"children":619},{"id":618},"core-workflow",[620],{"type":47,"value":621},"Core workflow",{"type":41,"tag":623,"props":624,"children":625},"ol",{},[626,632,637,642,647],{"type":41,"tag":627,"props":628,"children":629},"li",{},[630],{"type":47,"value":631},"Open the page.",{"type":41,"tag":627,"props":633,"children":634},{},[635],{"type":47,"value":636},"Snapshot to get stable element refs.",{"type":41,"tag":627,"props":638,"children":639},{},[640],{"type":47,"value":641},"Interact using refs from the latest snapshot.",{"type":41,"tag":627,"props":643,"children":644},{},[645],{"type":47,"value":646},"Re-snapshot after navigation or significant DOM changes.",{"type":41,"tag":627,"props":648,"children":649},{},[650],{"type":47,"value":651},"Capture artifacts (screenshot, pdf, traces) when useful.",{"type":41,"tag":50,"props":653,"children":654},{},[655],{"type":47,"value":656},"Minimal loop:",{"type":41,"tag":93,"props":658,"children":660},{"className":95,"code":659,"language":97,"meta":98,"style":98},"\"$PWCLI\" open https:\u002F\u002Fexample.com\n\"$PWCLI\" snapshot\n\"$PWCLI\" click e3\n\"$PWCLI\" snapshot\n",[661],{"type":41,"tag":56,"props":662,"children":663},{"__ignoreMap":98},[664,688,707,731],{"type":41,"tag":104,"props":665,"children":666},{"class":106,"line":107},[667,671,675,679,683],{"type":41,"tag":104,"props":668,"children":669},{"style":176},[670],{"type":47,"value":365},{"type":41,"tag":104,"props":672,"children":673},{"style":296},[674],{"type":47,"value":431},{"type":41,"tag":104,"props":676,"children":677},{"style":176},[678],{"type":47,"value":365},{"type":41,"tag":104,"props":680,"children":681},{"style":117},[682],{"type":47,"value":440},{"type":41,"tag":104,"props":684,"children":685},{"style":117},[686],{"type":47,"value":687}," https:\u002F\u002Fexample.com\n",{"type":41,"tag":104,"props":689,"children":690},{"class":106,"line":172},[691,695,699,703],{"type":41,"tag":104,"props":692,"children":693},{"style":176},[694],{"type":47,"value":365},{"type":41,"tag":104,"props":696,"children":697},{"style":296},[698],{"type":47,"value":431},{"type":41,"tag":104,"props":700,"children":701},{"style":176},[702],{"type":47,"value":365},{"type":41,"tag":104,"props":704,"children":705},{"style":117},[706],{"type":47,"value":470},{"type":41,"tag":104,"props":708,"children":709},{"class":106,"line":187},[710,714,718,722,726],{"type":41,"tag":104,"props":711,"children":712},{"style":176},[713],{"type":47,"value":365},{"type":41,"tag":104,"props":715,"children":716},{"style":296},[717],{"type":47,"value":431},{"type":41,"tag":104,"props":719,"children":720},{"style":176},[721],{"type":47,"value":365},{"type":41,"tag":104,"props":723,"children":724},{"style":117},[725],{"type":47,"value":490},{"type":41,"tag":104,"props":727,"children":728},{"style":117},[729],{"type":47,"value":730}," e3\n",{"type":41,"tag":104,"props":732,"children":733},{"class":106,"line":200},[734,738,742,746],{"type":41,"tag":104,"props":735,"children":736},{"style":176},[737],{"type":47,"value":365},{"type":41,"tag":104,"props":739,"children":740},{"style":296},[741],{"type":47,"value":431},{"type":41,"tag":104,"props":743,"children":744},{"style":176},[745],{"type":47,"value":365},{"type":41,"tag":104,"props":747,"children":748},{"style":117},[749],{"type":47,"value":470},{"type":41,"tag":73,"props":751,"children":753},{"id":752},"when-to-snapshot-again",[754],{"type":47,"value":755},"When to snapshot again",{"type":41,"tag":50,"props":757,"children":758},{},[759],{"type":47,"value":760},"Snapshot again after:",{"type":41,"tag":762,"props":763,"children":764},"ul",{},[765,770,775,780],{"type":41,"tag":627,"props":766,"children":767},{},[768],{"type":47,"value":769},"navigation",{"type":41,"tag":627,"props":771,"children":772},{},[773],{"type":47,"value":774},"clicking elements that change the UI substantially",{"type":41,"tag":627,"props":776,"children":777},{},[778],{"type":47,"value":779},"opening\u002Fclosing modals or menus",{"type":41,"tag":627,"props":781,"children":782},{},[783],{"type":47,"value":784},"tab switches",{"type":41,"tag":50,"props":786,"children":787},{},[788],{"type":47,"value":789},"Refs can go stale. When a command fails due to a missing ref, snapshot again.",{"type":41,"tag":73,"props":791,"children":793},{"id":792},"recommended-patterns",[794],{"type":47,"value":795},"Recommended patterns",{"type":41,"tag":797,"props":798,"children":800},"h3",{"id":799},"form-fill-and-submit",[801],{"type":47,"value":802},"Form fill and submit",{"type":41,"tag":93,"props":804,"children":806},{"className":95,"code":805,"language":97,"meta":98,"style":98},"\"$PWCLI\" open https:\u002F\u002Fexample.com\u002Fform\n\"$PWCLI\" snapshot\n\"$PWCLI\" fill e1 \"user@example.com\"\n\"$PWCLI\" fill e2 \"password123\"\n\"$PWCLI\" click e3\n\"$PWCLI\" snapshot\n",[807],{"type":41,"tag":56,"props":808,"children":809},{"__ignoreMap":98},[810,834,853,891,928,951],{"type":41,"tag":104,"props":811,"children":812},{"class":106,"line":107},[813,817,821,825,829],{"type":41,"tag":104,"props":814,"children":815},{"style":176},[816],{"type":47,"value":365},{"type":41,"tag":104,"props":818,"children":819},{"style":296},[820],{"type":47,"value":431},{"type":41,"tag":104,"props":822,"children":823},{"style":176},[824],{"type":47,"value":365},{"type":41,"tag":104,"props":826,"children":827},{"style":117},[828],{"type":47,"value":440},{"type":41,"tag":104,"props":830,"children":831},{"style":117},[832],{"type":47,"value":833}," https:\u002F\u002Fexample.com\u002Fform\n",{"type":41,"tag":104,"props":835,"children":836},{"class":106,"line":172},[837,841,845,849],{"type":41,"tag":104,"props":838,"children":839},{"style":176},[840],{"type":47,"value":365},{"type":41,"tag":104,"props":842,"children":843},{"style":296},[844],{"type":47,"value":431},{"type":41,"tag":104,"props":846,"children":847},{"style":176},[848],{"type":47,"value":365},{"type":41,"tag":104,"props":850,"children":851},{"style":117},[852],{"type":47,"value":470},{"type":41,"tag":104,"props":854,"children":855},{"class":106,"line":187},[856,860,864,868,873,878,882,887],{"type":41,"tag":104,"props":857,"children":858},{"style":176},[859],{"type":47,"value":365},{"type":41,"tag":104,"props":861,"children":862},{"style":296},[863],{"type":47,"value":431},{"type":41,"tag":104,"props":865,"children":866},{"style":176},[867],{"type":47,"value":365},{"type":41,"tag":104,"props":869,"children":870},{"style":117},[871],{"type":47,"value":872}," fill",{"type":41,"tag":104,"props":874,"children":875},{"style":117},[876],{"type":47,"value":877}," e1",{"type":41,"tag":104,"props":879,"children":880},{"style":128},[881],{"type":47,"value":520},{"type":41,"tag":104,"props":883,"children":884},{"style":117},[885],{"type":47,"value":886},"user@example.com",{"type":41,"tag":104,"props":888,"children":889},{"style":128},[890],{"type":47,"value":380},{"type":41,"tag":104,"props":892,"children":893},{"class":106,"line":200},[894,898,902,906,910,915,919,924],{"type":41,"tag":104,"props":895,"children":896},{"style":176},[897],{"type":47,"value":365},{"type":41,"tag":104,"props":899,"children":900},{"style":296},[901],{"type":47,"value":431},{"type":41,"tag":104,"props":903,"children":904},{"style":176},[905],{"type":47,"value":365},{"type":41,"tag":104,"props":907,"children":908},{"style":117},[909],{"type":47,"value":872},{"type":41,"tag":104,"props":911,"children":912},{"style":117},[913],{"type":47,"value":914}," e2",{"type":41,"tag":104,"props":916,"children":917},{"style":128},[918],{"type":47,"value":520},{"type":41,"tag":104,"props":920,"children":921},{"style":117},[922],{"type":47,"value":923},"password123",{"type":41,"tag":104,"props":925,"children":926},{"style":128},[927],{"type":47,"value":380},{"type":41,"tag":104,"props":929,"children":930},{"class":106,"line":210},[931,935,939,943,947],{"type":41,"tag":104,"props":932,"children":933},{"style":176},[934],{"type":47,"value":365},{"type":41,"tag":104,"props":936,"children":937},{"style":296},[938],{"type":47,"value":431},{"type":41,"tag":104,"props":940,"children":941},{"style":176},[942],{"type":47,"value":365},{"type":41,"tag":104,"props":944,"children":945},{"style":117},[946],{"type":47,"value":490},{"type":41,"tag":104,"props":948,"children":949},{"style":117},[950],{"type":47,"value":730},{"type":41,"tag":104,"props":952,"children":953},{"class":106,"line":219},[954,958,962,966],{"type":41,"tag":104,"props":955,"children":956},{"style":176},[957],{"type":47,"value":365},{"type":41,"tag":104,"props":959,"children":960},{"style":296},[961],{"type":47,"value":431},{"type":41,"tag":104,"props":963,"children":964},{"style":176},[965],{"type":47,"value":365},{"type":41,"tag":104,"props":967,"children":968},{"style":117},[969],{"type":47,"value":470},{"type":41,"tag":797,"props":971,"children":973},{"id":972},"debug-a-ui-flow-with-traces",[974],{"type":47,"value":975},"Debug a UI flow with traces",{"type":41,"tag":93,"props":977,"children":979},{"className":95,"code":978,"language":97,"meta":98,"style":98},"\"$PWCLI\" open https:\u002F\u002Fexample.com --headed\n\"$PWCLI\" tracing-start\n# ...interactions...\n\"$PWCLI\" tracing-stop\n",[980],{"type":41,"tag":56,"props":981,"children":982},{"__ignoreMap":98},[983,1011,1031,1039],{"type":41,"tag":104,"props":984,"children":985},{"class":106,"line":107},[986,990,994,998,1002,1007],{"type":41,"tag":104,"props":987,"children":988},{"style":176},[989],{"type":47,"value":365},{"type":41,"tag":104,"props":991,"children":992},{"style":296},[993],{"type":47,"value":431},{"type":41,"tag":104,"props":995,"children":996},{"style":176},[997],{"type":47,"value":365},{"type":41,"tag":104,"props":999,"children":1000},{"style":117},[1001],{"type":47,"value":440},{"type":41,"tag":104,"props":1003,"children":1004},{"style":117},[1005],{"type":47,"value":1006}," https:\u002F\u002Fexample.com",{"type":41,"tag":104,"props":1008,"children":1009},{"style":117},[1010],{"type":47,"value":450},{"type":41,"tag":104,"props":1012,"children":1013},{"class":106,"line":172},[1014,1018,1022,1026],{"type":41,"tag":104,"props":1015,"children":1016},{"style":176},[1017],{"type":47,"value":365},{"type":41,"tag":104,"props":1019,"children":1020},{"style":296},[1021],{"type":47,"value":431},{"type":41,"tag":104,"props":1023,"children":1024},{"style":176},[1025],{"type":47,"value":365},{"type":41,"tag":104,"props":1027,"children":1028},{"style":117},[1029],{"type":47,"value":1030}," tracing-start\n",{"type":41,"tag":104,"props":1032,"children":1033},{"class":106,"line":187},[1034],{"type":41,"tag":104,"props":1035,"children":1036},{"style":166},[1037],{"type":47,"value":1038},"# ...interactions...\n",{"type":41,"tag":104,"props":1040,"children":1041},{"class":106,"line":200},[1042,1046,1050,1054],{"type":41,"tag":104,"props":1043,"children":1044},{"style":176},[1045],{"type":47,"value":365},{"type":41,"tag":104,"props":1047,"children":1048},{"style":296},[1049],{"type":47,"value":431},{"type":41,"tag":104,"props":1051,"children":1052},{"style":176},[1053],{"type":47,"value":365},{"type":41,"tag":104,"props":1055,"children":1056},{"style":117},[1057],{"type":47,"value":1058}," tracing-stop\n",{"type":41,"tag":797,"props":1060,"children":1062},{"id":1061},"multi-tab-work",[1063],{"type":47,"value":1064},"Multi-tab work",{"type":41,"tag":93,"props":1066,"children":1068},{"className":95,"code":1067,"language":97,"meta":98,"style":98},"\"$PWCLI\" tab-new https:\u002F\u002Fexample.com\n\"$PWCLI\" tab-list\n\"$PWCLI\" tab-select 0\n\"$PWCLI\" snapshot\n",[1069],{"type":41,"tag":56,"props":1070,"children":1071},{"__ignoreMap":98},[1072,1096,1116,1142],{"type":41,"tag":104,"props":1073,"children":1074},{"class":106,"line":107},[1075,1079,1083,1087,1092],{"type":41,"tag":104,"props":1076,"children":1077},{"style":176},[1078],{"type":47,"value":365},{"type":41,"tag":104,"props":1080,"children":1081},{"style":296},[1082],{"type":47,"value":431},{"type":41,"tag":104,"props":1084,"children":1085},{"style":176},[1086],{"type":47,"value":365},{"type":41,"tag":104,"props":1088,"children":1089},{"style":117},[1090],{"type":47,"value":1091}," tab-new",{"type":41,"tag":104,"props":1093,"children":1094},{"style":117},[1095],{"type":47,"value":687},{"type":41,"tag":104,"props":1097,"children":1098},{"class":106,"line":172},[1099,1103,1107,1111],{"type":41,"tag":104,"props":1100,"children":1101},{"style":176},[1102],{"type":47,"value":365},{"type":41,"tag":104,"props":1104,"children":1105},{"style":296},[1106],{"type":47,"value":431},{"type":41,"tag":104,"props":1108,"children":1109},{"style":176},[1110],{"type":47,"value":365},{"type":41,"tag":104,"props":1112,"children":1113},{"style":117},[1114],{"type":47,"value":1115}," tab-list\n",{"type":41,"tag":104,"props":1117,"children":1118},{"class":106,"line":187},[1119,1123,1127,1131,1136],{"type":41,"tag":104,"props":1120,"children":1121},{"style":176},[1122],{"type":47,"value":365},{"type":41,"tag":104,"props":1124,"children":1125},{"style":296},[1126],{"type":47,"value":431},{"type":41,"tag":104,"props":1128,"children":1129},{"style":176},[1130],{"type":47,"value":365},{"type":41,"tag":104,"props":1132,"children":1133},{"style":117},[1134],{"type":47,"value":1135}," tab-select",{"type":41,"tag":104,"props":1137,"children":1139},{"style":1138},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[1140],{"type":47,"value":1141}," 0\n",{"type":41,"tag":104,"props":1143,"children":1144},{"class":106,"line":200},[1145,1149,1153,1157],{"type":41,"tag":104,"props":1146,"children":1147},{"style":176},[1148],{"type":47,"value":365},{"type":41,"tag":104,"props":1150,"children":1151},{"style":296},[1152],{"type":47,"value":431},{"type":41,"tag":104,"props":1154,"children":1155},{"style":176},[1156],{"type":47,"value":365},{"type":41,"tag":104,"props":1158,"children":1159},{"style":117},[1160],{"type":47,"value":470},{"type":41,"tag":73,"props":1162,"children":1164},{"id":1163},"wrapper-script",[1165],{"type":47,"value":1166},"Wrapper script",{"type":41,"tag":50,"props":1168,"children":1169},{},[1170,1172,1178],{"type":47,"value":1171},"The wrapper script uses ",{"type":41,"tag":56,"props":1173,"children":1175},{"className":1174},[],[1176],{"type":47,"value":1177},"npx --package @playwright\u002Fcli playwright-cli",{"type":47,"value":1179}," so the CLI can run without a global install:",{"type":41,"tag":93,"props":1181,"children":1183},{"className":95,"code":1182,"language":97,"meta":98,"style":98},"\"$PWCLI\" --help\n",[1184],{"type":41,"tag":56,"props":1185,"children":1186},{"__ignoreMap":98},[1187],{"type":41,"tag":104,"props":1188,"children":1189},{"class":106,"line":107},[1190,1194,1198,1202],{"type":41,"tag":104,"props":1191,"children":1192},{"style":176},[1193],{"type":47,"value":365},{"type":41,"tag":104,"props":1195,"children":1196},{"style":296},[1197],{"type":47,"value":431},{"type":41,"tag":104,"props":1199,"children":1200},{"style":176},[1201],{"type":47,"value":365},{"type":41,"tag":104,"props":1203,"children":1204},{"style":117},[1205],{"type":47,"value":252},{"type":41,"tag":50,"props":1207,"children":1208},{},[1209],{"type":47,"value":1210},"Prefer the wrapper unless the repository already standardizes on a global install.",{"type":41,"tag":73,"props":1212,"children":1214},{"id":1213},"references",[1215],{"type":47,"value":1216},"References",{"type":41,"tag":50,"props":1218,"children":1219},{},[1220],{"type":47,"value":1221},"Open only what you need:",{"type":41,"tag":762,"props":1223,"children":1224},{},[1225,1236],{"type":41,"tag":627,"props":1226,"children":1227},{},[1228,1230],{"type":47,"value":1229},"CLI command reference: ",{"type":41,"tag":56,"props":1231,"children":1233},{"className":1232},[],[1234],{"type":47,"value":1235},"references\u002Fcli.md",{"type":41,"tag":627,"props":1237,"children":1238},{},[1239,1241],{"type":47,"value":1240},"Practical workflows and troubleshooting: ",{"type":41,"tag":56,"props":1242,"children":1244},{"className":1243},[],[1245],{"type":47,"value":1246},"references\u002Fworkflows.md",{"type":41,"tag":73,"props":1248,"children":1250},{"id":1249},"guardrails",[1251],{"type":47,"value":1252},"Guardrails",{"type":41,"tag":762,"props":1254,"children":1255},{},[1256,1268,1273,1294,1313,1326,1339],{"type":41,"tag":627,"props":1257,"children":1258},{},[1259,1261,1267],{"type":47,"value":1260},"Always snapshot before referencing element ids like ",{"type":41,"tag":56,"props":1262,"children":1264},{"className":1263},[],[1265],{"type":47,"value":1266},"e12",{"type":47,"value":334},{"type":41,"tag":627,"props":1269,"children":1270},{},[1271],{"type":47,"value":1272},"Re-snapshot when refs seem stale.",{"type":41,"tag":627,"props":1274,"children":1275},{},[1276,1278,1284,1286,1292],{"type":47,"value":1277},"Prefer explicit commands over ",{"type":41,"tag":56,"props":1279,"children":1281},{"className":1280},[],[1282],{"type":47,"value":1283},"eval",{"type":47,"value":1285}," and ",{"type":41,"tag":56,"props":1287,"children":1289},{"className":1288},[],[1290],{"type":47,"value":1291},"run-code",{"type":47,"value":1293}," unless needed.",{"type":41,"tag":627,"props":1295,"children":1296},{},[1297,1299,1305,1307,1312],{"type":47,"value":1298},"When you do not have a fresh snapshot, use placeholder refs like ",{"type":41,"tag":56,"props":1300,"children":1302},{"className":1301},[],[1303],{"type":47,"value":1304},"eX",{"type":47,"value":1306}," and say why; do not bypass refs with ",{"type":41,"tag":56,"props":1308,"children":1310},{"className":1309},[],[1311],{"type":47,"value":1291},{"type":47,"value":334},{"type":41,"tag":627,"props":1314,"children":1315},{},[1316,1318,1324],{"type":47,"value":1317},"Use ",{"type":41,"tag":56,"props":1319,"children":1321},{"className":1320},[],[1322],{"type":47,"value":1323},"--headed",{"type":47,"value":1325}," when a visual check will help.",{"type":41,"tag":627,"props":1327,"children":1328},{},[1329,1331,1337],{"type":47,"value":1330},"When capturing artifacts in this repo, use ",{"type":41,"tag":56,"props":1332,"children":1334},{"className":1333},[],[1335],{"type":47,"value":1336},"output\u002Fplaywright\u002F",{"type":47,"value":1338}," and avoid introducing new top-level artifact folders.",{"type":41,"tag":627,"props":1340,"children":1341},{},[1342],{"type":47,"value":1343},"Default to CLI commands and workflows, not Playwright test specs.",{"type":41,"tag":1345,"props":1346,"children":1347},"style",{},[1348],{"type":47,"value":1349},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1351,"total":1473},[1352,1373,1390,1403,1422,1441,1457],{"slug":1353,"name":1353,"fn":1354,"description":1355,"org":1356,"tags":1357,"stars":24,"repoUrl":25,"updatedAt":1372},"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},[1358,1361,1363,1366,1369],{"name":1359,"slug":1360,"type":15},".NET","dotnet",{"name":1362,"slug":1353,"type":15},"ASP.NET Core",{"name":1364,"slug":1365,"type":15},"Blazor","blazor",{"name":1367,"slug":1368,"type":15},"C#","csharp",{"name":1370,"slug":1371,"type":15},"Web Development","web-development","2026-04-12T05:07:02.819491",{"slug":1374,"name":1374,"fn":1375,"description":1376,"org":1377,"tags":1378,"stars":24,"repoUrl":25,"updatedAt":1389},"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},[1379,1382,1385,1388],{"name":1380,"slug":1381,"type":15},"Apps SDK","apps-sdk",{"name":1383,"slug":1384,"type":15},"ChatGPT","chatgpt",{"name":1386,"slug":1387,"type":15},"MCP","mcp",{"name":9,"slug":8,"type":15},"2026-04-12T05:07:05.468097",{"slug":1391,"name":1391,"fn":1392,"description":1393,"org":1394,"tags":1395,"stars":24,"repoUrl":25,"updatedAt":1402},"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},[1396,1399,1400],{"name":1397,"slug":1398,"type":15},"API Development","api-development",{"name":13,"slug":14,"type":15},{"name":1401,"slug":339,"type":15},"Codex","2026-04-12T05:07:04.132762",{"slug":1404,"name":1404,"fn":1405,"description":1406,"org":1407,"tags":1408,"stars":24,"repoUrl":25,"updatedAt":1421},"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},[1409,1412,1415,1418],{"name":1410,"slug":1411,"type":15},"Cloudflare","cloudflare",{"name":1413,"slug":1414,"type":15},"Cloudflare Pages","cloudflare-pages",{"name":1416,"slug":1417,"type":15},"Cloudflare Workers","cloudflare-workers",{"name":1419,"slug":1420,"type":15},"Deployment","deployment","2026-04-12T05:07:14.275118",{"slug":1423,"name":1423,"fn":1424,"description":1425,"org":1426,"tags":1427,"stars":24,"repoUrl":25,"updatedAt":1440},"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},[1428,1431,1434,1437],{"name":1429,"slug":1430,"type":15},"Productivity","productivity",{"name":1432,"slug":1433,"type":15},"Project Management","project-management",{"name":1435,"slug":1436,"type":15},"Strategy","strategy",{"name":1438,"slug":1439,"type":15},"Task Management","task-management","2026-05-23T06:17:16.870838",{"slug":1442,"name":1442,"fn":1443,"description":1444,"org":1445,"tags":1446,"stars":24,"repoUrl":25,"updatedAt":1456},"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},[1447,1450,1452,1455],{"name":1448,"slug":1449,"type":15},"Design","design",{"name":1451,"slug":1442,"type":15},"Figma",{"name":1453,"slug":1454,"type":15},"Frontend","frontend",{"name":1386,"slug":1387,"type":15},"2026-04-12T05:06:47.939943",{"slug":1458,"name":1458,"fn":1459,"description":1460,"org":1461,"tags":1462,"stars":24,"repoUrl":25,"updatedAt":1472},"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},[1463,1464,1467,1468,1469],{"name":1448,"slug":1449,"type":15},{"name":1465,"slug":1466,"type":15},"Design System","design-system",{"name":1451,"slug":1442,"type":15},{"name":1453,"slug":1454,"type":15},{"name":1470,"slug":1471,"type":15},"UI Components","ui-components","2026-05-10T05:59:52.971881",29,{"items":1475,"total":1604},[1476,1497,1505,1512,1518,1525,1532,1539,1547,1561,1573,1588],{"slug":1477,"name":1477,"fn":1478,"description":1479,"org":1480,"tags":1481,"stars":1494,"repoUrl":1495,"updatedAt":1496},"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},[1482,1485,1488,1491],{"name":1483,"slug":1484,"type":15},"Documents","documents",{"name":1486,"slug":1487,"type":15},"Healthcare","healthcare",{"name":1489,"slug":1490,"type":15},"Insurance","insurance",{"name":1492,"slug":1493,"type":15},"Regulatory Compliance","regulatory-compliance",28169,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-python","2026-04-16T05:11:39.180399",{"slug":1353,"name":1353,"fn":1354,"description":1355,"org":1498,"tags":1499,"stars":24,"repoUrl":25,"updatedAt":1372},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1500,1501,1502,1503,1504],{"name":1359,"slug":1360,"type":15},{"name":1362,"slug":1353,"type":15},{"name":1364,"slug":1365,"type":15},{"name":1367,"slug":1368,"type":15},{"name":1370,"slug":1371,"type":15},{"slug":1374,"name":1374,"fn":1375,"description":1376,"org":1506,"tags":1507,"stars":24,"repoUrl":25,"updatedAt":1389},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1508,1509,1510,1511],{"name":1380,"slug":1381,"type":15},{"name":1383,"slug":1384,"type":15},{"name":1386,"slug":1387,"type":15},{"name":9,"slug":8,"type":15},{"slug":1391,"name":1391,"fn":1392,"description":1393,"org":1513,"tags":1514,"stars":24,"repoUrl":25,"updatedAt":1402},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1515,1516,1517],{"name":1397,"slug":1398,"type":15},{"name":13,"slug":14,"type":15},{"name":1401,"slug":339,"type":15},{"slug":1404,"name":1404,"fn":1405,"description":1406,"org":1519,"tags":1520,"stars":24,"repoUrl":25,"updatedAt":1421},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1521,1522,1523,1524],{"name":1410,"slug":1411,"type":15},{"name":1413,"slug":1414,"type":15},{"name":1416,"slug":1417,"type":15},{"name":1419,"slug":1420,"type":15},{"slug":1423,"name":1423,"fn":1424,"description":1425,"org":1526,"tags":1527,"stars":24,"repoUrl":25,"updatedAt":1440},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1528,1529,1530,1531],{"name":1429,"slug":1430,"type":15},{"name":1432,"slug":1433,"type":15},{"name":1435,"slug":1436,"type":15},{"name":1438,"slug":1439,"type":15},{"slug":1442,"name":1442,"fn":1443,"description":1444,"org":1533,"tags":1534,"stars":24,"repoUrl":25,"updatedAt":1456},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1535,1536,1537,1538],{"name":1448,"slug":1449,"type":15},{"name":1451,"slug":1442,"type":15},{"name":1453,"slug":1454,"type":15},{"name":1386,"slug":1387,"type":15},{"slug":1458,"name":1458,"fn":1459,"description":1460,"org":1540,"tags":1541,"stars":24,"repoUrl":25,"updatedAt":1472},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1542,1543,1544,1545,1546],{"name":1448,"slug":1449,"type":15},{"name":1465,"slug":1466,"type":15},{"name":1451,"slug":1442,"type":15},{"name":1453,"slug":1454,"type":15},{"name":1470,"slug":1471,"type":15},{"slug":1548,"name":1548,"fn":1549,"description":1550,"org":1551,"tags":1552,"stars":24,"repoUrl":25,"updatedAt":1560},"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},[1553,1554,1555,1558,1559],{"name":1448,"slug":1449,"type":15},{"name":1465,"slug":1466,"type":15},{"name":1556,"slug":1557,"type":15},"Documentation","documentation",{"name":1451,"slug":1442,"type":15},{"name":1453,"slug":1454,"type":15},"2026-05-16T06:07:47.821474",{"slug":1562,"name":1562,"fn":1563,"description":1564,"org":1565,"tags":1566,"stars":24,"repoUrl":25,"updatedAt":1572},"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},[1567,1568,1569,1570,1571],{"name":1448,"slug":1449,"type":15},{"name":1451,"slug":1442,"type":15},{"name":1453,"slug":1454,"type":15},{"name":1470,"slug":1471,"type":15},{"name":1370,"slug":1371,"type":15},"2026-05-16T06:07:40.583615",{"slug":1574,"name":1574,"fn":1575,"description":1576,"org":1577,"tags":1578,"stars":24,"repoUrl":25,"updatedAt":1587},"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},[1579,1582,1583,1586],{"name":1580,"slug":1581,"type":15},"Animation","animation",{"name":1401,"slug":339,"type":15},{"name":1584,"slug":1585,"type":15},"Creative","creative",{"name":1448,"slug":1449,"type":15},"2026-05-02T05:31:48.48485",{"slug":1589,"name":1589,"fn":1590,"description":1591,"org":1592,"tags":1593,"stars":24,"repoUrl":25,"updatedAt":1603},"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},[1594,1595,1596,1599,1602],{"name":1584,"slug":1585,"type":15},{"name":1448,"slug":1449,"type":15},{"name":1597,"slug":1598,"type":15},"Image Generation","image-generation",{"name":1600,"slug":1601,"type":15},"Images","images",{"name":9,"slug":8,"type":15},"2026-05-15T06:23:24.312127",675]