[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-openai-draft-brief":3,"mdc--2chq3e-key":39,"related-repo-openai-draft-brief":675,"related-org-openai-draft-brief":798},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":28,"repoUrl":29,"updatedAt":30,"license":31,"forks":32,"topics":33,"repo":34,"sourceUrl":37,"mdContent":38},"draft-brief","draft court-ready legal briefs and motions","Drafts court filings — motions, memoranda of law, appellate briefs — as court-ready .docx, with Midpage research behind every citation. Use to \"draft a motion to dismiss,\" \"write the brief.\"",{"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,25],{"name":13,"slug":14,"type":15},"Research","research","tag",{"name":17,"slug":18,"type":15},"Writing","writing",{"name":20,"slug":21,"type":15},"Documents","documents",{"name":23,"slug":24,"type":15},"DOCX","docx",{"name":26,"slug":27,"type":15},"Legal","legal",3992,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fplugins","2026-06-30T19:00:57.102",null,465,[],{"repoUrl":29,"stars":28,"forks":32,"topics":35,"description":36},[],"OpenAI Plugins","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fplugins\u002Ftree\u002FHEAD\u002Fplugins\u002Fmidpage\u002Fskills\u002Fdraft-brief","---\nname: draft-brief\ndescription: \"Drafts court filings — motions, memoranda of law, appellate briefs — as court-ready .docx, with Midpage research behind every citation. Use to \\\"draft a motion to dismiss,\\\" \\\"write the brief.\\\"\"\nmetadata:\n  version: 0.2.0\n  author: midpage\n---\n\n# Draft Brief\n\nDraft and format a court-ready filing and hand back the `.docx`. Briefs, motions, memoranda of\nlaw, oppositions, replies, appellate briefs. **Complaints and other pleadings are out of\nscope** — if asked to draft one, say so and stop. Read the shared guides first — they carry\nthe method this skill assumes: `references\u002Flitigation-writing.md` (how to write it),\n`references\u002Fcourt-rules.md` (how to find the governing rules), `references\u002Fcitations.md` (how\nevery cite links), and `references\u002Flegal-docx.md` (rendering). The research method is below —\nit is the heart of this skill.\n\n## Workflow\n\n1. **Get up to speed.** Read any relevant uploads and consult the relevant record documents\n   (`analyzeDocketReport` for posture and the operative filings, `analyzeDocketFiling` to read\n   what they actually say). Every record fact you later assert carries a linked filing cite.\n2. **Preliminary research.** Don't jump to conclusions about what to argue; research with\n   Midpage to determine what the strongest arguments are and what makes procedural sense.\n3. **Craft the research-based narrative structure.** Consult\n   `references\u002Flitigation-writing.md`. Before doing even more research, settle on structure\n   and arguments based on your preliminary research.\n4. **MOST IMPORTANT: Exhaustive, iterative research per issue.** Make a research plan and\n   follow it, using the method below. The goal is not to surface and analyze the obvious\n   opinions only; you want to find the strongest, most favorable cases that will carry each\n   argument the extra mile. Don't settle for any case supporting your proposition — find the\n   favorable ones with devastating language, framings, facts, and the right outcomes. Each\n   argument needs to be dense with case-law citations and compelling analysis. Find the cases\n   and arguments that HURT and confront them head on — distinguish them or argue they are not\n   determinative.\n5. **Get the governing rules** per `references\u002Fcourt-rules.md`: case orders → judge's\n   individual practices → local\u002FECF rules → federal baseline. Capture length limits,\n   font\u002Fmargins\u002Fspacing, required sections, caption form, certificates, TOC\u002FTOA triggers —\n   each linked to its source. Surface conflicts (the more specific layer controls; show both).\n6. **Write it** per `references\u002Flitigation-writing.md`: theme stated up front, point headings\n   that argue, rule synthesis not book reports, quotes woven into prose, adverse authority\n   confronted head-on.\n7. **Render** with the `brief` profile (`references\u002Flegal-docx.md`). Thread any rule-set\n   spacing\u002Ffont\u002Fmargin through `D.builders(\"brief\", { lineSpacing })`; defaults stand when\n   rules are silent. Validate the rendered file against the verifiable requirements (length,\n   font, margins, spacing, required sections, certificates).\n\n## Research with Midpage (the method)\n\nAll law comes from the Midpage tools this session. `search` finds candidates; `findInOpinion`\npreviews; **`analyzeOpinion` is what permits a citation** — no case is cited without it.\n\n- **Frame before you search.** Pin the forum (court, circuit, state) — it controls what binds\n  and how to filter. Reduce each question to the operative element actually in dispute (\"does\n  an eight-month delay defeat likely irreparable harm in the Ninth Circuit?\" — not \"can we get\n  an injunction?\"). Each distinct issue gets its own searches and its own section. For every\n  issue, write down what the other side will argue — that defines half your research targets.\n- **Search semantic, parallel, filtered.** Concept- and proposition-style queries, never\n  boolean. One issue per query, up to four in parallel. Filter to the forum\n  (`jurisdictionType`, `circuits`\u002F`courts`\u002F`states`, dates when recency matters); binding\n  authority first, persuasive labeled as such. If you filter `publishStatus`, run a parallel\n  `unknown` query too (for California, default to `published` plus `unknown`). Need exact\n  wording? Stop guessing in `search` — run `findInOpinion` on a promising case.\n- **Triage before you spend analysis.** `highlights` show why a case matched — previews only,\n  never quote them. `treatment` gauges whether it's good law and how heavily relied on.\n  `findInOpinion` is the free double-click before an `analyzeOpinion` call.\n- **Branch from the best case.** When a strong case surfaces, mine it: `analyzeOpinion` it and\n  pull the authorities the opinion itself leans on (the rule it states usually quotes the case\n  you actually want); then search its key holding language as its own query to find later\n  cases applying it. A case the court's own opinions repeatedly cite is worth more than three\n  you found cold.\n- **Iterate until it's scorched earth.** Re-query each issue with new framings — the best\n  case's holding language, the opposing side's framing, narrower fact patterns, the remedy\n  angle — until new queries keep returning the same leading cases. That saturation is the\n  signal you've mapped the field; anything less is settling.\n- **The `analyzeOpinion` gate, on every case you cite.** Pass a `question` naming the exact\n  element. Check **`doesNotAddress` first** — if your point is listed, the case does not stand\n  for it, however close the language looks. Build sentences from `supportedPropositions`\n  (each carries a cite-ready proposition, a verified quote, and a `deeplinkURL`). Lead with\n  `core_holding` over `supporting_analysis`; never sell `background` as the holding. Carry\n  `scope` qualifiers into your sentence. A concurrence or dissent (`opinionSection`) is never\n  presented as the court's holding. Surface negative `treatment` honestly — if you must use a\n  caution\u002Fnegative case, say so.\n- **Research the other side as hard as your own.** For every issue, run searches framed from\n  the opposing position; identify the case they will lead with and `analyzeOpinion` it too —\n  that's what step 4's confrontation is built from.\n- **Silence and splits are findings.** No controlling authority on point, or a genuine split,\n  gets reported as such — never papered over with an off-point or out-of-jurisdiction cite.\n\n## Scope discipline\n\n- **Format, required sections, and limits are always in scope.** When a rule forces a change,\n  name the rule and link the source.\n- **Drafting substance** (argument, facts) is in scope when drafting from scratch or when\n  asked.\n- **Working from the user's existing draft: do not rewrite their arguments, reorder their\n  theories, or change their voice** unless they ask or a rule requires it (get sign-off before\n  cutting argument to meet a limit). Note substantive problems you spot as a brief, separate\n  observation — never silently implement them.\n\n## Hard rules\n\n- Never recall a rule, holding, quote, or record fact from memory. Rules come from sources\n  retrieved this session; case law from `analyzeOpinion`; record facts from\n  `analyzeDocketFiling`. No invented case, quote, pin cite, statute, or rule, ever.\n- Honor `doesNotAddress`, distinguish holdings from dicta and majority from\n  concurrence\u002Fdissent, surface negative treatment.\n- The attorney owns the filing. Flag open items and judgment calls plainly; never imply the\n  document is filing-ready without their review.\n- Brief-writing is research-led. Do thorough, iterative research with Midpage.\n",{"data":40,"body":44},{"name":4,"description":6,"metadata":41},{"version":42,"author":43},"0.2.0","midpage",{"type":45,"children":46},"root",[47,55,110,117,251,257,291,586,592,625,631],{"type":48,"tag":49,"props":50,"children":51},"element","h1",{"id":4},[52],{"type":53,"value":54},"text","Draft Brief",{"type":48,"tag":56,"props":57,"children":58},"p",{},[59,61,68,70,76,78,84,86,92,94,100,102,108],{"type":53,"value":60},"Draft and format a court-ready filing and hand back the ",{"type":48,"tag":62,"props":63,"children":65},"code",{"className":64},[],[66],{"type":53,"value":67},".docx",{"type":53,"value":69},". Briefs, motions, memoranda of\nlaw, oppositions, replies, appellate briefs. ",{"type":48,"tag":71,"props":72,"children":73},"strong",{},[74],{"type":53,"value":75},"Complaints and other pleadings are out of\nscope",{"type":53,"value":77}," — if asked to draft one, say so and stop. Read the shared guides first — they carry\nthe method this skill assumes: ",{"type":48,"tag":62,"props":79,"children":81},{"className":80},[],[82],{"type":53,"value":83},"references\u002Flitigation-writing.md",{"type":53,"value":85}," (how to write it),\n",{"type":48,"tag":62,"props":87,"children":89},{"className":88},[],[90],{"type":53,"value":91},"references\u002Fcourt-rules.md",{"type":53,"value":93}," (how to find the governing rules), ",{"type":48,"tag":62,"props":95,"children":97},{"className":96},[],[98],{"type":53,"value":99},"references\u002Fcitations.md",{"type":53,"value":101}," (how\nevery cite links), and ",{"type":48,"tag":62,"props":103,"children":105},{"className":104},[],[106],{"type":53,"value":107},"references\u002Flegal-docx.md",{"type":53,"value":109}," (rendering). The research method is below —\nit is the heart of this skill.",{"type":48,"tag":111,"props":112,"children":114},"h2",{"id":113},"workflow",[115],{"type":53,"value":116},"Workflow",{"type":48,"tag":118,"props":119,"children":120},"ol",{},[121,148,158,175,185,202,218],{"type":48,"tag":122,"props":123,"children":124},"li",{},[125,130,132,138,140,146],{"type":48,"tag":71,"props":126,"children":127},{},[128],{"type":53,"value":129},"Get up to speed.",{"type":53,"value":131}," Read any relevant uploads and consult the relevant record documents\n(",{"type":48,"tag":62,"props":133,"children":135},{"className":134},[],[136],{"type":53,"value":137},"analyzeDocketReport",{"type":53,"value":139}," for posture and the operative filings, ",{"type":48,"tag":62,"props":141,"children":143},{"className":142},[],[144],{"type":53,"value":145},"analyzeDocketFiling",{"type":53,"value":147}," to read\nwhat they actually say). Every record fact you later assert carries a linked filing cite.",{"type":48,"tag":122,"props":149,"children":150},{},[151,156],{"type":48,"tag":71,"props":152,"children":153},{},[154],{"type":53,"value":155},"Preliminary research.",{"type":53,"value":157}," Don't jump to conclusions about what to argue; research with\nMidpage to determine what the strongest arguments are and what makes procedural sense.",{"type":48,"tag":122,"props":159,"children":160},{},[161,166,168,173],{"type":48,"tag":71,"props":162,"children":163},{},[164],{"type":53,"value":165},"Craft the research-based narrative structure.",{"type":53,"value":167}," Consult\n",{"type":48,"tag":62,"props":169,"children":171},{"className":170},[],[172],{"type":53,"value":83},{"type":53,"value":174},". Before doing even more research, settle on structure\nand arguments based on your preliminary research.",{"type":48,"tag":122,"props":176,"children":177},{},[178,183],{"type":48,"tag":71,"props":179,"children":180},{},[181],{"type":53,"value":182},"MOST IMPORTANT: Exhaustive, iterative research per issue.",{"type":53,"value":184}," Make a research plan and\nfollow it, using the method below. The goal is not to surface and analyze the obvious\nopinions only; you want to find the strongest, most favorable cases that will carry each\nargument the extra mile. Don't settle for any case supporting your proposition — find the\nfavorable ones with devastating language, framings, facts, and the right outcomes. Each\nargument needs to be dense with case-law citations and compelling analysis. Find the cases\nand arguments that HURT and confront them head on — distinguish them or argue they are not\ndeterminative.",{"type":48,"tag":122,"props":186,"children":187},{},[188,193,195,200],{"type":48,"tag":71,"props":189,"children":190},{},[191],{"type":53,"value":192},"Get the governing rules",{"type":53,"value":194}," per ",{"type":48,"tag":62,"props":196,"children":198},{"className":197},[],[199],{"type":53,"value":91},{"type":53,"value":201},": case orders → judge's\nindividual practices → local\u002FECF rules → federal baseline. Capture length limits,\nfont\u002Fmargins\u002Fspacing, required sections, caption form, certificates, TOC\u002FTOA triggers —\neach linked to its source. Surface conflicts (the more specific layer controls; show both).",{"type":48,"tag":122,"props":203,"children":204},{},[205,210,211,216],{"type":48,"tag":71,"props":206,"children":207},{},[208],{"type":53,"value":209},"Write it",{"type":53,"value":194},{"type":48,"tag":62,"props":212,"children":214},{"className":213},[],[215],{"type":53,"value":83},{"type":53,"value":217},": theme stated up front, point headings\nthat argue, rule synthesis not book reports, quotes woven into prose, adverse authority\nconfronted head-on.",{"type":48,"tag":122,"props":219,"children":220},{},[221,226,228,234,236,241,243,249],{"type":48,"tag":71,"props":222,"children":223},{},[224],{"type":53,"value":225},"Render",{"type":53,"value":227}," with the ",{"type":48,"tag":62,"props":229,"children":231},{"className":230},[],[232],{"type":53,"value":233},"brief",{"type":53,"value":235}," profile (",{"type":48,"tag":62,"props":237,"children":239},{"className":238},[],[240],{"type":53,"value":107},{"type":53,"value":242},"). Thread any rule-set\nspacing\u002Ffont\u002Fmargin through ",{"type":48,"tag":62,"props":244,"children":246},{"className":245},[],[247],{"type":53,"value":248},"D.builders(\"brief\", { lineSpacing })",{"type":53,"value":250},"; defaults stand when\nrules are silent. Validate the rendered file against the verifiable requirements (length,\nfont, margins, spacing, required sections, certificates).",{"type":48,"tag":111,"props":252,"children":254},{"id":253},"research-with-midpage-the-method",[255],{"type":53,"value":256},"Research with Midpage (the method)",{"type":48,"tag":56,"props":258,"children":259},{},[260,262,268,270,276,278,289],{"type":53,"value":261},"All law comes from the Midpage tools this session. ",{"type":48,"tag":62,"props":263,"children":265},{"className":264},[],[266],{"type":53,"value":267},"search",{"type":53,"value":269}," finds candidates; ",{"type":48,"tag":62,"props":271,"children":273},{"className":272},[],[274],{"type":53,"value":275},"findInOpinion",{"type":53,"value":277},"\npreviews; ",{"type":48,"tag":71,"props":279,"children":280},{},[281,287],{"type":48,"tag":62,"props":282,"children":284},{"className":283},[],[285],{"type":53,"value":286},"analyzeOpinion",{"type":53,"value":288}," is what permits a citation",{"type":53,"value":290}," — no case is cited without it.",{"type":48,"tag":292,"props":293,"children":294},"ul",{},[295,305,391,431,448,458,559,576],{"type":48,"tag":122,"props":296,"children":297},{},[298,303],{"type":48,"tag":71,"props":299,"children":300},{},[301],{"type":53,"value":302},"Frame before you search.",{"type":53,"value":304}," Pin the forum (court, circuit, state) — it controls what binds\nand how to filter. Reduce each question to the operative element actually in dispute (\"does\nan eight-month delay defeat likely irreparable harm in the Ninth Circuit?\" — not \"can we get\nan injunction?\"). Each distinct issue gets its own searches and its own section. For every\nissue, write down what the other side will argue — that defines half your research targets.",{"type":48,"tag":122,"props":306,"children":307},{},[308,313,315,321,323,329,331,337,338,344,346,352,354,360,362,368,370,375,377,382,384,389],{"type":48,"tag":71,"props":309,"children":310},{},[311],{"type":53,"value":312},"Search semantic, parallel, filtered.",{"type":53,"value":314}," Concept- and proposition-style queries, never\nboolean. One issue per query, up to four in parallel. Filter to the forum\n(",{"type":48,"tag":62,"props":316,"children":318},{"className":317},[],[319],{"type":53,"value":320},"jurisdictionType",{"type":53,"value":322},", ",{"type":48,"tag":62,"props":324,"children":326},{"className":325},[],[327],{"type":53,"value":328},"circuits",{"type":53,"value":330},"\u002F",{"type":48,"tag":62,"props":332,"children":334},{"className":333},[],[335],{"type":53,"value":336},"courts",{"type":53,"value":330},{"type":48,"tag":62,"props":339,"children":341},{"className":340},[],[342],{"type":53,"value":343},"states",{"type":53,"value":345},", dates when recency matters); binding\nauthority first, persuasive labeled as such. If you filter ",{"type":48,"tag":62,"props":347,"children":349},{"className":348},[],[350],{"type":53,"value":351},"publishStatus",{"type":53,"value":353},", run a parallel\n",{"type":48,"tag":62,"props":355,"children":357},{"className":356},[],[358],{"type":53,"value":359},"unknown",{"type":53,"value":361}," query too (for California, default to ",{"type":48,"tag":62,"props":363,"children":365},{"className":364},[],[366],{"type":53,"value":367},"published",{"type":53,"value":369}," plus ",{"type":48,"tag":62,"props":371,"children":373},{"className":372},[],[374],{"type":53,"value":359},{"type":53,"value":376},"). Need exact\nwording? Stop guessing in ",{"type":48,"tag":62,"props":378,"children":380},{"className":379},[],[381],{"type":53,"value":267},{"type":53,"value":383}," — run ",{"type":48,"tag":62,"props":385,"children":387},{"className":386},[],[388],{"type":53,"value":275},{"type":53,"value":390}," on a promising case.",{"type":48,"tag":122,"props":392,"children":393},{},[394,399,401,407,409,415,417,422,424,429],{"type":48,"tag":71,"props":395,"children":396},{},[397],{"type":53,"value":398},"Triage before you spend analysis.",{"type":53,"value":400}," ",{"type":48,"tag":62,"props":402,"children":404},{"className":403},[],[405],{"type":53,"value":406},"highlights",{"type":53,"value":408}," show why a case matched — previews only,\nnever quote them. ",{"type":48,"tag":62,"props":410,"children":412},{"className":411},[],[413],{"type":53,"value":414},"treatment",{"type":53,"value":416}," gauges whether it's good law and how heavily relied on.\n",{"type":48,"tag":62,"props":418,"children":420},{"className":419},[],[421],{"type":53,"value":275},{"type":53,"value":423}," is the free double-click before an ",{"type":48,"tag":62,"props":425,"children":427},{"className":426},[],[428],{"type":53,"value":286},{"type":53,"value":430}," call.",{"type":48,"tag":122,"props":432,"children":433},{},[434,439,441,446],{"type":48,"tag":71,"props":435,"children":436},{},[437],{"type":53,"value":438},"Branch from the best case.",{"type":53,"value":440}," When a strong case surfaces, mine it: ",{"type":48,"tag":62,"props":442,"children":444},{"className":443},[],[445],{"type":53,"value":286},{"type":53,"value":447}," it and\npull the authorities the opinion itself leans on (the rule it states usually quotes the case\nyou actually want); then search its key holding language as its own query to find later\ncases applying it. A case the court's own opinions repeatedly cite is worth more than three\nyou found cold.",{"type":48,"tag":122,"props":449,"children":450},{},[451,456],{"type":48,"tag":71,"props":452,"children":453},{},[454],{"type":53,"value":455},"Iterate until it's scorched earth.",{"type":53,"value":457}," Re-query each issue with new framings — the best\ncase's holding language, the opposing side's framing, narrower fact patterns, the remedy\nangle — until new queries keep returning the same leading cases. That saturation is the\nsignal you've mapped the field; anything less is settling.",{"type":48,"tag":122,"props":459,"children":460},{},[461,473,475,481,483,494,496,502,504,510,512,518,520,526,528,534,536,542,544,550,552,557],{"type":48,"tag":71,"props":462,"children":463},{},[464,466,471],{"type":53,"value":465},"The ",{"type":48,"tag":62,"props":467,"children":469},{"className":468},[],[470],{"type":53,"value":286},{"type":53,"value":472}," gate, on every case you cite.",{"type":53,"value":474}," Pass a ",{"type":48,"tag":62,"props":476,"children":478},{"className":477},[],[479],{"type":53,"value":480},"question",{"type":53,"value":482}," naming the exact\nelement. Check ",{"type":48,"tag":71,"props":484,"children":485},{},[486,492],{"type":48,"tag":62,"props":487,"children":489},{"className":488},[],[490],{"type":53,"value":491},"doesNotAddress",{"type":53,"value":493}," first",{"type":53,"value":495}," — if your point is listed, the case does not stand\nfor it, however close the language looks. Build sentences from ",{"type":48,"tag":62,"props":497,"children":499},{"className":498},[],[500],{"type":53,"value":501},"supportedPropositions",{"type":53,"value":503},"\n(each carries a cite-ready proposition, a verified quote, and a ",{"type":48,"tag":62,"props":505,"children":507},{"className":506},[],[508],{"type":53,"value":509},"deeplinkURL",{"type":53,"value":511},"). Lead with\n",{"type":48,"tag":62,"props":513,"children":515},{"className":514},[],[516],{"type":53,"value":517},"core_holding",{"type":53,"value":519}," over ",{"type":48,"tag":62,"props":521,"children":523},{"className":522},[],[524],{"type":53,"value":525},"supporting_analysis",{"type":53,"value":527},"; never sell ",{"type":48,"tag":62,"props":529,"children":531},{"className":530},[],[532],{"type":53,"value":533},"background",{"type":53,"value":535}," as the holding. Carry\n",{"type":48,"tag":62,"props":537,"children":539},{"className":538},[],[540],{"type":53,"value":541},"scope",{"type":53,"value":543}," qualifiers into your sentence. A concurrence or dissent (",{"type":48,"tag":62,"props":545,"children":547},{"className":546},[],[548],{"type":53,"value":549},"opinionSection",{"type":53,"value":551},") is never\npresented as the court's holding. Surface negative ",{"type":48,"tag":62,"props":553,"children":555},{"className":554},[],[556],{"type":53,"value":414},{"type":53,"value":558}," honestly — if you must use a\ncaution\u002Fnegative case, say so.",{"type":48,"tag":122,"props":560,"children":561},{},[562,567,569,574],{"type":48,"tag":71,"props":563,"children":564},{},[565],{"type":53,"value":566},"Research the other side as hard as your own.",{"type":53,"value":568}," For every issue, run searches framed from\nthe opposing position; identify the case they will lead with and ",{"type":48,"tag":62,"props":570,"children":572},{"className":571},[],[573],{"type":53,"value":286},{"type":53,"value":575}," it too —\nthat's what step 4's confrontation is built from.",{"type":48,"tag":122,"props":577,"children":578},{},[579,584],{"type":48,"tag":71,"props":580,"children":581},{},[582],{"type":53,"value":583},"Silence and splits are findings.",{"type":53,"value":585}," No controlling authority on point, or a genuine split,\ngets reported as such — never papered over with an off-point or out-of-jurisdiction cite.",{"type":48,"tag":111,"props":587,"children":589},{"id":588},"scope-discipline",[590],{"type":53,"value":591},"Scope discipline",{"type":48,"tag":292,"props":593,"children":594},{},[595,605,615],{"type":48,"tag":122,"props":596,"children":597},{},[598,603],{"type":48,"tag":71,"props":599,"children":600},{},[601],{"type":53,"value":602},"Format, required sections, and limits are always in scope.",{"type":53,"value":604}," When a rule forces a change,\nname the rule and link the source.",{"type":48,"tag":122,"props":606,"children":607},{},[608,613],{"type":48,"tag":71,"props":609,"children":610},{},[611],{"type":53,"value":612},"Drafting substance",{"type":53,"value":614}," (argument, facts) is in scope when drafting from scratch or when\nasked.",{"type":48,"tag":122,"props":616,"children":617},{},[618,623],{"type":48,"tag":71,"props":619,"children":620},{},[621],{"type":53,"value":622},"Working from the user's existing draft: do not rewrite their arguments, reorder their\ntheories, or change their voice",{"type":53,"value":624}," unless they ask or a rule requires it (get sign-off before\ncutting argument to meet a limit). Note substantive problems you spot as a brief, separate\nobservation — never silently implement them.",{"type":48,"tag":111,"props":626,"children":628},{"id":627},"hard-rules",[629],{"type":53,"value":630},"Hard rules",{"type":48,"tag":292,"props":632,"children":633},{},[634,653,665,670],{"type":48,"tag":122,"props":635,"children":636},{},[637,639,644,646,651],{"type":53,"value":638},"Never recall a rule, holding, quote, or record fact from memory. Rules come from sources\nretrieved this session; case law from ",{"type":48,"tag":62,"props":640,"children":642},{"className":641},[],[643],{"type":53,"value":286},{"type":53,"value":645},"; record facts from\n",{"type":48,"tag":62,"props":647,"children":649},{"className":648},[],[650],{"type":53,"value":145},{"type":53,"value":652},". No invented case, quote, pin cite, statute, or rule, ever.",{"type":48,"tag":122,"props":654,"children":655},{},[656,658,663],{"type":53,"value":657},"Honor ",{"type":48,"tag":62,"props":659,"children":661},{"className":660},[],[662],{"type":53,"value":491},{"type":53,"value":664},", distinguish holdings from dicta and majority from\nconcurrence\u002Fdissent, surface negative treatment.",{"type":48,"tag":122,"props":666,"children":667},{},[668],{"type":53,"value":669},"The attorney owns the filing. Flag open items and judgment calls plainly; never imply the\ndocument is filing-ready without their review.",{"type":48,"tag":122,"props":671,"children":672},{},[673],{"type":53,"value":674},"Brief-writing is research-led. Do thorough, iterative research with Midpage.",{"items":676,"total":797},[677,695,711,723,743,765,785],{"slug":678,"name":678,"fn":679,"description":680,"org":681,"tags":682,"stars":28,"repoUrl":29,"updatedAt":30},"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},[683,686,689,692],{"name":684,"slug":685,"type":15},"Accessibility","accessibility",{"name":687,"slug":688,"type":15},"Charts","charts",{"name":690,"slug":691,"type":15},"Data Visualization","data-visualization",{"name":693,"slug":694,"type":15},"Design","design",{"slug":696,"name":696,"fn":697,"description":698,"org":699,"tags":700,"stars":28,"repoUrl":29,"updatedAt":710},"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},[701,704,707],{"name":702,"slug":703,"type":15},"Agents","agents",{"name":705,"slug":706,"type":15},"Browser Automation","browser-automation",{"name":708,"slug":709,"type":15},"Testing","testing","2026-04-06T18:41:03.44016",{"slug":712,"name":712,"fn":713,"description":714,"org":715,"tags":716,"stars":28,"repoUrl":29,"updatedAt":722},"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},[717,718,721],{"name":705,"slug":706,"type":15},{"name":719,"slug":720,"type":15},"Local Development","local-development",{"name":708,"slug":709,"type":15},"2026-04-06T18:41:17.526867",{"slug":724,"name":724,"fn":725,"description":726,"org":727,"tags":728,"stars":28,"repoUrl":29,"updatedAt":742},"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},[729,730,733,736,739],{"name":702,"slug":703,"type":15},{"name":731,"slug":732,"type":15},"Cloudflare Workers","cloudflare-workers",{"name":734,"slug":735,"type":15},"SDK","sdk",{"name":737,"slug":738,"type":15},"Serverless","serverless",{"name":740,"slug":741,"type":15},"WebSockets","websockets","2026-04-06T18:39:51.717063",{"slug":744,"name":744,"fn":745,"description":746,"org":747,"tags":748,"stars":28,"repoUrl":29,"updatedAt":764},"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},[749,752,755,758,761],{"name":750,"slug":751,"type":15},"Frontend","frontend",{"name":753,"slug":754,"type":15},"React","react",{"name":756,"slug":757,"type":15},"shadcn\u002Fui","shadcn-ui",{"name":759,"slug":760,"type":15},"UI Components","ui-components",{"name":762,"slug":763,"type":15},"Vercel","vercel","2026-04-06T18:40:59.619419",{"slug":766,"name":766,"fn":767,"description":768,"org":769,"tags":770,"stars":28,"repoUrl":29,"updatedAt":784},"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},[771,774,777,780,783],{"name":772,"slug":773,"type":15},"AI Infrastructure","ai-infrastructure",{"name":775,"slug":776,"type":15},"Cost Optimization","cost-optimization",{"name":778,"slug":779,"type":15},"LLM","llm",{"name":781,"slug":782,"type":15},"Performance","performance",{"name":762,"slug":763,"type":15},"2026-04-06T18:40:44.377464",{"slug":786,"name":786,"fn":787,"description":788,"org":789,"tags":790,"stars":28,"repoUrl":29,"updatedAt":796},"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},[791,792,795],{"name":775,"slug":776,"type":15},{"name":793,"slug":794,"type":15},"Database","database",{"name":778,"slug":779,"type":15},"2026-04-06T18:41:08.513425",600,{"items":799,"total":994},[800,819,842,859,875,892,911,923,937,951,963,978],{"slug":801,"name":801,"fn":802,"description":803,"org":804,"tags":805,"stars":816,"repoUrl":817,"updatedAt":818},"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},[806,807,810,813],{"name":20,"slug":21,"type":15},{"name":808,"slug":809,"type":15},"Healthcare","healthcare",{"name":811,"slug":812,"type":15},"Insurance","insurance",{"name":814,"slug":815,"type":15},"Regulatory Compliance","regulatory-compliance",28169,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-python","2026-04-16T05:11:39.180399",{"slug":820,"name":820,"fn":821,"description":822,"org":823,"tags":824,"stars":839,"repoUrl":840,"updatedAt":841},"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},[825,828,830,833,836],{"name":826,"slug":827,"type":15},".NET","dotnet",{"name":829,"slug":820,"type":15},"ASP.NET Core",{"name":831,"slug":832,"type":15},"Blazor","blazor",{"name":834,"slug":835,"type":15},"C#","csharp",{"name":837,"slug":838,"type":15},"Web Development","web-development",23787,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills","2026-04-12T05:07:02.819491",{"slug":843,"name":843,"fn":844,"description":845,"org":846,"tags":847,"stars":839,"repoUrl":840,"updatedAt":858},"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},[848,851,854,857],{"name":849,"slug":850,"type":15},"Apps SDK","apps-sdk",{"name":852,"slug":853,"type":15},"ChatGPT","chatgpt",{"name":855,"slug":856,"type":15},"MCP","mcp",{"name":9,"slug":8,"type":15},"2026-04-12T05:07:05.468097",{"slug":860,"name":860,"fn":861,"description":862,"org":863,"tags":864,"stars":839,"repoUrl":840,"updatedAt":874},"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},[865,868,871],{"name":866,"slug":867,"type":15},"API Development","api-development",{"name":869,"slug":870,"type":15},"CLI","cli",{"name":872,"slug":873,"type":15},"Codex","codex","2026-04-12T05:07:04.132762",{"slug":876,"name":876,"fn":877,"description":878,"org":879,"tags":880,"stars":839,"repoUrl":840,"updatedAt":891},"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},[881,884,887,888],{"name":882,"slug":883,"type":15},"Cloudflare","cloudflare",{"name":885,"slug":886,"type":15},"Cloudflare Pages","cloudflare-pages",{"name":731,"slug":732,"type":15},{"name":889,"slug":890,"type":15},"Deployment","deployment","2026-04-12T05:07:14.275118",{"slug":893,"name":893,"fn":894,"description":895,"org":896,"tags":897,"stars":839,"repoUrl":840,"updatedAt":910},"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},[898,901,904,907],{"name":899,"slug":900,"type":15},"Productivity","productivity",{"name":902,"slug":903,"type":15},"Project Management","project-management",{"name":905,"slug":906,"type":15},"Strategy","strategy",{"name":908,"slug":909,"type":15},"Task Management","task-management","2026-05-23T06:17:16.870838",{"slug":912,"name":912,"fn":913,"description":914,"org":915,"tags":916,"stars":839,"repoUrl":840,"updatedAt":922},"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},[917,918,920,921],{"name":693,"slug":694,"type":15},{"name":919,"slug":912,"type":15},"Figma",{"name":750,"slug":751,"type":15},{"name":855,"slug":856,"type":15},"2026-04-12T05:06:47.939943",{"slug":924,"name":924,"fn":925,"description":926,"org":927,"tags":928,"stars":839,"repoUrl":840,"updatedAt":936},"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},[929,930,933,934,935],{"name":693,"slug":694,"type":15},{"name":931,"slug":932,"type":15},"Design System","design-system",{"name":919,"slug":912,"type":15},{"name":750,"slug":751,"type":15},{"name":759,"slug":760,"type":15},"2026-05-10T05:59:52.971881",{"slug":938,"name":938,"fn":939,"description":940,"org":941,"tags":942,"stars":839,"repoUrl":840,"updatedAt":950},"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},[943,944,945,948,949],{"name":693,"slug":694,"type":15},{"name":931,"slug":932,"type":15},{"name":946,"slug":947,"type":15},"Documentation","documentation",{"name":919,"slug":912,"type":15},{"name":750,"slug":751,"type":15},"2026-05-16T06:07:47.821474",{"slug":952,"name":952,"fn":953,"description":954,"org":955,"tags":956,"stars":839,"repoUrl":840,"updatedAt":962},"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},[957,958,959,960,961],{"name":693,"slug":694,"type":15},{"name":919,"slug":912,"type":15},{"name":750,"slug":751,"type":15},{"name":759,"slug":760,"type":15},{"name":837,"slug":838,"type":15},"2026-05-16T06:07:40.583615",{"slug":964,"name":964,"fn":965,"description":966,"org":967,"tags":968,"stars":839,"repoUrl":840,"updatedAt":977},"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},[969,972,973,976],{"name":970,"slug":971,"type":15},"Animation","animation",{"name":872,"slug":873,"type":15},{"name":974,"slug":975,"type":15},"Creative","creative",{"name":693,"slug":694,"type":15},"2026-05-02T05:31:48.48485",{"slug":979,"name":979,"fn":980,"description":981,"org":982,"tags":983,"stars":839,"repoUrl":840,"updatedAt":993},"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},[984,985,986,989,992],{"name":974,"slug":975,"type":15},{"name":693,"slug":694,"type":15},{"name":987,"slug":988,"type":15},"Image Generation","image-generation",{"name":990,"slug":991,"type":15},"Images","images",{"name":9,"slug":8,"type":15},"2026-05-15T06:23:24.312127",675]