[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"org-automattic":3,"repo-skills-v-0-3-0":266},{"org":4,"repos":59},{"slug":5,"name":6,"logoUrl":7,"githubOrg":5,"website":8,"skillCount":9,"repoCount":10,"topRepos":11,"topTags":27,"lastUpdatedAt":58},"automattic","Automattic","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fautomattic.png","https:\u002F\u002Fautomattic.com",81,10,[12,15,18,21,24],{"name":13,"skillCount":14},"Automattic\u002Fdata-liberation-agent",21,{"name":16,"skillCount":17},"Automattic\u002Fdn-cli",18,{"name":19,"skillCount":20},"Automattic\u002Fstudio",13,{"name":22,"skillCount":23},"Automattic\u002Fbuild-with-wordpress",8,{"name":25,"skillCount":26},"Automattic\u002Fagentic-analytics",7,[28,31,34,37,40,43,46,49,52,55],{"slug":29,"name":30},"wordpress","WordPress",{"slug":32,"name":33},"cli","CLI",{"slug":35,"name":36},"domains","Domains",{"slug":38,"name":39},"design","Design",{"slug":41,"name":42},"frontend","Frontend",{"slug":44,"name":45},"block-editor","Block Editor",{"slug":47,"name":48},"themes","Themes",{"slug":50,"name":51},"full-site-editing","Full Site Editing",{"slug":53,"name":54},"testing","Testing",{"slug":56,"name":57},"qa","QA","2026-07-24T06:08:50.338585",[60,76,97,122,140,165,187,210,230,250],{"name":61,"fullName":13,"repoUrl":62,"skillCount":14,"stars":63,"forks":64,"description":65,"topics":66,"topTags":67,"topTagCount":74,"lastUpdatedAt":75},"data-liberation-agent","https:\u002F\u002Fgithub.com\u002FAutomattic\u002Fdata-liberation-agent",31,1,"Extract content from closed web platforms into WordPress-compatible WXR files.",[],[68,69,70,71,72,73],{"slug":29,"name":30},{"slug":44,"name":45},{"slug":50,"name":51},{"slug":56,"name":57},{"slug":53,"name":54},{"slug":47,"name":48},25,"2026-06-19T09:38:06.130173",{"name":77,"fullName":16,"repoUrl":78,"skillCount":17,"stars":79,"forks":64,"description":80,"topics":81,"topTags":82,"topTagCount":95,"lastUpdatedAt":96},"dn-cli","https:\u002F\u002Fgithub.com\u002FAutomattic\u002Fdn-cli",5,"CLI tool for Automattic Domain Services API",[],[83,84,85,86,89,92],{"slug":32,"name":33},{"slug":35,"name":36},{"slug":29,"name":30},{"slug":87,"name":88},"dns","DNS",{"slug":90,"name":91},"auth","Auth",{"slug":93,"name":94},"authentication","Authentication",6,"2026-04-06T18:03:21.396298",{"name":98,"fullName":19,"repoUrl":99,"skillCount":20,"stars":100,"forks":101,"description":102,"topics":103,"topTags":107,"topTagCount":120,"lastUpdatedAt":121},"studio","https:\u002F\u002Fgithub.com\u002FAutomattic\u002Fstudio",484,82,"WordPress Studio, a free desktop app and CLI that helps developers streamline their local WordPress development workflow.",[104,32,105,106,29],"agents","desktop","electron",[108,109,110,113,114,117],{"slug":29,"name":30},{"slug":41,"name":42},{"slug":111,"name":112},"audit","Audit",{"slug":38,"name":39},{"slug":115,"name":116},"seo","SEO",{"slug":118,"name":119},"visual-design","Visual Design",32,"2026-07-24T05:40:57.887452",{"name":123,"fullName":22,"repoUrl":124,"skillCount":23,"stars":26,"forks":64,"description":125,"topics":126,"topTags":127,"topTagCount":138,"lastUpdatedAt":139},"build-with-wordpress","https:\u002F\u002Fgithub.com\u002FAutomattic\u002Fbuild-with-wordpress","Build and manage WordPress websites and applications on your chosen AI surface. ",[],[128,129,132,133,134,137],{"slug":29,"name":30},{"slug":130,"name":131},"local-development","Local Development",{"slug":38,"name":39},{"slug":41,"name":42},{"slug":135,"name":136},"plugin-development","Plugin Development",{"slug":47,"name":48},12,"2026-04-06T18:03:35.335664",{"name":141,"fullName":25,"repoUrl":142,"skillCount":26,"stars":64,"forks":64,"description":143,"topics":144,"topTags":145,"topTagCount":164,"lastUpdatedAt":58},"agentic-analytics","https:\u002F\u002Fgithub.com\u002FAutomattic\u002Fagentic-analytics","Claude Code plugin for analytics across Parse.ly, GA, and your own data.",[],[146,149,152,155,158,161],{"slug":147,"name":148},"analytics","Analytics",{"slug":150,"name":151},"operations","Operations",{"slug":153,"name":154},"caching","Caching",{"slug":156,"name":157},"reporting","Reporting",{"slug":159,"name":160},"aws","AWS",{"slug":162,"name":163},"configuration","Configuration",14,{"name":166,"fullName":167,"repoUrl":168,"skillCount":95,"stars":64,"forks":169,"description":170,"topics":171,"topTags":172,"topTagCount":185,"lastUpdatedAt":186},"design-polish-suite","Automattic\u002Fdesign-polish-suite","https:\u002F\u002Fgithub.com\u002FAutomattic\u002Fdesign-polish-suite",0,"This suite contains 6 focused skills that together form a full-stack design intervention for interfaces suffering from Terminal Blandness Syndrome (TBS). Symptoms include: identical card radiuses everywhere, #000 text on #fff backgrounds, hover states that just make things darker, and gradients that scream “I asked an AI to make this.”",[],[173,174,175,176,179,182],{"slug":38,"name":39},{"slug":41,"name":42},{"slug":118,"name":119},{"slug":177,"name":178},"typography","Typography",{"slug":180,"name":181},"ux-design","UX Design",{"slug":183,"name":184},"animation","Animation",11,"2026-06-20T07:57:14.328471",{"name":188,"fullName":189,"repoUrl":190,"skillCount":191,"stars":79,"forks":64,"description":192,"topics":193,"topTags":194,"topTagCount":26,"lastUpdatedAt":209},"claude-woocommerce-toolkit","Automattic\u002Fclaude-woocommerce-toolkit","https:\u002F\u002Fgithub.com\u002FAutomattic\u002Fclaude-woocommerce-toolkit",3,"Claude Code skills and agents for building, reviewing, and maintaining WordPress and WooCommerce plugins",[],[195,198,199,202,205,206],{"slug":196,"name":197},"woocommerce","WooCommerce",{"slug":29,"name":30},{"slug":200,"name":201},"code-review","Code Review",{"slug":203,"name":204},"code-analysis","Code Analysis",{"slug":135,"name":136},{"slug":207,"name":208},"risk-assessment","Risk Assessment","2026-04-12T04:56:23.847888",{"name":211,"fullName":212,"repoUrl":213,"skillCount":191,"stars":214,"forks":185,"description":215,"topics":216,"topTags":217,"topTagCount":228,"lastUpdatedAt":229},"wordpress-agent-skills","Automattic\u002Fwordpress-agent-skills","https:\u002F\u002Fgithub.com\u002FAutomattic\u002Fwordpress-agent-skills",104,"A collection of agent skills that can be used to create WordPress themes and sites",[],[218,219,220,221,224,227],{"slug":38,"name":39},{"slug":29,"name":30},{"slug":44,"name":45},{"slug":222,"name":223},"creative","Creative",{"slug":225,"name":226},"design-system","Design System",{"slug":50,"name":51},9,"2026-04-06T18:03:25.231453",{"name":231,"fullName":232,"repoUrl":233,"skillCount":64,"stars":10,"forks":234,"description":235,"topics":236,"topTags":237,"topTagCount":248,"lastUpdatedAt":249},"radical-pipelines","Automattic\u002Fradical-pipelines","https:\u002F\u002Fgithub.com\u002FAutomattic\u002Fradical-pipelines",2,"Set of tools to orchestrate autonomous development pipelines",[],[238,241,242,245],{"slug":239,"name":240},"automation","Automation",{"slug":203,"name":204},{"slug":243,"name":244},"documentation","Documentation",{"slug":246,"name":247},"engineering","Engineering",4,"2026-06-04T08:06:46.401676",{"name":251,"fullName":252,"repoUrl":253,"skillCount":64,"stars":64,"forks":169,"description":254,"topics":255,"topTags":256,"topTagCount":248,"lastUpdatedAt":265},"wp-skill","Automattic\u002Fwp-skill","https:\u002F\u002Fgithub.com\u002FAutomattic\u002Fwp-skill",null,[],[257,258,261,264],{"slug":32,"name":33},{"slug":259,"name":260},"templates","Templates",{"slug":262,"name":263},"web-development","Web Development",{"slug":29,"name":30},"2026-06-13T07:46:41.814729",{"items":267,"total":14},[268,284,299,310,321,334,348,363,373,384,394,405,416,430,439,451,462,473,484,497,510],{"slug":269,"name":269,"fn":270,"description":271,"org":272,"tags":273,"stars":63,"repoUrl":62,"updatedAt":283},"adapt","build platform adapters for content extraction","Build a new platform adapter to extract content from an unsupported platform (Blogger, Ghost, Tumblr, etc.)",{"slug":5,"name":6,"logoUrl":7,"githubOrg":5},[274,276,279,282],{"name":240,"slug":239,"type":275},"tag",{"name":277,"slug":278,"type":275},"Data Cleaning","data-cleaning",{"name":280,"slug":281,"type":275},"Data Engineering","data-engineering",{"name":30,"slug":29,"type":275},"2026-05-09T05:32:13.987972",{"slug":285,"name":285,"fn":286,"description":287,"org":288,"tags":289,"stars":63,"repoUrl":62,"updatedAt":298},"compose-page-blocks","compose WordPress block markup from HTML","Compose a single liberated page's WordPress block-editor markup from its rendered HTML and screenshot. Inputs are a sanitized HTML file, a desktop screenshot, the design-foundation tokens, the URL's archetype (page\u002Fpost\u002Fproduct\u002Fetc.), and the source URL. Output is a string of valid block markup that round-trips through parse_blocks, uses theme tokens (no inlined hex colors), and contains only text drawn from the source HTML. Call per-page during the streaming watch loop after extraction has produced HTML+screenshot for that URL. Use when a freshly-imported page needs `post_content` upgraded from raw HTML into block-editor markup so the replica theme's tokens, gradients, and patterns actually render.",{"slug":5,"name":6,"logoUrl":7,"githubOrg":5},[290,291,294,297],{"name":45,"slug":44,"type":275},{"name":292,"slug":293,"type":275},"Content Creation","content-creation",{"name":295,"slug":296,"type":275},"HTML","html",{"name":30,"slug":29,"type":275},"2026-06-08T08:17:34.212397",{"slug":300,"name":300,"fn":301,"description":302,"org":303,"tags":304,"stars":63,"repoUrl":62,"updatedAt":309},"creating-blocks","create new WordPress blocks","Templates and guidelines for creating new WordPress blocks from scratch — load this before generating block files",{"slug":5,"name":6,"logoUrl":7,"githubOrg":5},[305,306,307,308],{"name":45,"slug":44,"type":275},{"name":51,"slug":50,"type":275},{"name":136,"slug":135,"type":275},{"name":30,"slug":29,"type":275},"2026-06-08T08:17:49.413995",{"slug":311,"name":311,"fn":312,"description":313,"org":314,"tags":315,"stars":63,"repoUrl":62,"updatedAt":320},"creating-themes","create WordPress block themes","Guidelines for creating new WordPress block themes from scratch — load this before generating theme files",{"slug":5,"name":6,"logoUrl":7,"githubOrg":5},[316,317,318,319],{"name":45,"slug":44,"type":275},{"name":51,"slug":50,"type":275},{"name":48,"slug":47,"type":275},{"name":30,"slug":29,"type":275},"2026-06-08T08:17:50.666611",{"slug":322,"name":322,"fn":323,"description":324,"org":325,"tags":326,"stars":63,"repoUrl":62,"updatedAt":333},"design-foundations","build design foundation JSON from sites","Build a coherent design-foundation JSON from a liberated site — semantic color\u002Ftypography\u002Fspacing roles with evidence trails. Consumes the partial scaffold produced by liberate_design_foundation_scaffold plus aggregate HTML\u002FCSS analysis and representative rendered HTML; produces a complete design-foundation matching the schema. Call after liberation, before theme generation.",{"slug":5,"name":6,"logoUrl":7,"githubOrg":5},[327,330,331,332],{"name":328,"slug":329,"type":275},"Data Modeling","data-modeling",{"name":39,"slug":38,"type":275},{"name":226,"slug":225,"type":275},{"name":42,"slug":41,"type":275},"2026-06-08T08:17:44.457834",{"slug":335,"name":335,"fn":336,"description":337,"org":338,"tags":339,"stars":63,"repoUrl":62,"updatedAt":347},"design-qa","run visual QA on WordPress themes","Visual-QA loop run after replica theme install and content import. Captures replica screenshots, applies a hard responsiveness gate at 390px AND a hard per-section visual-parity gate (measured SectionParity records, verdict computed by buildRunReport), runs qualitative vision review of source\u002Freplica pairs, checks accessibility, and drives a per-section escalation ladder of fixes via editing-themes\u002Fediting-blocks\u002Frebuild-section (R1 CSS → R2 spec-rebuild → R3 re-extract → R4a AI canonical-block rebuild → R4b deterministic styled-island floor) — escalating unresolved divergences to the operator rather than shipping them. Orchestration-internal — invoked by the replicate-with-blocks\u002Fliberate orchestrators, not directly by users.",{"slug":5,"name":6,"logoUrl":7,"githubOrg":5},[340,341,344,345,346],{"name":57,"slug":56,"type":275},{"name":342,"slug":343,"type":275},"Screenshots","screenshots",{"name":54,"slug":53,"type":275},{"name":48,"slug":47,"type":275},{"name":30,"slug":29,"type":275},"2026-06-08T08:17:45.698278",{"slug":349,"name":349,"fn":350,"description":351,"org":352,"tags":353,"stars":63,"repoUrl":62,"updatedAt":362},"diagnose","debug failed data extraction processes","Debug failed or low-quality extractions by analyzing logs, probing the source site, and identifying root causes",{"slug":5,"name":6,"logoUrl":7,"githubOrg":5},[354,355,358,361],{"name":280,"slug":281,"type":275},{"name":356,"slug":357,"type":275},"Debugging","debugging",{"name":359,"slug":360,"type":275},"Logs","logs",{"name":57,"slug":56,"type":275},"2026-05-10T05:48:11.267642",{"slug":364,"name":364,"fn":365,"description":366,"org":367,"tags":368,"stars":63,"repoUrl":62,"updatedAt":372},"editing-blocks","modify existing WordPress blocks","Guidelines for modifying existing WordPress blocks — load this before editing block files",{"slug":5,"name":6,"logoUrl":7,"githubOrg":5},[369,370,371],{"name":45,"slug":44,"type":275},{"name":51,"slug":50,"type":275},{"name":30,"slug":29,"type":275},"2026-06-08T08:17:43.160336",{"slug":374,"name":374,"fn":375,"description":376,"org":377,"tags":378,"stars":63,"repoUrl":62,"updatedAt":383},"editing-themes","modify WordPress block themes","Guidelines for modifying existing WordPress block themes — load this before editing theme files",{"slug":5,"name":6,"logoUrl":7,"githubOrg":5},[379,380,381,382],{"name":45,"slug":44,"type":275},{"name":51,"slug":50,"type":275},{"name":48,"slug":47,"type":275},{"name":30,"slug":29,"type":275},"2026-06-08T08:17:48.187284",{"slug":385,"name":385,"fn":386,"description":387,"org":388,"tags":389,"stars":63,"repoUrl":62,"updatedAt":393},"generating-patterns","generate WordPress block patterns","Guidelines and examples for generating WordPress block patterns — load this when creating patterns for themes",{"slug":5,"name":6,"logoUrl":7,"githubOrg":5},[390,391,392],{"name":45,"slug":44,"type":275},{"name":48,"slug":47,"type":275},{"name":30,"slug":29,"type":275},"2026-06-08T08:17:51.946787",{"slug":395,"name":395,"fn":396,"description":397,"org":398,"tags":399,"stars":63,"repoUrl":62,"updatedAt":404},"match-page","ensure visual parity for web pages","Orchestrate whole-PAGE visual parity, with a replayable parity log so the work survives a reconstruct. PHASE 0 — if \u003CoutputDir>\u002Fparity-log.json exists, REPLAY its logged intents onto the current build first (apply + verify each by looking), so prior parity work is re-applied to whatever the latest reconstruction produced. PHASE 1 — one batch pass measuring EVERY band's built design vs the SOURCE screenshot across all axes, emitting a per-band verdict. PHASE 2 — iterate match-section on the divergent bands only, worst-first, LOGGING each fix as a semantic parity-log entry, until each matches. Never hand-roll per-section work without the batch assessment; never assert a match without cropping source+built and looking. Dispatched by replicate-with-blocks\u002Fdesign-qa; calls match-section per band; writes\u002Freads parity-log.json.",{"slug":5,"name":6,"logoUrl":7,"githubOrg":5},[400,401,402,403],{"name":57,"slug":56,"type":275},{"name":342,"slug":343,"type":275},{"name":54,"slug":53,"type":275},{"name":30,"slug":29,"type":275},"2026-06-08T08:17:46.931915",{"slug":406,"name":406,"fn":407,"description":408,"org":409,"tags":410,"stars":63,"repoUrl":62,"updatedAt":415},"match-section","match section design to WordPress blocks","Reach VISUAL parity for ONE section by guiding AI to apply the captured design data (colors, padding, margins, full-bleed, font sizes, line-heights, families, alignment) to that section's WordPress block markup, then VERIFYING by looking at the source section and the built section side-by-side and iterating until they are visually identical. Non-deterministic on purpose — deterministic emission gets the structure right but misses visual parity; this skill closes the gap with an AI eyes-on loop. The per-section EXECUTOR called by `match-page` (which runs the batch Phase-1 assessment first, then dispatches this per divergent section). Do not drive whole-page parity by hand-rolling per-section work — run `match-page` so the batch assessment happens first. Dispatched per section (subagent) by match-page\u002Freplicate-with-blocks\u002Fdesign-qa. Not user-invocable directly.",{"slug":5,"name":6,"logoUrl":7,"githubOrg":5},[411,412,413,414],{"name":45,"slug":44,"type":275},{"name":39,"slug":38,"type":275},{"name":42,"slug":41,"type":275},{"name":30,"slug":29,"type":275},"2026-06-08T08:17:36.85987",{"slug":417,"name":417,"fn":418,"description":419,"org":420,"tags":421,"stars":63,"repoUrl":62,"updatedAt":429},"migrate","migrate websites to WordPress","Alias for `\u002Fliberate`. Migrate a website or an owned local directory into WordPress — point it at a URL (a live site you don't control) or at a local folder of HTML\u002FCSS\u002FJS you own, and it runs the full liberate pipeline (route on input → detect\u002Fdiscover\u002Fextract\u002Fcapture + reconstruct for URLs; provision Studio + carry-to-block-theme for local dirs). Use `\u002Fmigrate \u003Curl-or-dir>` exactly like `\u002Fliberate \u003Curl-or-dir>`.",{"slug":5,"name":6,"logoUrl":7,"githubOrg":5},[422,425,428],{"name":423,"slug":424,"type":275},"Deployment","deployment",{"name":426,"slug":427,"type":275},"Migration","migration",{"name":30,"slug":29,"type":275},"2026-06-19T09:38:03.361011",{"slug":431,"name":431,"fn":432,"description":433,"org":434,"tags":435,"stars":63,"repoUrl":62,"updatedAt":75},"model-local-data","model local site data for WordPress","Analyze an OWNED local static site's JavaScript data grids or repeated static-HTML content cards and emit a data-model.json that turns that data into real WordPress posts\u002Ftaxonomy + native query loops while keeping the styling\u002Fanimation\u002Fmodal JS. Produces the model that liberate-local's convert step consumes. Use before liberate_convert_local_site when the source renders its content from JS data (catalogs, listings, galleries) or repeated post-preview cards in static HTML.",{"slug":5,"name":6,"logoUrl":7,"githubOrg":5},[436,437,438],{"name":277,"slug":278,"type":275},{"name":328,"slug":329,"type":275},{"name":30,"slug":29,"type":275},{"slug":56,"name":56,"fn":440,"description":441,"org":442,"tags":443,"stars":63,"repoUrl":62,"updatedAt":450},"verify WXR content against source sites","Compare extracted WXR content against the original source site page by page. Find missing text, headings, images, and links. Fix by patching the WXR or re-extracting individual pages. Produces a health score and structured report. Use when asked to \"qa\", \"check extraction\", \"compare content\", or \"verify extraction quality\".",{"slug":5,"name":6,"logoUrl":7,"githubOrg":5},[444,447,448,449],{"name":445,"slug":446,"type":275},"Data Quality","data-quality",{"name":57,"slug":56,"type":275},{"name":54,"slug":53,"type":275},{"name":30,"slug":29,"type":275},"2026-05-10T05:48:09.926363",{"slug":452,"name":452,"fn":453,"description":454,"org":455,"tags":456,"stars":63,"repoUrl":62,"updatedAt":461},"rebuild-section","rebuild divergent sections into WordPress blocks","R4a of the design-qa escalation ladder — rebuild ONE divergent section into canonical, editable WordPress core blocks from its source HTML, screenshots, spec, and design tokens, when R1–R3 (CSS \u002F spec-rebuild \u002F re-extract) could not reach visual parity. Dispatched as a subagent by design-qa; not user-invocable. Output ships ONLY if it re-scores `match` and survives canonicalization with no content loss — otherwise the loop falls to the R4b styled-island floor.",{"slug":5,"name":6,"logoUrl":7,"githubOrg":5},[457,458,459,460],{"name":45,"slug":44,"type":275},{"name":39,"slug":38,"type":275},{"name":426,"slug":427,"type":275},{"name":30,"slug":29,"type":275},"2026-06-08T08:17:38.128755",{"slug":463,"name":463,"fn":464,"description":465,"org":466,"tags":467,"stars":63,"repoUrl":62,"updatedAt":472},"replicate-theme","reconstruct WordPress themes with parity","Parity-first carry-and-scope theme reconstruction — dispatched by `\u002Fliberate` after capture. Instead of projecting the source onto editable WordPress blocks (the `replicate-with-blocks` path), it CARRIES the source page near-verbatim and SCOPES the source's own CSS under a per-site wrapper, producing a high-fidelity but NON-block-editable theme. It owns only the reconstruct→theme stage (capture already happened in `\u002Fliberate`); writes `output-carry.wxr` + a `\u003Csite>-carry` theme and installs into a Studio site named after the source. Use when the user picks \"theme replication\" at the `\u002Fliberate` checkpoint, or asks to \"carry the HTML\", \"scope the source CSS\", or maximize visual parity vs. blocks.",{"slug":5,"name":6,"logoUrl":7,"githubOrg":5},[468,469,470,471],{"name":51,"slug":50,"type":275},{"name":426,"slug":427,"type":275},{"name":48,"slug":47,"type":275},{"name":30,"slug":29,"type":275},"2026-06-08T08:17:40.678833",{"slug":474,"name":474,"fn":475,"description":476,"org":477,"tags":478,"stars":63,"repoUrl":62,"updatedAt":483},"replicate-with-blocks","reconstruct WordPress sites with block themes","Spec-driven, whole-site block-theme reconstruction for a liberated site. Invokes design-foundations → creating-themes → clustering → spec extraction → generating-patterns (fan-out, per cluster) → assemble → validate → install → design-qa to produce a responsive, editable WordPress block theme that matches the source site's layout, content structure, and visual design. Call after `liberate` (extraction) and before content import, or re-run standalone to re-theme an already-extracted site. Use when the user says \"rebuild this site,\" \"replicate the design,\" \"make a theme that matches,\" \"recreate the layout,\" or asks for a WordPress version of a liberated site.",{"slug":5,"name":6,"logoUrl":7,"githubOrg":5},[479,480,481,482],{"name":51,"slug":50,"type":275},{"name":426,"slug":427,"type":275},{"name":48,"slug":47,"type":275},{"name":30,"slug":29,"type":275},"2026-06-08T08:17:35.493495",{"slug":485,"name":485,"fn":486,"description":487,"org":488,"tags":489,"stars":63,"repoUrl":62,"updatedAt":496},"testing-js","check JavaScript files for syntax errors","Guidelines for checking JavaScript files for syntax errors",{"slug":5,"name":6,"logoUrl":7,"githubOrg":5},[490,491,492,495],{"name":204,"slug":203,"type":275},{"name":356,"slug":357,"type":275},{"name":493,"slug":494,"type":275},"JavaScript","javascript",{"name":54,"slug":53,"type":275},"2026-06-08T08:17:39.413681",{"slug":498,"name":498,"fn":499,"description":500,"org":501,"tags":502,"stars":63,"repoUrl":62,"updatedAt":509},"testing-php","run PHP linting to catch syntax errors","Guidelines for running PHP linting to catch syntax errors",{"slug":5,"name":6,"logoUrl":7,"githubOrg":5},[503,504,507,508],{"name":204,"slug":203,"type":275},{"name":505,"slug":506,"type":275},"PHP","php",{"name":57,"slug":56,"type":275},{"name":54,"slug":53,"type":275},"2026-06-08T08:17:32.942311",{"slug":511,"name":511,"fn":512,"description":513,"org":514,"tags":515,"stars":63,"repoUrl":62,"updatedAt":520},"testing-wp-runtime","validate WordPress plugins and themes at runtime","Guidelines for running wp-now to validate WordPress plugins and themes at runtime",{"slug":5,"name":6,"logoUrl":7,"githubOrg":5},[516,517,518,519],{"name":356,"slug":357,"type":275},{"name":57,"slug":56,"type":275},{"name":54,"slug":53,"type":275},{"name":30,"slug":29,"type":275},"2026-06-08T08:17:41.91892"]