#74 by GitHub stars
openai/skills
Skills Catalog for Codex
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/.curated/aspnet-core/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/chatgpt-apps/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/cli-creator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/cloudflare-deploy/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/define-goal/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/figma/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/figma-code-connect-components/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/figma-create-design-system-rules/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/figma-create-new-file/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/figma-generate-design/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/figma-generate-library/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/figma-implement-design/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/figma-use/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/gh-address-comments/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/gh-fix-ci/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/hatch-pet/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/jupyter-notebook/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/linear/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/migrate-to-codex/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/netlify-deploy/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/notion-knowledge-capture/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/notion-meeting-intelligence/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/notion-research-documentation/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/notion-spec-to-implementation/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/openai-docs/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/pdf/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/playwright/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/playwright-interactive/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/render-deploy/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/screenshot/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/security-best-practices/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/security-ownership-map/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/security-threat-model/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/sentry/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/speech/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/transcribe/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/vercel-deploy/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/winui-app/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.curated/yeet/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.system/imagegen/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.system/openai-docs/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.system/plugin-creator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.system/skill-creator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 49f948faa925
No earlier version was observed for comparison.
skills/.system/skill-installer/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
49f948faa925 → 49f948faa925
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 49f948faa925
No earlier version was observed for comparison.
Heat
5.3- Star growth, last 7 daysAhead of 70% of tracked repositories
- Star growth, last 24 hoursAhead of 68% of tracked repositories
- Rank movement, last 7 daysAhead of 73% of tracked repositories
- Commits, last 30 daysAhead of 0% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- aspnet-core
skills/.curated/aspnet-core - chatgpt-apps
skills/.curated/chatgpt-apps - cli-creator
skills/.curated/cli-creator - cloudflare-deploy
skills/.curated/cloudflare-deploy - define-goal
skills/.curated/define-goal - figma
skills/.curated/figma - figma-code-connect-components
skills/.curated/figma-code-connect-components - figma-create-design-system-rules
skills/.curated/figma-create-design-system-rules - figma-create-new-file
skills/.curated/figma-create-new-file - figma-generate-design
skills/.curated/figma-generate-design - figma-generate-library
skills/.curated/figma-generate-library - figma-implement-design
skills/.curated/figma-implement-design - figma-use
skills/.curated/figma-use - gh-address-comments
skills/.curated/gh-address-comments - gh-fix-ci
skills/.curated/gh-fix-ci - hatch-pet
skills/.curated/hatch-pet - jupyter-notebook
skills/.curated/jupyter-notebook - linear
skills/.curated/linear - migrate-to-codex
skills/.curated/migrate-to-codex - netlify-deploy
skills/.curated/netlify-deploy - notion-knowledge-capture
skills/.curated/notion-knowledge-capture - notion-meeting-intelligence
skills/.curated/notion-meeting-intelligence - notion-research-documentation
skills/.curated/notion-research-documentation - notion-spec-to-implementation
skills/.curated/notion-spec-to-implementation - openai-docs
skills/.curated/openai-docs - pdf
skills/.curated/pdf - playwright
skills/.curated/playwright - playwright-interactive
skills/.curated/playwright-interactive - render-deploy
skills/.curated/render-deploy - screenshot
skills/.curated/screenshot - security-best-practices
skills/.curated/security-best-practices - security-ownership-map
skills/.curated/security-ownership-map - security-threat-model
skills/.curated/security-threat-model - sentry
skills/.curated/sentry - speech
skills/.curated/speech - transcribe
skills/.curated/transcribe - vercel-deploy
skills/.curated/vercel-deploy - winui-app
skills/.curated/winui-app - yeet
skills/.curated/yeet - imagegen
skills/.system/imagegen - openai-docs
skills/.system/openai-docs - plugin-creator
skills/.system/plugin-creator - skill-creator
skills/.system/skill-creator - skill-installer
skills/.system/skill-installer
How it works
aspnet-core
When your agent uses it
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.
What it loads into context
Frontmatter
83 tokensAlways available to the agent
SKILL.md
1,150 tokensWhen the skill is activated
Reference documents
7,027 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Workflow
- Default Operating Assumptions
- Reference Guide
- Execution Notes
Files
LICENSE.txtdoc11,357 bytesSKILL.mdcore5,544 bytesagents/openai.yamlasset222 bytesassets/dotnet-logo.pngasset2,270 bytesreferences/_sections.mddoc2,412 bytesreferences/apis-minimal-and-controllers.mddoc3,040 bytesreferences/data-state-and-services.mddoc2,422 bytesreferences/program-and-pipeline.mddoc4,182 bytesreferences/realtime-grpc-and-background-work.mddoc1,896 bytesreferences/security-and-identity.mddoc2,941 bytesreferences/source-map.mddoc2,040 bytesreferences/stack-selection.mddoc3,700 bytesreferences/testing-performance-and-operations.mddoc2,698 bytesreferences/ui-blazor.mddoc2,478 bytesreferences/ui-mvc.mddoc1,954 bytesreferences/ui-razor-pages.mddoc1,937 bytesreferences/versioning-and-upgrades.mddoc2,085 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubchatgpt-apps
When your agent uses it
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.
What it loads into context
Frontmatter
100 tokensAlways available to the agent
SKILL.md
4,183 tokensWhen the skill is activated
Reference documents
6,290 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Mandatory Docs-First Workflow
- Prompt Guidance
- Classify The App Before Choosing Code
- Default Starting-Point Order
- Build Workflow
- Interactive State Guidance
- Output Expectations
- References
Scripts executed separately
scripts/scaffold_node_ext_apps.mjs
Files
LICENSE.txtdoc10,774 bytesSKILL.mdcore19,626 bytesagents/openai.yamlasset842 bytesreferences/app-archetypes.mddoc3,514 bytesreferences/apps-sdk-docs-workflow.mddoc8,143 bytesreferences/interactive-state-sync-patterns.mddoc4,281 bytesreferences/repo-contract-and-validation.mddoc2,962 bytesreferences/search-fetch-standard.mddoc2,021 bytesreferences/upstream-example-workflow.mddoc3,443 bytesreferences/window-openai-patterns.mddoc4,707 bytesscripts/scaffold_node_ext_apps.mjsruns16,371 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcli-creator
When your agent uses it
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/write commands, return stable JSON, manage auth, and pair with a companion skill.
What it loads into context
Frontmatter
86 tokensAlways available to the agent
SKILL.md
2,310 tokensWhen the skill is activated
Reference documents
1,196 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Start
- Choose the Runtime
- Command Contract
- Auth and Config
- Build Workflow
- Rust Defaults
- TypeScript/Node Defaults
- Python Defaults
- Companion Skill
Files
LICENSE.txtdoc10,776 bytesSKILL.mdcore10,502 bytesSKILL.mdcore10,502 bytesSKILL.mdcore10,502 bytesSKILL.mdcore10,502 bytesSKILL.mdcore10,502 bytesSKILL.mdcore10,502 bytesSKILL.mdcore10,502 bytesSKILL.mdcore10,502 bytesSKILL.mdcore10,502 bytesSKILL.mdcore10,502 bytesSKILL.mdcore10,502 bytesSKILL.mdcore10,502 bytesagents/openai.yamlasset280 bytesreferences/agent-cli-patterns.mddoc5,244 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcloudflare-deploy
When your agent uses it
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.
What it loads into context
Frontmatter
47 tokensAlways available to the agent
SKILL.md
1,797 tokensWhen the skill is activated
Reference documents
335,632 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- Authentication (Required Before Deploy)
- Quick Decision Trees
- Product Index
- Troubleshooting
Files
LICENSE.txtdoc10,776 bytesSKILL.mdcore7,377 bytesSKILL.mdcore7,377 bytesagents/openai.yamlasset331 bytesassets/cloudflare-small.svgasset1,221 bytesassets/cloudflare.pngasset1,187 bytesreferences/agents-sdk/README.mddoc2,765 bytesreferences/agents-sdk/api.mddoc5,862 bytesreferences/agents-sdk/configuration.mddoc3,575 bytesreferences/agents-sdk/gotchas.mddoc5,108 bytesreferences/agents-sdk/patterns.mddoc5,595 bytesreferences/ai-gateway/README.mddoc6,308 bytesreferences/ai-gateway/configuration.mddoc2,954 bytesreferences/ai-gateway/dynamic-routing.mddoc1,835 bytesreferences/ai-gateway/features.mddoc2,726 bytesreferences/ai-gateway/sdk-integration.mddoc2,684 bytesreferences/ai-gateway/troubleshooting.mddoc2,420 bytesreferences/ai-search/README.mddoc4,521 bytesreferences/ai-search/api.mddoc2,519 bytesreferences/ai-search/configuration.mddoc1,760 bytesreferences/ai-search/gotchas.mddoc2,135 bytesreferences/ai-search/patterns.mddoc2,008 bytesreferences/analytics-engine/README.mddoc3,195 bytesreferences/analytics-engine/api.mddoc3,161 bytesreferences/analytics-engine/configuration.mddoc2,361 bytesreferences/analytics-engine/gotchas.mddoc2,018 bytesreferences/analytics-engine/patterns.mddoc2,312 bytesreferences/api-shield/README.mddoc1,796 bytesreferences/api-shield/api.mddoc3,900 bytesreferences/api-shield/configuration.mddoc5,020 bytesreferences/api-shield/gotchas.mddoc4,946 bytesreferences/api-shield/patterns.mddoc5,844 bytesreferences/api/README.mddoc2,381 bytesreferences/api/api.mddoc4,308 bytesreferences/api/configuration.mddoc3,748 bytesreferences/api/gotchas.mddoc5,390 bytesreferences/api/patterns.mddoc4,639 bytesreferences/argo-smart-routing/README.mddoc4,060 bytesreferences/argo-smart-routing/api.mddoc6,579 bytesreferences/argo-smart-routing/configuration.mddoc4,457 bytesreferences/argo-smart-routing/gotchas.mddoc4,327 bytesreferences/argo-smart-routing/patterns.mddoc3,053 bytesreferences/bindings/README.mddoc4,042 bytesreferences/bindings/api.mddoc5,199 bytesreferences/bindings/configuration.mddoc4,496 bytesreferences/bindings/gotchas.mddoc6,169 bytesreferences/bindings/patterns.mddoc5,058 bytesreferences/bot-management/README.mddoc3,762 bytesreferences/bot-management/api.mddoc5,803 bytesreferences/bot-management/configuration.mddoc5,744 bytesreferences/bot-management/gotchas.mddoc5,657 bytesreferences/bot-management/patterns.mddoc4,970 bytesreferences/browser-rendering/README.mddoc3,092 bytesreferences/browser-rendering/api.mddoc2,976 bytesreferences/browser-rendering/configuration.mddoc1,802 bytesreferences/browser-rendering/gotchas.mddoc2,520 bytesreferences/browser-rendering/patterns.mddoc2,647 bytesreferences/c3/README.mddoc3,352 bytesreferences/c3/api.mddoc2,286 bytesreferences/c3/configuration.mddoc1,637 bytesreferences/c3/gotchas.mddoc2,307 bytesreferences/c3/patterns.mddoc2,203 bytesreferences/cache-reserve/README.mddoc5,609 bytesreferences/cache-reserve/api.mddoc6,018 bytesreferences/cache-reserve/configuration.mddoc3,660 bytesreferences/cache-reserve/gotchas.mddoc5,797 bytesreferences/cache-reserve/patterns.mddoc6,265 bytesreferences/containers/README.mddoc3,531 bytesreferences/containers/api.mddoc4,310 bytesreferences/containers/configuration.mddoc5,424 bytesreferences/containers/gotchas.mddoc4,485 bytesreferences/containers/patterns.mddoc4,925 bytesreferences/cron-triggers/README.mddoc2,949 bytesreferences/cron-triggers/api.mddoc5,866 bytesreferences/cron-triggers/configuration.mddoc4,250 bytesreferences/cron-triggers/gotchas.mddoc6,316 bytesreferences/cron-triggers/patterns.mddoc6,980 bytesreferences/d1/README.mddoc4,719 bytesreferences/d1/api.mddoc6,806 bytesreferences/d1/configuration.mddoc5,386 bytesreferences/d1/gotchas.mddoc4,318 bytesreferences/d1/patterns.mddoc7,251 bytesreferences/ddos/README.mddoc2,054 bytesreferences/ddos/api.mddoc4,170 bytesreferences/ddos/configuration.mddoc3,005 bytesreferences/ddos/gotchas.mddoc3,912 bytesreferences/ddos/patterns.mddoc5,680 bytesreferences/do-storage/README.mddoc2,765 bytesreferences/do-storage/api.mddoc3,571 bytesreferences/do-storage/configuration.mddoc2,235 bytesreferences/do-storage/gotchas.mddoc5,200 bytesreferences/do-storage/patterns.mddoc5,278 bytesreferences/do-storage/testing.mddoc4,912 bytesreferences/durable-objects/README.mddoc6,609 bytesreferences/durable-objects/api.mddoc6,142 bytesreferences/durable-objects/configuration.mddoc4,266 bytesreferences/durable-objects/gotchas.mddoc7,318 bytesreferences/durable-objects/patterns.mddoc6,691 bytesreferences/email-routing/README.mddoc3,431 bytesreferences/email-routing/api.mddoc5,311 bytesreferences/email-routing/configuration.mddoc3,571 bytesreferences/email-routing/gotchas.mddoc4,106 bytesreferences/email-routing/patterns.mddoc5,480 bytesreferences/email-workers/README.mddoc5,368 bytesreferences/email-workers/api.mddoc6,078 bytesreferences/email-workers/configuration.mddoc2,719 bytesreferences/email-workers/gotchas.mddoc3,041 bytesreferences/email-workers/patterns.mddoc2,785 bytesreferences/hyperdrive/README.mddoc2,918 bytesreferences/hyperdrive/api.mddoc3,875 bytesreferences/hyperdrive/configuration.mddoc3,913 bytesreferences/hyperdrive/gotchas.mddoc3,926 bytesreferences/hyperdrive/patterns.mddoc5,980 bytesreferences/images/README.mddoc2,900 bytesreferences/images/api.mddoc2,574 bytesreferences/images/configuration.mddoc4,126 bytesreferences/images/gotchas.mddoc2,490 bytesreferences/images/patterns.mddoc3,582 bytesreferences/kv/README.mddoc2,883 bytesreferences/kv/api.mddoc4,327 bytesreferences/kv/configuration.mddoc3,083 bytesreferences/kv/gotchas.mddoc4,455 bytesreferences/kv/patterns.mddoc4,740 bytesreferences/miniflare/README.mddoc2,976 bytesreferences/miniflare/api.mddoc4,606 bytesreferences/miniflare/configuration.mddoc3,525 bytesreferences/miniflare/gotchas.mddoc3,724 bytesreferences/miniflare/patterns.mddoc4,260 bytesreferences/network-interconnect/README.mddoc3,230 bytesreferences/network-interconnect/api.mddoc5,626 bytesreferences/network-interconnect/configuration.mddoc4,257 bytesreferences/network-interconnect/gotchas.mddoc5,554 bytesreferences/network-interconnect/patterns.mddoc4,041 bytesreferences/observability/README.mddoc3,887 bytesreferences/observability/api.mddoc3,480 bytesreferences/observability/configuration.mddoc3,584 bytesreferences/observability/gotchas.mddoc3,755 bytesreferences/observability/patterns.mddoc2,481 bytesreferences/pages-functions/README.mddoc3,322 bytesreferences/pages-functions/api.mddoc4,677 bytesreferences/pages-functions/configuration.mddoc3,002 bytesreferences/pages-functions/gotchas.mddoc3,850 bytesreferences/pages-functions/patterns.mddoc4,214 bytesreferences/pages/README.mddoc2,834 bytesreferences/pages/api.mddoc5,980 bytesreferences/pages/configuration.mddoc5,865 bytesreferences/pages/gotchas.mddoc7,998 bytesreferences/pages/patterns.mddoc5,992 bytesreferences/pipelines/README.mddoc3,400 bytesreferences/pipelines/api.mddoc5,109 bytesreferences/pipelines/configuration.mddoc2,747 bytesreferences/pipelines/gotchas.mddoc2,427 bytesreferences/pipelines/patterns.mddoc2,080 bytesreferences/pulumi/README.mddoc3,231 bytesreferences/pulumi/api.mddoc5,761 bytesreferences/pulumi/configuration.mddoc5,657 bytesreferences/pulumi/gotchas.mddoc6,536 bytesreferences/pulumi/patterns.mddoc6,974 bytesreferences/queues/README.mddoc3,058 bytesreferences/queues/api.mddoc5,563 bytesreferences/queues/configuration.mddoc3,828 bytesreferences/queues/gotchas.mddoc7,233 bytesreferences/queues/patterns.mddoc5,498 bytesreferences/r2-data-catalog/README.mddoc7,105 bytesreferences/r2-data-catalog/api.mddoc5,991 bytesreferences/r2-data-catalog/configuration.mddoc5,297 bytesreferences/r2-data-catalog/gotchas.mddoc6,126 bytesreferences/r2-data-catalog/patterns.mddoc5,883 bytesreferences/r2-sql/README.mddoc5,209 bytesreferences/r2-sql/api.mddoc4,007 bytesreferences/r2-sql/configuration.mddoc3,739 bytesreferences/r2-sql/gotchas.mddoc6,235 bytesreferences/r2-sql/patterns.mddoc6,758 bytesreferences/r2/README.mddoc2,825 bytesreferences/r2/api.mddoc5,649 bytesreferences/r2/configuration.mddoc3,654 bytesreferences/r2/gotchas.mddoc5,048 bytesreferences/r2/patterns.mddoc5,844 bytesreferences/realtime-sfu/README.mddoc3,078 bytesreferences/realtime-sfu/api.mddoc3,768 bytesreferences/realtime-sfu/configuration.mddoc3,509 bytesreferences/realtime-sfu/gotchas.mddoc4,902 bytesreferences/realtime-sfu/patterns.mddoc5,403 bytesreferences/realtimekit/README.mddoc4,047 bytesreferences/realtimekit/api.mddoc8,352 bytesreferences/realtimekit/configuration.mddoc5,192 bytesreferences/realtimekit/gotchas.mddoc6,883 bytesreferences/realtimekit/patterns.mddoc7,660 bytesreferences/sandbox/README.mddoc3,119 bytesreferences/sandbox/api.mddoc4,972 bytesreferences/sandbox/configuration.mddoc3,415 bytesreferences/sandbox/gotchas.mddoc5,456 bytesreferences/sandbox/patterns.mddoc5,236 bytesreferences/secrets-store/README.mddoc2,215 bytesreferences/secrets-store/api.mddoc4,358 bytesreferences/secrets-store/configuration.mddoc3,890 bytesreferences/secrets-store/gotchas.mddoc3,838 bytesreferences/secrets-store/patterns.mddoc5,660 bytesreferences/smart-placement/README.mddoc5,024 bytesreferences/smart-placement/api.mddoc5,559 bytesreferences/smart-placement/configuration.mddoc6,119 bytesreferences/smart-placement/gotchas.mddoc5,637 bytesreferences/smart-placement/patterns.mddoc5,784 bytesreferences/snippets/README.mddoc3,132 bytesreferences/snippets/api.mddoc5,133 bytesreferences/snippets/configuration.mddoc6,311 bytesreferences/snippets/gotchas.mddoc2,220 bytesreferences/snippets/patterns.mddoc3,346 bytesreferences/spectrum/README.mddoc2,355 bytesreferences/spectrum/api.mddoc4,924 bytesreferences/spectrum/configuration.mddoc4,332 bytesreferences/spectrum/gotchas.mddoc3,739 bytesreferences/spectrum/patterns.mddoc4,778 bytesreferences/static-assets/README.mddoc2,197 bytesreferences/static-assets/api.mddoc4,451 bytesreferences/static-assets/configuration.mddoc4,826 bytesreferences/static-assets/gotchas.mddoc4,127 bytesreferences/static-assets/patterns.mddoc4,895 bytesreferences/stream/README.mddoc3,864 bytesreferences/stream/api-live.mddoc5,174 bytesreferences/stream/api.mddoc5,260 bytesreferences/stream/configuration.mddoc3,222 bytesreferences/stream/gotchas.mddoc4,308 bytesreferences/stream/patterns.mddoc6,394 bytesreferences/tail-workers/README.mddoc3,020 bytesreferences/tail-workers/api.mddoc5,132 bytesreferences/tail-workers/configuration.mddoc3,474 bytesreferences/tail-workers/gotchas.mddoc4,595 bytesreferences/tail-workers/patterns.mddoc4,034 bytesreferences/terraform/README.mddoc3,680 bytesreferences/terraform/api.mddoc4,020 bytesreferences/terraform/configuration.mddoc7,577 bytesreferences/terraform/gotchas.mddoc5,268 bytesreferences/terraform/patterns.mddoc6,640 bytesreferences/tunnel/README.mddoc3,738 bytesreferences/tunnel/api.mddoc4,444 bytesreferences/tunnel/configuration.mddoc3,698 bytesreferences/tunnel/gotchas.mddoc3,933 bytesreferences/tunnel/networking.mddoc3,993 bytesreferences/tunnel/patterns.mddoc3,853 bytesreferences/turn/README.mddoc3,693 bytesreferences/turn/api.mddoc5,220 bytesreferences/turn/configuration.mddoc4,178 bytesreferences/turn/gotchas.mddoc7,020 bytesreferences/turn/patterns.mddoc6,189 bytesreferences/turnstile/README.mddoc3,539 bytesreferences/turnstile/api.mddoc6,424 bytesreferences/turnstile/configuration.mddoc6,719 bytesreferences/turnstile/gotchas.mddoc6,276 bytesreferences/turnstile/patterns.mddoc4,677 bytesreferences/vectorize/README.mddoc4,288 bytesreferences/vectorize/api.mddoc2,375 bytesreferences/vectorize/configuration.mddoc1,986 bytesreferences/vectorize/gotchas.mddoc2,157 bytesreferences/vectorize/patterns.mddoc2,514 bytesreferences/waf/README.mddoc3,455 bytesreferences/waf/api.mddoc5,831 bytesreferences/waf/configuration.mddoc4,765 bytesreferences/waf/gotchas.mddoc6,290 bytesreferences/waf/patterns.mddoc5,356 bytesreferences/web-analytics/README.mddoc5,236 bytesreferences/web-analytics/configuration.mddoc2,003 bytesreferences/web-analytics/gotchas.mddoc1,999 bytesreferences/web-analytics/integration.mddoc1,772 bytesreferences/web-analytics/patterns.mddoc2,237 bytesreferences/workerd/README.mddoc2,789 bytesreferences/workerd/api.mddoc4,959 bytesreferences/workerd/configuration.mddoc5,263 bytesreferences/workerd/gotchas.mddoc4,781 bytesreferences/workerd/patterns.mddoc4,938 bytesreferences/workers-ai/README.mddoc6,042 bytesreferences/workers-ai/api.mddoc2,715 bytesreferences/workers-ai/configuration.mddoc1,989 bytesreferences/workers-ai/gotchas.mddoc2,693 bytesreferences/workers-ai/patterns.mddoc3,063 bytesreferences/workers-for-platforms/README.mddoc3,913 bytesreferences/workers-for-platforms/api.mddoc5,515 bytesreferences/workers-for-platforms/configuration.mddoc3,892 bytesreferences/workers-for-platforms/gotchas.mddoc5,440 bytesreferences/workers-for-platforms/patterns.mddoc5,587 bytesreferences/workers-playground/README.mddoc4,016 bytesreferences/workers-playground/api.mddoc2,224 bytesreferences/workers-playground/configuration.mddoc4,462 bytesreferences/workers-playground/gotchas.mddoc2,019 bytesreferences/workers-playground/patterns.mddoc3,303 bytesreferences/workers-vpc/README.mddoc5,484 bytesreferences/workers-vpc/api.mddoc5,321 bytesreferences/workers-vpc/configuration.mddoc3,898 bytesreferences/workers-vpc/gotchas.mddoc4,477 bytesreferences/workers-vpc/patterns.mddoc6,011 bytesreferences/workers/README.mddoc3,451 bytesreferences/workers/api.mddoc5,158 bytesreferences/workers/configuration.mddoc4,355 bytesreferences/workers/frameworks.mddoc4,276 bytesreferences/workers/gotchas.mddoc4,751 bytesreferences/workers/patterns.mddoc5,447 bytesreferences/workflows/README.mddoc2,429 bytesreferences/workflows/api.mddoc6,423 bytesreferences/workflows/configuration.mddoc3,707 bytesreferences/workflows/gotchas.mddoc4,649 bytesreferences/workflows/patterns.mddoc6,638 bytesreferences/wrangler/README.mddoc4,668 bytesreferences/wrangler/api.mddoc4,624 bytesreferences/wrangler/auth.mddoc2,169 bytesreferences/wrangler/configuration.mddoc4,722 bytesreferences/wrangler/gotchas.mddoc5,868 bytesreferences/wrangler/patterns.mddoc4,876 bytesreferences/zaraz/IMPLEMENTATION_SUMMARY.mddoc3,494 bytesreferences/zaraz/README.mddoc3,909 bytesreferences/zaraz/api.mddoc3,197 bytesreferences/zaraz/configuration.mddoc1,811 bytesreferences/zaraz/gotchas.mddoc2,001 bytesreferences/zaraz/patterns.mddoc2,133 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubdefine-goal
When your agent uses it
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.
What it loads into context
Frontmatter
80 tokensAlways available to the agent
SKILL.md
1,136 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Workflow
- Goal Quality Bar
- Quantification Heuristics
- Clarifying Questions
Files
LICENSE.txtdoc10,776 bytesSKILL.mdcore5,647 bytesagents/openai.yamlasset208 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubfigma
When your agent uses it
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.
What it loads into context
Frontmatter
63 tokensAlways available to the agent
SKILL.md
653 tokensWhen the skill is activated
Reference documents
1,245 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Figma MCP Integration Rules
- References
Files
LICENSE.txtdoc440 bytesSKILL.mdcore3,170 bytesSKILL.mdcore3,170 bytesSKILL.mdcore3,170 bytesSKILL.mdcore3,170 bytesSKILL.mdcore3,170 bytesSKILL.mdcore3,170 bytesSKILL.mdcore3,170 bytesSKILL.mdcore3,170 bytesagents/openai.yamlasset457 bytesassets/figma-small.svgasset810 bytesassets/figma.pngasset1,612 bytesassets/icon.svgasset964 bytesreferences/figma-mcp-config.mddoc2,471 bytesreferences/figma-tools-and-prompts.mddoc2,796 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubfigma-code-connect-components
When your agent uses it
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`.
What it loads into context
Frontmatter
85 tokensAlways available to the agent
SKILL.md
4,131 tokensWhen the skill is activated
Reference documents
11,591 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Skill Boundaries
- Prerequisites
- Required Workflow
- Examples
- Best Practices
- Common Issues and Solutions
- Understanding Code Connect
- Additional Resources
Scripts executed separately
scripts/normalize_node_id.py
Files
LICENSE.TXTdoc440 bytesSKILL.mdcore16,763 bytesSKILL.mdcore16,763 bytesSKILL.mdcore16,763 bytesSKILL.mdcore16,763 bytesSKILL.mdcore16,763 bytesSKILL.mdcore16,763 bytesSKILL.mdcore16,763 bytesSKILL.mdcore16,763 bytesSKILL.mdcore16,763 bytesSKILL.mdcore16,763 bytesSKILL.mdcore16,763 bytesSKILL.mdcore16,763 bytesagents/openai.yamlasset520 bytesassets/figma-small.svgasset818 bytesassets/figma.pngasset1,612 bytesassets/icon.svgasset964 bytesreferences/mapping-checklist.mddoc262 bytesscripts/normalize_node_id.pyruns560 bytes../figma-generate-design/SKILL.mddoc20,164 bytes../figma-implement-design/SKILL.mddoc11,621 bytes../figma-use/SKILL.mddoc17,799 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubfigma-create-design-system-rules
When your agent uses it
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.
What it loads into context
Frontmatter
74 tokensAlways available to the agent
SKILL.md
3,964 tokensWhen the skill is activated
Reference documents
68 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- What Are Design System Rules?
- Prerequisites
- When to Use This Skill
- Required Workflow
- Rule Categories and Examples
- Examples
- Best Practices
- Common Issues and Solutions
- Understanding Design System Rules
- Additional Resources
Scripts executed separately
scripts/check_agents_md.sh
Files
LICENSE.TXTdoc440 bytesSKILL.mdcore18,221 bytesSKILL.mdcore18,221 bytesSKILL.mdcore18,221 bytesSKILL.mdcore18,221 bytesSKILL.mdcore18,221 bytesSKILL.mdcore18,221 bytesSKILL.mdcore18,221 bytesagents/openai.yamlasset524 bytesassets/figma-small.svgasset818 bytesassets/figma.pngasset1,612 bytesassets/icon.svgasset964 bytesreferences/rule-template.mddoc334 bytesscripts/check_agents_md.shruns191 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubfigma-create-new-file
When your agent uses it
Create a new blank Figma file. Use when the user wants to create a new Figma design or FigJam file, or when you need a new file before calling use_figma. Handles plan resolution via whoami if needed. Usage — /figma-create-new-file [editorType] [fileName] (e.g. /figma-create-new-file figjam My Whiteboard)
What it loads into context
Frontmatter
89 tokensAlways available to the agent
SKILL.md
715 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Skill Arguments
- Workflow
- Important Notes
Files
LICENSE.TXTdoc440 bytesSKILL.mdcore2,731 bytesagents/openai.yamlasset492 bytesassets/figma-small.svgasset818 bytesassets/figma.pngasset1,612 bytesassets/icon.svgasset964 bytesmaintainers.ymlasset21 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubfigma-generate-design
When your agent uses it
Use this skill alongside figma-use when the task involves translating an application page, view, or multi-section layout into Figma. Triggers: 'write to Figma', 'create in Figma from code', 'push page to Figma', 'take this app/page and build it in Figma', 'create a screen', 'build a landing page in Figma', 'update the Figma screen to match code'. This is the preferred workflow skill whenever the user wants to build or update a full page, screen, or view in Figma from code or a description. Discovers design system components, variables, and styles via search_design_system, imports them, and assembles screens incrementally section-by-section using design system tokens instead of hardcoded values.
What it loads into context
Frontmatter
165 tokensAlways available to the agent
SKILL.md
4,627 tokensWhen the skill is activated
Reference documents
26,656 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Skill Boundaries
- Prerequisites
- Parallel Workflow with generate_figma_design (Web Apps Only)
- Required Workflow
- Reference Docs
- Error Recovery
- Best Practices
Files
../figma-code-connect-components/SKILL.mddoc16,763 bytesLICENSE.TXTdoc440 bytesSKILL.mdcore20,164 bytesSKILL.mdcore20,164 bytesSKILL.mdcore20,164 bytesSKILL.mdcore20,164 bytesSKILL.mdcore20,164 bytesSKILL.mdcore20,164 bytesSKILL.mdcore20,164 bytesSKILL.mdcore20,164 bytesSKILL.mdcore20,164 bytesSKILL.mdcore20,164 bytesagents/openai.yamlasset532 bytesassets/figma-small.svgasset818 bytesassets/figma.pngasset1,612 bytesassets/icon.svgasset964 bytesmaintainers.ymlasset21 bytes../figma-implement-design/SKILL.mddoc11,621 bytes../figma-use/SKILL.mddoc17,799 bytes../figma-use/references/component-patterns.mddoc18,511 bytes../figma-use/references/effect-style-patterns.mddoc3,097 bytes../figma-use/references/gotchas.mddoc23,528 bytes../figma-use/references/text-style-patterns.mddoc6,588 bytes../figma-use/references/variable-patterns.mddoc12,240 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubfigma-generate-library
When your agent uses it
Build or update a professional-grade design system in Figma from a codebase. Use when the user wants to create variables/tokens, build component libraries, set up theming (light/dark modes), document foundations, or reconcile gaps between code and Figma. This skill teaches WHAT to build and in WHAT ORDER — it complements the `figma-use` skill which teaches HOW to call the Plugin API. Both skills should be loaded together.
What it loads into context
Frontmatter
100 tokensAlways available to the agent
SKILL.md
4,237 tokensWhen the skill is activated
Reference documents
46,428 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. The One Rule That Matters Most
- 2. Mandatory Workflow
- 3. Critical Rules
- 4. State Management (Required for Long Workflows)
- 5. search_design_system — Reuse Decision Matrix
- 6. User Checkpoints
- 7. Naming Conventions
- 8. Token Architecture
- 9. Per-Phase Anti-Patterns
- 10. Reference Docs
- 11. Scripts
Scripts executed separately
scripts/bindVariablesToComponent.jsscripts/cleanupOrphans.jsscripts/createComponentWithVariants.jsscripts/createDocumentationPage.jsscripts/createSemanticTokens.jsscripts/createVariableCollection.jsscripts/inspectFileStructure.jsscripts/rehydrateState.jsscripts/validateCreation.js
Files
LICENSE.TXTdoc440 bytesSKILL.mdcore17,853 bytesSKILL.mdcore17,853 bytesSKILL.mdcore17,853 bytesSKILL.mdcore17,853 bytesSKILL.mdcore17,853 bytesSKILL.mdcore17,853 bytesagents/openai.yamlasset540 bytesassets/figma-small.svgasset818 bytesassets/figma.pngasset1,612 bytesassets/icon.svgasset964 bytesmaintainers.ymlasset64 bytesreferences/code-connect-setup.mddoc12,111 bytesreferences/component-creation.mddoc41,830 bytesreferences/discovery-phase.mddoc20,138 bytesreferences/documentation-creation.mddoc28,944 bytesreferences/error-recovery.mddoc22,659 bytesreferences/naming-conventions.mddoc19,003 bytesreferences/token-creation.mddoc38,267 bytesscripts/bindVariablesToComponent.jsruns3,686 bytesscripts/cleanupOrphans.jsruns3,649 bytesscripts/createComponentWithVariants.jsruns4,943 bytesscripts/createDocumentationPage.jsruns4,810 bytesscripts/createSemanticTokens.jsruns3,891 bytesscripts/createVariableCollection.jsruns1,785 bytesscripts/inspectFileStructure.jsruns3,591 bytesscripts/rehydrateState.jsruns2,967 bytesscripts/validateCreation.jsruns2,718 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubfigma-implement-design
When your agent uses it
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`.
What it loads into context
Frontmatter
85 tokensAlways available to the agent
SKILL.md
2,747 tokensWhen the skill is activated
Reference documents
16,884 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Skill Boundaries
- Prerequisites
- Required Workflow
- Implementation Rules
- Examples
- Best Practices
- Common Issues and Solutions
- Understanding Design Implementation
- Additional Resources
Files
../figma-code-connect-components/SKILL.mddoc16,763 bytes../figma-create-design-system-rules/SKILL.mddoc18,221 bytes../figma-generate-design/SKILL.mddoc20,164 bytesLICENSE.txtdoc440 bytesSKILL.mdcore11,621 bytesSKILL.mdcore11,621 bytesSKILL.mdcore11,621 bytesSKILL.mdcore11,621 bytesSKILL.mdcore11,621 bytesSKILL.mdcore11,621 bytesSKILL.mdcore11,621 bytesSKILL.mdcore11,621 bytesSKILL.mdcore11,621 bytesSKILL.mdcore11,621 bytesSKILL.mdcore11,621 bytesSKILL.mdcore11,621 bytesSKILL.mdcore11,621 bytesSKILL.mdcore11,621 bytesSKILL.mdcore11,621 bytesagents/openai.yamlasset519 bytesassets/figma-small.svgasset818 bytesassets/figma.pngasset1,612 bytesassets/icon.svgasset964 bytes../figma-use/SKILL.mddoc17,799 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubfigma-use
When your agent uses it
**MANDATORY prerequisite** — you MUST invoke this skill BEFORE every `use_figma` tool call. NEVER call `use_figma` directly without loading this skill first. Skipping it causes common, hard-to-debug failures. Trigger whenever the user wants to perform a write action or a unique read action that requires JavaScript execution in the Figma file context — e.g. create/edit/delete nodes, set up variables or tokens, build components and variants, modify auto-layout or fills, bind variables to properties, or inspect file structure programmatically.
What it loads into context
Frontmatter
118 tokensAlways available to the agent
SKILL.md
4,162 tokensWhen the skill is activated
Reference documents
44,458 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Critical Rules
- 2. Page Rules (Critical)
- 3. `return` Is Your Output Channel
- 4. Editor Mode
- 5. Incremental Workflow (How to Avoid Bugs)
- 6. Error Recovery & Self-Correction
- 7. Pre-Flight Checklist
- 8. Discover Conventions Before Creating
- 9. Reference Docs
- 10. Snippet examples
Scripts executed separately
references/plugin-api-standalone.d.ts
Files
../figma-generate-design/SKILL.mddoc20,164 bytesLICENSE.TXTdoc440 bytesSKILL.mdcore17,799 bytesSKILL.mdcore17,799 bytesSKILL.mdcore17,799 bytesSKILL.mdcore17,799 bytesSKILL.mdcore17,799 bytesSKILL.mdcore17,799 bytesSKILL.mdcore17,799 bytesSKILL.mdcore17,799 bytesSKILL.mdcore17,799 bytesSKILL.mdcore17,799 bytesSKILL.mdcore17,799 bytesagents/openai.yamlasset452 bytesassets/figma-small.svgasset818 bytesassets/figma.pngasset1,612 bytesassets/icon.svgasset964 bytesmaintainers.ymlasset21 bytesreferences/api-reference.mddoc11,199 bytesreferences/common-patterns.mddoc16,111 bytesreferences/component-patterns.mddoc18,511 bytesreferences/effect-style-patterns.mddoc3,097 bytesreferences/gotchas.mddoc23,528 bytesreferences/maintainers.ymlasset418 bytesreferences/plugin-api-patterns.mddoc12,369 bytesreferences/plugin-api-standalone.d.tsruns450,733 bytesreferences/plugin-api-standalone.index.mddoc28,598 bytesreferences/text-style-patterns.mddoc6,588 bytesreferences/validation-and-recovery.mddoc5,785 bytesreferences/variable-patterns.mddoc12,240 bytesreferences/working-with-design-systems/maintainers.ymlasset303 bytesreferences/working-with-design-systems/wwds-components--creating.mddoc2,199 bytesreferences/working-with-design-systems/wwds-components--using.mddoc2,062 bytesreferences/working-with-design-systems/wwds-components.mddoc4,067 bytesreferences/working-with-design-systems/wwds-effect-styles.mddoc3,268 bytesreferences/working-with-design-systems/wwds-text-styles.mddoc6,012 bytesreferences/working-with-design-systems/wwds-variables--creating.mddoc1,559 bytesreferences/working-with-design-systems/wwds-variables--using.mddoc1,908 bytesreferences/working-with-design-systems/wwds-variables.mddoc4,737 bytesreferences/working-with-design-systems/wwds.mddoc5,220 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubgh-address-comments
When your agent uses it
Help address review/issue comments on the open GitHub PR for the current branch using gh CLI; verify gh auth first and prompt the user to authenticate if not logged in.
What it loads into context
Frontmatter
57 tokensAlways available to the agent
SKILL.md
283 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1) Inspect comments needing attention
- 2) Ask the user for clarification
- 3) If user chooses comments
Scripts executed separately
scripts/fetch_comments.py
Files
LICENSE.txtdoc11,357 bytesSKILL.mdcore1,278 bytesagents/openai.yamlasset303 bytesassets/github-small.svgasset853 bytesassets/github.pngasset1,838 bytesscripts/fetch_comments.pyruns6,537 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubgh-fix-ci
When your agent uses it
Use when a user asks to debug or fix failing GitHub PR checks that run in GitHub Actions; use `gh` to inspect checks and logs, summarize failure context, draft a fix plan, and implement only after explicit approval. Treat external providers (for example Buildkite) as out of scope and report only the details URL.
What it loads into context
Frontmatter
78 tokensAlways available to the agent
SKILL.md
898 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Inputs
- Quick start
- Workflow
- Bundled Resources
Scripts executed separately
scripts/inspect_pr_checks.py
Files
LICENSE.txtdoc10,776 bytesSKILL.mdcore3,651 bytesSKILL.mdcore3,651 bytesSKILL.mdcore3,651 bytesSKILL.mdcore3,651 bytesSKILL.mdcore3,651 bytesSKILL.mdcore3,651 bytesagents/openai.yamlasset302 bytesassets/github-small.svgasset853 bytesassets/github.pngasset1,838 bytesscripts/inspect_pr_checks.pyruns15,222 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubhatch-pet
When your agent uses it
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.
What it loads into context
Frontmatter
121 tokensAlways available to the agent
SKILL.md
8,227 tokensWhen the skill is activated
Reference documents
1,570 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Generation Delegation
- Storage Controls
- Brand Discovery
- Pet-Safe Styles
- Transparency And Effects
- Visible Progress Plan
- Default Workflow
- Lightweight Visual Workers
- Subagent Delegation
- Repair Workflow
- Rules
- Acceptance Criteria
Scripts executed separately
scripts/compose_atlas.pyscripts/derive_running_left_from_running_right.pyscripts/extract_strip_frames.pyscripts/inspect_frames.pyscripts/make_contact_sheet.pyscripts/prepare_pet_run.pyscripts/render_animation_previews.pyscripts/validate_atlas.py
Files
LICENSE.txtdoc10,776 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesSKILL.mdcore37,296 bytesagents/openai.yamlasset244 bytesreferences/animation-rows.mddoc1,787 bytesreferences/codex-pet-contract.mddoc788 bytesreferences/qa-rubric.mddoc4,156 bytesscripts/compose_atlas.pyruns5,750 bytesscripts/derive_running_left_from_running_right.pyruns5,159 bytesscripts/extract_strip_frames.pyruns13,935 bytesscripts/inspect_frames.pyruns8,962 bytesscripts/make_contact_sheet.pyruns2,992 bytesscripts/prepare_pet_run.pyruns32,866 bytesscripts/render_animation_previews.pyruns2,547 bytesscripts/validate_atlas.pyruns5,394 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubjupyter-notebook
When your agent uses it
Use when the user asks to create, scaffold, or edit Jupyter notebooks (`.ipynb`) for experiments, explorations, or tutorials; prefer the bundled templates and run the helper script `new_notebook.py` to generate a clean starting notebook.
What it loads into context
Frontmatter
63 tokensAlways available to the agent
SKILL.md
929 tokensWhen the skill is activated
Reference documents
577 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use
- Decision tree
- Skill path (set once)
- Workflow
- Templates and helper script
- Temp and output conventions
- Dependencies (install only when needed)
- Environment
- Reference map
Scripts executed separately
assets/experiment-template.ipynbassets/tutorial-template.ipynbscripts/new_notebook.py
Files
LICENSE.txtdoc10,776 bytesSKILL.mdcore4,154 bytesSKILL.mdcore4,154 bytesSKILL.mdcore4,154 bytesSKILL.mdcore4,154 bytesSKILL.mdcore4,154 bytesSKILL.mdcore4,154 bytesSKILL.mdcore4,154 bytesSKILL.mdcore4,154 bytesSKILL.mdcore4,154 bytesagents/openai.yamlasset325 bytesassets/experiment-template.ipynbruns2,570 bytesassets/jupyter-small.svgasset1,043 bytesassets/jupyter.pngasset2,713 bytesassets/tutorial-template.ipynbruns2,490 bytesreferences/experiment-patterns.mddoc699 bytesreferences/notebook-structure.mddoc751 bytesreferences/quality-checklist.mddoc572 bytesreferences/tutorial-patterns.mddoc685 bytesscripts/new_notebook.pyruns4,086 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHublinear
When your agent uses it
Manage issues, projects & team workflows in Linear. Use when the user wants to read, create or updates tickets in Linear.
What it loads into context
Frontmatter
43 tokensAlways available to the agent
SKILL.md
1,080 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Prerequisites
- Required Workflow
- Available Tools
- Practical Workflows
- Tips for Maximum Productivity
- Troubleshooting
Files
LICENSE.txtdoc11,357 bytesSKILL.mdcore4,952 bytesagents/openai.yamlasset460 bytesassets/linear-small.svgasset1,065 bytesassets/linear.pngasset6,969 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubmigrate-to-codex
When your agent uses it
Migrate supported instruction files, skills, agents, and MCP config into Codex project and global files.
What it loads into context
Frontmatter
31 tokensAlways available to the agent
SKILL.md
1,915 tokensWhen the skill is activated
Reference documents
3,312 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Autonomy
- Migration Order
- Self-Healing Loop
- Commands
Scripts executed separately
scripts/cli.pyscripts/migrate-to-codex.pyscripts/migrate/__init__.pyscripts/migrate/agents.pyscripts/migrate/codex_config.pyscripts/migrate/common.pyscripts/migrate/hooks.pyscripts/migrate/instructions.pyscripts/migrate/mcps.pyscripts/migrate/plugins.pyscripts/migrate/settings.pyscripts/migrate/skills.pyscripts/utils/__init__.pyscripts/utils/scan.pyscripts/utils/util.py
Files
LICENSE.txtdoc11,357 bytesSKILL.mdcore7,939 bytesSKILL.mdcore7,939 bytesSKILL.mdcore7,939 bytesSKILL.mdcore7,939 bytesSKILL.mdcore7,939 bytesSKILL.mdcore7,939 bytesSKILL.mdcore7,939 bytesSKILL.mdcore7,939 bytesSKILL.mdcore7,939 bytesSKILL.mdcore7,939 bytesSKILL.mdcore7,939 bytesSKILL.mdcore7,939 bytesSKILL.mdcore7,939 bytesSKILL.mdcore7,939 bytesSKILL.mdcore7,939 bytesSKILL.mdcore7,939 bytesSKILL.mdcore7,939 bytesSKILL.mdcore7,939 bytesagents/openai.yamlasset144 bytesreferences/differences.mddoc13,735 bytesscripts/cli.pyruns30,124 bytesscripts/migrate-to-codex.pyruns208 bytesscripts/migrate/__init__.pyruns285 bytesscripts/migrate/agents.pyruns9,991 bytesscripts/migrate/codex_config.pyruns4,031 bytesscripts/migrate/common.pyruns11,492 bytesscripts/migrate/hooks.pyruns8,194 bytesscripts/migrate/instructions.pyruns2,434 bytesscripts/migrate/mcps.pyruns7,078 bytesscripts/migrate/plugins.pyruns660 bytesscripts/migrate/settings.pyruns1,027 bytesscripts/migrate/skills.pyruns12,605 bytesscripts/utils/__init__.pyruns35 bytesscripts/utils/scan.pyruns4,370 bytesscripts/utils/util.pyruns9,441 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubnetlify-deploy
When your agent uses it
Deploy web projects to Netlify using the Netlify CLI (`npx netlify`). Use when the user asks to deploy, host, publish, or link a site/repo on Netlify, including preview and production deploys.
What it loads into context
Frontmatter
55 tokensAlways available to the agent
SKILL.md
1,646 tokensWhen the skill is activated
Reference documents
3,580 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Prerequisites
- Authentication Pattern
- Workflow
- Handling netlify.toml
- Example Full Workflow
- Error Handling
- Troubleshooting
- Environment Variables
- Tips
- Reference
- Bundled References (Load As Needed)
Files
LICENSE.txtdoc10,776 bytesSKILL.mdcore7,011 bytesSKILL.mdcore7,011 bytesSKILL.mdcore7,011 bytesSKILL.mdcore7,011 bytesSKILL.mdcore7,011 bytesSKILL.mdcore7,011 bytesSKILL.mdcore7,011 bytesSKILL.mdcore7,011 bytesSKILL.mdcore7,011 bytesSKILL.mdcore7,011 bytesagents/openai.yamlasset318 bytesassets/netlify-small.svgasset1,291 bytesassets/netlify.pngasset933 bytesreferences/cli-commands.mddoc2,652 bytesreferences/deployment-patterns.mddoc6,702 bytesreferences/netlify-toml.mddoc3,972 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubnotion-knowledge-capture
When your agent uses it
Capture conversations and decisions into structured Notion pages; use when turning chats/notes into wiki entries, how-tos, decisions, or FAQs with proper linking.
What it loads into context
Frontmatter
55 tokensAlways available to the agent
SKILL.md
790 tokensWhen the skill is activated
Reference documents
9,450 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick start
- Workflow
- References and examples
Files
LICENSE.txtdoc1,057 bytesSKILL.mdcore3,316 bytesSKILL.mdcore3,316 bytesSKILL.mdcore3,316 bytesagents/openai.yamlasset512 bytesassets/notion-small.svgasset15,777 bytesassets/notion.pngasset8,526 bytesevaluations/README.mddoc3,487 bytesevaluations/conversation-to-wiki.jsonasset2,035 bytesevaluations/decision-record.jsonasset2,220 bytesexamples/conversation-to-faq.mddoc16,242 bytesexamples/decision-capture.mddoc3,568 bytesexamples/how-to-guide.mddoc2,838 bytesreference/database-best-practices.mddoc2,876 bytesreference/decision-log-database.mddoc2,033 bytesreference/documentation-database.mddoc2,745 bytesreference/faq-database.mddoc2,037 bytesreference/how-to-guide-database.mddoc1,237 bytesreference/learning-database.mddoc1,322 bytesreference/team-wiki-database.mddoc927 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubnotion-meeting-intelligence
When your agent uses it
Prepare meeting materials with Notion context and Codex research; use when gathering context, drafting agendas/pre-reads, and tailoring materials to attendees.
What it loads into context
Frontmatter
54 tokensAlways available to the agent
SKILL.md
804 tokensWhen the skill is activated
Reference documents
8,165 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick start
- Workflow
- References and examples
Files
LICENSE.txtdoc1,057 bytesSKILL.mdcore3,418 bytesSKILL.mdcore3,418 bytesSKILL.mdcore3,418 bytesagents/openai.yamlasset512 bytesassets/notion-small.svgasset15,777 bytesassets/notion.pngasset8,526 bytesevaluations/README.mddoc3,971 bytesevaluations/decision-meeting-prep.jsonasset3,441 bytesevaluations/status-meeting-prep.jsonasset3,312 bytesexamples/customer-meeting.mddoc3,133 bytesexamples/executive-review.mddoc2,150 bytesexamples/project-decision.mddoc12,840 bytesexamples/sprint-planning.mddoc2,100 bytesreference/brainstorming-template.mddoc1,480 bytesreference/decision-meeting-template.mddoc1,825 bytesreference/one-on-one-template.mddoc932 bytesreference/retrospective-template.mddoc940 bytesreference/sprint-planning-template.mddoc1,301 bytesreference/status-update-template.mddoc1,356 bytesreference/template-selection-guide.mddoc1,948 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubnotion-research-documentation
When your agent uses it
Research across Notion and synthesize into structured documentation; use when gathering info from multiple Notion sources to produce briefs, comparisons, or reports with citations.
What it loads into context
Frontmatter
56 tokensAlways available to the agent
SKILL.md
775 tokensWhen the skill is activated
Reference documents
10,571 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick start
- Workflow
- References and examples
Files
LICENSE.txtdoc1,057 bytesSKILL.mdcore3,404 bytesSKILL.mdcore3,404 bytesSKILL.mdcore3,404 bytesSKILL.mdcore3,404 bytesagents/openai.yamlasset497 bytesassets/notion-small.svgasset15,777 bytesassets/notion.pngasset8,526 bytesevaluations/README.mddoc4,254 bytesevaluations/basic-research.jsonasset1,731 bytesevaluations/research-to-database.jsonasset1,681 bytesexamples/competitor-analysis.mddoc8,213 bytesexamples/market-research.mddoc1,899 bytesexamples/technical-investigation.mddoc6,521 bytesexamples/trip-planning.mddoc3,789 bytesreference/advanced-search.mddoc4,593 bytesreference/citations.mddoc5,152 bytesreference/comparison-format.mddoc870 bytesreference/comparison-template.mddoc911 bytesreference/comprehensive-report-format.mddoc1,077 bytesreference/comprehensive-report-template.mddoc1,270 bytesreference/format-selection-guide.mddoc2,798 bytesreference/quick-brief-format.mddoc767 bytesreference/quick-brief-template.mddoc473 bytesreference/research-summary-format.mddoc841 bytesreference/research-summary-template.mddoc1,152 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubnotion-spec-to-implementation
When your agent uses it
Turn Notion specs into implementation plans, tasks, and progress tracking; use when implementing PRDs/feature specs and creating Notion plans + tasks from them.
What it loads into context
Frontmatter
61 tokensAlways available to the agent
SKILL.md
825 tokensWhen the skill is activated
Reference documents
12,478 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick start
- Workflow
- References and examples
Files
LICENSE.txtdoc1,057 bytesSKILL.mdcore3,521 bytesSKILL.mdcore3,521 bytesagents/openai.yamlasset524 bytesassets/notion-small.svgasset15,777 bytesassets/notion.pngasset8,526 bytesevaluations/README.mddoc4,427 bytesevaluations/basic-spec-implementation.jsonasset2,401 bytesevaluations/spec-to-tasks.jsonasset2,561 bytesexamples/api-feature.mddoc13,579 bytesexamples/database-migration.mddoc2,443 bytesexamples/ui-component.mddoc1,662 bytesreference/milestone-summary-template.mddoc456 bytesreference/progress-tracking.mddoc9,020 bytesreference/progress-update-template.mddoc420 bytesreference/quick-implementation-plan.mddoc480 bytesreference/spec-parsing.mddoc6,942 bytesreference/standard-implementation-plan.mddoc3,286 bytesreference/task-creation-template.mddoc597 bytesreference/task-creation.mddoc7,965 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubopenai-docs
When your agent uses it
Use when the user asks how to build with OpenAI products or APIs, asks about Codex itself or choosing Codex surfaces, needs up-to-date official documentation with citations, help choosing the latest model for a use case, or model upgrade and prompt-upgrade guidance; use OpenAI docs MCP tools for non-Codex docs questions, use the Codex manual helper first for broad Codex self-knowledge, and restrict fallback browsing to official OpenAI domains.
What it loads into context
Frontmatter
104 tokensAlways available to the agent
SKILL.md
3,794 tokensWhen the skill is activated
Reference documents
5,691 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow Configuration
- OpenAI product snapshots
- Codex self-knowledge
- If MCP server is missing
- Workflow
- Reference map
- Quality rules
- Tooling notes
Scripts executed separately
scripts/fetch-codex-manual.mjsscripts/resolve-latest-model-info.js
Files
LICENSE.txtdoc10,776 bytesSKILL.mdcore18,302 bytesSKILL.mdcore18,302 bytesSKILL.mdcore18,302 bytesSKILL.mdcore18,302 bytesSKILL.mdcore18,302 bytesSKILL.mdcore18,302 bytesSKILL.mdcore18,302 bytesSKILL.mdcore18,302 bytesSKILL.mdcore18,302 bytesSKILL.mdcore18,302 bytesSKILL.mdcore18,302 bytesSKILL.mdcore18,302 bytesSKILL.mdcore18,302 bytesSKILL.mdcore18,302 bytesSKILL.mdcore18,302 bytesSKILL.mdcore18,302 bytesSKILL.mdcore18,302 bytesSKILL.mdcore18,302 bytesSKILL.mdcore18,302 bytesSKILL.mdcore18,302 bytesagents/openai.yamlasset598 bytesassets/openai-small.svgasset1,091 bytesassets/openai.pngasset1,429 bytesreferences/latest-model.mddoc2,028 bytesreferences/prompting-guide.mddoc14,338 bytesreferences/upgrade-guide.mddoc11,308 bytesscripts/fetch-codex-manual.mjsruns16,085 bytesscripts/resolve-latest-model-info.jsruns3,463 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubWhen your agent uses it
Use when tasks involve reading, creating, or reviewing PDF files where rendering and layout matter; prefer visual checks by rendering pages (Poppler) and use Python tools such as `reportlab`, `pdfplumber`, and `pypdf` for generation and extraction.
What it loads into context
Frontmatter
62 tokensAlways available to the agent
SKILL.md
564 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use
- Workflow
- Temp and output conventions
- Dependencies (install if missing)
- Environment
- Rendering command
- Quality expectations
- Final checks
Files
LICENSE.txtdoc10,776 bytesSKILL.mdcore2,517 bytesagents/openai.yamlasset219 bytesassets/pdf.pngasset1,312 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubplaywright
When your agent uses it
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.
What it loads into context
Frontmatter
51 tokensAlways available to the agent
SKILL.md
950 tokensWhen the skill is activated
Reference documents
1,023 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisite check (required)
- Skill path (set once)
- Quick start
- Core workflow
- When to snapshot again
- Recommended patterns
- Wrapper script
- References
- Guardrails
Scripts executed separately
scripts/playwright_cli.sh
Files
LICENSE.txtdoc11,552 bytesNOTICE.txtdoc403 bytesSKILL.mdcore3,771 bytesSKILL.mdcore3,771 bytesSKILL.mdcore3,771 bytesSKILL.mdcore3,771 bytesSKILL.mdcore3,771 bytesSKILL.mdcore3,771 bytesSKILL.mdcore3,771 bytesSKILL.mdcore3,771 bytesSKILL.mdcore3,771 bytesSKILL.mdcore3,771 bytesSKILL.mdcore3,771 bytesagents/openai.yamlasset313 bytesassets/playwright-small.svgasset828 bytesassets/playwright.pngasset1,730 bytesreferences/cli.mddoc1,863 bytesreferences/workflows.mddoc1,864 bytesscripts/playwright_cli.shruns526 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubplaywright-interactive
When your agent uses it
Persistent browser and Electron interaction through `js_repl` for fast iterative UI debugging.
What it loads into context
Frontmatter
28 tokensAlways available to the agent
SKILL.md
6,836 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Preconditions
- One-time setup
- Core Workflow
- Bootstrap (Run Once)
- Choose Session Mode
- Start or Reuse Web Session
- Start or Reuse Electron Session
- Reuse Sessions During Iteration
- Checklists
- Screenshot Examples
- Viewport Fit Checks (Required)
- Dev Server
- Cleanup
- Common Failure Modes
Files
LICENSE.txtdoc11,552 bytesNOTICE.txtdoc478 bytesSKILL.mdcore31,711 bytesSKILL.mdcore31,711 bytesSKILL.mdcore31,711 bytesagents/openai.yamlasset345 bytesassets/playwright-small.svgasset843 bytesassets/playwright.pngasset1,785 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubrender-deploy
When your agent uses it
Deploy applications to Render by analyzing codebases, generating render.yaml Blueprints, and providing Dashboard deeplinks. Use when the user wants to deploy, host, publish, or set up their application on Render's cloud platform.
What it loads into context
Frontmatter
53 tokensAlways available to the agent
SKILL.md
4,000 tokensWhen the skill is activated
Reference documents
16,229 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- When to Use This Skill
- Happy Path (New Users)
- Choose Your Source Path
- Choose Your Deployment Method (Git Repo)
- Prerequisites Check
- Blueprint Workflow
- When to Use Direct Creation
- Prerequisites for Direct Creation
- Direct Creation Workflow
- Troubleshooting
Files
LICENSE.txtdoc10,776 bytesSKILL.mdcore17,582 bytesSKILL.mdcore17,582 bytesSKILL.mdcore17,582 bytesSKILL.mdcore17,582 bytesSKILL.mdcore17,582 bytesSKILL.mdcore17,582 bytesSKILL.mdcore17,582 bytesSKILL.mdcore17,582 bytesSKILL.mdcore17,582 bytesSKILL.mdcore17,582 bytesSKILL.mdcore17,582 bytesSKILL.mdcore17,582 bytesSKILL.mdcore17,582 bytesagents/openai.yamlasset480 bytesassets/docker.yamlasset1,398 bytesassets/go-api.yamlasset848 bytesassets/nextjs-postgres.yamlasset870 bytesassets/node-express.yamlasset619 bytesassets/python-django.yamlasset2,538 bytesassets/render-small.svgasset553 bytesassets/render.pngasset911 bytesassets/static-site.yamlasset1,352 bytesreferences/blueprint-spec.mddoc16,013 bytesreferences/codebase-analysis.mddoc2,300 bytesreferences/configuration-guide.mddoc11,735 bytesreferences/deployment-details.mddoc5,345 bytesreferences/direct-creation.mddoc2,786 bytesreferences/error-patterns.mddoc833 bytesreferences/post-deploy-checks.mddoc1,025 bytesreferences/runtimes.mddoc9,849 bytesreferences/service-types.mddoc11,338 bytesreferences/troubleshooting-basics.mddoc1,361 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubscreenshot
When your agent uses it
Use when the user explicitly asks for a desktop or system screenshot (full screen, specific app or window, or a pixel region), or when tool-specific capture capabilities are unavailable and an OS-level capture is needed.
What it loads into context
Frontmatter
51 tokensAlways available to the agent
SKILL.md
1,941 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Tool priority
- macOS permission preflight (reduce repeated prompts)
- macOS and Linux (Python helper)
- Windows (PowerShell helper)
- Direct OS commands (fallbacks)
- Error handling
Scripts executed separately
scripts/ensure_macos_permissions.shscripts/take_screenshot.ps1scripts/take_screenshot.py
Files
LICENSE.txtdoc10,776 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesSKILL.mdcore7,754 bytesagents/openai.yamlasset273 bytesassets/screenshot-small.svgasset1,019 bytesassets/screenshot.pngasset860 bytesscripts/ensure_macos_permissions.shruns1,702 bytesscripts/macos_display_info.swiftasset482 bytesscripts/macos_permissions.swiftasset929 bytesscripts/macos_window_info.swiftasset3,595 bytesscripts/take_screenshot.ps1runs4,947 bytesscripts/take_screenshot.pyruns19,659 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubsecurity-best-practices
When your agent uses it
Perform language and framework specific security best-practice reviews and suggest improvements. Trigger only when the user explicitly requests security best practices guidance, a security review/report, or secure-by-default coding help. Trigger only for supported languages (python, javascript/typescript, go). Do not trigger for general code review, debugging, or non-security tasks.
What it loads into context
Frontmatter
79 tokensAlways available to the agent
SKILL.md
1,661 tokensWhen the skill is activated
Reference documents
90,699 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Workflow
- Workflow Decision Tree
Files
LICENSE.txtdoc10,776 bytesSKILL.mdcore8,612 bytesagents/openai.yamlasset237 bytesreferences/golang-general-backend-security.mddoc38,659 bytesreferences/javascript-express-web-server-security.mddoc49,357 bytesreferences/javascript-general-web-frontend-security.mddoc38,638 bytesreferences/javascript-jquery-web-frontend-security.mddoc33,581 bytesreferences/javascript-typescript-nextjs-web-server-security.mddoc43,423 bytesreferences/javascript-typescript-react-web-frontend-security.mddoc41,686 bytesreferences/javascript-typescript-vue-web-frontend-security.mddoc31,445 bytesreferences/python-django-web-server-security.mddoc38,661 bytesreferences/python-fastapi-web-server-security.mddoc44,926 bytesreferences/python-flask-web-server-security.mddoc31,748 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubsecurity-ownership-map
When your agent uses it
Analyze git repositories to build a security ownership topology (people-to-file), compute bus factor and sensitive-code ownership, and export CSV/JSON for graph databases and visualization. Trigger only when the user explicitly wants a security-oriented ownership or bus-factor analysis grounded in git history (for example: orphaned sensitive code, security maintainers, CODEOWNERS reality checks for risk, sensitive hotspots, or ownership clusters). Do not trigger for general maintainer lists or non-security ownership questions.
What it loads into context
Frontmatter
105 tokensAlways available to the agent
SKILL.md
2,079 tokensWhen the skill is activated
Reference documents
675 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Requirements
- Workflow
- Quick start
- Sensitivity rules
- Output artifacts
- LLM query helper
- Basic security queries
- Graph persistence
- Notes
Scripts executed separately
scripts/build_ownership_map.pyscripts/community_maintainers.pyscripts/query_ownership.pyscripts/run_ownership_map.py
Files
LICENSE.txtdoc10,776 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesSKILL.mdcore8,736 bytesagents/openai.yamlasset253 bytesreferences/neo4j-import.mddoc2,428 bytesscripts/build_ownership_map.pyruns34,330 bytesscripts/community_maintainers.pyruns18,122 bytesscripts/query_ownership.pyruns17,991 bytesscripts/run_ownership_map.pyruns5,890 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubsecurity-threat-model
When your agent uses it
Repository-grounded threat modeling that enumerates trust boundaries, assets, attacker capabilities, abuse paths, and mitigations, and writes a concise Markdown threat model. Trigger only when the user explicitly asks to threat model a codebase or path, enumerate threats/abuse paths, or perform AppSec threat modeling. Do not trigger for general architecture summaries, code review, or non-security design work.
What it loads into context
Frontmatter
88 tokensAlways available to the agent
SKILL.md
1,108 tokensWhen the skill is activated
Reference documents
3,032 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick start
- Workflow
- Risk prioritization guidance (illustrative, not exhaustive)
- References
Files
LICENSE.txtdoc10,776 bytesSKILL.mdcore5,561 bytesagents/openai.yamlasset254 bytesreferences/prompt-template.mddoc12,642 bytesreferences/security-controls-and-assets.mddoc1,680 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubsentry
When your agent uses it
Use when the user asks to inspect Sentry issues or events, summarize recent production errors, or pull basic Sentry health data via the Sentry CLI; perform read-only queries using the `sentry` command.
What it loads into context
Frontmatter
52 tokensAlways available to the agent
SKILL.md
1,001 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick start
- Core tasks (use Sentry CLI)
- Fallback: arbitrary API access
- Inputs and defaults
- Output formatting rules
- Golden test inputs
Files
LICENSE.txtdoc10,776 bytesSKILL.mdcore3,810 bytesSKILL.mdcore3,810 bytesSKILL.mdcore3,810 bytesSKILL.mdcore3,810 bytesSKILL.mdcore3,810 bytesSKILL.mdcore3,810 bytesSKILL.mdcore3,810 bytesSKILL.mdcore3,810 bytesSKILL.mdcore3,810 bytesSKILL.mdcore3,810 bytesSKILL.mdcore3,810 bytesSKILL.mdcore3,810 bytesagents/openai.yamlasset316 bytesassets/sentry-small.svgasset661 bytesassets/sentry.pngasset1,998 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubspeech
When your agent uses it
Use when the user asks for text-to-speech narration or voiceover, accessibility reads, audio prompts, or batch speech generation via the OpenAI Audio API; run the bundled CLI (`scripts/text_to_speech.py`) with built-in voices and require `OPENAI_API_KEY` for live calls. Custom voice creation is out of scope.
What it loads into context
Frontmatter
76 tokensAlways available to the agent
SKILL.md
1,707 tokensWhen the skill is activated
Reference documents
3,202 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use
- Decision tree (single vs batch)
- Workflow
- Temp and output conventions
- Dependencies (install if missing)
- Environment
- Defaults & rules
- Instruction augmentation
- Examples
- Instructioning best practices (short list)
- Guidance by use case
- CLI + environment notes
- Reference map
Scripts executed separately
scripts/text_to_speech.py
Files
LICENSE.txtdoc10,776 bytesSKILL.mdcore7,241 bytesagents/openai.yamlasset299 bytesassets/speech-small.svgasset742 bytesassets/speech.pngasset1,234 bytesreferences/accessibility.mddoc696 bytesreferences/audio-api.mddoc902 bytesreferences/cli.mddoc3,275 bytesreferences/codex-network.mddoc1,148 bytesreferences/ivr.mddoc708 bytesreferences/narration.mddoc671 bytesreferences/prompting.mddoc1,553 bytesreferences/sample-prompts.mddoc991 bytesreferences/voice-directions.mddoc2,155 bytesreferences/voiceover.mddoc790 bytesscripts/text_to_speech.pyruns15,592 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubtranscribe
When your agent uses it
Transcribe audio files to text with optional diarization and known-speaker hints. Use when a user asks to transcribe speech from audio/video, extract text from recordings, or label speakers in interviews or meetings.
What it loads into context
Frontmatter
51 tokensAlways available to the agent
SKILL.md
715 tokensWhen the skill is activated
Reference documents
130 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow
- Decision rules
- Output conventions
- Dependencies (install if missing)
- Environment
- Skill path (set once)
- CLI quick start
- Reference map
Scripts executed separately
scripts/transcribe_diarize.py
Files
LICENSE.txtdoc10,776 bytesSKILL.mdcore2,834 bytesSKILL.mdcore2,834 bytesSKILL.mdcore2,834 bytesSKILL.mdcore2,834 bytesSKILL.mdcore2,834 bytesagents/openai.yamlasset414 bytesassets/transcribe-small.svgasset750 bytesassets/transcribe.pngasset1,288 bytesreferences/api.mddoc457 bytesscripts/transcribe_diarize.pyruns8,684 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubvercel-deploy
When your agent uses it
Deploy applications and websites to Vercel. Use when the user requests deployment actions like "deploy my app", "deploy and give me the link", "push this live", or "create a preview deployment".
What it loads into context
Frontmatter
51 tokensAlways available to the agent
SKILL.md
606 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- Quick Start
- Fallback (No Auth)
- Production Deploys
- Output
- Troubleshooting
Scripts executed separately
scripts/deploy.sh
Files
LICENSE.txtdoc1,063 bytesSKILL.mdcore2,653 bytesSKILL.mdcore2,653 bytesSKILL.mdcore2,653 bytesSKILL.mdcore2,653 bytesSKILL.mdcore2,653 bytesSKILL.mdcore2,653 bytesSKILL.mdcore2,653 bytesSKILL.mdcore2,653 bytesagents/openai.yamlasset306 bytesassets/vercel-small.svgasset243 bytesassets/vercel.pngasset788 bytesscripts/deploy.shruns8,877 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubwinui-app
When your agent uses it
Bootstrap, develop, and design modern WinUI 3 desktop applications with C# and the Windows App SDK using official Microsoft guidance, WinUI Gallery patterns, Windows App SDK samples, and CommunityToolkit components. Use when creating a brand new app, preparing a machine for WinUI, reviewing, refactoring, planning, troubleshooting, environment-checking, or setting up WinUI 3 XAML, controls, navigation, windowing, theming, accessibility, responsiveness, performance, deployment, or related Windows app design and development work.
What it loads into context
Frontmatter
114 tokensAlways available to the agent
SKILL.md
2,311 tokensWhen the skill is activated
Reference documents
10,826 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Required Flow
- Common Routes
- Environment Rules
- Reference Rules
Files
LICENSE.txtdoc11,357 bytesSKILL.mdcore11,272 bytesSKILL.mdcore11,272 bytesSKILL.mdcore11,272 bytesSKILL.mdcore11,272 bytesagents/openai.yamlasset202 bytesassets/winui.pngasset8,770 bytesconfig.yamlasset2,515 bytesreferences/_sections.mddoc4,279 bytesreferences/accessibility-input-and-localization.mddoc2,026 bytesreferences/build-run-and-launch-verification.mddoc4,332 bytesreferences/community-toolkit-controls-and-helpers.mddoc1,954 bytesreferences/controls-layout-and-adaptive-ui.mddoc6,012 bytesreferences/foundation-environment-audit-and-remediation.mddoc3,730 bytesreferences/foundation-setup-and-project-selection.mddoc4,412 bytesreferences/foundation-template-first-recovery.mddoc3,381 bytesreferences/foundation-winui-app-structure.mddoc2,479 bytesreferences/motion-animations-and-polish.mddoc1,577 bytesreferences/performance-diagnostics-and-responsiveness.mddoc1,759 bytesreferences/sample-source-map.mddoc2,201 bytesreferences/shell-navigation-and-windowing.mddoc3,551 bytesreferences/styling-theming-materials-and-icons.mddoc3,948 bytesreferences/testing-debugging-and-review-checklists.mddoc4,288 bytesreferences/windows-app-sdk-lifecycle-notifications-and-deployment.mddoc2,731 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubyeet
When your agent uses it
Use only when the user explicitly asks to stage, commit, push, and open a GitHub pull request in one flow using the GitHub CLI (`gh`).
What it loads into context
Frontmatter
42 tokensAlways available to the agent
SKILL.md
1,582 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- Naming conventions
- PR template discovery
- Workflow
- Determining the PR
- PR Title
- PR Body Contents
Files
LICENSE.txtdoc10,776 bytesSKILL.mdcore6,952 bytesagents/openai.yamlasset273 bytesassets/yeet-small.svgasset967 bytesassets/yeet.pngasset1,262 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubimagegen
When your agent uses it
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/vector/code-native assets, extending an established icon or logo system, or building the visual directly in HTML/CSS/canvas.
What it loads into context
Frontmatter
119 tokensAlways available to the agent
SKILL.md
3,463 tokensWhen the skill is activated
Reference documents
7,244 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Top-level modes and rules
- When to use
- When not to use
- Decision tree
- Workflow
- Prompt augmentation
- Use-case taxonomy (exact slugs)
- Shared prompt schema
- Examples
- Prompting best practices
- Guidance by asset type
- Fallback CLI mode only
- Reference map
Scripts executed separately
scripts/image_gen.py
Files
LICENSE.txtdoc10,776 bytesSKILL.mdcore16,204 bytesSKILL.mdcore16,204 bytesSKILL.mdcore16,204 bytesSKILL.mdcore16,204 bytesagents/openai.yamlasset918 bytesassets/imagegen-small.svgasset2,889 bytesassets/imagegen.pngasset1,711 bytesreferences/cli.mddoc6,257 bytesreferences/codex-network.mddoc1,620 bytesreferences/image-api.mddoc2,500 bytesreferences/prompting.mddoc6,462 bytesreferences/sample-prompts.mddoc14,789 bytesscripts/image_gen.pyruns31,856 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubopenai-docs
When your agent uses it
Use when the user asks how to build with OpenAI products or APIs, asks about Codex itself or choosing Codex surfaces, needs up-to-date official documentation with citations, help choosing the latest model for a use case, or model upgrade and prompt-upgrade guidance; use OpenAI docs MCP tools for non-Codex docs questions, use the Codex manual helper first for broad Codex self-knowledge, and restrict fallback browsing to official OpenAI domains.
What it loads into context
Frontmatter
104 tokensAlways available to the agent
SKILL.md
3,885 tokensWhen the skill is activated
Reference documents
5,674 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- API Key Setup
- Workflow Configuration
- OpenAI product snapshots
- Codex self-knowledge
- If MCP server is missing
- Workflow
- Reference map
- Quality rules
- Tooling notes
Scripts executed separately
scripts/fetch-codex-manual.mjsscripts/resolve-latest-model-info.js
Files
LICENSE.txtdoc10,776 bytesSKILL.mdcore18,747 bytesSKILL.mdcore18,747 bytesSKILL.mdcore18,747 bytesSKILL.mdcore18,747 bytesSKILL.mdcore18,747 bytesSKILL.mdcore18,747 bytesSKILL.mdcore18,747 bytesSKILL.mdcore18,747 bytesSKILL.mdcore18,747 bytesSKILL.mdcore18,747 bytesSKILL.mdcore18,747 bytesSKILL.mdcore18,747 bytesSKILL.mdcore18,747 bytesSKILL.mdcore18,747 bytesSKILL.mdcore18,747 bytesSKILL.mdcore18,747 bytesSKILL.mdcore18,747 bytesSKILL.mdcore18,747 bytesSKILL.mdcore18,747 bytesSKILL.mdcore18,747 bytesagents/openai.yamlasset598 bytesassets/openai-small.svgasset1,091 bytesassets/openai.pngasset1,429 bytesreferences/latest-model.mddoc1,959 bytesreferences/prompting-guide.mddoc14,338 bytesreferences/upgrade-guide.mddoc11,308 bytesscripts/fetch-codex-manual.mjsruns16,085 bytesscripts/resolve-latest-model-info.jsruns3,463 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubplugin-creator
When your agent uses it
Create and scaffold plugin directories for Codex with a required `.codex-plugin/plugin.json`, optional plugin folders/files, and baseline placeholders you can edit before publishing or testing. Use when Codex needs to create a new local plugin, add optional plugin structure, or generate or update repo-root `.agents/plugins/marketplace.json` entries for plugin ordering and availability metadata.
What it loads into context
Frontmatter
81 tokensAlways available to the agent
SKILL.md
1,460 tokensWhen the skill is activated
Reference documents
1,736 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Start
- What this skill creates
- Marketplace workflow
- Required behavior
- Reference to exact spec sample
- Validation
Scripts executed separately
scripts/create_basic_plugin.py
Files
LICENSE.txtdoc10,775 bytesSKILL.mdcore6,382 bytesSKILL.mdcore6,382 bytesSKILL.mdcore6,382 bytesSKILL.mdcore6,382 bytesSKILL.mdcore6,382 bytesSKILL.mdcore6,382 bytesSKILL.mdcore6,382 bytesSKILL.mdcore6,382 bytesagents/openai.yamlasset343 bytesreferences/plugin-json-spec.mddoc7,152 bytesscripts/create_basic_plugin.pyruns10,457 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubskill-creator
When your agent uses it
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Codex's capabilities with specialized knowledge, workflows, or tool integrations.
What it loads into context
Frontmatter
61 tokensAlways available to the agent
SKILL.md
3,921 tokensWhen the skill is activated
Reference documents
494 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- About Skills
- Core Principles
- Skill Creation Process
Scripts executed separately
scripts/generate_openai_yaml.pyscripts/init_skill.pyscripts/quick_validate.py
Files
LICENSE.txtdoc11,358 bytesSKILL.mdcore18,664 bytesagents/openai.yamlasset192 bytesreferences/openai_yaml.mddoc2,130 bytesscripts/generate_openai_yaml.pyruns6,614 bytesscripts/init_skill.pyruns14,483 bytesscripts/quick_validate.pyruns3,293 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubskill-installer
When your agent uses it
Install Codex skills into $CODEX_HOME/skills from a curated list or a GitHub repo path. Use when a user asks to list installable skills, install a curated skill, or install a skill from another repo (including private repos).
What it loads into context
Frontmatter
75 tokensAlways available to the agent
SKILL.md
741 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Communication
- Scripts
- Behavior and Options
- Notes
Scripts executed separately
scripts/github_utils.pyscripts/install-skill-from-github.pyscripts/list-skills.py
Files
LICENSE.txtdoc11,358 bytesSKILL.mdcore3,240 bytesSKILL.mdcore3,240 bytesagents/openai.yamlasset221 bytesassets/skill-installer-small.svgasset923 bytesassets/skill-installer.pngasset1,036 bytesscripts/github_utils.pyruns659 bytesscripts/install-skill-from-github.pyruns10,096 bytesscripts/list-skills.pyruns2,967 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubSkills included
- aspnet-core
- chatgpt-apps
- cli-creator
- cloudflare-deploy
- define-goal
- figma
- figma-code-connect-components
- figma-create-design-system-rules
- figma-create-new-file
- figma-generate-design
- figma-generate-library
- figma-implement-design
- figma-use
- gh-address-comments
- gh-fix-ci
- hatch-pet
- jupyter-notebook
- linear
- migrate-to-codex
- netlify-deploy
- notion-knowledge-capture
- notion-meeting-intelligence
- notion-research-documentation
- notion-spec-to-implementation
- openai-docs
- playwright
- playwright-interactive
- render-deploy
- screenshot
- security-best-practices
- security-ownership-map
- security-threat-model
- sentry
- speech
- transcribe
- vercel-deploy
- winui-app
- yeet
- imagegen
- openai-docs
- plugin-creator
- skill-creator
- skill-installer
Repository facts
- License
- No license detected
- Created
- Nov 25, 2025
- Last pushed
- Oct 28, 2026
- Forks
- 1,985
- Open issues
- 87
- Project activity
- Active
Rank over the last 12 weeks
Now #74 · best #65 · down 6 in 30 days
- #74 from Oct 17 to Oct 24
- #75 on Oct 25
- #73 from Oct 28 to Oct 29
- #74 from Oct 30 to Oct 31
- #73 on Nov 1
- #74 since Nov 2
24 earlier periods
- #61 on Aug 2
- #63 from Aug 7 to Aug 13
- #64 on Aug 14
- #65 from Aug 15 to Aug 21
- #66 from Aug 22 to Aug 23
- #67 from Aug 24 to Aug 27
- #68 on Aug 28
- #69 on Aug 29
- #70 on Aug 30
- #71 on Aug 31
- #72 from Sep 1 to Sep 4
- #73 on Sep 5
- #72 on Sep 6
- #68 on Sep 7
- #67 on Sep 8
- #66 from Sep 9 to Sep 10
- #65 from Sep 11 to Sep 14
- #66 from Sep 15 to Sep 19
- #67 from Sep 20 to Oct 1
- #68 from Oct 2 to Oct 7
- #69 from Oct 8 to Oct 10
- #71 on Oct 11
- #72 on Oct 12
- #73 from Oct 13 to Oct 16
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 2, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 320 notes
skills/.curated/cli-creator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/.curated/cli-creator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/.curated/cli-creator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/.curated/cli-creator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/.curated/cli-creator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/.curated/cli-creator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/.curated/cli-creator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/.curated/cli-creator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/.curated/cli-creator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/.curated/cli-creator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/.curated/cli-creator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/.curated/cloudflare-deploy/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/.curated/figma/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/.curated/figma/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/.curated/figma/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/.curated/figma/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/.curated/figma/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/.curated/figma/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/.curated/figma/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/.curated/figma-code-connect-components/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 33 dangerous shell commandsin 20 files: security-best-practices/references/javascript-general-web-frontend-security.md:219 security-best-practices/references/javascript-express-web-server-security.md:787 security-best-practices/references/javascript-typescript-nextjs-web-server-security.md:866 and 17 more
- 3,786 network referencesin 431 files: figma-use/references/plugin-api-standalone.d.ts:1 security-best-practices/references/javascript-jquery-web-frontend-security.md:202 security-best-practices/references/python-fastapi-web-server-security.md:817 and 428 more
- 6 obfuscation signalsin 3 files: screenshot/scripts/take_screenshot.py:26 imagegen/scripts/image_gen.py:256 cloudflare-deploy/references/stream/patterns.md:144
- No instruction overrides
- 64 executable scriptsin 64 files: chatgpt-apps/scripts/scaffold_node_ext_apps.mjs:1 figma-code-connect-components/scripts/normalize_node_id.py:1 figma-create-design-system-rules/scripts/check_agents_md.sh:1 and 61 more
- 452 references to secretsin 158 files: cloudflare-deploy/references/tunnel/api.md:9 cloudflare-deploy/references/secrets-store/configuration.md:13 cloudflare-deploy/references/secrets-store/patterns.md:19 and 155 more
- No requests to vote in Hot
Show all 4,341 signals by file
skills/.curated/aspnet-core/LICENSE.txt
skills/.curated/aspnet-core/references/apis-minimal-and-controllers.md
- Network accessline 3
Primary docs: - https://learn.microsoft.com/aspnet/core/fundamentals/minimal-apis - Network accessline 4
- https://learn.microsoft.com/aspnet/core/fundamentals/minimal-apis - Network accessline 5
- https://learn.microsoft.com/aspnet/core/web-api/ - Network accessline 6
- https://learn.microsoft.com/aspnet/core/fundamentals/error-handling-api
skills/.curated/aspnet-core/references/data-state-and-services.md
- Network accessline 3
Primary docs: - https://learn.microsoft.com/aspnet/core/data/ - Network accessline 4
- https://learn.microsoft.com/aspnet/core/data/ - https://learn.microsoft.com/aspnet/core/fundamentals/dependency-injection - https://learn.microsoft.com/aspnet/core/fundamentals/http-requests - Network accessline 5
- https://learn.microsoft.com/aspnet/core/fundamentals/dependency-injection - https://learn.microsoft.com/aspnet/core/fundamentals/http-requests - https://learn.microsoft.com/aspnet/core/fundamentals/app-state - Network accessline 6
- https://learn.microsoft.com/aspnet/core/fundamentals/http-requests - Network accessline 7
- https://learn.microsoft.com/aspnet/core/fundamentals/app-state
skills/.curated/aspnet-core/references/program-and-pipeline.md
- Network accessline 3
Primary docs: - https://learn.microsoft.com/aspnet/core/fundamentals/ - Network accessline 4
- https://learn.microsoft.com/aspnet/core/fundamentals/ - Network accessline 5
- https://learn.microsoft.com/aspnet/core/fundamentals/minimal-apis/webapplication - Network accessline 6
- https://learn.microsoft.com/aspnet/core/fundamentals/middleware/ - Network accessline 7
- https://learn.microsoft.com/aspnet/core/fundamentals/configuration/
skills/.curated/aspnet-core/references/realtime-grpc-and-background-work.md
- Network accessline 3
Primary docs: - https://learn.microsoft.com/aspnet/core/signalr/introduction - Network accessline 4
- https://learn.microsoft.com/aspnet/core/signalr/introduction - Network accessline 5
- https://learn.microsoft.com/aspnet/core/grpc/ - Network accessline 6
- https://learn.microsoft.com/aspnet/core/fundamentals/host/hosted-services
skills/.curated/aspnet-core/references/security-and-identity.md
- Network accessline 3
Primary docs: - https://learn.microsoft.com/aspnet/core/security/ - Network accessline 4
- https://learn.microsoft.com/aspnet/core/security/ - Network accessline 5
- https://learn.microsoft.com/aspnet/core/security/authentication/identity - Network accessline 6
- https://learn.microsoft.com/aspnet/core/security/authorization/introduction
skills/.curated/aspnet-core/references/source-map.md
skills/.curated/aspnet-core/references/stack-selection.md
- Network accessline 3
Primary docs: - https://learn.microsoft.com/aspnet/core/ - Network accessline 4
- https://learn.microsoft.com/aspnet/core/ - Network accessline 5
- https://learn.microsoft.com/aspnet/core/blazor/ - Network accessline 6
- https://learn.microsoft.com/aspnet/core/razor-pages/ - Network accessline 7
- https://learn.microsoft.com/aspnet/core/mvc/overview - Network accessline 8
- https://learn.microsoft.com/aspnet/core/web-api/ - Network accessline 9
- https://learn.microsoft.com/aspnet/core/fundamentals/minimal-apis
skills/.curated/aspnet-core/references/testing-performance-and-operations.md
- Network accessline 3
Primary docs: - https://learn.microsoft.com/aspnet/core/test/integration-tests - Network accessline 4
- https://learn.microsoft.com/aspnet/core/test/integration-tests - Network accessline 5
- https://learn.microsoft.com/aspnet/core/host-and-deploy/ - Network accessline 6
- https://learn.microsoft.com/aspnet/core/host-and-deploy/health-checks - Network accessline 7
- https://learn.microsoft.com/aspnet/core/performance/
skills/.curated/aspnet-core/references/ui-blazor.md
- Network accessline 3
Primary docs: - https://learn.microsoft.com/aspnet/core/blazor/ - Network accessline 4
- https://learn.microsoft.com/aspnet/core/blazor/ - Network accessline 5
- https://learn.microsoft.com/aspnet/core/blazor/fundamentals/ - Network accessline 6
- https://learn.microsoft.com/aspnet/core/blazor/security/
skills/.curated/aspnet-core/references/ui-mvc.md
- Network accessline 3
Primary docs: - https://learn.microsoft.com/aspnet/core/mvc/overview - Network accessline 4
- https://learn.microsoft.com/aspnet/core/mvc/overview - Network accessline 5
- https://learn.microsoft.com/aspnet/core/mvc/controllers/ - Network accessline 6
- https://learn.microsoft.com/aspnet/core/mvc/views/
skills/.curated/aspnet-core/references/ui-razor-pages.md
skills/.curated/aspnet-core/references/versioning-and-upgrades.md
- Network accessline 3
Primary docs: - https://learn.microsoft.com/aspnet/core/release-notes/ - Network accessline 4
- https://learn.microsoft.com/aspnet/core/release-notes/ - Network accessline 5
- https://learn.microsoft.com/aspnet/core/release-notes/aspnetcore-10.0 - Network accessline 6
- https://learn.microsoft.com/aspnet/core/release-notes/aspnetcore-9.0 - Network accessline 7
- https://github.com/dotnet/AspNetCore.Docs/tree/main/aspnetcore/breaking-changes
skills/.curated/chatgpt-apps/LICENSE.txt
skills/.curated/chatgpt-apps/SKILL.md
- Network accessline 249
- Run the MCP server locally on `http://localhost:<port>/mcp`
skills/.curated/chatgpt-apps/agents/openai.yaml
- Network accessline 9
description: "OpenAI developer docs MCP server for current Apps SDK guidance" transport: "streamable_http" url: "https://developers.openai.com/mcp" - Network accessline 10
transport: "streamable_http" url: "https://developers.openai.com/mcp" policy: - Network accessline 11
url: "https://developers.openai.com/mcp"
skills/.curated/chatgpt-apps/references/apps-sdk-docs-workflow.md
- Network accessline 7
- `https://developers.openai.com/apps-sdk/build/mcp-server/` - Network accessline 8
- `https://developers.openai.com/apps-sdk/build/chatgpt-ui/` - Network accessline 9
- `https://developers.openai.com/apps-sdk/build/examples/` - Network accessline 10
- `https://developers.openai.com/apps-sdk/plan/tools/` - Network accessline 11
- `https://developers.openai.com/apps-sdk/reference/` - Network accessline 15
- `https://developers.openai.com/apps-sdk/quickstart/` for first implementation scaffolds and happy-path wiring - Network accessline 16
- `https://developers.openai.com/apps-sdk/deploy/` when the task includes local ChatGPT testing via tunnel, hosting, or production deployment planning - Network accessline 17
- `https://developers.openai.com/apps-sdk/deploy/submission/` when the task includes public launch, app review, or publishing steps - Network accessline 18
- `https://developers.openai.com/apps-sdk/app-submission-guidelines/` when the task includes submission readiness, policy/reliability checks, or review-risk reduction - Network accessline 82
- Run the MCP server locally on `http://localhost:<port>/mcp`
skills/.curated/chatgpt-apps/references/search-fetch-standard.md
skills/.curated/chatgpt-apps/references/upstream-example-workflow.md
skills/.curated/chatgpt-apps/scripts/scaffold_node_ext_apps.mjs
- Executable scriptline 1
#!/usr/bin/env node - Network accessline 479
res.writeHead(404).end("Not Found"); }).listen(port, () => { console.log("__APP_TITLE__ MCP server listening on http://localhost:" + port + MCP_PATH); - Network accessline 480
}).listen(port, () => { console.log("__APP_TITLE__ MCP server listening on http://localhost:" + port + MCP_PATH); }); - Network accessline 481
console.log("__APP_TITLE__ MCP server listening on http://localhost:" + port + MCP_PATH);
skills/.curated/cli-creator/LICENSE.txt
skills/.curated/cli-creator/SKILL.md
- Network accessline 1
--- name: cli-creator description: 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 tha - Network accessline 2
name: cli-creator description: 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 ca - Network accessline 3
description: 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 rep - Network accessline 16
- Source: API docs, OpenAPI JSON, SDK docs, curl examples, browser app, existing internal script, article, or working shell history. - Access to secretsline 74
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/LICENSE.txt
skills/.curated/cloudflare-deploy/assets/cloudflare-small.svg
- Network accessline 1
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
skills/.curated/cloudflare-deploy/references/agents-sdk/README.md
skills/.curated/cloudflare-deploy/references/agents-sdk/api.md
skills/.curated/cloudflare-deploy/references/agents-sdk/configuration.md
- Access to secretsline 34
[Credential-related source omitted] - Access to secretsline 36
[Credential-related source omitted] - Access to secretsline 53
[Credential-related source omitted] - Network accessline 63
export default { fetch(request: Request, env: Env) { - Network accessline 64
fetch(request: Request, env: Env) { - Network accessline 75
export default { async fetch(request: Request, env: Env) { - Network accessline 76
async fetch(request: Request, env: Env) { - Network accessline 85
const stub = env.MyAgent.get(id); return stub.fetch(request); - Network accessline 86
return stub.fetch(request); - Network accessline 96
export default { fetch(request: Request, env: Env) { - Network accessline 97
fetch(request: Request, env: Env) { - Access to secretsline 140
[Credential-related source omitted] - Network accessline 171
{ "vars": { "MCP_SERVER_URL": "https://mcp.example.com" - Network accessline 172
"vars": { "MCP_SERVER_URL": "https://mcp.example.com" } - Network accessline 173
"MCP_SERVER_URL": "https://mcp.example.com" - Access to secretsline 179
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/agents-sdk/gotchas.md
skills/.curated/cloudflare-deploy/references/agents-sdk/patterns.md
- Access to secretsline 13
[Credential-related source omitted] - Access to secretsline 66
[Credential-related source omitted] - Access to secretsline 97
[Credential-related source omitted] - Access to secretsline 126
[Credential-related source omitted] - Access to secretsline 144
[Credential-related source omitted] - Access to secretsline 162
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/ai-gateway/README.md
- Access to secretsline 40
[Credential-related source omitted] - Network accessline 68
[Credential-related source omitted] - Network accessline 69
[Credential-related source omitted] - Access to secretsline 69
[Credential-related source omitted] - Network accessline 70
baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/compat`, - Network accessline 88
export default { async fetch(request, env, ctx) { - Network accessline 89
async fetch(request, env, ctx) { - Network accessline 148
**Key URL patterns:** - Unified API (OpenAI-compatible): `https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/compat/chat/completions` - Network accessline 149
- Unified API (OpenAI-compatible): `https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/compat/chat/completions` - Network accessline 150
- Provider-specific: `https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/{provider}/{endpoint}` - Network accessline 172
- [Official Docs](https://developers.cloudflare.com/ai-gateway/) - Network accessline 173
- [API Reference](https://developers.cloudflare.com/api/resources/ai_gateway/) - Network accessline 174
- [Provider Guides](https://developers.cloudflare.com/ai-gateway/usage/providers/) - Network accessline 175
- [Discord Community](https://discord.cloudflare.com)
skills/.curated/cloudflare-deploy/references/ai-gateway/configuration.md
- Network accessline 10
[Credential-related source omitted] - Access to secretsline 10
[Credential-related source omitted] - Access to secretsline 11
[Credential-related source omitted] - Access to secretsline 29
[Credential-related source omitted] - Network accessline 36
const client = new OpenAI({ baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/openai`, - Network accessline 37
baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/openai`, - Network accessline 46
const client = new OpenAI({ baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/openai`, - Network accessline 47
baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/openai`, - Network accessline 57
[Credential-related source omitted] - Network accessline 58
[Credential-related source omitted] - Access to secretsline 58
[Credential-related source omitted] - Network accessline 59
baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/openai`, - Network accessline 72
# List curl https://api.cloudflare.com/client/v4/accounts/{account_id}/ai-gateway/gateways \ - Network accessline 73
[Credential-related source omitted] - Access to secretsline 73
[Credential-related source omitted] - Access to secretsline 74
[Credential-related source omitted] - Network accessline 76
# Get curl .../gateways/{gateway_id} - Network accessline 77
curl .../gateways/{gateway_id} - Network accessline 79
# Update curl -X PUT .../gateways/{gateway_id} \ - Network accessline 80
curl -X PUT .../gateways/{gateway_id} \ - Network accessline 83
# Delete curl -X DELETE .../gateways/{gateway_id} - Network accessline 84
curl -X DELETE .../gateways/{gateway_id} - Network accessline 98
[Credential-related source omitted] - Network accessline 99
[Credential-related source omitted] - Access to secretsline 99
[Credential-related source omitted] - Network accessline 100
[Credential-related source omitted] - Access to secretsline 100
[Credential-related source omitted] - Access to secretsline 101
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/ai-gateway/sdk-integration.md
- Access to secretsline 13
[Credential-related source omitted] - Access to secretsline 16
[Credential-related source omitted] - Network accessline 49
[Credential-related source omitted] - Network accessline 50
[Credential-related source omitted] - Access to secretsline 50
[Credential-related source omitted] - Network accessline 51
baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/openai`, - Network accessline 62
[Credential-related source omitted] - Network accessline 63
[Credential-related source omitted] - Access to secretsline 63
[Credential-related source omitted] - Network accessline 64
baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/anthropic`, - Network accessline 90
new ChatOpenAI({ configuration: { baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/openai` - Network accessline 91
configuration: { baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/openai` } - Network accessline 92
baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/openai` - Network accessline 100
[Credential-related source omitted] - Access to secretsline 100
[Credential-related source omitted] - Access to secretsline 101
[Credential-related source omitted] - Access to secretsline 102
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/ai-gateway/troubleshooting.md
- Network accessline 14
const client = new OpenAI({ baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/openai`, - Network accessline 15
baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/openai`, - Access to secretsline 16
[Credential-related source omitted] - Network accessline 68
# Test connectivity curl -v https://gateway.ai.cloudflare.com/v1/{account}/{gateway}/openai/models \ - Network accessline 69
[Credential-related source omitted] - Access to secretsline 69
[Credential-related source omitted] - Access to secretsline 70
[Credential-related source omitted] - Access to secretsline 71
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/ai-search/README.md
- Network accessline 48
export default { async fetch(request, env) { - Network accessline 49
async fetch(request, env) { - Network accessline 136
- [Cloudflare AI Search Docs](https://developers.cloudflare.com/ai-search/) - Network accessline 137
- [Workers AI Docs](https://developers.cloudflare.com/workers-ai/) - Network accessline 138
- [Vectorize Docs](https://developers.cloudflare.com/vectorize/)
skills/.curated/cloudflare-deploy/references/ai-search/api.md
- Network accessline 82
curl https://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/autorag/rags/{NAME}/ai-search \
skills/.curated/cloudflare-deploy/references/analytics-engine/README.md
skills/.curated/cloudflare-deploy/references/analytics-engine/api.md
skills/.curated/cloudflare-deploy/references/analytics-engine/configuration.md
skills/.curated/cloudflare-deploy/references/analytics-engine/gotchas.md
- Access to secretsline 39
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/analytics-engine/patterns.md
skills/.curated/cloudflare-deploy/references/api-shield/README.md
skills/.curated/cloudflare-deploy/references/api-shield/api.md
- Network accessline 44
export default { async fetch(req, env) { - Network accessline 45
async fetch(req, env) { - Network accessline 58
export default { async fetch(req, env) { - Network accessline 59
async fetch(req, env) { - Network accessline 71
export default { async scheduled(event, env) { const jwks = await (await fetch('https://auth.example.com/.well-known/jwks.json')).json(); - Network accessline 72
async scheduled(event, env) { const jwks = await (await fetch('https://auth.example.com/.well-known/jwks.json')).json(); await fetch(`https://api.cloudflare.com/client/v4/zones/${env.ZONE_ID}/api_gateway/token_validation/${env.CONFI - Network accessline 73
const jwks = await (await fetch('https://auth.example.com/.well-known/jwks.json')).json(); - Network accessline 74
await fetch(`https://api.cloudflare.com/client/v4/zones/${env.ZONE_ID}/api_gateway/token_validation/${env.CONFIG_ID}`, { - Access to secretsline 76
[Credential-related source omitted] - Network accessline 139
- [configuration.md](configuration.md) - Setup guides for all features - [patterns.md](patterns.md) - Firewall rules and common patterns - [API Gateway API Docs](https://developers.cloudflare.com/api/resources/api_gateway/) - Network accessline 141
- [API Gateway API Docs](https://developers.cloudflare.com/api/resources/api_gateway/)
skills/.curated/cloudflare-deploy/references/api-shield/configuration.md
skills/.curated/cloudflare-deploy/references/api-shield/gotchas.md
- Network accessline 123
- [configuration.md](configuration.md) - Setup guides to avoid common issues - [patterns.md](patterns.md) - Best practices and progressive rollout - [API Shield Docs](https://developers.cloudflare.com/api-shield/) - Network accessline 125
- [API Shield Docs](https://developers.cloudflare.com/api-shield/)
skills/.curated/cloudflare-deploy/references/api/README.md
- Network accessline 9
├─ From Workers runtime → Use bindings, not REST API (see ../bindings/) ├─ Server-side (Node/Python/Go) → Official SDK (see api.md) ├─ CLI/scripts → Wrangler or curl (see configuration.md) - Network accessline 10
├─ Server-side (Node/Python/Go) → Official SDK (see api.md) ├─ CLI/scripts → Wrangler or curl (see configuration.md) ├─ Infrastructure-as-code → See ../pulumi/ or ../terraform/ - Network accessline 11
├─ CLI/scripts → Wrangler or curl (see configuration.md) - Network accessline 13
└─ One-off requests → curl examples (see api.md) - Network accessline 63
- [Cloudflare API Docs](https://developers.cloudflare.com/api/)
skills/.curated/cloudflare-deploy/references/api/api.md
- Access to secretsline 11
[Credential-related source omitted] - Access to secretsline 20
[Credential-related source omitted] - Access to secretsline 24
[Credential-related source omitted] - Access to secretsline 36
[Credential-related source omitted] - Access to secretsline 47
[Credential-related source omitted] - Network accessline 49
[Credential-related source omitted] - Access to secretsline 49
[Credential-related source omitted] - Access to secretsline 50
[Credential-related source omitted] - Network accessline 58
[Credential-related source omitted] - Access to secretsline 58
[Credential-related source omitted] - Access to secretsline 60
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/api/configuration.md
- Access to secretsline 9
[Credential-related source omitted] - Access to secretsline 10
[Credential-related source omitted] - Access to secretsline 15
[Credential-related source omitted] - Access to secretsline 18
[Credential-related source omitted] - Access to secretsline 28
[Credential-related source omitted] - Access to secretsline 37
[Credential-related source omitted] - Access to secretsline 46
[Credential-related source omitted] - Network accessline 47
timeout: 120000, // 2 min (default 60s), in milliseconds maxRetries: 5, // default 2 baseURL: 'https://...', // proxy (rare) - Network accessline 48
maxRetries: 5, // default 2 baseURL: 'https://...', // proxy (rare) }); - Network accessline 49
baseURL: 'https://...', // proxy (rare) - Access to secretsline 63
[Credential-related source omitted] - Network accessline 64
timeout=120, # seconds (default 60) max_retries=5, # default 2 base_url="https://...", # proxy (rare) - Network accessline 65
max_retries=5, # default 2 base_url="https://...", # proxy (rare) ) - Network accessline 66
base_url="https://...", # proxy (rare) - Access to secretsline 77
[Credential-related source omitted] - Network accessline 78
option.WithMaxRetries(5), // default 10 (higher than TS/Python) option.WithRequestTimeout(2 * time.Minute), // default 60s option.WithBaseURL("https://..."), // proxy (rare) - Network accessline 79
option.WithRequestTimeout(2 * time.Minute), // default 60s option.WithBaseURL("https://..."), // proxy (rare) ) - Network accessline 80
option.WithBaseURL("https://..."), // proxy (rare) - Access to secretsline 130
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/api/gotchas.md
skills/.curated/cloudflare-deploy/references/argo-smart-routing/README.md
- Network accessline 13
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/{zone_id}/argo/smart_routing" \ - Access to secretsline 23
[Credential-related source omitted] - Network accessline 87
- [Cloudflare Argo Smart Routing Docs](https://developers.cloudflare.com/argo-smart-routing/) - Network accessline 88
- [Cloudflare Smart Shield](https://developers.cloudflare.com/smart-shield/) - Network accessline 89
- [Spectrum Documentation](https://developers.cloudflare.com/spectrum/) - Network accessline 90
- [Tiered Cache](https://developers.cloudflare.com/cache/how-to/tiered-cache/)
skills/.curated/cloudflare-deploy/references/argo-smart-routing/api.md
- Network accessline 7
https://api.cloudflare.com/client/v4 - Network accessline 25
**cURL Example:** - Network accessline 27
curl -X GET "https://api.cloudflare.com/client/v4/zones/{zone_id}/argo/smart_routing" \ - Access to secretsline 52
[Credential-related source omitted] - Access to secretsline 63
[Credential-related source omitted] - Network accessline 82
**cURL Example:** - Network accessline 84
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/{zone_id}/argo/smart_routing" \
skills/.curated/cloudflare-deploy/references/argo-smart-routing/configuration.md
- Access to secretsline 114
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/argo-smart-routing/gotchas.md
- Network accessline 107
- [Official Argo Smart Routing Docs](https://developers.cloudflare.com/argo-smart-routing/) - Network accessline 108
- [Cloudflare Smart Shield](https://developers.cloudflare.com/smart-shield/) - Network accessline 109
- [API Authentication](https://developers.cloudflare.com/fundamentals/api/get-started/create-token/) - Network accessline 110
- [Cloudflare TypeScript SDK](https://github.com/cloudflare/cloudflare-typescript) - Network accessline 111
- [Cloudflare Python SDK](https://github.com/cloudflare/cloudflare-python)
skills/.curated/cloudflare-deploy/references/bindings/README.md
- Network accessline 32
| Binding | Use Case | Access Pattern | |---------|----------|----------------| | **Service** | Worker-to-Worker RPC | `env.MY_SERVICE.fetch(req)` | - Network accessline 33
|---------|----------|----------------| | **Service** | Worker-to-Worker RPC | `env.MY_SERVICE.fetch(req)` | | **Workers AI** | LLM inference | `env.AI.run(model, input)` | - Network accessline 34
| **Service** | Worker-to-Worker RPC | `env.MY_SERVICE.fetch(req)` | - Network accessline 36
| **Browser Rendering** | Headless Chrome | `env.BROWSER.fetch(url)` | - Access to secretsline 53
[Credential-related source omitted] - Network accessline 95
export default { async fetch(request, env, ctx) { - Network accessline 96
async fetch(request, env, ctx) { - Network accessline 121
- [Cloudflare Docs: Bindings](https://developers.cloudflare.com/workers/runtime-apis/bindings/) - Network accessline 122
- [Wrangler Configuration](https://developers.cloudflare.com/workers/wrangler/configuration/)
skills/.curated/cloudflare-deploy/references/bindings/api.md
- Access to secretsline 24
[Credential-related source omitted] - Network accessline 50
### Method 1: fetch() Handler (Recommended) - Network accessline 53
export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { - Network accessline 54
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { - Network accessline 93
**Avoid:** Use fetch() handler instead (Method 1). - Network accessline 144
await env.MY_SERVICE.fetch(new Request('https://fake/path')); - Network accessline 159
const id = env.MY_DO.idFromName('user-123'); const stub = env.MY_DO.get(id); await stub.fetch(new Request('https://fake/increment')); - Network accessline 161
await stub.fetch(new Request('https://fake/increment')); - Network accessline 181
// ❌ BAD async fetch(request: Request, env: any) { } - Network accessline 182
async fetch(request: Request, env: any) { } - Network accessline 184
// ✅ GOOD async fetch(request: Request, env: Env) { } - Network accessline 185
async fetch(request: Request, env: Env) { } - Network accessline 202
- [Workers Types Package](https://www.npmjs.com/package/@cloudflare/workers-types) - Network accessline 203
- [Wrangler Types Command](https://developers.cloudflare.com/workers/wrangler/commands/#types)
skills/.curated/cloudflare-deploy/references/bindings/configuration.md
- Network accessline 68
{ "vars": { "API_URL": "https://api.example.com", - Network accessline 69
"vars": { "API_URL": "https://api.example.com", "MAX_RETRIES": "3" - Network accessline 70
"API_URL": "https://api.example.com", - Access to secretsline 81
[Credential-related source omitted] - Network accessline 133
"vars": { "API_URL": "https://api.example.com" }, - Network accessline 158
export class Counter { constructor(private state: DurableObjectState, private env: Env) {} async fetch(request: Request) { /* ... */ } - Network accessline 159
constructor(private state: DurableObjectState, private env: Env) {} async fetch(request: Request) { /* ... */ } } - Network accessline 160
async fetch(request: Request) { /* ... */ } - Network accessline 188
- [Wrangler Configuration](https://developers.cloudflare.com/workers/wrangler/configuration/)
skills/.curated/cloudflare-deploy/references/bindings/gotchas.md
- Access to secretsline 9
[Credential-related source omitted] - Network accessline 11
export default { async fetch(request: Request, env: Env) { - Network accessline 12
async fetch(request: Request, env: Env) { - Network accessline 25
export default { async fetch(request: Request, env: Env) { - Network accessline 26
async fetch(request: Request, env: Env) { - Access to secretsline 27
[Credential-related source omitted] - Access to secretsline 119
[Credential-related source omitted] - Access to secretsline 148
[Credential-related source omitted] - Access to secretsline 149
[Credential-related source omitted] - Network accessline 207
- [Workers Limits](https://developers.cloudflare.com/workers/platform/limits/) - Network accessline 208
- [Wrangler Commands](https://developers.cloudflare.com/workers/wrangler/commands/)
skills/.curated/cloudflare-deploy/references/bindings/patterns.md
- Network accessline 8
// auth-worker export default { async fetch(request: Request, env: Env) { - Network accessline 9
[Credential-related source omitted] - Network accessline 10
async fetch(request: Request, env: Env) { - Network accessline 16
// api-worker const response = await env.AUTH_SERVICE.fetch( - Network accessline 17
const response = await env.AUTH_SERVICE.fetch( - Network accessline 18
new Request('https://fake-host/validate', { - Network accessline 28
// ❌ HTTP (slow, paid, cross-region latency) await fetch('https://auth-worker.example.com/validate'); - Network accessline 29
await fetch('https://auth-worker.example.com/validate'); - Network accessline 31
// ✅ Service binding (fast, free, same isolate) await env.AUTH_SERVICE.fetch(new Request('https://fake-host/validate')); - Network accessline 32
await env.AUTH_SERVICE.fetch(new Request('https://fake-host/validate')); - Network accessline 44
// auth-worker export default { async fetch(request: Request): Promise<Response> { - Network accessline 45
export default { async fetch(request: Request): Promise<Response> { const body: AuthRequest = await request.json(); - Network accessline 46
async fetch(request: Request): Promise<Response> { - Network accessline 53
// api-worker const response = await env.AUTH_SERVICE.fetch( - Network accessline 54
const response = await env.AUTH_SERVICE.fetch( - Network accessline 55
new Request('https://fake/validate', { - Access to secretsline 67
[Credential-related source omitted] - Access to secretsline 68
[Credential-related source omitted] - Access to secretsline 69
[Credential-related source omitted] - Network accessline 73
// Use secret const response = await fetch('https://api.example.com', { - Network accessline 74
const response = await fetch('https://api.example.com', { - Access to secretsline 75
[Credential-related source omitted] - Access to secretsline 82
[Credential-related source omitted] - Network accessline 106
const response = await worker.fetch( - Network accessline 107
new Request('http://localhost/test'), - Network accessline 172
const id = env.COUNTER.idFromName('global'); const stub = env.COUNTER.get(id); await stub.fetch(new Request('https://fake/increment')); - Network accessline 174
await stub.fetch(new Request('https://fake/increment')); - Access to secretsline 183
[Credential-related source omitted] - Network accessline 185
**❌ Using REST API:** `fetch('https://api.cloudflare.com/.../kv/...')` - Network accessline 194
[Credential-related source omitted] - Access to secretsline 194
[Credential-related source omitted] - Network accessline 195
[Credential-related source omitted] - Access to secretsline 195
[Credential-related source omitted] - Network accessline 199
- [Service Bindings Docs](https://developers.cloudflare.com/workers/runtime-apis/bindings/service-bindings/) - Network accessline 200
- [Miniflare Testing](https://miniflare.dev/)
skills/.curated/cloudflare-deploy/references/bot-management/README.md
- Network accessline 63
// Workers: Check bot score export default { async fetch(request: Request): Promise<Response> { - Network accessline 64
export default { async fetch(request: Request): Promise<Response> { const botScore = request.cf?.botManagement?.score; - Network accessline 65
async fetch(request: Request): Promise<Response> { - Network accessline 68
return new Response('Bot detected', { status: 403 }); } return fetch(request); - Network accessline 69
} return fetch(request); } - Network accessline 70
return fetch(request);
skills/.curated/cloudflare-deploy/references/bot-management/api.md
- Network accessline 25
export default { async fetch(request: Request): Promise<Response> { - Network accessline 26
async fetch(request: Request): Promise<Response> { - Network accessline 30
if (!botMgmt) return fetch(request); - Network accessline 31
if (botMgmt.verifiedBot) return fetch(request); // Allow verified bots - Network accessline 35
return fetch(request); - Network accessline 84
export default { async fetch(request: Request): Promise<Response> { - Network accessline 85
async fetch(request: Request): Promise<Response> { - Network accessline 89
if (!ja4Signals) return fetch(request); // Not available for HTTP or Worker routing - Network accessline 100
return fetch(request);
skills/.curated/cloudflare-deploy/references/bot-management/patterns.md
- Network accessline 69
// Low score + not corporate proxy = likely datacenter bot export default { async fetch(request: Request): Promise<Response> { - Network accessline 70
export default { async fetch(request: Request): Promise<Response> { const cf = request.cf as IncomingRequestCfProperties | undefined; - Network accessline 71
async fetch(request: Request): Promise<Response> { - Network accessline 80
return fetch(request); - Network accessline 90
// Add delay proportional to bot suspicion export default { async fetch(request: Request): Promise<Response> { - Network accessline 91
export default { async fetch(request: Request): Promise<Response> { const cf = request.cf as IncomingRequestCfProperties | undefined; - Network accessline 92
async fetch(request: Request): Promise<Response> { - Network accessline 102
return fetch(request); - Network accessline 139
export default { async fetch(request: Request): Promise<Response> { - Network accessline 140
async fetch(request: Request): Promise<Response> { - Network accessline 145
if (botMgmt?.staticResource) return fetch(request); // Skip static - Network accessline 157
return fetch(request);
skills/.curated/cloudflare-deploy/references/browser-rendering/README.md
- Network accessline 78
- [Cloudflare Docs](https://developers.cloudflare.com/browser-rendering/)
skills/.curated/cloudflare-deploy/references/browser-rendering/api.md
- Network accessline 5
**Base:** `https://api.cloudflare.com/client/v4/accounts/{accountId}/browser-rendering` - Network accessline 22
curl -X POST '.../browser-rendering/screenshot' \ - Network accessline 24
-d '{"url":"https://example.com","screenshotOptions":{"fullPage":true}}' - Network accessline 39
const browser = await puppeteer.launch(env.MYBROWSER, { keep_alive: 600000 }); const page = await browser.newPage(); await page.goto('https://example.com', { waitUntil: 'networkidle0' }); - Network accessline 41
await page.goto('https://example.com', { waitUntil: 'networkidle0' }); - Network accessline 71
await page.goto('https://example.com', { waitUntil: 'networkidle' });
skills/.curated/cloudflare-deploy/references/browser-rendering/configuration.md
- Network accessline 34
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 35
async fetch(request: Request, env: Env): Promise<Response> { - Access to secretsline 38
[Credential-related source omitted] - Network accessline 54
curl -X POST \ - Network accessline 55
'https://api.cloudflare.com/client/v4/accounts/{accountId}/browser-rendering/screenshot' \ - Network accessline 57
-d '{"url": "https://example.com"}' --output screenshot.png
skills/.curated/cloudflare-deploy/references/browser-rendering/gotchas.md
- Network accessline 24
try { const page = await browser.newPage(); await page.goto("https://example.com"); - Network accessline 25
const page = await browser.newPage(); await page.goto("https://example.com"); return new Response(await page.content()); - Network accessline 26
await page.goto("https://example.com");
skills/.curated/cloudflare-deploy/references/browser-rendering/patterns.md
- Network accessline 8
export default { async fetch(request, env) { - Network accessline 9
async fetch(request, env) { - Network accessline 11
try { const page = await browser.newPage(); await page.goto("https://example.com"); - Network accessline 12
const page = await browser.newPage(); await page.goto("https://example.com"); return new Response(await page.content()); - Network accessline 13
await page.goto("https://example.com");
skills/.curated/cloudflare-deploy/references/c3/configuration.md
skills/.curated/cloudflare-deploy/references/c3/gotchas.md
skills/.curated/cloudflare-deploy/references/cache-reserve/README.md
- Network accessline 102
# Enable via Dashboard https://dash.cloudflare.com/caching/cache-reserve - Network accessline 103
https://dash.cloudflare.com/caching/cache-reserve - Network accessline 114
# Check Cache Reserve status curl -X GET "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/cache/cache_reserve" \ - Network accessline 115
[Credential-related source omitted] - Access to secretsline 115
[Credential-related source omitted] - Access to secretsline 116
[Credential-related source omitted] - Network accessline 118
# Enable Cache Reserve curl -X PATCH "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/cache/cache_reserve" \ - Network accessline 119
[Credential-related source omitted] - Access to secretsline 119
[Credential-related source omitted] - Access to secretsline 120
[Credential-related source omitted] - Network accessline 124
# Check asset cache status curl -I https://example.com/asset.jpg | grep -i cache - Network accessline 125
curl -I https://example.com/asset.jpg | grep -i cache
skills/.curated/cloudflare-deploy/references/cache-reserve/api.md
- Network accessline 10
│ • Cache Reserve → zone-level setting, automatic, no per-req │ │ • You CANNOT selectively write to Cache Reserve from Workers │ │ • Cache Reserve works with standard fetch(), not cache.put() │ - Network accessline 11
│ • You CANNOT selectively write to Cache Reserve from Workers │ │ • Cache Reserve works with standard fetch(), not cache.put() │ └────────────────────────────────────────────────────────────────┘ - Network accessline 12
│ • Cache Reserve works with standard fetch(), not cache.put() │ - Network accessline 18
### Standard Fetch (Recommended) - Network accessline 21
// Cache Reserve works automatically via standard fetch export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 22
export default { async fetch(request: Request, env: Env): Promise<Response> { // Standard fetch uses Cache Reserve automatically - Network accessline 23
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 24
// Standard fetch uses Cache Reserve automatically return await fetch(request); } - Network accessline 25
return await fetch(request); - Network accessline 37
let response = await cache.match(request); if (!response) { response = await fetch(request); - Network accessline 38
if (!response) { response = await fetch(request); await cache.put(request, response.clone()); // Bypasses Cache Reserve! - Network accessline 39
response = await fetch(request); - Network accessline 43
// ✅ CORRECT: Use standard fetch for Cache Reserve compatibility return await fetch(request); - Network accessline 44
return await fetch(request); - Network accessline 48
let response = await customCache.match(request); if (!response) { response = await fetch(request); - Network accessline 49
if (!response) { response = await fetch(request); await customCache.put(request, response.clone()); // Custom cache OK - Network accessline 50
response = await fetch(request); - Network accessline 64
urls: string[] ) => { const response = await fetch( - Network accessline 65
) => { const response = await fetch( `https://api.cloudflare.com/client/v4/zones/${zoneId}/purge_cache`, - Network accessline 66
const response = await fetch( - Network accessline 67
`https://api.cloudflare.com/client/v4/zones/${zoneId}/purge_cache`, - Network accessline 80
// Example usage await purgeCacheReserveByURL('zone123', 'token456', [ 'https://example.com/image.jpg', - Network accessline 81
await purgeCacheReserveByURL('zone123', 'token456', [ 'https://example.com/image.jpg', 'https://example.com/video.mp4' - Network accessline 82
'https://example.com/image.jpg', - Network accessline 83
'https://example.com/video.mp4' - Network accessline 90
// Purge by cache tag - forces revalidation, not immediate removal await fetch( - Network accessline 91
await fetch( - Network accessline 92
`https://api.cloudflare.com/client/v4/zones/${zoneId}/purge_cache`, - Network accessline 108
// Requires Cache Reserve OFF first await fetch( - Network accessline 109
await fetch( - Network accessline 110
`https://api.cloudflare.com/client/v4/zones/${zoneId}/cache/cache_reserve_clear`,
skills/.curated/cloudflare-deploy/references/cache-reserve/configuration.md
- Network accessline 8
# Navigate to dashboard https://dash.cloudflare.com/caching/cache-reserve - Network accessline 9
https://dash.cloudflare.com/caching/cache-reserve - Network accessline 23
# Enable curl -X PATCH "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/cache/cache_reserve" \ - Network accessline 24
[Credential-related source omitted] - Access to secretsline 24
[Credential-related source omitted] - Access to secretsline 25
[Credential-related source omitted] - Network accessline 28
# Check status curl -X GET "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/cache/cache_reserve" \ - Network accessline 29
[Credential-related source omitted] - Access to secretsline 29
[Credential-related source omitted] - Access to secretsline 30
[Credential-related source omitted] - Access to secretsline 43
[Credential-related source omitted] - Access to secretsline 68
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/cache-reserve/gotchas.md
- Network accessline 77
- **Official Docs**: https://developers.cloudflare.com/cache/advanced-configuration/cache-reserve/ - Network accessline 78
- **API Reference**: https://developers.cloudflare.com/api/resources/cache/subresources/cache_reserve/ - Network accessline 79
- **Cache Rules**: https://developers.cloudflare.com/cache/how-to/cache-rules/ - Network accessline 80
- **Workers Cache API**: https://developers.cloudflare.com/workers/runtime-apis/cache/ - Network accessline 81
- **R2 Documentation**: https://developers.cloudflare.com/r2/ - Network accessline 82
- **Smart Shield**: https://developers.cloudflare.com/smart-shield/ - Network accessline 83
- **Tiered Cache**: https://developers.cloudflare.com/cache/how-to/tiered-cache/
skills/.curated/cloudflare-deploy/references/cache-reserve/patterns.md
- Network accessline 71
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 72
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 73
const response = await fetch(request); - Network accessline 101
// Optimal: L1 (visitor) → L2 (region) → L3 (Cache Reserve) → Origin export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 102
export default { async fetch(request: Request, env: Env): Promise<Response> { const url = new URL(request.url); - Network accessline 103
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 104
const url = new URL(request.url); const isImmutable = /\.[a-f0-9]{8,}\.(js|css|jpg|png|woff2)$/.test(url.pathname); const response = await fetch(request); - Network accessline 106
const response = await fetch(request);
skills/.curated/cloudflare-deploy/references/containers/README.md
- Network accessline 31
export default { async fetch(request: Request, env: Env) { - Network accessline 32
async fetch(request: Request, env: Env) { - Network accessline 33
const container = env.MY_CONTAINER.getByName("instance-1"); await container.startAndWaitForPorts(); return container.fetch(request); - Network accessline 34
await container.startAndWaitForPorts(); return container.fetch(request); } - Network accessline 35
return container.fetch(request); - Network accessline 83
- [Workflows](../workflows/) - Orchestrate container operations - [Queues](../queues/) - Trigger containers from queue messages - [Cloudflare Docs](https://developers.cloudflare.com/containers/) - Network accessline 85
- [Cloudflare Docs](https://developers.cloudflare.com/containers/)
skills/.curated/cloudflare-deploy/references/containers/api.md
- Network accessline 68
### fetch() - HTTP with WebSocket support - Network accessline 71
// ✅ Supports WebSocket upgrades const response = await container.fetch(request); - Network accessline 72
const response = await container.fetch(request); - Network accessline 73
const response = await container.fetch("http://container/api", { - Network accessline 88
**⚠<U+FE0F> Critical:** Use `fetch()` for WebSocket, not `containerFetch()`. - Network accessline 104
this.switchPort(8081); // Subsequent fetch() uses this port - Network accessline 153
export class ScheduledContainer extends Container { async fetch(request: Request) { - Network accessline 154
async fetch(request: Request) { - Network accessline 180
export class MyContainer extends Container { async fetch(request: Request) { - Network accessline 181
async fetch(request: Request) {
skills/.curated/cloudflare-deploy/references/containers/configuration.md
- Network accessline 103
export class MyContainer extends Container { // Port Configuration defaultPort = 8080; // Default port for fetch() calls - Network accessline 104
// Port Configuration defaultPort = 8080; // Default port for fetch() calls requiredPorts = [8080, 9090]; // Ports to wait for in startAndWaitForPorts() - Network accessline 105
defaultPort = 8080; // Default port for fetch() calls - Network accessline 130
- **`defaultPort`**: Port used when calling `container.fetch()` without explicit port. Falls back to port 33 if not set.
skills/.curated/cloudflare-deploy/references/containers/gotchas.md
- Network accessline 3
### ⚠<U+FE0F> WebSocket: fetch() vs containerFetch() - Network accessline 9
**Fix:** Always use `fetch()` for WebSocket - Network accessline 15
// ✅ CORRECT return container.fetch(request); - Network accessline 16
return container.fetch(request); - Network accessline 28
// ❌ WRONG await container.start(); return container.fetch(request); - Network accessline 30
return container.fetch(request); - Network accessline 32
// ✅ CORRECT await container.startAndWaitForPorts(); return container.fetch(request); - Network accessline 34
return container.fetch(request); - Network accessline 102
**Cause:** Calling `fetch()` before port ready - Network accessline 160
1. **Use `startAndWaitForPorts()` by default** - Prevents port errors 2. **Set appropriate `sleepAfter`** - Balance resources vs cold starts 3. **Use `fetch()` for WebSocket** - Not `containerFetch()` - Network accessline 161
2. **Set appropriate `sleepAfter`** - Balance resources vs cold starts 3. **Use `fetch()` for WebSocket** - Not `containerFetch()` 4. **Design for restarts** - Ephemeral disk, implement graceful shutdown - Network accessline 162
3. **Use `fetch()` for WebSocket** - Not `containerFetch()`
skills/.curated/cloudflare-deploy/references/containers/patterns.md
- Network accessline 11
export default { async fetch(request: Request, env: Env) { - Network accessline 12
async fetch(request: Request, env: Env) { - Network accessline 14
const container = env.SESSION_BACKEND.getByName(sessionId); await container.startAndWaitForPorts(); return container.fetch(request); - Network accessline 15
await container.startAndWaitForPorts(); return container.fetch(request); } - Network accessline 16
return container.fetch(request); - Network accessline 26
export default { async fetch(request: Request, env: Env) { - Network accessline 27
async fetch(request: Request, env: Env) { - Network accessline 28
const container = env.STATELESS_API.getRandom(); await container.startAndWaitForPorts(); return container.fetch(request); - Network accessline 29
await container.startAndWaitForPorts(); return container.fetch(request); } - Network accessline 30
return container.fetch(request); - Network accessline 40
export default { async fetch(request: Request, env: Env) { - Network accessline 41
async fetch(request: Request, env: Env) { - Network accessline 42
const container = env.GLOBAL_SERVICE.getByName("singleton"); await container.startAndWaitForPorts(); return container.fetch(request); - Network accessline 43
await container.startAndWaitForPorts(); return container.fetch(request); } - Network accessline 44
return container.fetch(request); - Network accessline 54
export default { async fetch(request: Request, env: Env) { - Network accessline 55
async fetch(request: Request, env: Env) { - Network accessline 61
// ⚠<U+FE0F> MUST use fetch(), not containerFetch() - Network accessline 62
return container.fetch(request); - Network accessline 69
**⚠<U+FE0F> Critical:** Always use `fetch()` for WebSocket. - Network accessline 97
async fetch(request: Request) { - Network accessline 102
} }); return super.fetch(request); - Network accessline 103
}); return super.fetch(request); } - Network accessline 104
return super.fetch(request); - Network accessline 139
async fetch(request: Request) { - Network accessline 141
if (path.startsWith("/grpc")) this.switchPort(8081); else if (path.startsWith("/metrics")) this.switchPort(9090); return super.fetch(request); - Network accessline 142
else if (path.startsWith("/metrics")) this.switchPort(9090); return super.fetch(request); } - Network accessline 143
return super.fetch(request); - Network accessline 163
const result = await step.do("process", async () => { return container.fetch("/process", { - Network accessline 164
return container.fetch("/process", { - Network accessline 187
const response = await container.fetch("/process", {
skills/.curated/cloudflare-deploy/references/cron-triggers/README.md
skills/.curated/cloudflare-deploy/references/cron-triggers/api.md
- Network accessline 123
# Trigger any cron curl "http://localhost:8787/__scheduled?cron=*/5+*+*+*+*" - Network accessline 124
curl "http://localhost:8787/__scheduled?cron=*/5+*+*+*+*" - Network accessline 126
# Trigger specific cron with custom time curl "http://localhost:8787/__scheduled?cron=0+2+*+*+*&scheduledTime=1704067200000" - Network accessline 127
curl "http://localhost:8787/__scheduled?cron=0+2+*+*+*&scheduledTime=1704067200000"
skills/.curated/cloudflare-deploy/references/cron-triggers/configuration.md
- Network accessline 114
curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/workers/scripts/{script_name}/schedules" \ - Network accessline 120
curl -X PUT "https://api.cloudflare.com/client/v4/accounts/{account_id}/workers/scripts/{script_name}/schedules" \ - Network accessline 128
curl -X PUT "https://api.cloudflare.com/client/v4/accounts/{account_id}/workers/scripts/{script_name}/schedules" \ - Network accessline 167
**Test cron syntax:** - [crontab.guru](https://crontab.guru/) - Interactive validator - Network accessline 168
- [crontab.guru](https://crontab.guru/) - Interactive validator
skills/.curated/cloudflare-deploy/references/cron-triggers/gotchas.md
- Network accessline 57
# Correct curl "http://localhost:8787/__scheduled?cron=*/5+*+*+*+*" - Network accessline 58
curl "http://localhost:8787/__scheduled?cron=*/5+*+*+*+*" - Network accessline 60
# Wrong (will fail) curl "http://localhost:8787/__scheduled?cron=*/5 * * * *" - Network accessline 61
curl "http://localhost:8787/__scheduled?cron=*/5 * * * *" - Network accessline 123
export default { async fetch(request, env, ctx) { - Network accessline 124
async fetch(request, env, ctx) { - Access to secretsline 141
[Credential-related source omitted] - Network accessline 145
export default { async fetch(request, env, ctx) { - Network accessline 146
async fetch(request, env, ctx) { - Network accessline 194
- [Cron Triggers Docs](https://developers.cloudflare.com/workers/configuration/cron-triggers/) - Network accessline 195
- [Scheduled Handler API](https://developers.cloudflare.com/workers/runtime-apis/handlers/scheduled/) - Network accessline 196
- [Cloudflare Workflows](https://developers.cloudflare.com/workflows/) - Network accessline 197
- [Workers Limits](https://developers.cloudflare.com/workers/platform/limits/) - Network accessline 198
- [Crontab Guru](https://crontab.guru/) - Validator - Network accessline 199
- [Vitest Pool Workers](https://github.com/cloudflare/workers-sdk/tree/main/fixtures/vitest-pool-workers-examples)
skills/.curated/cloudflare-deploy/references/cron-triggers/patterns.md
- Network accessline 6
[Credential-related source omitted] - Network accessline 7
[Credential-related source omitted] - Network accessline 8
[Credential-related source omitted] - Access to secretsline 8
[Credential-related source omitted] - Network accessline 35
const reportKey = `reports/weekly-${Date.now()}.json`; await env.REPORTS_BUCKET.put(reportKey, JSON.stringify(report)); ctx.waitUntil(env.SEND_EMAIL.fetch("https://example.com/send", {method: "POST", body: JSON.stringify({to: "team@ - Network accessline 36
await env.REPORTS_BUCKET.put(reportKey, JSON.stringify(report)); ctx.waitUntil(env.SEND_EMAIL.fetch("https://example.com/send", {method: "POST", body: JSON.stringify({to: "team@example.com", subject: "Weekly Report", reportUrl: `https:/ - Network accessline 37
ctx.waitUntil(env.SEND_EMAIL.fetch("https://example.com/send", {method: "POST", body: JSON.stringify({to: "team@example.com", subject: "Weekly Report", reportUrl: `https://reports.example.com/${reportKey}`})})); - Network accessline 45
export default { async scheduled(controller, env, ctx) { const services = [{name: "API", url: "https://api.example.com/health"}, {name: "CDN", url: "https://cdn.example.com/health"}]; - Network accessline 46
async scheduled(controller, env, ctx) { const services = [{name: "API", url: "https://api.example.com/health"}, {name: "CDN", url: "https://cdn.example.com/health"}]; const checks = await Promise.all(services.map(async (service) => - Network accessline 47
const services = [{name: "API", url: "https://api.example.com/health"}, {name: "CDN", url: "https://cdn.example.com/health"}]; - Network accessline 49
const start = Date.now(); try { const response = await fetch(service.url, { signal: AbortSignal.timeout(5000) }); - Network accessline 50
try { const response = await fetch(service.url, { signal: AbortSignal.timeout(5000) }); return {name: service.name, status: response.ok ? "up" : "down", responseTime: Date.now() - start}; - Network accessline 51
const response = await fetch(service.url, { signal: AbortSignal.timeout(5000) }); - Network accessline 57
ctx.waitUntil(env.STATUS_KV.put("health_status", JSON.stringify(checks))); const failures = checks.filter(c => c.status === "down"); if (failures.length > 0) ctx.waitUntil(fetch(env.ALERT_WEBHOOK, {method: "POST", body: JSON.stringi - Network accessline 58
const failures = checks.filter(c => c.status === "down"); if (failures.length > 0) ctx.waitUntil(fetch(env.ALERT_WEBHOOK, {method: "POST", body: JSON.stringify({text: `${failures.length} service(s) down: ${failures.map(f => f.name).join - Network accessline 59
if (failures.length > 0) ctx.waitUntil(fetch(env.ALERT_WEBHOOK, {method: "POST", body: JSON.stringify({text: `${failures.length} service(s) down: ${failures.map(f => f.name).join(", ")}`})})); - Network accessline 70
[Credential-related source omitted] - Network accessline 71
[Credential-related source omitted] - Network accessline 72
[Credential-related source omitted] - Access to secretsline 72
[Credential-related source omitted] - Network accessline 106
} catch (error) { console.error("[ERROR]", { ...meta, duration: Date.now() - startTime, error: error.message }); ctx.waitUntil(fetch(env.ALERT_WEBHOOK, { method: "POST", body: JSON.stringify({ text: `Cron failed: ${controller.cr - Network accessline 107
console.error("[ERROR]", { ...meta, duration: Date.now() - startTime, error: error.message }); ctx.waitUntil(fetch(env.ALERT_WEBHOOK, { method: "POST", body: JSON.stringify({ text: `Cron failed: ${controller.cron}`, error: error.messa - Network accessline 108
ctx.waitUntil(fetch(env.ALERT_WEBHOOK, { method: "POST", body: JSON.stringify({ text: `Cron failed: ${controller.cron}`, error: error.message }) })); - Network accessline 155
# Test specific cron curl "http://localhost:8787/__scheduled?cron=*/5+*+*+*+*" - Network accessline 156
curl "http://localhost:8787/__scheduled?cron=*/5+*+*+*+*" - Network accessline 158
# Test with specific time curl "http://localhost:8787/__scheduled?cron=0+2+*+*+*&scheduledTime=1704067200000" - Network accessline 159
curl "http://localhost:8787/__scheduled?cron=0+2+*+*+*&scheduledTime=1704067200000"
skills/.curated/cloudflare-deploy/references/d1/api.md
- Network accessline 134
// Single query const response = await fetch( - Network accessline 135
const response = await fetch( - Network accessline 136
`https://api.cloudflare.com/client/v4/accounts/${ACCOUNT_ID}/d1/database/${DATABASE_ID}/query`, - Access to secretsline 140
[Credential-related source omitted] - Network accessline 153
// Batch queries via HTTP const response = await fetch( - Network accessline 154
const response = await fetch( - Network accessline 155
`https://api.cloudflare.com/client/v4/accounts/${ACCOUNT_ID}/d1/database/${DATABASE_ID}/query`, - Access to secretsline 159
[Credential-related source omitted] - Network accessline 179
beforeAll(async () => { worker = await unstable_dev('src/index.ts'); }); afterAll(async () => { await worker.stop(); }); it('queries users', async () => { expect((await worker.fetch('/users')).status).toBe(200); }); - Network accessline 180
afterAll(async () => { await worker.stop(); }); it('queries users', async () => { expect((await worker.fetch('/users')).status).toBe(200); }); }); - Network accessline 181
it('queries users', async () => { expect((await worker.fetch('/users')).status).toBe(200); });
skills/.curated/cloudflare-deploy/references/d1/configuration.md
- Network accessline 38
export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { - Network accessline 39
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { - Access to secretsline 124
[Credential-related source omitted] - Network accessline 137
import { users } from './schema'; export default { async fetch(request: Request, env: Env) { - Network accessline 138
export default { async fetch(request: Request, env: Env) { const db = drizzle(env.DB); - Network accessline 139
async fetch(request: Request, env: Env) {
skills/.curated/cloudflare-deploy/references/d1/patterns.md
- Network accessline 84
// Each tenant gets own database export default { async fetch(request: Request, env: { [key: `TENANT_${string}`]: D1Database }) { - Network accessline 85
export default { async fetch(request: Request, env: { [key: `TENANT_${string}`]: D1Database }) { const tenantId = request.headers.get('X-Tenant-ID'); - Network accessline 86
async fetch(request: Request, env: { [key: `TENANT_${string}`]: D1Database }) { - Network accessline 124
export default { async fetch(request: Request, env: Env) { - Network accessline 125
async fetch(request: Request, env: Env) {
skills/.curated/cloudflare-deploy/references/ddos/api.md
skills/.curated/cloudflare-deploy/references/ddos/patterns.md
skills/.curated/cloudflare-deploy/references/do-storage/configuration.md
- Network accessline 59
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 60
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 68
// Legacy: forward request (still works) // return stub.fetch(request); - Network accessline 69
// return stub.fetch(request);
skills/.curated/cloudflare-deploy/references/do-storage/gotchas.md
- Network accessline 43
**fetch() breaks input/output gates** → allows request interleaving: - Network accessline 46
// UNSAFE: fetch() allows another request to interleave - Network accessline 47
async unsafe() { const val = await this.ctx.storage.get("counter"); await fetch("https://api.example.com"); // Gate broken! - Network accessline 48
const val = await this.ctx.storage.get("counter"); await fetch("https://api.example.com"); // Gate broken! await this.ctx.storage.put("counter", val + 1); // Race condition possible - Network accessline 49
await fetch("https://api.example.com"); // Gate broken! - Network accessline 59
return await this.ctx.blockConcurrencyWhile(async () => { const val = await this.ctx.storage.get("counter"); await fetch("https://api.example.com"); - Network accessline 60
const val = await this.ctx.storage.get("counter"); await fetch("https://api.example.com"); await this.ctx.storage.put("counter", val + 1); - Network accessline 61
await fetch("https://api.example.com");
skills/.curated/cloudflare-deploy/references/durable-objects/README.md
- Network accessline 55
**RPC vs fetch() decision:** - Network accessline 57
├─ New project + compat ≥2024-04-03 → RPC (type-safe, simpler) ├─ Need HTTP semantics (headers, status) → fetch() - Network accessline 58
├─ Need HTTP semantics (headers, status) → fetch() - Network accessline 59
├─ Proxying requests to DO → fetch() - Network accessline 60
└─ Legacy compatibility → fetch() - Network accessline 63
See [Patterns: RPC vs fetch()](./patterns.md) for examples. - Access to secretsline 96
[Credential-related source omitted] - Network accessline 107
// Worker access export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 108
export default { async fetch(request: Request, env: Env): Promise<Response> { const id = env.COUNTER.idFromName("global"); - Network accessline 109
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 142
├─ New project + typed methods → RPC (compat ≥2024-04-03) ├─ Need HTTP semantics → fetch() - Network accessline 143
├─ Need HTTP semantics → fetch() - Network accessline 144
├─ Proxying to DO → fetch() - Network accessline 145
└─ Legacy compat → fetch() - Network accessline 148
See [Patterns: RPC vs fetch()](./patterns.md) for examples. - Network accessline 170
**Docs**: https://developers.cloudflare.com/durable-objects/ - Network accessline 171
**API Reference**: https://developers.cloudflare.com/durable-objects/api/ - Network accessline 172
**Examples**: https://developers.cloudflare.com/durable-objects/examples/
skills/.curated/cloudflare-deploy/references/durable-objects/api.md
- Access to secretsline 8
[Credential-related source omitted] - Network accessline 17
// fetch handler (legacy/HTTP semantics) async fetch(req: Request): Promise<Response> { /* ... */ } - Network accessline 18
async fetch(req: Request): Promise<Response> { /* ... */ } - Network accessline 137
async fetch(req: Request): Promise<Response> {
skills/.curated/cloudflare-deploy/references/durable-objects/configuration.md
- Access to secretsline 128
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/durable-objects/gotchas.md
skills/.curated/cloudflare-deploy/references/durable-objects/patterns.md
- Network accessline 14
## RPC vs fetch() - Network accessline 16
**RPC** (compat ≥2024-04-03): Type-safe, simpler, default for new projects **fetch()**: Legacy compat, HTTP semantics, proxying - Network accessline 17
**fetch()**: Legacy compat, HTTP semantics, proxying - Network accessline 20
const count = await stub.increment(); // RPC const count = await (await stub.fetch(req)).json(); // fetch() - Network accessline 21
const count = await (await stub.fetch(req)).json(); // fetch() - Network accessline 29
export default { async fetch(req: Request, env: Env): Promise<Response> { - Network accessline 30
async fetch(req: Request, env: Env): Promise<Response> { - Network accessline 32
const hash = hashCode(userId) % 100; // 100 shards const id = env.COUNTER.idFromName(`shard:${hash}`); return env.COUNTER.get(id).fetch(req); - Network accessline 33
const id = env.COUNTER.idFromName(`shard:${hash}`); return env.COUNTER.get(id).fetch(req); } - Network accessline 34
return env.COUNTER.get(id).fetch(req); - Network accessline 80
async fetch(req: Request): Promise<Response> {
skills/.curated/cloudflare-deploy/references/email-routing/README.md
- Access to secretsline 25
[Credential-related source omitted] - Network accessline 87
- [Cloudflare Docs: Email Routing](https://developers.cloudflare.com/email-routing/) - Network accessline 88
- [Cloudflare Docs: Email Workers](https://developers.cloudflare.com/email-routing/email-workers/) - Network accessline 89
- [postal-mime npm package](https://www.npmjs.com/package/postal-mime)
skills/.curated/cloudflare-deploy/references/email-routing/api.md
- Network accessline 132
export default { async fetch(request, env, ctx): Promise<Response> { - Network accessline 133
async fetch(request, env, ctx): Promise<Response> { - Network accessline 139
], subject: "Your order #12345 has shipped", text: "Track your package at: https://track.example.com/12345", - Network accessline 140
subject: "Your order #12345 has shipped", text: "Track your package at: https://track.example.com/12345", html: "<p>Track your package at: <a href='https://track.example.com/12345'>View tracking</a></p>", - Network accessline 141
text: "Track your package at: https://track.example.com/12345", - Network accessline 142
html: "<p>Track your package at: <a href='https://track.example.com/12345'>View tracking</a></p>", - Access to secretsline 148
[Credential-related source omitted] - Network accessline 161
Base URL: `https://api.cloudflare.com/client/v4` - Network accessline 166
[Credential-related source omitted] - Access to secretsline 166
[Credential-related source omitted] - Network accessline 183
[Credential-related source omitted] - Access to secretsline 183
[Credential-related source omitted] - Access to secretsline 184
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/email-routing/configuration.md
- Network accessline 52
# Test with curl curl -X POST 'http://localhost:8787/__email' \ - Network accessline 53
curl -X POST 'http://localhost:8787/__email' \ - Network accessline 74
[Credential-related source omitted] - Access to secretsline 74
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted] - Access to secretsline 92
[Credential-related source omitted] - Access to secretsline 101
[Credential-related source omitted] - Access to secretsline 133
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/email-routing/gotchas.md
- Network accessline 121
curl -X POST 'http://localhost:8787/__email' \
skills/.curated/cloudflare-deploy/references/email-routing/patterns.md
- Access to secretsline 68
[Credential-related source omitted] - Access to secretsline 94
[Credential-related source omitted] - Access to secretsline 146
[Credential-related source omitted] - Access to secretsline 170
[Credential-related source omitted] - Access to secretsline 193
[Credential-related source omitted] - Access to secretsline 213
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/email-workers/README.md
- Network accessline 147
- [Email Routing Documentation](https://developers.cloudflare.com/email-routing/) - Network accessline 148
- [Workers Platform](https://developers.cloudflare.com/workers/) - Network accessline 149
- [Wrangler CLI](https://developers.cloudflare.com/workers/wrangler/) - Network accessline 150
- [postal-mime on npm](https://www.npmjs.com/package/postal-mime) - Network accessline 151
- [mimetext on npm](https://www.npmjs.com/package/mimetext)
skills/.curated/cloudflare-deploy/references/email-workers/configuration.md
- Network accessline 16
"kv_namespaces": [{ "binding": "ARCHIVE", "id": "xxx" }], "r2_buckets": [{ "binding": "ATTACHMENTS", "bucket_name": "email-attachments" }], "vars": { "WEBHOOK_URL": "https://hooks.example.com" } - Network accessline 17
"r2_buckets": [{ "binding": "ATTACHMENTS", "bucket_name": "email-attachments" }], "vars": { "WEBHOOK_URL": "https://hooks.example.com" } } - Network accessline 18
"vars": { "WEBHOOK_URL": "https://hooks.example.com" } - Network accessline 63
# Test receiving curl --request POST 'http://localhost:8787/cdn-cgi/handler/email' \ - Network accessline 64
curl --request POST 'http://localhost:8787/cdn-cgi/handler/email' \ - Access to secretsline 94
[Credential-related source omitted] - Access to secretsline 95
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/email-workers/gotchas.md
- Network accessline 21
// ❌ Errors dropped silently ctx.waitUntil(fetch(webhookUrl, { method: 'POST', body: data })); - Network accessline 22
ctx.waitUntil(fetch(webhookUrl, { method: 'POST', body: data })); - Network accessline 24
// ✅ Catch and log ctx.waitUntil( fetch(webhookUrl, { method: 'POST', body: data }) - Network accessline 25
ctx.waitUntil( fetch(webhookUrl, { method: 'POST', body: data }) .catch(err => env.ERROR_LOG.put(`error:${Date.now()}`, err.message)) - Network accessline 26
fetch(webhookUrl, { method: 'POST', body: data })
skills/.curated/cloudflare-deploy/references/email-workers/patterns.md
skills/.curated/cloudflare-deploy/references/hyperdrive/README.md
skills/.curated/cloudflare-deploy/references/hyperdrive/api.md
skills/.curated/cloudflare-deploy/references/hyperdrive/gotchas.md
- Network accessline 72
- [Docs](https://developers.cloudflare.com/hyperdrive/) - Network accessline 73
- [Getting Started](https://developers.cloudflare.com/hyperdrive/get-started/) - Network accessline 74
- [Wrangler Reference](https://developers.cloudflare.com/hyperdrive/reference/wrangler-commands/) - Network accessline 75
- [Supported DBs](https://developers.cloudflare.com/hyperdrive/reference/supported-databases-and-features/) - Network accessline 76
- [Discord #hyperdrive](https://discord.cloudflare.com) - Network accessline 77
- [Limit Increase Form](https://forms.gle/ukpeZVLWLnKeixDu7)
skills/.curated/cloudflare-deploy/references/images/README.md
skills/.curated/cloudflare-deploy/references/images/api.md
- Network accessline 53
curl -X POST https://api.cloudflare.com/client/v4/accounts/{account_id}/images/v1 \ - Network accessline 68
https://imagedelivery.net/{hash}/{id}/width=800,height=600,fit=cover,format=avif - Network accessline 76
// 1. Get upload URL (backend) const { result } = await fetch( - Network accessline 77
const { result } = await fetch( - Network accessline 78
`https://api.cloudflare.com/client/v4/accounts/${accountId}/images/v2/direct_upload`, - Network accessline 84
const formData = new FormData(); formData.append('file', file); await fetch(result.uploadURL, { method: 'POST', body: formData }); - Network accessline 86
await fetch(result.uploadURL, { method: 'POST', body: formData });
skills/.curated/cloudflare-deploy/references/images/configuration.md
- Network accessline 25
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 26
async fetch(request: Request, env: Env): Promise<Response> { - Access to secretsline 47
[Credential-related source omitted] - Network accessline 52
const response = await fetch( - Network accessline 53
`https://api.cloudflare.com/client/v4/accounts/${accountId}/images/v1`, - Network accessline 83
const imageUrl = `https://imagedelivery.net/${env.IMAGES_ACCOUNT_HASH}/${imageId}/public`; - Network accessline 100
curl -X POST \ - Network accessline 101
https://api.cloudflare.com/client/v4/accounts/{account_id}/images/v1/variants \ - Network accessline 118
https://imagedelivery.net/{account_hash}/{image_id}/thumbnail - Network accessline 161
[Credential-related source omitted] - Network accessline 162
https://api.cloudflare.com/client/v4/accounts/{account_id}/images/v1 - Network accessline 168
[Credential-related source omitted] - Access to secretsline 168
[Credential-related source omitted] - Access to secretsline 169
[Credential-related source omitted] - Network accessline 170
https://api.cloudflare.com/client/v4/accounts/{account_id}/images/v1 - Network accessline 178
# Upload with signed URLs required curl -X POST \ - Network accessline 179
curl -X POST \ - Network accessline 180
https://api.cloudflare.com/client/v4/accounts/{account_id}/images/v1 \ - Network accessline 198
return `https://imagedelivery.net/{hash}${path}?exp=${expiry}&sig=${signature}`; - Access to secretsline 202
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/images/gotchas.md
skills/.curated/cloudflare-deploy/references/images/patterns.md
- Network accessline 15
<img src="https://imagedelivery.net/{hash}/{id}/width=800" - Network accessline 23
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 33
// Backend: Generate upload URL const response = await fetch( - Network accessline 34
const response = await fetch( - Network accessline 35
`https://api.cloudflare.com/client/v4/accounts/${env.ACCOUNT_ID}/images/v2/direct_upload`, - Access to secretsline 36
[Credential-related source omitted] - Network accessline 41
const formData = new FormData(); formData.append('file', file); await fetch(result.uploadURL, { method: 'POST', body: formData }); - Network accessline 42
formData.append('file', file); await fetch(result.uploadURL, { method: 'POST', body: formData }); // Use: https://imagedelivery.net/{hash}/${result.id}/public - Network accessline 43
await fetch(result.uploadURL, { method: 'POST', body: formData }); - Network accessline 44
// Use: https://imagedelivery.net/{hash}/${result.id}/public - Network accessline 50
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 64
const watermark = await env.ASSETS.fetch(new URL('/watermark.png', request.url)); - Network accessline 86
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
skills/.curated/cloudflare-deploy/references/kv/configuration.md
- Network accessline 44
export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { - Network accessline 45
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { - Access to secretsline 50
[Credential-related source omitted] - Access to secretsline 109
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/kv/patterns.md
- Network accessline 25
// L3: Origin (slow) const origin = await fetch(`https://api.example.com/${key}`).then(r => r.json()); - Network accessline 26
const origin = await fetch(`https://api.example.com/${key}`).then(r => r.json()); - Network accessline 49
env, "cache:users", () => fetch("https://api.example.com/users").then(r => r.json()) - Network accessline 50
"cache:users", () => fetch("https://api.example.com/users").then(r => r.json()) ); - Network accessline 51
() => fetch("https://api.example.com/users").then(r => r.json())
skills/.curated/cloudflare-deploy/references/miniflare/README.md
- Network accessline 74
script: ` export default { async fetch(request, env, ctx) { - Network accessline 75
export default { async fetch(request, env, ctx) { return new Response("Hello Miniflare!"); - Network accessline 76
async fetch(request, env, ctx) { - Network accessline 83
const res = await mf.dispatchFetch("http://localhost:8787/");
skills/.curated/cloudflare-deploy/references/miniflare/api.md
- Network accessline 36
**Fetch (no HTTP server):** - Network accessline 38
const res = await mf.dispatchFetch("http://localhost:8787/path", { - Network accessline 47
const res = await mf.dispatchFetch("http://localhost:8787/", { - Access to secretsline 82
[Credential-related source omitted] - Access to secretsline 83
[Credential-related source omitted] - Network accessline 111
const id = ns.idFromName("test"); const stub = ns.get(id); const res = await stub.fetch("http://localhost/"); - Network accessline 113
const res = await stub.fetch("http://localhost/"); - Network accessline 129
const caches = await mf.getCaches(); const defaultCache = caches.default; await defaultCache.put("http://example.com", new Response("cached")); - Network accessline 131
await defaultCache.put("http://example.com", new Response("cached")); - Network accessline 179
const mf = new Miniflare({ scriptPath: "worker.js" }); const url = await mf.ready; // Promise<URL> console.log(`Server running at ${url}`); // http://127.0.0.1:8787 - Network accessline 181
console.log(`Server running at ${url}`); // http://127.0.0.1:8787 - Network accessline 183
// Note: dispatchFetch() waits automatically, no need to await ready const res = await mf.dispatchFetch("http://localhost/"); // Works immediately - Network accessline 184
const res = await mf.dispatchFetch("http://localhost/"); // Works immediately
skills/.curated/cloudflare-deploy/references/miniflare/configuration.md
- Network accessline 30
"streams_enable_constructors", // Stream constructors ], upstream: "https://example.com", // Fallback for unhandled requests - Network accessline 31
], upstream: "https://example.com", // Fallback for unhandled requests }); - Network accessline 32
upstream: "https://example.com", // Fallback for unhandled requests - Network accessline 90
bindings: { SECRET_KEY: "my-secret-value", API_URL: "https://api.example.com", - Network accessline 91
SECRET_KEY: "my-secret-value", API_URL: "https://api.example.com", DEBUG: true, - Network accessline 92
API_URL: "https://api.example.com",
skills/.curated/cloudflare-deploy/references/miniflare/gotchas.md
- Access to secretsline 147
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/miniflare/patterns.md
- Network accessline 63
it("handles fetch", async () => { const res = await SELF.fetch("http://example.com/"); - Network accessline 64
const res = await SELF.fetch("http://example.com/"); - Network accessline 84
test("fetch", async () => { const res = await mf.dispatchFetch("http://localhost/"); - Network accessline 85
const res = await mf.dispatchFetch("http://localhost/"); - Network accessline 96
const ns = await mf.getDurableObjectNamespace("COUNTER"); const stub = ns.get(ns.idFromName("test-counter")); await stub.fetch("http://localhost/increment"); - Network accessline 98
await stub.fetch("http://localhost/increment"); - Network accessline 123
workers: [ { name: "main", serviceBindings: { API: "mock-api" }, script: `...` }, { name: "mock-api", script: `export default { async fetch() { return Response.json({mock: true}); } }` }, - Network accessline 124
{ name: "main", serviceBindings: { API: "mock-api" }, script: `...` }, { name: "mock-api", script: `export default { async fetch() { return Response.json({mock: true}); } }` }, ], - Network accessline 125
{ name: "mock-api", script: `export default { async fetch() { return Response.json({mock: true}); } }` }, - Access to secretsline 137
[Credential-related source omitted] - Access to secretsline 140
[Credential-related source omitted] - Network accessline 143
export default { async fetch(req: Request, env: Env) { - Network accessline 144
async fetch(req: Request, env: Env) { - Access to secretsline 147
[Credential-related source omitted] - Network accessline 153
const res = await mf.dispatchFetch("http://localhost/ws", { - Network accessline 177
// Use dispatchFetch (no port conflicts) await mf.dispatchFetch("http://localhost/"); - Network accessline 178
await mf.dispatchFetch("http://localhost/");
skills/.curated/cloudflare-deploy/references/network-interconnect/README.md
- Network accessline 30
- IPv4 /24+ or IPv6 /48+ prefixes - BGP ASN for v1 - See [locations PDF](https://developers.cloudflare.com/network-interconnect/static/cni-locations-2026-01.pdf) - Network accessline 32
- See [locations PDF](https://developers.cloudflare.com/network-interconnect/static/cni-locations-2026-01.pdf)
skills/.curated/cloudflare-deploy/references/network-interconnect/api.md
- Network accessline 8
https://api.cloudflare.com/client/v4 - Network accessline 78
Rates: `high` | `medium` | `low`. Types: `request` | `reply`. See [Magic Transit docs](https://developers.cloudflare.com/magic-transit/how-to/configure-tunnel-endpoints/#add-tunnels). - Access to secretsline 94
[Credential-related source omitted] - Network accessline 126
// LOA (use fetch) const res = await fetch(`https://api.cloudflare.com/client/v4/accounts/${id}/cni/interconnects/${iconId}/loa`, { - Network accessline 127
const res = await fetch(`https://api.cloudflare.com/client/v4/accounts/${id}/cni/interconnects/${iconId}/loa`, { - Access to secretsline 156
[Credential-related source omitted] - Network accessline 171
# List interconnects curl "https://api.cloudflare.com/client/v4/accounts/${ACCOUNT_ID}/cni/interconnects" \ - Network accessline 172
[Credential-related source omitted] - Access to secretsline 172
[Credential-related source omitted] - Access to secretsline 173
[Credential-related source omitted] - Network accessline 175
# Create interconnect curl -X POST "https://api.cloudflare.com/client/v4/accounts/${ACCOUNT_ID}/cni/interconnects?validate_only=true" \ - Network accessline 176
[Credential-related source omitted] - Access to secretsline 176
[Credential-related source omitted] - Access to secretsline 177
[Credential-related source omitted] - Network accessline 180
# LOA PDF curl "https://api.cloudflare.com/client/v4/accounts/${ACCOUNT_ID}/cni/interconnects/${ICON_ID}/loa" \ - Network accessline 181
[Credential-related source omitted] - Access to secretsline 181
[Credential-related source omitted] - Access to secretsline 182
[Credential-related source omitted] - Network accessline 197
- [API Docs](https://developers.cloudflare.com/api/resources/network_interconnects/) - Network accessline 198
- [TypeScript SDK](https://github.com/cloudflare/cloudflare-typescript) - Network accessline 199
- [Python SDK](https://github.com/cloudflare/cloudflare-python)
skills/.curated/cloudflare-deploy/references/network-interconnect/configuration.md
- Network accessline 13
4. **Configure** (Week 3): Both sides configure per doc 5. **Test** (Week 3-4): Ping, verify BGP, check routes 6. **Health checks** (Week 4): Configure [Magic Transit](https://developers.cloudflare.com/magic-transit/how-to/configure-tunnel- - Network accessline 14
5. **Test** (Week 3-4): Ping, verify BGP, check routes 6. **Health checks** (Week 4): Configure [Magic Transit](https://developers.cloudflare.com/magic-transit/how-to/configure-tunnel-endpoints/#add-tunnels) or [Magic WAN](https://developer - Network accessline 15
6. **Health checks** (Week 4): Configure [Magic Transit](https://developers.cloudflare.com/magic-transit/how-to/configure-tunnel-endpoints/#add-tunnels) or [Magic WAN](https://developers.cloudflare.com/magic-wan/configuration/manually/how-t - Network accessline 17
8. **Monitor**: Enable [maintenance notifications](https://developers.cloudflare.com/network-interconnect/monitoring-and-alerts/#enable-cloudflare-status-maintenance-notification) - Network accessline 54
**Post-setup:** Add [static routes](https://developers.cloudflare.com/magic-wan/configuration/manually/how-to/configure-routes/#configure-static-routes) to Magic WAN. Enable [bidirectional health checks](https://developers.cloudflare.com/ma - Network accessline 64
**Routing to GCP:** Add [static routes](https://developers.cloudflare.com/magic-wan/configuration/manually/how-to/configure-routes/#configure-static-routes). BGP routes from GCP Cloud Router **ignored**. - Network accessline 66
**Routing to CF:** Configure [custom learned routes](https://cloud.google.com/network-connectivity/docs/router/how-to/configure-custom-learned-routes) in Cloud Router. Request prefixes from CF account team.
skills/.curated/cloudflare-deploy/references/network-interconnect/gotchas.md
- Network accessline 64
**Cause:** Typo or unsupported facility **Solution:** Check [locations PDF](https://developers.cloudflare.com/network-interconnect/static/cni-locations-2026-01.pdf) for valid codes - Network accessline 65
**Solution:** Check [locations PDF](https://developers.cloudflare.com/network-interconnect/static/cni-locations-2026-01.pdf) for valid codes - Network accessline 102
**Cause:** BGP routes from GCP Cloud Router **ignored by design** **Solution:** Use [static routes](https://developers.cloudflare.com/magic-wan/configuration/manually/how-to/configure-routes/#configure-static-routes) in Magic WAN instead - Network accessline 103
**Solution:** Use [static routes](https://developers.cloudflare.com/magic-wan/configuration/manually/how-to/configure-routes/#configure-static-routes) in Magic WAN instead
skills/.curated/cloudflare-deploy/references/network-interconnect/patterns.md
skills/.curated/cloudflare-deploy/references/observability/README.md
- Network accessline 85
- [Cloudflare Workers Docs](https://developers.cloudflare.com/workers/) - Network accessline 86
- [Analytics Engine Docs](https://developers.cloudflare.com/analytics/analytics-engine/) - Network accessline 87
- [Workers Traces Docs](https://developers.cloudflare.com/workers/observability/traces/)
skills/.curated/cloudflare-deploy/references/observability/api.md
skills/.curated/cloudflare-deploy/references/observability/configuration.md
- Network accessline 60
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 61
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 98
// Send to external monitoring ctx.waitUntil( fetch('https://monitoring.example.com/errors', { - Network accessline 99
ctx.waitUntil( fetch('https://monitoring.example.com/errors', { method: 'POST', - Network accessline 100
fetch('https://monitoring.example.com/errors', { - Network accessline 123
curl -X POST "https://api.cloudflare.com/client/v4/accounts/{account_id}/logpush/jobs" \
skills/.curated/cloudflare-deploy/references/observability/gotchas.md
- Network accessline 14
# Test with curl curl https://your-worker.workers.dev - Network accessline 15
curl https://your-worker.workers.dev - Network accessline 55
// Date.now() is coarsened - trace spans are accurate export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { - Network accessline 56
export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { // For user-facing timing, Date.now() is fine - Network accessline 57
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { - Network accessline 94
// Pass correlationId through headers to downstream services await fetch('https://api.example.com', { - Network accessline 95
await fetch('https://api.example.com', {
skills/.curated/cloudflare-deploy/references/observability/patterns.md
- Network accessline 22
const start = Date.now(); const response = await fetch(url); - Network accessline 23
const response = await fetch(url); - Network accessline 66
ctx.waitUntil( fetch('https://logging.example.com/ingest', { - Network accessline 67
fetch('https://logging.example.com/ingest', { - Access to secretsline 69
[Credential-related source omitted] - Network accessline 96
ctx.waitUntil( fetch('https://api.honeycomb.io/v1/traces', { - Network accessline 97
fetch('https://api.honeycomb.io/v1/traces', { - Access to secretsline 99
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/pages-functions/api.md
- Access to secretsline 62
[Credential-related source omitted] - Access to secretsline 74
[Credential-related source omitted] - Access to secretsline 84
[Credential-related source omitted] - Network accessline 96
[Credential-related source omitted] - Access to secretsline 96
[Credential-related source omitted] - Network accessline 97
const stub = ctx.env.COUNTER.get(ctx.env.COUNTER.idFromName('global')); return stub.fetch(ctx.request); }; - Network accessline 98
return stub.fetch(ctx.request); - Access to secretsline 106
[Credential-related source omitted] - Access to secretsline 115
[Credential-related source omitted] - Network accessline 116
[Credential-related source omitted] - Access to secretsline 116
[Credential-related source omitted] - Network accessline 118
return ctx.env.AUTH.fetch(ctx.request); - Access to secretsline 121
[Credential-related source omitted] - Network accessline 127
When using `_worker.js`, access static assets via `env.ASSETS.fetch()`: - Network accessline 132
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 133
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 136
return Response.json({ data: await env.KV.get('key') }); } return env.ASSETS.fetch(request); // Fallback to static - Network accessline 137
} return env.ASSETS.fetch(request); // Fallback to static } - Network accessline 138
return env.ASSETS.fetch(request); // Fallback to static - Access to secretsline 140
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/pages-functions/configuration.md
- Access to secretsline 15
[Credential-related source omitted] - Access to secretsline 27
[Credential-related source omitted] - Access to secretsline 29
[Credential-related source omitted] - Network accessline 42
"vars": { "API_URL": "https://api.example.com" }, - Network accessline 59
{ "vars": { "API_URL": "http://localhost:8787" }, - Network accessline 60
"vars": { "API_URL": "http://localhost:8787" }, - Network accessline 61
"env": { "production": { "vars": { "API_URL": "https://api.example.com" } } } - Network accessline 62
"production": { "vars": { "API_URL": "https://api.example.com" } } - Access to secretsline 78
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/pages-functions/gotchas.md
- Access to secretsline 25
[Credential-related source omitted] - Access to secretsline 30
[Credential-related source omitted] - Network accessline 78
**Workers → Pages Functions:** - `export default { fetch(req, env) {} }` → `export function onRequest(ctx) { const { request, env } = ctx; }` - Network accessline 79
- `export default { fetch(req, env) {} }` → `export function onRequest(ctx) { const { request, env } = ctx; }` - Network accessline 80
- Use `_worker.js` for complex routing: `env.ASSETS.fetch(request)` for static files - Network accessline 89
- [Official Docs](https://developers.cloudflare.com/pages/functions/) - Network accessline 90
- [Workers APIs](https://developers.cloudflare.com/workers/runtime-apis/) - Network accessline 91
- [Examples](https://github.com/cloudflare/pages-example-projects) - Network accessline 92
- [Discord](https://discord.gg/cloudflaredev)
skills/.curated/cloudflare-deploy/references/pages-functions/patterns.md
- Access to secretsline 8
[Credential-related source omitted] - Network accessline 12
ctx.waitUntil(Promise.all([ ctx.env.ANALYTICS.writeDataPoint({ event: 'view' }), fetch('https://webhook.site/...', { method: 'POST' }) - Network accessline 13
ctx.env.ANALYTICS.writeDataPoint({ event: 'view' }), fetch('https://webhook.site/...', { method: 'POST' }) ])); - Network accessline 14
fetch('https://webhook.site/...', { method: 'POST' }) - Access to secretsline 33
[Credential-related source omitted] - Access to secretsline 56
[Credential-related source omitted] - Network accessline 107
it('returns JSON', async () => { const req = new Request('http://localhost/api'); - Network accessline 108
const req = new Request('http://localhost/api'); - Network accessline 124
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 125
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 128
return Response.json({ data: await env.KV.get('key') }); } return env.ASSETS.fetch(request); // Static files - Network accessline 129
} return env.ASSETS.fetch(request); // Static files } - Network accessline 130
return env.ASSETS.fetch(request); // Static files - Access to secretsline 132
[Credential-related source omitted] - Network accessline 137
**See also:** [api.md](./api.md) for `env.ASSETS.fetch()` | [gotchas.md](./gotchas.md) for debugging
skills/.curated/cloudflare-deploy/references/pages/README.md
- Network accessline 61
- [Pages Docs](https://developers.cloudflare.com/pages/) - Network accessline 62
- [Functions API](https://developers.cloudflare.com/pages/functions/api-reference/) - Network accessline 63
- [Framework Guides](https://developers.cloudflare.com/pages/framework-guides/) - Network accessline 64
- [Discord #functions](https://discord.com/channels/595317990191398933/910978223968518144)
skills/.curated/cloudflare-deploy/references/pages/api.md
- Access to secretsline 26
[Credential-related source omitted] - Access to secretsline 31
[Credential-related source omitted] - Access to secretsline 41
[Credential-related source omitted] - Access to secretsline 115
[Credential-related source omitted] - Network accessline 134
// functions/_worker.js export default { async fetch(request, env, ctx) { - Network accessline 135
export default { async fetch(request, env, ctx) { const url = new URL(request.url); - Network accessline 136
async fetch(request, env, ctx) { - Network accessline 144
// REQUIRED: Serve static assets return env.ASSETS.fetch(request); - Network accessline 145
return env.ASSETS.fetch(request);
skills/.curated/cloudflare-deploy/references/pages/configuration.md
- Network accessline 21
"ai": {"binding": "AI"}, "analytics_engine_datasets": [{"binding": "ANALYTICS"}], "vars": {"API_URL": "https://api.example.com", "ENVIRONMENT": "production"}, - Network accessline 22
"analytics_engine_datasets": [{"binding": "ANALYTICS"}], "vars": {"API_URL": "https://api.example.com", "ENVIRONMENT": "production"}, "env": { - Network accessline 23
"vars": {"API_URL": "https://api.example.com", "ENVIRONMENT": "production"}, - Network accessline 24
"env": { "preview": { "vars": {"API_URL": "https://staging-api.example.com"}, - Network accessline 25
"preview": { "vars": {"API_URL": "https://staging-api.example.com"}, "kv_namespaces": [{"binding": "KV", "id": "preview-namespace-id"}] - Network accessline 26
"vars": {"API_URL": "https://staging-api.example.com"}, - Access to secretsline 54
[Credential-related source omitted] - Network accessline 201
[Full limits](https://developers.cloudflare.com/pages/platform/limits/)
skills/.curated/cloudflare-deploy/references/pages/gotchas.md
- Network accessline 11
**Problem**: Static files not serving **Causes**: Build output dir misconfigured; Functions catching requests; Advanced mode missing `env.ASSETS.fetch()` - Network accessline 12
**Causes**: Build output dir misconfigured; Functions catching requests; Advanced mode missing `env.ASSETS.fetch()` - Network accessline 13
**Solution**: Verify output dir, add exclusions to `_routes.json`, call `env.ASSETS.fetch()` in `_worker.js` - Network accessline 196
[Full limits](https://developers.cloudflare.com/pages/platform/limits/) - Network accessline 200
1. Check [Pages Docs](https://developers.cloudflare.com/pages/) - Network accessline 201
2. Search [Discord #functions](https://discord.com/channels/595317990191398933/910978223968518144) - Network accessline 202
3. Review [Workers Examples](https://developers.cloudflare.com/workers/examples/)
skills/.curated/cloudflare-deploy/references/pages/patterns.md
- Access to secretsline 7
[Credential-related source omitted] - Access to secretsline 13
[Credential-related source omitted] - Access to secretsline 26
[Credential-related source omitted] - Access to secretsline 34
[Credential-related source omitted] - Access to secretsline 68
[Credential-related source omitted] - Network accessline 78
export const onRequestPost: PagesFunction = async ({ request, waitUntil }) => { const data = await request.json(); waitUntil(fetch('https://api.example.com/webhook', { - Network accessline 79
const data = await request.json(); waitUntil(fetch('https://api.example.com/webhook', { method: 'POST', body: JSON.stringify(data) - Network accessline 80
waitUntil(fetch('https://api.example.com/webhook', { - Access to secretsline 111
[Credential-related source omitted] - Access to secretsline 142
[Credential-related source omitted] - Network accessline 194
[Framework Guides](https://developers.cloudflare.com/pages/framework-guides/)
skills/.curated/cloudflare-deploy/references/pipelines/README.md
skills/.curated/cloudflare-deploy/references/pipelines/api.md
- Network accessline 15
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 16
async fetch(request: Request, env: Env): Promise<Response> { - Access to secretsline 21
[Credential-related source omitted] - Network accessline 60
export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { - Network accessline 61
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { - Network accessline 89
https://{stream-id}.ingest.cloudflare.com - Network accessline 99
# ✅ Correct curl -X POST https://{stream-id}.ingest.cloudflare.com \ - Network accessline 100
curl -X POST https://{stream-id}.ingest.cloudflare.com \ - Network accessline 104
# ❌ Wrong - will fail curl -X POST https://{stream-id}.ingest.cloudflare.com \ - Network accessline 105
curl -X POST https://{stream-id}.ingest.cloudflare.com \ - Network accessline 113
curl -X POST https://{stream-id}.ingest.cloudflare.com \ - Network accessline 151
Full reference: [Pipelines SQL Reference](https://developers.cloudflare.com/pipelines/sql-reference/) - Access to secretsline 193
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/pipelines/patterns.md
skills/.curated/cloudflare-deploy/references/pulumi/README.md
skills/.curated/cloudflare-deploy/references/pulumi/api.md
- Network accessline 53
db.id.apply(async (dbId) => { const response = await fetch( - Network accessline 54
const response = await fetch( - Network accessline 55
`https://api.cloudflare.com/client/v4/accounts/${accountId}/d1/database/${dbId}/query`, - Network accessline 70
class D1MigrationProvider implements pulumi.dynamic.ResourceProvider { async create(inputs: any): Promise<pulumi.dynamic.CreateResult> { const response = await fetch( - Network accessline 71
async create(inputs: any): Promise<pulumi.dynamic.CreateResult> { const response = await fetch( `https://api.cloudflare.com/client/v4/accounts/${inputs.accountId}/d1/database/${inputs.databaseId}/query`, - Network accessline 72
const response = await fetch( - Network accessline 73
`https://api.cloudflare.com/client/v4/accounts/${inputs.accountId}/d1/database/${inputs.databaseId}/query`, - Access to secretsline 139
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/pulumi/configuration.md
- Access to secretsline 31
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/pulumi/gotchas.md
- Network accessline 107
// Worker code export default { async fetch(request, env) { await env.MY_KV.get("key"); }} - Network accessline 108
export default { async fetch(request, env) { await env.MY_KV.get("key"); }} - Network accessline 174
- **Pulumi Registry:** https://www.pulumi.com/registry/packages/cloudflare/ - Network accessline 175
- **API Docs:** https://www.pulumi.com/registry/packages/cloudflare/api-docs/ - Network accessline 176
- **GitHub:** https://github.com/pulumi/pulumi-cloudflare - Network accessline 177
- **Cloudflare Docs:** https://developers.cloudflare.com/ - Network accessline 178
- **Workers Docs:** https://developers.cloudflare.com/workers/
skills/.curated/cloudflare-deploy/references/queues/api.md
- Access to secretsline 62
[Credential-related source omitted] - Network accessline 157
// Pull messages const response = await fetch( - Network accessline 158
const response = await fetch( - Network accessline 159
`https://api.cloudflare.com/client/v4/accounts/${ACCOUNT_ID}/queues/${QUEUE_ID}/messages/pull`, - Access to secretsline 162
[Credential-related source omitted] - Network accessline 169
// Acknowledge await fetch( - Network accessline 170
await fetch( - Network accessline 171
`https://api.cloudflare.com/client/v4/accounts/${ACCOUNT_ID}/queues/${QUEUE_ID}/messages/ack`, - Access to secretsline 174
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/queues/configuration.md
- Access to secretsline 88
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/queues/patterns.md
- Network accessline 6
// Producer: Accept request, queue work export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 7
export default { async fetch(request: Request, env: Env): Promise<Response> { const { userId, reportType } = await request.json(); - Network accessline 8
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 39
async queue(batch: MessageBatch, env: Env): Promise<void> { const logs = batch.messages.map(m => m.body); await fetch(env.LOG_ENDPOINT, { method: 'POST', body: JSON.stringify({ logs }) }); - Network accessline 40
const logs = batch.messages.map(m => m.body); await fetch(env.LOG_ENDPOINT, { method: 'POST', body: JSON.stringify({ logs }) }); batch.ackAll(); - Network accessline 41
await fetch(env.LOG_ENDPOINT, { method: 'POST', body: JSON.stringify({ logs }) }); - Network accessline 124
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 209
try { await stub.fetch(new Request('https://do/process', { - Network accessline 210
await stub.fetch(new Request('https://do/process', {
skills/.curated/cloudflare-deploy/references/r2-data-catalog/README.md
skills/.curated/cloudflare-deploy/references/r2-data-catalog/api.md
- Network accessline 3
R2 Data Catalog exposes standard [Apache Iceberg REST Catalog API](https://github.com/apache/iceberg/blob/main/open-api/rest-catalog-open-api.yaml).
skills/.curated/cloudflare-deploy/references/r2-data-catalog/configuration.md
- Network accessline 7
- Cloudflare account with [R2 subscription](https://developers.cloudflare.com/r2/pricing/) - Network accessline 41
curl -X POST \ - Network accessline 42
"https://api.cloudflare.com/client/v4/accounts/<account-id>/r2/buckets/<bucket>/catalog" \ - Network accessline 121
# Store credentials in environment variables WAREHOUSE = os.getenv("R2_WAREHOUSE") # e.g., "my-bucket" CATALOG_URI = os.getenv("R2_CATALOG_URI") # e.g., "https://abc123.r2.cloudflarestorage.com/iceberg/my-bucket" - Network accessline 122
[Credential-related source omitted] - Network accessline 123
CATALOG_URI = os.getenv("R2_CATALOG_URI") # e.g., "https://abc123.r2.cloudflarestorage.com/iceberg/my-bucket" - Access to secretsline 124
[Credential-related source omitted] - Access to secretsline 172
[Credential-related source omitted] - Access to secretsline 186
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/r2-data-catalog/gotchas.md
- Network accessline 162
- [Cloudflare Community](https://community.cloudflare.com/c/developers/workers/40) - Network accessline 163
- [Cloudflare Discord](https://discord.cloudflare.com) - #r2 channel - Network accessline 164
- [PyIceberg GitHub](https://github.com/apache/iceberg-python/issues) - Network accessline 165
- [Apache Iceberg Slack](https://iceberg.apache.org/community/)
skills/.curated/cloudflare-deploy/references/r2-data-catalog/patterns.md
- Access to secretsline 16
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/r2-sql/README.md
- Access to secretsline 96
[Credential-related source omitted] - Network accessline 125
- [pipelines](../pipelines/) - Streaming ingestion to Iceberg tables - [r2](../r2/) - R2 object storage fundamentals - [Cloudflare R2 SQL Docs](https://developers.cloudflare.com/r2-sql/) - Network accessline 126
- [r2](../r2/) - R2 object storage fundamentals - [Cloudflare R2 SQL Docs](https://developers.cloudflare.com/r2-sql/) - [R2 SQL Deep Dive Blog](https://blog.cloudflare.com/r2-sql-deep-dive/) - Network accessline 127
- [Cloudflare R2 SQL Docs](https://developers.cloudflare.com/r2-sql/) - Network accessline 128
- [R2 SQL Deep Dive Blog](https://blog.cloudflare.com/r2-sql-deep-dive/)
skills/.curated/cloudflare-deploy/references/r2-sql/configuration.md
- Network accessline 27
Catalog enabled successfully Warehouse: my-bucket Catalog URI: https://abc123.r2.cloudflarestorage.com/iceberg/my-bucket - Network accessline 29
Catalog URI: https://abc123.r2.cloudflarestorage.com/iceberg/my-bucket - Access to secretsline 75
[Credential-related source omitted] - Access to secretsline 81
[Credential-related source omitted] - Network accessline 91
curl -X POST https://api.cloudflare.com/client/v4/accounts/{account_id}/r2/sql/query \ - Access to secretsline 123
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/r2-sql/gotchas.md
- Network accessline 12
// ❌ This doesn't exist export default { async fetch(request, env) { - Network accessline 13
export default { async fetch(request, env) { const result = await env.R2_SQL.query("SELECT * FROM table"); // Not possible - Network accessline 14
async fetch(request, env) { - Access to secretsline 97
[Credential-related source omitted] - Access to secretsline 98
[Credential-related source omitted] - Access to secretsline 100
[Credential-related source omitted] - Access to secretsline 101
[Credential-related source omitted] - Access to secretsline 199
[Credential-related source omitted] - Network accessline 210
- [patterns.md](patterns.md) - Query optimization - [configuration.md](configuration.md) - Setup - [Cloudflare R2 SQL Docs](https://developers.cloudflare.com/r2-sql/) - Network accessline 212
- [Cloudflare R2 SQL Docs](https://developers.cloudflare.com/r2-sql/)
skills/.curated/cloudflare-deploy/references/r2-sql/patterns.md
skills/.curated/cloudflare-deploy/references/r2/api.md
- Network accessline 98
const s3 = new S3Client({ region: 'auto', endpoint: `https://${accountId}.r2.cloudflarestorage.com`, - Network accessline 99
region: 'auto', endpoint: `https://${accountId}.r2.cloudflarestorage.com`, credentials: { accessKeyId: env.R2_ACCESS_KEY_ID, secretAccessKey: env.R2_SECRET_ACCESS_KEY } - Network accessline 100
endpoint: `https://${accountId}.r2.cloudflarestorage.com`, - Access to secretsline 101
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/r2/configuration.md
- Network accessline 22
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 23
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 35
const s3 = new S3Client({ region: 'auto', endpoint: `https://${accountId}.r2.cloudflarestorage.com`, - Network accessline 36
region: 'auto', endpoint: `https://${accountId}.r2.cloudflarestorage.com`, credentials: { - Network accessline 37
endpoint: `https://${accountId}.r2.cloudflarestorage.com`, - Access to secretsline 40
[Credential-related source omitted] - Network accessline 68
const s3 = new S3Client({ region: 'auto', endpoint: `https://${accountId}.r2.cloudflarestorage.com`, - Network accessline 69
region: 'auto', endpoint: `https://${accountId}.r2.cloudflarestorage.com`, credentials: { - Network accessline 70
endpoint: `https://${accountId}.r2.cloudflarestorage.com`, - Access to secretsline 73
[Credential-related source omitted] - Network accessline 79
CORSConfiguration: { CORSRules: [{ AllowedOrigins: ['https://example.com'], - Network accessline 80
CORSRules: [{ AllowedOrigins: ['https://example.com'], AllowedMethods: ['GET', 'PUT', 'HEAD'], - Network accessline 81
AllowedOrigins: ['https://example.com'],
skills/.curated/cloudflare-deploy/references/r2/gotchas.md
- Network accessline 82
// ❌ WRONG: Streaming unknown length fails silently const response = await fetch(url); - Network accessline 83
const response = await fetch(url); - Network accessline 103
// ❌ WRONG: Missing region breaks ALL S3 SDK calls const s3 = new S3Client({ endpoint: `https://${accountId}.r2.cloudflarestorage.com`, - Network accessline 104
const s3 = new S3Client({ endpoint: `https://${accountId}.r2.cloudflarestorage.com`, credentials: { ... } - Network accessline 105
endpoint: `https://${accountId}.r2.cloudflarestorage.com`, - Network accessline 110
const s3 = new S3Client({ region: 'auto', // REQUIRED endpoint: `https://${accountId}.r2.cloudflarestorage.com`, - Network accessline 111
region: 'auto', // REQUIRED endpoint: `https://${accountId}.r2.cloudflarestorage.com`, credentials: { ... } - Network accessline 112
endpoint: `https://${accountId}.r2.cloudflarestorage.com`,
skills/.curated/cloudflare-deploy/references/r2/patterns.md
- Network accessline 108
const s3 = new S3Client({ region: 'auto', endpoint: `https://${env.ACCOUNT_ID}.r2.cloudflarestorage.com`, - Network accessline 109
region: 'auto', endpoint: `https://${env.ACCOUNT_ID}.r2.cloudflarestorage.com`, credentials: { accessKeyId: env.R2_ACCESS_KEY_ID, secretAccessKey: env.R2_SECRET_ACCESS_KEY } - Network accessline 110
endpoint: `https://${env.ACCOUNT_ID}.r2.cloudflarestorage.com`, - Access to secretsline 111
[Credential-related source omitted] - Network accessline 117
// Client: Upload directly const { uploadUrl } = await fetch('/api/upload-url').then(r => r.json()); - Network accessline 118
const { uploadUrl } = await fetch('/api/upload-url').then(r => r.json()); - Network accessline 119
await fetch(uploadUrl, { method: 'PUT', body: file }); - Network accessline 125
export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { - Network accessline 126
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { - Network accessline 158
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 159
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 190
Enable r2.dev in dashboard for simple public access: `https://pub-${hashId}.r2.dev/${key}` - Network accessline 191
Or add custom domain via dashboard: `https://files.example.com/${key}`
skills/.curated/cloudflare-deploy/references/realtime-sfu/README.md
- Network accessline 55
Dashboard: https://dash.cloudflare.com/?to=/:account/calls - Network accessline 61
- [Orange Meets Demo](https://demo.orange.cloudflare.dev/) - Network accessline 62
- [Orange Source](https://github.com/cloudflare/orange) - Network accessline 63
- [Calls Examples](https://github.com/cloudflare/calls-examples) - Network accessline 64
- [API Reference](https://developers.cloudflare.com/api/resources/calls/) - Network accessline 65
- [RealtimeKit Docs](https://developers.cloudflare.com/workers-ai/realtimekit/)
skills/.curated/cloudflare-deploy/references/realtime-sfu/api.md
- Network accessline 6
[Credential-related source omitted] - Access to secretsline 6
[Credential-related source omitted] - Access to secretsline 7
[Credential-related source omitted] - Network accessline 103
// 4. Send to backend → Cloudflare API const response = await fetch('/api/new-session', { - Network accessline 104
const response = await fetch('/api/new-session', { - Network accessline 120
const res = await fetch(`/api/sessions/${sessionId}/tracks`, { - Network accessline 136
const res = await fetch(`/api/sessions/${sessionId}/tracks`, { - Network accessline 149
await fetch(`/api/sessions/${sessionId}/renegotiate`, {
skills/.curated/cloudflare-deploy/references/realtime-sfu/configuration.md
skills/.curated/cloudflare-deploy/references/realtime-sfu/gotchas.md
- Network accessline 44
// Send to backend → Cloudflare API await fetch(`/api/sessions/${sessionId}/renegotiate`, { - Network accessline 45
await fetch(`/api/sessions/${sessionId}/renegotiate`, { - Network accessline 83
for (let i = 0; i < maxRetries; i++) { try { const res = await fetch(url, options); - Network accessline 84
try { const res = await fetch(url, options); if (res.ok) return res; - Network accessline 85
const res = await fetch(url, options);
skills/.curated/cloudflare-deploy/references/realtime-sfu/patterns.md
- Network accessline 74
app.post('/api/new-session', async (req, res) => { const r = await fetch(`${CALLS_API}/apps/${process.env.CALLS_APP_ID}/sessions/new`, - Network accessline 75
const r = await fetch(`${CALLS_API}/apps/${process.env.CALLS_APP_ID}/sessions/new`, - Access to secretsline 76
[Credential-related source omitted] - Access to secretsline 81
[Credential-related source omitted] - Network accessline 136
toAdd.forEach(async id => { await fetch(`/api/subscribe`, {method: 'POST', body: JSON.stringify({trackId: id})}); - Network accessline 137
await fetch(`/api/subscribe`, {method: 'POST', body: JSON.stringify({trackId: id})});
skills/.curated/cloudflare-deploy/references/realtimekit/README.md
- Network accessline 26
# Create app curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<account_id>/realtime/kit/apps' \ - Network accessline 27
curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<account_id>/realtime/kit/apps' \ - Network accessline 31
# Create meeting curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<account_id>/realtime/kit/<app_id>/meetings' \ - Network accessline 32
curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<account_id>/realtime/kit/<app_id>/meetings' \ - Network accessline 36
# Add participant curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<account_id>/realtime/kit/<app_id>/meetings/<meeting_id>/participants' \ - Network accessline 37
curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<account_id>/realtime/kit/<app_id>/meetings/<meeting_id>/participants' \ - Access to secretsline 50
[Credential-related source omitted] - Network accessline 110
- **Official Docs**: https://developers.cloudflare.com/realtime/realtimekit/ - Network accessline 111
- **API Reference**: https://developers.cloudflare.com/api/resources/realtime_kit/ - Network accessline 112
- **Examples**: https://github.com/cloudflare/realtimekit-web-examples - Network accessline 113
- **Dashboard**: https://dash.cloudflare.com/?to=/:account/realtime/kit
skills/.curated/cloudflare-deploy/references/realtimekit/api.md
- Network accessline 130
Base: `https://api.cloudflare.com/client/v4/accounts/{account_id}/realtime/kit/{app_id}` - Network accessline 192
GET /webhooks # List all POST /webhooks # Create: {"url": "https://...", "events": ["session.started", "session.ended"]} - Network accessline 193
POST /webhooks # Create: {"url": "https://...", "events": ["session.started", "session.ended"]}
skills/.curated/cloudflare-deploy/references/realtimekit/configuration.md
- Network accessline 38
<script type="module" src="https://cdn.jsdelivr.net/npm/@cloudflare/realtimekit-ui/dist/realtimekit-ui/realtimekit-ui.esm.js"></script> - Network accessline 65
**Dashboard**: https://dash.cloudflare.com/?to=/:account/realtime/kit - Network accessline 69
curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<account_id>/realtime/kit/apps' \ - Network accessline 80
curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<account_id>/realtime/kit/<app_id>/presets' \ - Network accessline 156
theme: 'dark' // 'light' | 'dark' }, logo: { url: 'https://example.com/logo.png', altText: 'Company' } - Network accessline 157
}, logo: { url: 'https://example.com/logo.png', altText: 'Company' } }; - Network accessline 158
logo: { url: 'https://example.com/logo.png', altText: 'Company' }
skills/.curated/cloudflare-deploy/references/realtimekit/gotchas.md
skills/.curated/cloudflare-deploy/references/realtimekit/patterns.md
- Network accessline 14
// HTML/Web Components <script type="module" src="https://cdn.jsdelivr.net/npm/@cloudflare/realtimekit-ui/dist/realtimekit-ui/realtimekit-ui.esm.js"></script> - Network accessline 15
<script type="module" src="https://cdn.jsdelivr.net/npm/@cloudflare/realtimekit-ui/dist/realtimekit-ui/realtimekit-ui.esm.js"></script> - Network accessline 41
**See full catalog**: https://docs.realtime.cloudflare.com/ui-kit - Network accessline 118
// Approve from waitlist (backend only) await fetch( - Network accessline 119
await fetch( - Network accessline 120
`https://api.cloudflare.com/client/v4/accounts/${accountId}/realtime/kit/${appId}/meetings/${meetingId}/active-session/waitlist/approve`, - Access to secretsline 177
[Credential-related source omitted] - Network accessline 179
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 180
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 183
if (url.pathname === '/api/join-meeting') { const { meetingId, userName, presetName } = await request.json(); const response = await fetch( - Network accessline 184
const { meetingId, userName, presetName } = await request.json(); const response = await fetch( `https://api.cloudflare.com/client/v4/accounts/${env.CLOUDFLARE_ACCOUNT_ID}/realtime/kit/${env.REALTIMEKIT_APP_ID}/meetings/${meet - Network accessline 185
const response = await fetch( - Network accessline 186
`https://api.cloudflare.com/client/v4/accounts/${env.CLOUDFLARE_ACCOUNT_ID}/realtime/kit/${env.REALTIMEKIT_APP_ID}/meetings/${meetingId}/participants`, - Access to secretsline 189
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/sandbox/README.md
skills/.curated/cloudflare-deploy/references/sandbox/api.md
- Access to secretsline 13
[Credential-related source omitted] - Network accessline 123
// Proxy WebSocket to sandbox service export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 124
export default { async fetch(request: Request, env: Env): Promise<Response> { const proxyResponse = await proxyToSandbox(request, env); - Network accessline 125
async fetch(request: Request, env: Env): Promise<Response> {
skills/.curated/cloudflare-deploy/references/sandbox/configuration.md
- Network accessline 72
"vars": { "ENVIRONMENT": "production", "API_URL": "https://api.example.com" - Network accessline 73
"ENVIRONMENT": "production", "API_URL": "https://api.example.com" }, - Network accessline 74
"API_URL": "https://api.example.com" - Access to secretsline 85
[Credential-related source omitted] - Access to secretsline 87
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/sandbox/gotchas.md
- Access to secretsline 150
[Credential-related source omitted] - Access to secretsline 154
[Credential-related source omitted] - Network accessline 161
https://8080-sandbox-abc123def456.yourdomain.com - Dangerous shell operationline 176
| exec() | 120s | `timeout` option | - Network accessline 186
See: https://developers.cloudflare.com/sandbox/guides/production-deployment/ - Network accessline 190
- [Official Docs](https://developers.cloudflare.com/sandbox/) - Network accessline 191
- [API Reference](https://developers.cloudflare.com/sandbox/api/) - Network accessline 192
- [Examples](https://github.com/cloudflare/sandbox-sdk/tree/main/examples) - Network accessline 193
- [npm Package](https://www.npmjs.com/package/@cloudflare/sandbox) - Network accessline 194
- [Discord Support](https://discord.cloudflare.com)
skills/.curated/cloudflare-deploy/references/sandbox/patterns.md
- Network accessline 6
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 7
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 32
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 33
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 39
if (request.url.endsWith('/start')) { await sandbox.exec('curl -fsSL https://code-server.dev/install.sh | sh'); - Dangerous shell operationline 40
await sandbox.exec('curl -fsSL https://code-server.dev/install.sh | sh'); - Network accessline 40
await sandbox.exec('curl -fsSL https://code-server.dev/install.sh | sh'); - Network accessline 57
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 58
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 87
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 88
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 110
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 111
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 133
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 134
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 168
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 169
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 196
// Clone repo await sandbox.exec('git clone https://github.com/user/repo.git /workspace/repo'); - Network accessline 197
await sandbox.exec('git clone https://github.com/user/repo.git /workspace/repo'); - Network accessline 199
// Authenticated (use env secrets) await sandbox.exec(`git clone https://${env.GITHUB_TOKEN}@github.com/user/repo.git`); - Network accessline 200
[Credential-related source omitted] - Access to secretsline 200
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/secrets-store/api.md
- Access to secretsline 13
[Credential-related source omitted] - Network accessline 16
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 17
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 18
[Credential-related source omitted] - Access to secretsline 18
[Credential-related source omitted] - Network accessline 19
return fetch("https://api.example.com", { - Network accessline 29
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 30
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 31
[Credential-related source omitted] - Network accessline 32
[Credential-related source omitted] - Access to secretsline 32
[Credential-related source omitted] - Network accessline 33
return fetch("https://api.example.com", { - Access to secretsline 49
[Credential-related source omitted] - Access to secretsline 50
[Credential-related source omitted] - Access to secretsline 54
[Credential-related source omitted] - Access to secretsline 57
[Credential-related source omitted] - Access to secretsline 60
[Credential-related source omitted] - Network accessline 65
Base: `https://api.cloudflare.com/client/v4` - Network accessline 70
[Credential-related source omitted] - Access to secretsline 70
[Credential-related source omitted] - Network accessline 71
https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/secrets_store/stores - Access to secretsline 163
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/secrets-store/configuration.md
- Access to secretsline 13
[Credential-related source omitted] - Access to secretsline 15
[Credential-related source omitted] - Access to secretsline 25
[Credential-related source omitted] - Access to secretsline 27
[Credential-related source omitted] - Access to secretsline 45
[Credential-related source omitted] - Access to secretsline 47
[Credential-related source omitted] - Access to secretsline 54
[Credential-related source omitted] - Access to secretsline 56
[Credential-related source omitted] - Access to secretsline 69
[Credential-related source omitted] - Access to secretsline 71
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted] - Access to secretsline 77
[Credential-related source omitted] - Access to secretsline 131
[Credential-related source omitted] - Access to secretsline 136
[Credential-related source omitted] - Access to secretsline 169
[Credential-related source omitted] - Access to secretsline 171
[Credential-related source omitted] - Access to secretsline 181
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/secrets-store/gotchas.md
skills/.curated/cloudflare-deploy/references/secrets-store/patterns.md
- Network accessline 13
[Credential-related source omitted] - Network accessline 14
[Credential-related source omitted] - Network accessline 17
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 18
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 19
[Credential-related source omitted] - Access to secretsline 19
[Credential-related source omitted] - Network accessline 21
// Fallback during rotation if (!resp.ok && env.FALLBACK_KEY) { resp = await fetchWithAuth("https://api.example.com", await env.FALLBACK_KEY.get()); - Network accessline 22
[Credential-related source omitted] - Access to secretsline 22
[Credential-related source omitted] - Network accessline 23
[Credential-related source omitted] - Access to secretsline 23
[Credential-related source omitted] - Network accessline 57
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 58
async fetch(request: Request, env: Env): Promise<Response> { - Access to secretsline 59
[Credential-related source omitted] - Network accessline 83
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 84
async fetch(request: Request, env: Env): Promise<Response> { - Access to secretsline 85
[Credential-related source omitted] - Network accessline 96
export default { async fetch(request: Request, env: Env, ctx: ExecutionContext) { - Network accessline 97
async fetch(request: Request, env: Env, ctx: ExecutionContext) { - Network accessline 99
[Credential-related source omitted] - Network accessline 100
[Credential-related source omitted] - Access to secretsline 100
[Credential-related source omitted] - Network accessline 101
const resp = await fetch("https://api.example.com", { - Network accessline 105
ctx.waitUntil( fetch("https://log.example.com/log", { - Network accessline 106
fetch("https://log.example.com/log", { - Access to secretsline 110
[Credential-related source omitted] - Network accessline 118
} catch (error) { ctx.waitUntil( fetch("https://log.example.com/log", { - Network accessline 119
ctx.waitUntil( fetch("https://log.example.com/log", { method: "POST", - Network accessline 120
fetch("https://log.example.com/log", { - Access to secretsline 124
[Credential-related source omitted] - Access to secretsline 140
[Credential-related source omitted] - Access to secretsline 141
[Credential-related source omitted] - Access to secretsline 142
[Credential-related source omitted] - Access to secretsline 144
[Credential-related source omitted] - Network accessline 171
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 172
async fetch(request: Request, env: Env): Promise<Response> {
skills/.curated/cloudflare-deploy/references/smart-placement/README.md
skills/.curated/cloudflare-deploy/references/smart-placement/api.md
- Network accessline 8
curl -X GET "https://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/workers/services/{WORKER_NAME}" \ - Network accessline 68
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 69
async fetch(request: Request, env: Env): Promise<Response> { - Access to secretsline 82
[Credential-related source omitted] - Network accessline 130
[Credential-related source omitted] - Network accessline 131
[Credential-related source omitted] - Network accessline 132
https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/workers/services/$WORKER_NAME \ - Network accessline 175
// Example Worker with Service Binding export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 176
export default { async fetch(request: Request, env: Env): Promise<Response> { // Forward to backend Worker with Smart Placement enabled - Network accessline 177
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 178
// Forward to backend Worker with Smart Placement enabled const response = await env.BACKEND_SERVICE.fetch(request); return response; - Network accessline 179
const response = await env.BACKEND_SERVICE.fetch(request); - Access to secretsline 182
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/smart-placement/configuration.md
- Network accessline 85
// ✅ Smart Placement affects this: export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 86
export default { async fetch(request: Request, env: Env): Promise<Response> { // This runs close to backend when Smart Placement enabled - Network accessline 87
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 144
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 145
async fetch(request: Request, env: Env): Promise<Response> { - Access to secretsline 149
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/smart-placement/gotchas.md
- Network accessline 131
// ✅ Fetch - Smart Placement WORKS export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 132
export default { async fetch(request: Request, env: Env): Promise<Response> { // Runs close to DATABASE when Smart Placement enabled - Network accessline 133
async fetch(request: Request, env: Env): Promise<Response> {
skills/.curated/cloudflare-deploy/references/smart-placement/patterns.md
- Network accessline 6
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 7
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 30
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 31
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 32
if (new URL(request.url).pathname.startsWith('/api/')) { return env.BACKEND.fetch(request); // Forward to backend } - Network accessline 33
return env.BACKEND.fetch(request); // Forward to backend - Network accessline 44
export default { async fetch(request: Request, env: BackendEnv): Promise<Response> { - Network accessline 45
async fetch(request: Request, env: BackendEnv): Promise<Response> { - Network accessline 65
// ✅ Fetch - Smart Placement WORKS export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 66
export default { async fetch(request: Request, env: Env): Promise<Response> { // Runs close to DATABASE when Smart Placement enabled - Network accessline 67
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 78
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 79
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 80
const apiUrl = 'https://api.partner.com'; - Access to secretsline 81
[Credential-related source omitted] - Network accessline 83
const [profile, transactions] = await Promise.all([ fetch(`${apiUrl}/profile`, { headers }), - Network accessline 84
fetch(`${apiUrl}/profile`, { headers }), - Network accessline 85
fetch(`${apiUrl}/transactions`, { headers }) - Network accessline 99
// Frontend (edge) - auth/routing close to user export default { async fetch(request: Request, env: Env) { - Network accessline 100
export default { async fetch(request: Request, env: Env) { if (!request.headers.get('Authorization')) { - Network accessline 101
async fetch(request: Request, env: Env) { - Network accessline 103
return new Response('Unauthorized', { status: 401 }); } const data = await env.BACKEND.fetch(request); - Network accessline 104
} const data = await env.BACKEND.fetch(request); return new Response(renderPage(await data.json()), { - Network accessline 105
const data = await env.BACKEND.fetch(request); - Network accessline 112
// Backend (Smart Placement) - DB operations close to data export default { async fetch(request: Request, env: Env) { - Network accessline 113
export default { async fetch(request: Request, env: Env) { const data = await env.DATABASE.prepare('SELECT * FROM pages WHERE id = ?').bind(pageId).first(); - Network accessline 114
async fetch(request: Request, env: Env) { - Network accessline 130
// Worker with Smart Placement - aggregates data from multiple DOs export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 131
export default { async fetch(request: Request, env: Env): Promise<Response> { const userId = new URL(request.url).searchParams.get('user'); - Network accessline 132
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 140
// Fetch from multiple DOs const [userData, analyticsData] = await Promise.all([ userDO.fetch(new Request('https://do/profile')), - Network accessline 141
const [userData, analyticsData] = await Promise.all([ userDO.fetch(new Request('https://do/profile')), analyticsDO.fetch(new Request('https://do/stats')) - Network accessline 142
userDO.fetch(new Request('https://do/profile')), - Network accessline 143
analyticsDO.fetch(new Request('https://do/stats'))
skills/.curated/cloudflare-deploy/references/snippets/README.md
- Network accessline 52
// Snippet: Add security headers export default { async fetch(request) { - Network accessline 53
export default { async fetch(request) { const response = await fetch(request); - Network accessline 54
async fetch(request) { - Network accessline 55
const response = await fetch(request); - Network accessline 68
- [Cloudflare Docs](https://developers.cloudflare.com/rules/snippets/)
skills/.curated/cloudflare-deploy/references/snippets/api.md
- Network accessline 91
// Redirect Response.redirect("https://example.com", 301) // or 302 - Network accessline 92
Response.redirect("https://example.com", 301) // or 302 - Network accessline 171
### ✅ Supported - `fetch()` - HTTP requests (2-5 subrequests per plan) - Network accessline 172
- `fetch()` - HTTP requests (2-5 subrequests per plan) - Network accessline 185
- `HTMLRewriter` - HTML parsing (use Workers) - `import` statements - No module imports - `addEventListener` - Use `export default { async fetch() {}` pattern - Network accessline 187
- `addEventListener` - Use `export default { async fetch() {}` pattern - Network accessline 191
export default { async fetch(request) { - Network accessline 192
async fetch(request) { - Network accessline 193
// Your logic here const response = await fetch(request); return response; // or modified response - Network accessline 194
const response = await fetch(request);
skills/.curated/cloudflare-deploy/references/snippets/configuration.md
- Network accessline 24
# Create/update snippet curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/snippets/$SNIPPET_NAME" \ - Network accessline 25
[Credential-related source omitted] - Access to secretsline 25
[Credential-related source omitted] - Access to secretsline 27
[Credential-related source omitted] - Network accessline 31
# Create snippet rule curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/snippets/snippet_rules" \ - Network accessline 32
[Credential-related source omitted] - Access to secretsline 32
[Credential-related source omitted] - Access to secretsline 34
[Credential-related source omitted] - Network accessline 47
# List snippets curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/snippets" \ - Network accessline 48
[Credential-related source omitted] - Access to secretsline 48
[Credential-related source omitted] - Access to secretsline 49
[Credential-related source omitted] - Network accessline 51
# Delete snippet curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/snippets/$SNIPPET_NAME" \ - Network accessline 52
[Credential-related source omitted] - Access to secretsline 52
[Credential-related source omitted] - Access to secretsline 54
[Credential-related source omitted] - Network accessline 218
# Create token at: https://dash.cloudflare.com/profile/api-tokens - Access to secretsline 220
[Credential-related source omitted] - Access to secretsline 226
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/snippets/gotchas.md
- Network accessline 8
try { return await fetch(request); } - Network accessline 15
### 1201: "Multiple origin fetches" Call `fetch(request)` exactly once: - Network accessline 16
Call `fetch(request)` exactly once: - Network accessline 18
// ❌ Multiple origin fetches const r1 = await fetch(request); const r2 = await fetch(request); - Network accessline 19
const r1 = await fetch(request); const r2 = await fetch(request); - Network accessline 21
const response = await fetch(request); - Network accessline 59
curl -H "X-Test: true" https://example.com -v - Network accessline 64
**✅ Available:** `fetch()`, `Request`, `Response`, `Headers`, `URL`, `crypto.subtle`, `crypto.randomUUID()`, `atob()`/`btoa()`, `JSON` - Network accessline 81
| Header set | <0.1ms | | URL parsing | <0.2ms | | fetch() | 1-3ms | - Network accessline 82
| URL parsing | <0.2ms | | fetch() | 1-3ms | | SHA-256 | 0.5-1ms | - Network accessline 83
| fetch() | 1-3ms |
skills/.curated/cloudflare-deploy/references/snippets/patterns.md
- Network accessline 6
export default { async fetch(request) { - Network accessline 7
async fetch(request) { - Network accessline 8
const response = await fetch(request); - Network accessline 23
export default { async fetch(request) { - Network accessline 24
async fetch(request) { - Network accessline 29
return Response.redirect(url.toString(), 302); } return fetch(request); - Network accessline 30
} return fetch(request); } - Network accessline 31
return fetch(request); - Network accessline 39
export default { async fetch(request) { - Network accessline 40
async fetch(request) { - Network accessline 44
const req = new Request(request); req.headers.set("X-Variant", variant); const response = await fetch(req); - Network accessline 46
const response = await fetch(req); - Network accessline 61
export default { async fetch(request) { - Network accessline 62
async fetch(request) { - Network accessline 63
const botScore = request.cf.botManagement?.score; if (botScore && botScore < 30) return new Response("Denied", { status: 403 }); return fetch(request); - Network accessline 64
if (botScore && botScore < 30) return new Response("Denied", { status: 403 }); return fetch(request); } - Network accessline 65
return fetch(request); - Network accessline 75
export default { async fetch(request) { - Network accessline 76
async fetch(request) { - Network accessline 79
req.headers.set("X-Internal-Auth", "secret_token"); req.headers.delete("Authorization"); return fetch(req); - Network accessline 80
req.headers.delete("Authorization"); return fetch(req); } - Network accessline 81
return fetch(req); - Network accessline 82
} return fetch(request); } - Network accessline 83
return fetch(request); - Network accessline 91
export default { async fetch(request) { - Network accessline 92
async fetch(request) { - Network accessline 101
}); } const response = await fetch(request); - Network accessline 102
} const response = await fetch(request); const newResponse = new Response(response.body, response); - Network accessline 103
const response = await fetch(request); - Network accessline 114
export default { async fetch(request) { - Network accessline 115
async fetch(request) { - Network accessline 116
if (request.headers.get("X-Bypass-Token") === "admin") return fetch(request);
skills/.curated/cloudflare-deploy/references/spectrum/README.md
- Network accessline 24
1. **Create/manage Spectrum app** - Via Dashboard → See [Cloudflare Dashboard](https://dash.cloudflare.com) - Network accessline 25
- Via Dashboard → See [Cloudflare Dashboard](https://dash.cloudflare.com) - Network accessline 52
- [Cloudflare Docs](https://developers.cloudflare.com/spectrum/)
skills/.curated/cloudflare-deploy/references/spectrum/api.md
skills/.curated/cloudflare-deploy/references/spectrum/gotchas.md
skills/.curated/cloudflare-deploy/references/static-assets/README.md
- Network accessline 20
// src/index.ts export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 21
export default { async fetch(request: Request, env: Env): Promise<Response> { return env.ASSETS.fetch(request); - Network accessline 22
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 23
return env.ASSETS.fetch(request); - Network accessline 63
- [Cloudflare Workers Docs](https://developers.cloudflare.com/workers/) - Network accessline 64
- [Static Assets Docs](https://developers.cloudflare.com/workers/static-assets/) - Network accessline 65
- [Cloudflare Pages](https://developers.cloudflare.com/pages/)
skills/.curated/cloudflare-deploy/references/static-assets/api.md
- Network accessline 14
interface Fetcher { fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; - Network accessline 15
fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; - Network accessline 22
// 1. Forward entire request await env.ASSETS.fetch(request); - Network accessline 23
await env.ASSETS.fetch(request); - Network accessline 25
// 2. String path (hostname ignored, only path matters) await env.ASSETS.fetch("https://any-host/path/to/asset.png"); - Network accessline 26
await env.ASSETS.fetch("https://any-host/path/to/asset.png"); - Network accessline 28
// 3. URL object await env.ASSETS.fetch(new URL("/index.html", request.url)); - Network accessline 29
await env.ASSETS.fetch(new URL("/index.html", request.url)); - Network accessline 31
// 4. Constructed Request object await env.ASSETS.fetch(new Request(new URL("/logo.png", request.url), { - Network accessline 32
await env.ASSETS.fetch(new Request(new URL("/logo.png", request.url), { - Network accessline 50
// All resolve to same asset: env.ASSETS.fetch("https://example.com/logo.png") - Network accessline 51
env.ASSETS.fetch("https://example.com/logo.png") - Network accessline 52
env.ASSETS.fetch("https://ignored.host/logo.png") - Network accessline 53
env.ASSETS.fetch("/logo.png") - Network accessline 158
const response = await env.ASSETS.fetch(request); - Network accessline 176
const response = await env.ASSETS.fetch(request); - Network accessline 191
// Serve different assets based on conditions if (url.pathname === '/') { return env.ASSETS.fetch('/index.html'); - Network accessline 192
if (url.pathname === '/') { return env.ASSETS.fetch('/index.html'); } - Network accessline 193
return env.ASSETS.fetch('/index.html'); - Network accessline 196
return env.ASSETS.fetch(request);
skills/.curated/cloudflare-deploy/references/static-assets/configuration.md
- Network accessline 161
Use current date for new projects. See [Compatibility Dates](https://developers.cloudflare.com/workers/configuration/compatibility-dates/) for full list.
skills/.curated/cloudflare-deploy/references/static-assets/patterns.md
- Network accessline 6
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 7
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 8
return env.ASSETS.fetch(request); - Network accessline 16
const response = await env.ASSETS.fetch("https://assets.local/logo.png"); - Network accessline 22
const url = new URL(request.url); url.pathname = "/index.html"; return env.ASSETS.fetch(new Request(url, request)); - Network accessline 24
return env.ASSETS.fetch(new Request(url, request)); - Network accessline 30
const response = await env.ASSETS.fetch(request); - Network accessline 40
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 41
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 42
const url = new URL(request.url); if (url.pathname === '/') { return env.ASSETS.fetch('/index.html'); - Network accessline 43
if (url.pathname === '/') { return env.ASSETS.fetch('/index.html'); } - Network accessline 44
return env.ASSETS.fetch('/index.html'); - Network accessline 45
} return env.ASSETS.fetch(request); } - Network accessline 46
return env.ASSETS.fetch(request); - Network accessline 56
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 57
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 60
return handleAPI(request, env); } return env.ASSETS.fetch(request); - Network accessline 61
} return env.ASSETS.fetch(request); } - Network accessline 62
return env.ASSETS.fetch(request); - Network accessline 78
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 79
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 85
} } return env.ASSETS.fetch(request); - Network accessline 86
} return env.ASSETS.fetch(request); } - Network accessline 87
return env.ASSETS.fetch(request); - Network accessline 97
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 98
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 99
const response = await env.ASSETS.fetch(request); - Network accessline 112
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 113
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 116
const url = new URL(request.url); if (url.pathname === '/') { return env.ASSETS.fetch(`/index-${variant}.html`); - Network accessline 117
if (url.pathname === '/') { return env.ASSETS.fetch(`/index-${variant}.html`); } - Network accessline 118
return env.ASSETS.fetch(`/index-${variant}.html`); - Network accessline 119
} return env.ASSETS.fetch(request); } - Network accessline 120
return env.ASSETS.fetch(request); - Network accessline 128
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 129
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 131
const url = new URL(request.url); if (url.pathname === '/') { return env.ASSETS.fetch(`/${locale}/index.html`); - Network accessline 132
if (url.pathname === '/') { return env.ASSETS.fetch(`/${locale}/index.html`); } - Network accessline 133
return env.ASSETS.fetch(`/${locale}/index.html`); - Network accessline 136
url.pathname = `/${locale}${url.pathname}`; } return env.ASSETS.fetch(url); - Network accessline 137
} return env.ASSETS.fetch(url); } - Network accessline 138
return env.ASSETS.fetch(url); - Network accessline 146
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 147
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 160
} } return env.ASSETS.fetch(request); - Network accessline 161
} return env.ASSETS.fetch(request); } - Network accessline 162
return env.ASSETS.fetch(request); - Network accessline 172
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 173
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 174
const response = await env.ASSETS.fetch(request);
skills/.curated/cloudflare-deploy/references/stream/README.md
- Network accessline 48
curl -X POST \ - Network accessline 49
"https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/copy" \ - Network accessline 50
[Credential-related source omitted] - Network accessline 52
-d '{"url": "https://example.com/video.mp4"}' - Network accessline 57
<iframe src="https://customer-<CODE>.cloudflarestream.com/<VIDEO_ID>/iframe" - Network accessline 58
src="https://customer-<CODE>.cloudflarestream.com/<VIDEO_ID>/iframe" - Network accessline 68
curl -X POST \ - Network accessline 69
"https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/live_inputs" \ - Network accessline 88
- Dashboard: https://dash.cloudflare.com/?to=/:account/stream - Network accessline 89
- API Docs: https://developers.cloudflare.com/api/resources/stream/ - Network accessline 90
- Stream Docs: https://developers.cloudflare.com/stream/
skills/.curated/cloudflare-deploy/references/stream/api-live.md
- Access to secretsline 12
[Credential-related source omitted] - Network accessline 26
async function createLiveInput(accountId: string, apiToken: string) { const response = await fetch( - Network accessline 27
const response = await fetch( - Network accessline 28
`https://api.cloudflare.com/client/v4/accounts/${accountId}/stream/live_inputs`, - Network accessline 51
async function getLiveStatus(accountId: string, liveInputId: string, apiToken: string) { const response = await fetch( - Network accessline 52
const response = await fetch( - Network accessline 53
`https://api.cloudflare.com/client/v4/accounts/${accountId}/stream/live_inputs/${liveInputId}`, - Network accessline 72
outputUrl: string, streamKey: string ) { return fetch( - Network accessline 73
) { return fetch( `https://api.cloudflare.com/client/v4/accounts/${accountId}/stream/live_inputs/${liveInputId}/outputs`, - Network accessline 74
return fetch( - Network accessline 75
`https://api.cloudflare.com/client/v4/accounts/${accountId}/stream/live_inputs/${liveInputId}/outputs`, - Network accessline 125
// Send to Stream via WHIP const response = await fetch( - Network accessline 126
const response = await fetch( - Network accessline 127
`https://customer-<CODE>.cloudflarestream.com/${liveInputId}/webRTC/publish`, - Network accessline 152
const response = await fetch( - Network accessline 153
`https://customer-<CODE>.cloudflarestream.com/${videoId}/webRTC/play`, - Network accessline 179
timeoutSeconds: 30, // Auto-stop 30s after stream ends requireSignedURLs: true, // Require token for VOD playback allowedOrigins: ['https://yourdomain.com'] - Network accessline 180
requireSignedURLs: true, // Require token for VOD playback allowedOrigins: ['https://yourdomain.com'] }; - Network accessline 181
allowedOrigins: ['https://yourdomain.com']
skills/.curated/cloudflare-deploy/references/stream/api.md
- Access to secretsline 13
[Credential-related source omitted] - Network accessline 27
const formData = new FormData(); formData.append('file', file); return fetch(uploadURL, { method: 'POST', body: formData }).then(r => r.json()); - Network accessline 28
formData.append('file', file); return fetch(uploadURL, { method: 'POST', body: formData }).then(r => r.json()); } - Network accessline 29
return fetch(uploadURL, { method: 'POST', body: formData }).then(r => r.json()); - Network accessline 36
const video = await client.stream.copy.create({ account_id: env.CF_ACCOUNT_ID, url: 'https://example.com/video.mp4', - Network accessline 37
account_id: env.CF_ACCOUNT_ID, url: 'https://example.com/video.mp4', meta: { name: 'My Video' }, - Network accessline 38
url: 'https://example.com/video.mp4', - Network accessline 49
<iframe src="https://customer-<CODE>.cloudflarestream.com/<VIDEO_ID>/iframe?autoplay=true&muted=true" - Network accessline 50
src="https://customer-<CODE>.cloudflarestream.com/<VIDEO_ID>/iframe?autoplay=true&muted=true" - Network accessline 60
// HLS const hlsUrl = `https://customer-<CODE>.cloudflarestream.com/${videoId}/manifest/video.m3u8`; - Network accessline 61
const hlsUrl = `https://customer-<CODE>.cloudflarestream.com/${videoId}/manifest/video.m3u8`; - Network accessline 63
// DASH const dashUrl = `https://customer-<CODE>.cloudflarestream.com/${videoId}/manifest/video.mpd`; - Network accessline 64
const dashUrl = `https://customer-<CODE>.cloudflarestream.com/${videoId}/manifest/video.mpd`; - Network accessline 70
// At specific time (seconds) const thumb = `https://customer-<CODE>.cloudflarestream.com/${videoId}/thumbnails/thumbnail.jpg?time=10s`; - Network accessline 71
const thumb = `https://customer-<CODE>.cloudflarestream.com/${videoId}/thumbnails/thumbnail.jpg?time=10s`; - Network accessline 73
// By percentage const thumbPct = `https://customer-<CODE>.cloudflarestream.com/${videoId}/thumbnails/thumbnail.jpg?time=50%`; - Network accessline 74
const thumbPct = `https://customer-<CODE>.cloudflarestream.com/${videoId}/thumbnails/thumbnail.jpg?time=50%`; - Network accessline 76
// Animated GIF const gif = `https://customer-<CODE>.cloudflarestream.com/${videoId}/thumbnails/thumbnail.gif`; - Network accessline 77
const gif = `https://customer-<CODE>.cloudflarestream.com/${videoId}/thumbnails/thumbnail.gif`; - Network accessline 83
// Low volume (<1k/day): Use API async function getSignedToken(accountId: string, videoId: string, apiToken: string) { const response = await fetch( - Network accessline 84
async function getSignedToken(accountId: string, videoId: string, apiToken: string) { const response = await fetch( `https://api.cloudflare.com/client/v4/accounts/${accountId}/stream/${videoId}/token`, - Network accessline 85
const response = await fetch( - Network accessline 86
`https://api.cloudflare.com/client/v4/accounts/${accountId}/stream/${videoId}/token`, - Network accessline 111
const formData = new FormData(); formData.append('file', captionFile); return fetch( - Network accessline 112
formData.append('file', captionFile); return fetch( `https://api.cloudflare.com/client/v4/accounts/${accountId}/stream/${videoId}/captions/${language}`, - Network accessline 113
return fetch( - Network accessline 114
`https://api.cloudflare.com/client/v4/accounts/${accountId}/stream/${videoId}/captions/${language}`, - Network accessline 127
// TODO: Requires Workers AI integration - see workers-ai reference async function generateAICaptions(accountId: string, videoId: string, apiToken: string) { return fetch( - Network accessline 128
async function generateAICaptions(accountId: string, videoId: string, apiToken: string) { return fetch( `https://api.cloudflare.com/client/v4/accounts/${accountId}/stream/${videoId}/captions/generate`, - Network accessline 129
return fetch( - Network accessline 130
`https://api.cloudflare.com/client/v4/accounts/${accountId}/stream/${videoId}/captions/generate`, - Network accessline 145
startTime: number, endTime: number ) { return fetch( - Network accessline 146
) { return fetch( `https://api.cloudflare.com/client/v4/accounts/${accountId}/stream/clip`, - Network accessline 147
return fetch( - Network accessline 148
`https://api.cloudflare.com/client/v4/accounts/${accountId}/stream/clip`,
skills/.curated/cloudflare-deploy/references/stream/configuration.md
- Network accessline 59
curl -X POST \ - Network accessline 60
"https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/keys" \ - Network accessline 76
curl -X PUT \ - Network accessline 77
"https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/webhook" \ - Network accessline 78
[Credential-related source omitted] - Network accessline 80
-d '{"notificationUrl": "https://your-worker.workers.dev/webhook"}' - Network accessline 96
expiry: new Date(Date.now() + 3600000).toISOString(), requireSignedURLs: true, allowedOrigins: ['https://yourdomain.com'], - Network accessline 97
requireSignedURLs: true, allowedOrigins: ['https://yourdomain.com'], meta: { creator: 'user-123' } - Network accessline 98
allowedOrigins: ['https://yourdomain.com'],
skills/.curated/cloudflare-deploy/references/stream/gotchas.md
- Network accessline 100
const formData = new FormData(); formData.append('file', file); const response = await fetch(url, { method: 'POST', body: formData }); - Network accessline 101
formData.append('file', file); const response = await fetch(url, { method: 'POST', body: formData }); const result = await response.json(); - Network accessline 102
const response = await fetch(url, { method: 'POST', body: formData });
skills/.curated/cloudflare-deploy/references/stream/patterns.md
- Network accessline 23
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 24
async fetch(request: Request, env: Env): Promise<Response> { - Access to secretsline 26
[Credential-related source omitted] - Network accessline 46
async function handleUpload(file: File) { setUploading(true); const { uploadURL, uid } = await fetch('/api/upload-url', { - Network accessline 47
setUploading(true); const { uploadURL, uid } = await fetch('/api/upload-url', { method: 'POST', - Network accessline 48
const { uploadURL, uid } = await fetch('/api/upload-url', { - Network accessline 110
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 111
async fetch(request: Request, env: Env): Promise<Response> { - Access to secretsline 114
[Credential-related source omitted] - Possible obfuscationline 144
'jwk', JSON.parse(atob(jwkBase64)), { name: 'RSASSA-PKCS1-v1_5', hash: 'SHA-256' }, false, ['sign']
skills/.curated/cloudflare-deploy/references/tail-workers/README.md
skills/.curated/cloudflare-deploy/references/tail-workers/api.md
skills/.curated/cloudflare-deploy/references/tail-workers/configuration.md
- Network accessline 12
// Process events from producer Worker ctx.waitUntil( fetch(env.LOG_ENDPOINT, { - Network accessline 13
ctx.waitUntil( fetch(env.LOG_ENDPOINT, { method: "POST", - Network accessline 14
fetch(env.LOG_ENDPOINT, { - Network accessline 99
"name": "my-tail-worker", "vars": { "LOG_ENDPOINT": "https://logs.example.com/ingest" - Network accessline 100
"vars": { "LOG_ENDPOINT": "https://logs.example.com/ingest" }, - Network accessline 101
"LOG_ENDPOINT": "https://logs.example.com/ingest"
skills/.curated/cloudflare-deploy/references/tail-workers/gotchas.md
- Network accessline 13
export default { async tail(events) { fetch(endpoint, { body: JSON.stringify(events) }); - Network accessline 14
async tail(events) { fetch(endpoint, { body: JSON.stringify(events) }); } - Network accessline 15
fetch(endpoint, { body: JSON.stringify(events) }); - Network accessline 20
export default { async tail(events, env, ctx) { await fetch(endpoint, { body: JSON.stringify(events) }); - Network accessline 21
async tail(events, env, ctx) { await fetch(endpoint, { body: JSON.stringify(events) }); } - Network accessline 22
await fetch(endpoint, { body: JSON.stringify(events) }); - Network accessline 29
ctx.waitUntil( (async () => { await fetch(endpoint, { body: JSON.stringify(events) }); - Network accessline 30
(async () => { await fetch(endpoint, { body: JSON.stringify(events) }); await processMore(); - Network accessline 31
await fetch(endpoint, { body: JSON.stringify(events) }); - Network accessline 122
ctx.waitUntil((async () => { try { await fetch(env.ENDPOINT, { body: JSON.stringify(events) }); - Network accessline 123
try { await fetch(env.ENDPOINT, { body: JSON.stringify(events) }); } catch (error) { - Network accessline 124
await fetch(env.ENDPOINT, { body: JSON.stringify(events) }); - Network accessline 165
export default { async fetch(request) { - Network accessline 166
async fetch(request) { - Network accessline 176
Trigger: `curl https://producer.example.workers.dev/test`
skills/.curated/cloudflare-deploy/references/tail-workers/patterns.md
- Network accessline 34
ctx.waitUntil( fetch(env.LOG_ENDPOINT, { - Network accessline 35
fetch(env.LOG_ENDPOINT, { - Network accessline 55
ctx.waitUntil( fetch(env.ERROR_ENDPOINT, { - Network accessline 56
fetch(env.ERROR_ENDPOINT, { - Network accessline 119
const tasks = []; if (errors.length > 0) { tasks.push(fetch(env.ERROR_ENDPOINT, { - Network accessline 120
if (errors.length > 0) { tasks.push(fetch(env.ERROR_ENDPOINT, { method: "POST", - Network accessline 121
tasks.push(fetch(env.ERROR_ENDPOINT, { - Network accessline 125
} if (success.length > 0) { tasks.push(fetch(env.SUCCESS_ENDPOINT, { - Network accessline 126
if (success.length > 0) { tasks.push(fetch(env.SUCCESS_ENDPOINT, { method: "POST", - Network accessline 127
tasks.push(fetch(env.SUCCESS_ENDPOINT, { - Network accessline 144
async tail(events, env, ctx) { if (Math.random() > 0.1) return; // 10% sample rate ctx.waitUntil(fetch(env.LOG_ENDPOINT, { - Network accessline 145
if (Math.random() > 0.1) return; // 10% sample rate ctx.waitUntil(fetch(env.LOG_ENDPOINT, { method: "POST", - Network accessline 146
ctx.waitUntil(fetch(env.LOG_ENDPOINT, { - Network accessline 162
async tail(events, env, ctx) { const batch = env.BATCH_DO.get(env.BATCH_DO.idFromName("batch")); ctx.waitUntil(batch.fetch("https://batch/add", { - Network accessline 163
const batch = env.BATCH_DO.get(env.BATCH_DO.idFromName("batch")); ctx.waitUntil(batch.fetch("https://batch/add", { method: "POST", - Network accessline 164
ctx.waitUntil(batch.fetch("https://batch/add", {
skills/.curated/cloudflare-deploy/references/terraform/README.md
- Access to secretsline 49
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/terraform/api.md
skills/.curated/cloudflare-deploy/references/terraform/configuration.md
- Access to secretsline 67
[Credential-related source omitted] - Network accessline 141
rules { action = "redirect"; enabled = true; expression = "(http.request.uri.path eq \"/old\")" action_parameters { from_value { status_code = 301; target_url { value = "https://example.com/new" }}} - Network accessline 142
action = "redirect"; enabled = true; expression = "(http.request.uri.path eq \"/old\")" action_parameters { from_value { status_code = 301; target_url { value = "https://example.com/new" }}} } - Network accessline 143
action_parameters { from_value { status_code = 301; target_url { value = "https://example.com/new" }}} - Access to secretsline 188
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/terraform/gotchas.md
- Access to secretsline 22
[Credential-related source omitted] - Dangerous shell operationline 110
**Solution:** Import resource back into state with `terraform import cloudflare_zone.example <zone-id>` or remove from state with `terraform state rm cloudflare_zone.example` - Network accessline 148
- [API](./api.md) - Data sources - [Patterns](./patterns.md) - Use cases - Provider docs: https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs - Network accessline 150
- Provider docs: https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs
skills/.curated/cloudflare-deploy/references/terraform/patterns.md
- Access to secretsline 71
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/tunnel/README.md
- Network accessline 90
ingress: - hostname: app.example.com service: http://localhost:8000 - Network accessline 91
- hostname: app.example.com service: http://localhost:8000 - hostname: api.example.com - Network accessline 92
service: http://localhost:8000 - Network accessline 93
- hostname: api.example.com service: https://localhost:8443 originRequest: - Network accessline 94
service: https://localhost:8443
skills/.curated/cloudflare-deploy/references/tunnel/api.md
- Network accessline 5
**Base URL**: `https://api.cloudflare.com/client/v4` - Access to secretsline 9
[Credential-related source omitted] - Access to secretsline 20
[Credential-related source omitted] - Network accessline 30
[Credential-related source omitted] - Access to secretsline 30
[Credential-related source omitted] - Access to secretsline 31
[Credential-related source omitted] - Network accessline 54
[Credential-related source omitted] - Access to secretsline 54
[Credential-related source omitted] - Access to secretsline 55
[Credential-related source omitted] - Network accessline 73
[Credential-related source omitted] - Access to secretsline 73
[Credential-related source omitted] - Access to secretsline 74
[Credential-related source omitted] - Network accessline 91
[Credential-related source omitted] - Access to secretsline 91
[Credential-related source omitted] - Access to secretsline 92
[Credential-related source omitted] - Network accessline 96
"ingress": [ {"hostname": "app.example.com", "service": "http://localhost:8000"}, - Network accessline 97
{"hostname": "app.example.com", "service": "http://localhost:8000"}, - Network accessline 110
config: { ingress: [ { hostname: 'app.example.com', service: 'http://localhost:8000' }, - Network accessline 111
ingress: [ { hostname: 'app.example.com', service: 'http://localhost:8000' }, { service: 'http_status:404' }, - Network accessline 112
{ hostname: 'app.example.com', service: 'http://localhost:8000' }, - Network accessline 124
[Credential-related source omitted] - Access to secretsline 124
[Credential-related source omitted] - Access to secretsline 125
[Credential-related source omitted] - Access to secretsline 152
[Credential-related source omitted] - Access to secretsline 155
[Credential-related source omitted] - Network accessline 172
# Create DNS route curl -X POST "https://api.cloudflare.com/client/v4/accounts/{account_id}/tunnels/{tunnel_id}/connections" \ - Network accessline 173
[Credential-related source omitted] - Access to secretsline 173
[Credential-related source omitted] - Access to secretsline 174
[Credential-related source omitted] - Network accessline 177
# Delete route curl -X DELETE "https://api.cloudflare.com/client/v4/accounts/{account_id}/tunnels/{tunnel_id}/connections/{route_id}" \ - Network accessline 178
[Credential-related source omitted] - Access to secretsline 178
[Credential-related source omitted] - Access to secretsline 179
[Credential-related source omitted] - Network accessline 185
# Add IP route curl -X POST "https://api.cloudflare.com/client/v4/accounts/{account_id}/tunnels/{tunnel_id}/routes" \ - Network accessline 186
[Credential-related source omitted] - Access to secretsline 186
[Credential-related source omitted] - Access to secretsline 187
[Credential-related source omitted] - Network accessline 190
# List IP routes curl -X GET "https://api.cloudflare.com/client/v4/accounts/{account_id}/tunnels/{tunnel_id}/routes" \ - Network accessline 191
[Credential-related source omitted] - Access to secretsline 191
[Credential-related source omitted] - Access to secretsline 192
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/tunnel/configuration.md
- Network accessline 28
ingress: - hostname: app.example.com service: http://localhost:8000 - Network accessline 29
- hostname: app.example.com service: http://localhost:8000 - service: http_status:404 # Required catch-all - Network accessline 30
service: http://localhost:8000 - Network accessline 41
- hostname: static.example.com path: \.(jpg|png|css|js)$ service: https://localhost:8001 - Network accessline 43
service: https://localhost:8001 - Network accessline 45
# Wildcard hostname - hostname: "*.example.com" service: https://localhost:8002 - Network accessline 47
service: https://localhost:8002 - Network accessline 49
# Path only (all hostnames) - path: /api/.* service: http://localhost:9000 - Network accessline 51
service: http://localhost:9000 - Network accessline 59
cloudflared tunnel ingress validate cloudflared tunnel ingress rule https://foo.example.com - Network accessline 60
cloudflared tunnel ingress rule https://foo.example.com - Network accessline 65
| Protocol | Format | Client Requirement | |----------|--------|-------------------| | HTTP | `http://localhost:8000` | Browser | - Network accessline 66
|----------|--------|-------------------| | HTTP | `http://localhost:8000` | Browser | | HTTPS | `https://localhost:8443` | Browser | - Network accessline 67
| HTTP | `http://localhost:8000` | Browser | - Network accessline 68
| HTTPS | `https://localhost:8443` | Browser | - Network accessline 126
ingress: - hostname: app.example.com service: http://localhost:8000 - Network accessline 127
- hostname: app.example.com service: http://localhost:8000 - service: http_status:404 - Network accessline 128
service: http://localhost:8000
skills/.curated/cloudflare-deploy/references/tunnel/gotchas.md
- Network accessline 120
cloudflared tunnel --loglevel debug run my-tunnel cloudflared tunnel ingress rule https://app.example.com - Network accessline 121
cloudflared tunnel ingress rule https://app.example.com - Network accessline 130
ingress: - hostname: app.example.com service: http://localhost:8000 - Network accessline 131
- hostname: app.example.com service: http://localhost:8000 - service: http_status:404 - Network accessline 132
service: http://localhost:8000
skills/.curated/cloudflare-deploy/references/tunnel/networking.md
- Network accessline 65
# Test port 7844 (QUIC/UDP) nc -zvu edge.argotunnel.com 7844 - Network accessline 66
nc -zvu edge.argotunnel.com 7844 - Network accessline 68
# Test port 443 (HTTP/2 fallback) nc -zv edge.argotunnel.com 443 - Network accessline 69
nc -zv edge.argotunnel.com 443 - Network accessline 144
# Enable metrics endpoint cloudflared tunnel --metrics localhost:9090 run my-tunnel curl localhost:9090/metrics | grep cloudflared_tunnel - Network accessline 146
curl localhost:9090/metrics | grep cloudflared_tunnel - Network accessline 148
# Test latency curl -w "time_total: %{time_total}\n" -o /dev/null https://myapp.example.com - Network accessline 149
curl -w "time_total: %{time_total}\n" -o /dev/null https://myapp.example.com
skills/.curated/cloudflare-deploy/references/tunnel/patterns.md
- Access to secretsline 10
[Credential-related source omitted] - Network accessline 66
ingress: - hostname: app.example.com service: http://localhost:8000 - Network accessline 67
- hostname: app.example.com service: http://localhost:8000 - service: http_status:404 - Network accessline 68
service: http://localhost:8000 - Network accessline 78
ingress: - hostname: myapp.example.com service: http://localhost:3000 - Network accessline 79
- hostname: myapp.example.com service: http://localhost:3000 - service: http_status:404 - Network accessline 80
service: http://localhost:3000 - Network accessline 96
ingress: - hostname: grpc.example.com service: http://localhost:50051 - Network accessline 97
- hostname: grpc.example.com service: http://localhost:50051 originRequest: - Network accessline 98
service: http://localhost:50051 - Network accessline 123
ingress_rule { hostname = "app.example.com" service = "http://localhost:8000" - Network accessline 124
hostname = "app.example.com" service = "http://localhost:8000" } - Network accessline 125
service = "http://localhost:8000" - Network accessline 162
config: { ingressRules: [ { hostname: "app.example.com", service: "http://localhost:8000" }, - Network accessline 163
ingressRules: [ { hostname: "app.example.com", service: "http://localhost:8000" }, { service: "http_status:404" }, - Network accessline 164
{ hostname: "app.example.com", service: "http://localhost:8000" }, - Dangerous shell operationline 190
sudo cloudflared service install - Dangerous shell operationline 191
sudo launchctl start com.cloudflare.cloudflared
skills/.curated/cloudflare-deploy/references/turn/README.md
- Network accessline 79
- [Cloudflare Calls Documentation](https://developers.cloudflare.com/calls/) - Network accessline 80
- [Cloudflare TURN Service Docs](https://developers.cloudflare.com/realtime/turn/) - Network accessline 81
- [Cloudflare API Reference](https://developers.cloudflare.com/api/resources/calls/subresources/turn/) - Network accessline 82
- [Orange Meets (Open Source Example)](https://github.com/cloudflare/orange)
skills/.curated/cloudflare-deploy/references/turn/api.md
- Network accessline 9
Base URL: `https://api.cloudflare.com/client/v4` - Network accessline 63
POST https://rtc.live.cloudflare.com/v1/turn/keys/{key_id}/credentials/generate - Network accessline 105
POST https://rtc.live.cloudflare.com/v1/turn/keys/{key_id}/credentials/revoke - Network accessline 193
const response = await fetch( - Network accessline 194
`https://rtc.live.cloudflare.com/v1/turn/keys/${config.keyId}/credentials/generate`,
skills/.curated/cloudflare-deploy/references/turn/configuration.md
- Access to secretsline 8
[Credential-related source omitted] - Network accessline 69
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 70
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 79
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 80
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 88
const response = await fetch( - Network accessline 89
`https://rtc.live.cloudflare.com/v1/turn/keys/${env.TURN_KEY_ID}/credentials/generate`, - Access to secretsline 93
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/turn/gotchas.md
- Network accessline 101
[Credential-related source omitted] - Network accessline 102
[Credential-related source omitted] - Network accessline 103
const response = await fetch(`https://rtc.live.cloudflare.com/v1/turn/...`, { - Network accessline 107
// ✅ GOOD: Generate credentials server-side const response = await fetch('/api/turn-credentials'); - Network accessline 108
const response = await fetch('/api/turn-credentials'); - Network accessline 135
Reference: [RFC 8445 Section 2.4](https://datatracker.ietf.org/doc/html/rfc8445#section-2.4)
skills/.curated/cloudflare-deploy/references/turn/patterns.md
- Network accessline 21
async function getTURNConfig(): Promise<RTCIceServer[]> { const response = await fetch('/api/turn-credentials'); - Network accessline 22
const response = await fetch('/api/turn-credentials'); - Network accessline 79
async function refreshTURNCredentials(pc: RTCPeerConnection): Promise<void> { const newCreds = await fetch('/turn-credentials').then(r => r.json()); - Network accessline 80
const newCreds = await fetch('/turn-credentials').then(r => r.json()); - Network accessline 132
const res = await fetch( - Network accessline 133
`https://rtc.live.cloudflare.com/v1/turn/keys/${keyId}/credentials/generate`,
skills/.curated/cloudflare-deploy/references/turnstile/README.md
- Network accessline 21
<!-- 1. Add script --> <script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script> - Network accessline 22
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script> - Network accessline 33
<div id="turnstile-container"></div> <script src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit"></script> - Network accessline 34
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit"></script> - Network accessline 45
// Cloudflare Workers export default { async fetch(request) { - Network accessline 46
export default { async fetch(request) { const formData = await request.formData(); - Network accessline 47
async fetch(request) { - Network accessline 51
const result = await fetch('https://challenges.cloudflare.com/turnstile/v0/siteverify', { - Access to secretsline 55
[Credential-related source omitted] - Network accessline 98
- [Cloudflare Turnstile Docs](https://developers.cloudflare.com/turnstile/) - Network accessline 99
- [Dashboard](https://dash.cloudflare.com/?to=/:account/turnstile)
skills/.curated/cloudflare-deploy/references/turnstile/api.md
- Network accessline 105
**Endpoint:** `https://challenges.cloudflare.com/turnstile/v0/siteverify` - Network accessline 123
// Cloudflare Workers const result = await fetch('https://challenges.cloudflare.com/turnstile/v0/siteverify', { - Network accessline 124
const result = await fetch('https://challenges.cloudflare.com/turnstile/v0/siteverify', { - Access to secretsline 128
[Credential-related source omitted] - Network accessline 227
<!-- Standard --> <script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script> - Network accessline 228
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script> - Network accessline 230
<!-- Explicit render mode --> <script src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit"></script> - Network accessline 231
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit"></script> - Network accessline 233
<!-- With load callback --> <script src="https://challenges.cloudflare.com/turnstile/v0/api.js?onload=onloadTurnstileCallback"></script> - Network accessline 234
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js?onload=onloadTurnstileCallback"></script>
skills/.curated/cloudflare-deploy/references/turnstile/configuration.md
- Network accessline 7
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script> - Network accessline 13
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit"></script> - Network accessline 19
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js?onload=myCallback"></script> - Network accessline 30
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js?compat=recaptcha"></script> - Network accessline 134
script-src https://challenges.cloudflare.com; - Network accessline 135
frame-src https://challenges.cloudflare.com; - Network accessline 140
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' https://challenges.cloudflare.com; - Network accessline 141
content="default-src 'self'; script-src 'self' https://challenges.cloudflare.com; frame-src https://challenges.cloudflare.com;"> - Network accessline 142
script-src 'self' https://challenges.cloudflare.com; - Network accessline 143
frame-src https://challenges.cloudflare.com;">
skills/.curated/cloudflare-deploy/references/turnstile/gotchas.md
- Network accessline 11
[Credential-related source omitted] - Network accessline 12
[Credential-related source omitted] - Network accessline 13
const validation = await fetch('https://challenges.cloudflare.com/turnstile/v0/siteverify', { - Network accessline 125
<meta http-equiv="Content-Security-Policy" content="script-src 'self' https://challenges.cloudflare.com; - Network accessline 126
content="script-src 'self' https://challenges.cloudflare.com; - Network accessline 127
frame-src https://challenges.cloudflare.com;"> - Access to secretsline 198
[Credential-related source omitted] - Access to secretsline 205
[Credential-related source omitted] - Access to secretsline 207
[Credential-related source omitted] - Access to secretsline 211
[Credential-related source omitted] - Network accessline 216
- [Turnstile Docs](https://developers.cloudflare.com/turnstile/) - Network accessline 217
- [Dashboard](https://dash.cloudflare.com/?to=/:account/turnstile) - Network accessline 218
- [Error Codes](https://developers.cloudflare.com/turnstile/troubleshooting/)
skills/.curated/cloudflare-deploy/references/turnstile/patterns.md
- Network accessline 9
<html> <head> <script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script> - Network accessline 10
<head> <script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script> </head> - Network accessline 11
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script> - Network accessline 26
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit"></script> - Network accessline 38
const response = await fetch('/submit', { - Network accessline 61
e.preventDefault(); if (!token) return; await fetch('/api/submit', { - Network accessline 62
if (!token) return; await fetch('/api/submit', { method: 'POST', - Network accessline 63
await fetch('/api/submit', { - Network accessline 94
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 95
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 107
// Validate token const ip = request.headers.get('CF-Connecting-IP'); const result = await fetch('https://challenges.cloudflare.com/turnstile/v0/siteverify', { - Network accessline 108
const ip = request.headers.get('CF-Connecting-IP'); const result = await fetch('https://challenges.cloudflare.com/turnstile/v0/siteverify', { method: 'POST', - Network accessline 109
const result = await fetch('https://challenges.cloudflare.com/turnstile/v0/siteverify', { - Access to secretsline 113
[Credential-related source omitted] - Access to secretsline 137
[Credential-related source omitted] - Network accessline 151
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit"></script> - Access to secretsline 191
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/vectorize/README.md
- Network accessline 130
- [Official Docs](https://developers.cloudflare.com/vectorize/) - Network accessline 131
- [Client API Reference](https://developers.cloudflare.com/vectorize/reference/client-api/) - Network accessline 132
- [Workers AI Models](https://developers.cloudflare.com/workers-ai/models/#text-embeddings) - Network accessline 133
- [Discord: #vectorize](https://discord.cloudflare.com)
skills/.curated/cloudflare-deploy/references/waf/README.md
- Access to secretsline 27
[Credential-related source omitted] - Network accessline 111
- [Cloudflare WAF Docs](https://developers.cloudflare.com/waf/) - Network accessline 112
- [Ruleset Engine](https://developers.cloudflare.com/ruleset-engine/) - Network accessline 113
- [Expression Reference](https://developers.cloudflare.com/ruleset-engine/rules-language/)
skills/.curated/cloudflare-deploy/references/waf/api.md
- Access to secretsline 9
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/waf/configuration.md
- Network accessline 5
**API Token**: Create at https://dash.cloudflare.com/profile/api-tokens - Access to secretsline 13
[Credential-related source omitted] - Access to secretsline 26
[Credential-related source omitted] - Network accessline 196
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 197
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 198
return fetch(`https://api.cloudflare.com/client/v4/zones/${env.ZONE_ID}/rulesets`, { - Access to secretsline 199
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/waf/patterns.md
- Access to secretsline 163
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/web-analytics/README.md
skills/.curated/cloudflare-deploy/references/web-analytics/configuration.md
skills/.curated/cloudflare-deploy/references/web-analytics/gotchas.md
- Network accessline 18
script-src 'self' https://static.cloudflareinsights.com https://cloudflareinsights.com;
skills/.curated/cloudflare-deploy/references/web-analytics/integration.md
- Network accessline 8
<script defer src='https://static.cloudflareinsights.com/beacon.min.js' - Network accessline 45
script-src 'self' https://static.cloudflareinsights.com; - Network accessline 46
connect-src 'self' https://cloudflareinsights.com; - Network accessline 53
if (localStorage.getItem('analytics-consent') === 'true') { const script = document.createElement('script'); script.src = 'https://static.cloudflareinsights.com/beacon.min.js'; - Network accessline 54
const script = document.createElement('script'); script.src = 'https://static.cloudflareinsights.com/beacon.min.js'; script.defer = true; - Network accessline 55
script.src = 'https://static.cloudflareinsights.com/beacon.min.js';
skills/.curated/cloudflare-deploy/references/web-analytics/patterns.md
- Network accessline 46
if (consent === 'accepted') { const script = document.createElement('script'); script.src = 'https://static.cloudflareinsights.com/beacon.min.js'; - Network accessline 47
[Credential-related source omitted] - Network accessline 48
script.src = 'https://static.cloudflareinsights.com/beacon.min.js'; - Access to secretsline 69
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/workerd/api.md
- Network accessline 7
export default { async fetch(request, env, ctx) { - Network accessline 8
async fetch(request, env, ctx) { - Network accessline 9
const value = await env.KV.get("key"); // Bindings in env const response = await env.API.fetch(request); // Service binding ctx.waitUntil(logRequest(request)); // Background task - Network accessline 10
const response = await env.API.fetch(request); // Service binding - Access to secretsline 34
[Credential-related source omitted] - Network accessline 37
export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { - Network accessline 38
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { - Network accessline 71
async fetch(request) { - Network accessline 96
### Fetch - `fetch()`, `Request`, `Response`, `Headers` - Network accessline 97
- `fetch()`, `Request`, `Response`, `Headers` - Network accessline 128
const response = await fetch('https://example.com');
skills/.curated/cloudflare-deploy/references/workerd/configuration.md
- Access to secretsline 68
[Credential-related source omitted] - Network accessline 122
const derived :Workerd.Worker = ( inherit = "base-service", bindings = [(name = "API_URL", text = "https://api.com"), (name = "DB", service = "postgres")] - Network accessline 123
inherit = "base-service", bindings = [(name = "API_URL", text = "https://api.com"), (name = "DB", service = "postgres")] ); - Network accessline 124
bindings = [(name = "API_URL", text = "https://api.com"), (name = "DB", service = "postgres")] - Access to secretsline 150
[Credential-related source omitted] - Access to secretsline 159
[Credential-related source omitted] - Access to secretsline 169
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/workerd/gotchas.md
- Network accessline 53
### "Worker not responding" **Cause:** Socket misconfigured, no fetch handler, or port unavailable **Solution:** Verify socket `address` matches, worker exports `fetch()`, port available - Network accessline 55
**Solution:** Verify socket `address` matches, worker exports `fetch()`, port available - Network accessline 113
**Problem:** Breaking changes after compat date update **Cause:** New flags enabled between dates **Solution:** Review [compat dates docs](https://developers.cloudflare.com/workers/configuration/compatibility-dates/), test locally first - Network accessline 115
**Solution:** Review [compat dates docs](https://developers.cloudflare.com/workers/configuration/compatibility-dates/), test locally first - Network accessline 135
5. **Check versions**: Workerd version vs compat date 6. **Isolate issue**: Minimal repro config 7. **Review schema**: [workerd.capnp](https://github.com/cloudflare/workerd/blob/main/src/workerd/server/workerd.capnp) - Network accessline 137
7. **Review schema**: [workerd.capnp](https://github.com/cloudflare/workerd/blob/main/src/workerd/server/workerd.capnp)
skills/.curated/cloudflare-deploy/references/workerd/patterns.md
- Network accessline 44
const prodWorker :Workerd.Worker = ( inherit = "base-service", bindings = [(name = "API_URL", text = "https://api.prod.com")] - Network accessline 45
inherit = "base-service", bindings = [(name = "API_URL", text = "https://api.prod.com")] ); - Network accessline 46
bindings = [(name = "API_URL", text = "https://api.prod.com")] - Network accessline 164
export default { async fetch(request, env, ctx) { - Network accessline 165
async fetch(request, env, ctx) { - Network accessline 178
export default { async fetch(request, env, ctx) { - Network accessline 179
async fetch(request, env, ctx) {
skills/.curated/cloudflare-deploy/references/workers-ai/README.md
- Network accessline 24
export default { async fetch(request: Request, env: Env) { - Network accessline 25
async fetch(request: Request, env: Env) { - Network accessline 93
curl https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai/run/@cf/meta/llama-3.1-8b-instruct \ - Network accessline 106
const model = openai('model-name', { baseURL: 'https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai/v1', - Network accessline 107
baseURL: 'https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai/v1', - Network accessline 171
# View model catalog # https://developers.cloudflare.com/workers-ai/models/ - Network accessline 172
# https://developers.cloudflare.com/workers-ai/models/
skills/.curated/cloudflare-deploy/references/workers-ai/api.md
- Network accessline 94
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/ai/run/@cf/meta/llama-3.1-8b-instruct \
skills/.curated/cloudflare-deploy/references/workers-ai/configuration.md
- Network accessline 27
export default { async fetch(request: Request, env: Env) { - Network accessline 28
async fetch(request: Request, env: Env) { - Network accessline 46
const response = await fetch( - Network accessline 47
`https://api.cloudflare.com/client/v4/accounts/${ACCOUNT_ID}/ai/run/@cf/meta/llama-3.1-8b-instruct`, - Access to secretsline 50
[Credential-related source omitted] - Network accessline 63
[Credential-related source omitted] - Network accessline 64
[Credential-related source omitted] - Access to secretsline 64
[Credential-related source omitted] - Network accessline 65
baseURL: `https://api.cloudflare.com/client/v4/accounts/${env.ACCOUNT_ID}/ai/v1`
skills/.curated/cloudflare-deploy/references/workers-ai/gotchas.md
- Network accessline 9
// ✅ CORRECT - Use native binding export default { async fetch(request: Request, env: Env) { - Network accessline 10
export default { async fetch(request: Request, env: Env) { await env.AI.run('@cf/meta/llama-3.1-8b-instruct', { messages: [...] }); - Network accessline 11
async fetch(request: Request, env: Env) { - Network accessline 109
import { openai } from '@ai-sdk/openai'; const model = openai('gpt-3.5-turbo', { baseURL: 'https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai/v1', - Network accessline 110
[Credential-related source omitted] - Network accessline 111
baseURL: 'https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai/v1',
skills/.curated/cloudflare-deploy/references/workers-for-platforms/README.md
- Network accessline 18
**One-click deploy:** [Platform Starter Kit](https://github.com/cloudflare/workers-for-platforms-example) deploys complete WfP setup with dispatch namespace, dispatch worker, and user worker example. - Network accessline 20
[](https://deploy.workers.cloudflare.com/?url=https://github.com/cloudflare/workers-for-platforms-example) - Network accessline 86
- [durable-objects](../durable-objects/) - Stateful multi-tenant patterns - [sandbox](../sandbox/) - Alternative for untrusted code execution - [Reference Architecture: Programmable Platforms](https://developers.cloudflare.com/reference-arc - Network accessline 87
- [sandbox](../sandbox/) - Alternative for untrusted code execution - [Reference Architecture: Programmable Platforms](https://developers.cloudflare.com/reference-architecture/diagrams/serverless/programmable-platforms/) - [Reference Archit - Network accessline 88
- [Reference Architecture: Programmable Platforms](https://developers.cloudflare.com/reference-architecture/diagrams/serverless/programmable-platforms/) - Network accessline 89
- [Reference Architecture: AI Vibe Coding Platform](https://developers.cloudflare.com/reference-architecture/diagrams/ai/ai-vibe-coding-platform/)
skills/.curated/cloudflare-deploy/references/workers-for-platforms/api.md
- Network accessline 6
[Credential-related source omitted] - Access to secretsline 6
[Credential-related source omitted] - Network accessline 7
"https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/workers/dispatch/namespaces/$NAMESPACE/scripts/$SCRIPT_NAME" \ - Access to secretsline 8
[Credential-related source omitted] - Access to secretsline 17
[Credential-related source omitted] - Network accessline 47
interface DynamicDispatchLimits { cpuMs?: number; // Max CPU milliseconds subRequests?: number; // Max fetch() calls - Network accessline 48
cpuMs?: number; // Max CPU milliseconds subRequests?: number; // Max fetch() calls } - Network accessline 49
subRequests?: number; // Max fetch() calls - Network accessline 61
curl -X PUT ".../scripts/$SCRIPT_NAME" \ - Network accessline 76
# List curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/workers/dispatch/namespaces/$NAMESPACE/scripts" \ - Network accessline 77
[Credential-related source omitted] - Access to secretsline 77
[Credential-related source omitted] - Access to secretsline 78
[Credential-related source omitted] - Network accessline 80
[Credential-related source omitted] - Network accessline 81
[Credential-related source omitted] - Access to secretsline 81
[Credential-related source omitted] - Network accessline 83
[Credential-related source omitted] - Network accessline 84
[Credential-related source omitted] - Access to secretsline 84
[Credential-related source omitted] - Network accessline 95
[Credential-related source omitted] - Access to secretsline 95
[Credential-related source omitted] - Access to secretsline 96
[Credential-related source omitted] - Network accessline 109
curl -X POST ".../workers/assets/upload?base64=true" \ - Network accessline 119
curl -X PUT ".../scripts/$SCRIPT_NAME" \ - Network accessline 134
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 135
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 136
const userWorkerName = new URL(request.url).hostname.split(".")[0]; const userWorker = env.DISPATCHER.get(userWorkerName); return await userWorker.fetch(request); - Network accessline 137
const userWorker = env.DISPATCHER.get(userWorkerName); return await userWorker.fetch(request); }, - Network accessline 138
return await userWorker.fetch(request); - Network accessline 145
const pathParts = new URL(request.url).pathname.split("/").filter(Boolean); const userWorker = env.DISPATCHER.get(pathParts[0]); return await userWorker.fetch(request); - Network accessline 147
return await userWorker.fetch(request); - Network accessline 153
const userWorkerName = await env.ROUTING_KV.get(hostname); const userWorker = env.DISPATCHER.get(userWorkerName); return await userWorker.fetch(request); - Network accessline 155
return await userWorker.fetch(request); - Network accessline 172
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 173
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 184
const headers = new Headers(request.headers); headers.set("Authorization", `Bearer ${generateJWT(customerName)}`); return fetch(new Request(request, { headers })); - Network accessline 185
headers.set("Authorization", `Bearer ${generateJWT(customerName)}`); return fetch(new Request(request, { headers })); } - Network accessline 186
return fetch(new Request(request, { headers })); - Network accessline 189
return fetch(request);
skills/.curated/cloudflare-deploy/references/workers-for-platforms/configuration.md
- Network accessline 28
[Credential-related source omitted] - Access to secretsline 28
[Credential-related source omitted] - Network accessline 29
"https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/workers/dispatch/namespaces/$NAMESPACE" \ - Access to secretsline 30
[Credential-related source omitted] - Network accessline 75
limits: { cpuMs: 10, // Max CPU ms subRequests: 5 // Max fetch() calls - Network accessline 76
cpuMs: 10, // Max CPU ms subRequests: 5 // Max fetch() calls } - Network accessline 77
subRequests: 5 // Max fetch() calls - Network accessline 85
try { return await userWorker.fetch(request); - Network accessline 86
return await userWorker.fetch(request); - Network accessline 130
# Set tags curl -X PUT ".../tags" -d '["customer-123", "pro", "production"]' - Network accessline 131
curl -X PUT ".../tags" -d '["customer-123", "pro", "production"]' - Network accessline 133
# Filter by tag curl ".../scripts?tags=production%3Ayes" - Network accessline 134
curl ".../scripts?tags=production%3Ayes" - Network accessline 136
# Delete by tag curl -X DELETE ".../scripts?tags=customer-123%3Ayes" - Network accessline 137
curl -X DELETE ".../scripts?tags=customer-123%3Ayes"
skills/.curated/cloudflare-deploy/references/workers-for-platforms/gotchas.md
- Network accessline 11
try { const userWorker = env.DISPATCHER.get(workerName); return userWorker.fetch(request); - Network accessline 12
const userWorker = env.DISPATCHER.get(workerName); return userWorker.fetch(request); } catch (e) { - Network accessline 13
return userWorker.fetch(request); - Network accessline 59
**Cause:** Outbound Worker enabled blocks `connect()` API for TCP sockets **Solution:** Outbound Workers only intercept `fetch()` calls; TCP socket connections unavailable when outbound configured. Remove outbound if TCP needed, or use pr - Network accessline 60
**Solution:** Outbound Workers only intercept `fetch()` calls; TCP socket connections unavailable when outbound configured. Remove outbound if TCP needed, or use proxy pattern. - Network accessline 123
See [Cloudflare API Rate Limits](https://developers.cloudflare.com/fundamentals/api/reference/limits/) for details. - Network accessline 129
| CPU time (custom limits) | Up to Workers plan limit | Set per-invocation in dispatch worker | | Subrequests (custom limits) | Up to Workers plan limit | Set per-invocation in dispatch worker | | Outbound Worker subrequests | Not intercept - Network accessline 130
| Subrequests (custom limits) | Up to Workers plan limit | Set per-invocation in dispatch worker | | Outbound Worker subrequests | Not intercepted for DO/mTLS | Only regular fetch() calls | | TCP sockets with outbound | Disabled | `connect( - Network accessline 131
| Outbound Worker subrequests | Not intercepted for DO/mTLS | Only regular fetch() calls |
skills/.curated/cloudflare-deploy/references/workers-for-platforms/patterns.md
- Network accessline 11
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 12
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 23
const userWorker = env.DISPATCHER.get(userWorkerName, {}, { limits }); return await userWorker.fetch(request); - Network accessline 24
return await userWorker.fetch(request); - Network accessline 63
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 64
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 72
const userWorker = env.DISPATCHER.get(hostnameData.workerName); return await userWorker.fetch(request); - Network accessline 73
return await userWorker.fetch(request); - Network accessline 148
**VibeSDK:** For AI-powered code generation + deployment platforms, see [VibeSDK](https://github.com/cloudflare/vibesdk) - handles AI generation, sandbox execution, live preview, and deployment. - Network accessline 150
Reference: [AI Vibe Coding Platform Architecture](https://developers.cloudflare.com/reference-architecture/diagrams/ai/ai-vibe-coding-platform/)
skills/.curated/cloudflare-deploy/references/workers-playground/README.md
- Network accessline 7
**URL:** [workers.cloudflare.com/playground](https://workers.cloudflare.com/playground) - Network accessline 26
export default { async fetch(request, env, ctx) { - Network accessline 27
async fetch(request, env, ctx) { - Network accessline 36
export default { async fetch(request, env, ctx) { - Network accessline 37
async fetch(request, env, ctx) { - Network accessline 47
export default { async fetch(request, env, ctx) { - Network accessline 48
async fetch(request, env, ctx) { - Network accessline 49
const response = await fetch('https://example.com'); - Network accessline 60
import { Hono } from 'https://esm.sh/hono@3'; - Network accessline 62
export default { async fetch(request) { - Network accessline 63
async fetch(request) { - Network accessline 64
const app = new Hono(); app.get('/', (c) => c.text('Hello Hono!')); return app.fetch(request); - Network accessline 65
app.get('/', (c) => c.text('Hello Hono!')); return app.fetch(request); } - Network accessline 66
return app.fetch(request); - Network accessline 124
- [Cloudflare Workers Docs](https://developers.cloudflare.com/workers/) - Network accessline 125
- [Workers Examples](https://developers.cloudflare.com/workers/examples/) - Network accessline 126
- [Wrangler CLI](https://developers.cloudflare.com/workers/wrangler/) - Network accessline 127
- [Workers API Reference](https://developers.cloudflare.com/workers/runtime-apis/)
skills/.curated/cloudflare-deploy/references/workers-playground/api.md
- Network accessline 6
export default { async fetch(request, env, ctx) { - Network accessline 7
async fetch(request, env, ctx) { - Network accessline 52
// Background work (after response sent) ctx.waitUntil(fetch('https://logs.example.com', { method: 'POST', body: '...' })); - Network accessline 53
ctx.waitUntil(fetch('https://logs.example.com', { method: 'POST', body: '...' })); - Network accessline 60
const response = await fetch('https://api.example.com'); - Network accessline 63
// With options await fetch(url, { - Network accessline 64
await fetch(url, { - Network accessline 77
let response = await cache.match(request); if (!response) { response = await fetch(origin); - Network accessline 78
if (!response) { response = await fetch(origin); await cache.put(request, response.clone()); // Clone before put! - Network accessline 79
response = await fetch(origin);
skills/.curated/cloudflare-deploy/references/workers-playground/configuration.md
- Network accessline 5
Navigate to [workers.cloudflare.com/playground](https://workers.cloudflare.com/playground) - Network accessline 35
export default { async fetch(request, env, ctx) { - Network accessline 36
async fetch(request, env, ctx) { - Network accessline 53
// Import from CDN import { Hono } from 'https://esm.sh/hono@3'; - Network accessline 54
import { Hono } from 'https://esm.sh/hono@3'; - Network accessline 59
export default { async fetch(request) { - Network accessline 60
async fetch(request) { - Network accessline 61
const app = new Hono(); app.get('/', (c) => c.text('Hello')); return app.fetch(request); - Network accessline 62
app.get('/', (c) => c.text('Hello')); return app.fetch(request); } - Network accessline 63
return app.fetch(request); - Network accessline 108
Example: `https://workers.cloudflare.com/playground#abc123...`
skills/.curated/cloudflare-deploy/references/workers-playground/gotchas.md
- Network accessline 17
// ❌ Body consumed twice const body = await request.text(); await fetch(url, { body: request.body }); // Error! - Network accessline 19
await fetch(url, { body: request.body }); // Error! - Network accessline 22
const clone = request.clone(); const body = await request.text(); await fetch(url, { body: clone.body }); - Network accessline 24
await fetch(url, { body: clone.body }); - Network accessline 32
// ✅ Move slow work to background ctx.waitUntil(fetch('https://analytics.example.com', {...})); - Network accessline 33
ctx.waitUntil(fetch('https://analytics.example.com', {...})); - Network accessline 42
// ❌ 100 individual fetches // ✅ Batch into single API call await fetch('https://api.example.com/batch', { - Network accessline 43
// ✅ Batch into single API call await fetch('https://api.example.com/batch', { body: JSON.stringify({ ids: [...] }) - Network accessline 44
await fetch('https://api.example.com/batch', {
skills/.curated/cloudflare-deploy/references/workers-playground/patterns.md
- Network accessline 6
export default { async fetch(request) { - Network accessline 7
async fetch(request) { - Network accessline 26
export default { async fetch(request) { - Network accessline 27
async fetch(request) { - Network accessline 37
export default { async fetch(request) { - Network accessline 38
async fetch(request) { - Network accessline 39
const url = new URL(request.url); url.hostname = 'api.example.com'; return fetch(url.toString(), { - Network accessline 40
url.hostname = 'api.example.com'; return fetch(url.toString(), { method: request.method, headers: request.headers, body: request.body - Network accessline 41
return fetch(url.toString(), { - Network accessline 51
export default { async fetch(request) { - Network accessline 52
async fetch(request) { - Network accessline 60
}); } const response = await fetch('https://api.example.com', request); - Network accessline 61
} const response = await fetch('https://api.example.com', request); const modified = new Response(response.body, response); - Network accessline 62
const response = await fetch('https://api.example.com', request); - Network accessline 73
export default { async fetch(request) { - Network accessline 74
async fetch(request) { - Network accessline 75
if (request.method !== 'GET') return fetch(request); - Network accessline 77
let response = await cache.match(request); if (!response) { response = await fetch('https://api.example.com'); - Network accessline 78
if (!response) { response = await fetch('https://api.example.com'); if (response.status === 200) await cache.put(request, response.clone()); - Network accessline 79
response = await fetch('https://api.example.com'); - Network accessline 90
import { Hono } from 'https://esm.sh/hono@3'; - Network accessline 101
export default { async fetch(request) { - Network accessline 102
async fetch(request) { - Network accessline 119
export default { async fetch(request) { - Network accessline 120
async fetch(request) { - Network accessline 121
try { const response = await fetch('https://api.example.com'); if (!response.ok) throw new Error(`API returned ${response.status}`); - Network accessline 122
const response = await fetch('https://api.example.com');
skills/.curated/cloudflare-deploy/references/workers-vpc/README.md
- Network accessline 37
**Don't use TCP Sockets when:** - ❌ You just need HTTP/HTTPS (use `fetch()` or VPC Services) - Network accessline 38
- ❌ You just need HTTP/HTTPS (use `fetch()` or VPC Services) - Network accessline 47
export default { async fetch(req: Request): Promise<Response> { - Network accessline 48
async fetch(req: Request): Promise<Response> { - Network accessline 111
2. **Validate destinations** - Prevent SSRF by allowlisting hosts 3. **Use Hyperdrive for databases** - Better performance than raw TCP 4. **Prefer fetch() for HTTP** - Only use TCP when necessary - Network accessline 112
3. **Use Hyperdrive for databases** - Better performance than raw TCP 4. **Prefer fetch() for HTTP** - Only use TCP when necessary 5. **Combine with Smart Placement** - Reduce latency to private networks - Network accessline 113
4. **Prefer fetch() for HTTP** - Only use TCP when necessary - Network accessline 125
- [TCP Sockets API Documentation](https://developers.cloudflare.com/workers/runtime-apis/tcp-sockets/) - Network accessline 126
- [Connect to databases guide](https://developers.cloudflare.com/workers/tutorials/connect-to-postgres/) - Network accessline 127
- [Cloudflare Tunnel setup](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/)
skills/.curated/cloudflare-deploy/references/workers-vpc/api.md
skills/.curated/cloudflare-deploy/references/workers-vpc/configuration.md
skills/.curated/cloudflare-deploy/references/workers-vpc/gotchas.md
- Network accessline 38
**Solution:** Create inside handler: `export default { async fetch() { const socket = connect(...); } }` - Network accessline 152
|----------|-------------|--------| | PostgreSQL/MySQL | [Hyperdrive](../hyperdrive/) | Connection pooling, caching | | HTTP/HTTPS | `fetch()` | Simpler, built-in | - Network accessline 153
| PostgreSQL/MySQL | [Hyperdrive](../hyperdrive/) | Connection pooling, caching | | HTTP/HTTPS | `fetch()` | Simpler, built-in | | HTTP with SSRF protection | VPC Services (beta 2025+) | Declarative bindings | - Network accessline 154
| HTTP/HTTPS | `fetch()` | Simpler, built-in |
skills/.curated/cloudflare-deploy/references/workers-vpc/patterns.md
- Network accessline 140
export default { async fetch(req: Request): Promise<Response> { - Network accessline 141
async fetch(req: Request): Promise<Response> { - Network accessline 197
export default { async fetch(req: Request): Promise<Response> { - Network accessline 198
async fetch(req: Request): Promise<Response> {
skills/.curated/cloudflare-deploy/references/workers/README.md
- Network accessline 18
export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { - Network accessline 19
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { - Access to secretsline 38
[Credential-related source omitted] - Network accessline 63
// HTTP requests async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> - Network accessline 64
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> - Network accessline 78
**Docs**: https://developers.cloudflare.com/workers/ - Network accessline 79
**Examples**: https://developers.cloudflare.com/workers/examples/ - Network accessline 80
**Runtime APIs**: https://developers.cloudflare.com/workers/runtime-apis/
skills/.curated/cloudflare-deploy/references/workers/api.md
- Network accessline 6
export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { - Network accessline 7
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { - Network accessline 13
}); } return fetch(request); // Subrequest to origin - Network accessline 14
} return fetch(request); // Subrequest to origin }, - Network accessline 15
return fetch(request); // Subrequest to origin - Access to secretsline 52
[Credential-related source omitted] - Network accessline 61
if (!response) { response = await fetch(request); - Network accessline 62
response = await fetch(request); - Network accessline 156
async fetch(request: Request): Promise<Response> { - Network accessline 161
return new Response(String(this.value)); } // Usage: await stub.fetch('http://x/increment') - Network accessline 163
// Usage: await stub.fetch('http://x/increment') - Network accessline 179
// Worker-to-worker RPC (zero latency, no internet round-trip) return env.SERVICE_B.fetch(request); - Network accessline 180
return env.SERVICE_B.fetch(request);
skills/.curated/cloudflare-deploy/references/workers/configuration.md
- Access to secretsline 76
[Credential-related source omitted] - Access to secretsline 79
[Credential-related source omitted] - Network accessline 129
export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { - Network accessline 130
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { - Access to secretsline 145
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/workers/frameworks.md
skills/.curated/cloudflare-deploy/references/workers/gotchas.md
- Network accessline 63
**Cause:** Using old `stub.fetch()` pattern instead of RPC (2024+) - Network accessline 67
// ❌ Old fetch pattern export class MyDO { async fetch(request: Request) { - Network accessline 68
export class MyDO { async fetch(request: Request) { const { method } = await request.json(); - Network accessline 69
async fetch(request: Request) { - Network accessline 74
} const stub = env.DO.get(id); const res = await stub.fetch('http://x', { method: 'POST', body: JSON.stringify({ method: 'increment' }) }); - Network accessline 76
const res = await stub.fetch('http://x', { method: 'POST', body: JSON.stringify({ method: 'increment' }) });
skills/.curated/cloudflare-deploy/references/workers/patterns.md
- Network accessline 10
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 11
async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 77
// ❌ Sequential const user = await fetch('/api/user/1'); - Network accessline 78
const user = await fetch('/api/user/1'); - Network accessline 79
const posts = await fetch('/api/posts?user=1'); - Network accessline 81
// ✅ Parallel const [user, posts] = await Promise.all([fetch('/api/user/1'), fetch('/api/posts?user=1')]); - Network accessline 82
const [user, posts] = await Promise.all([fetch('/api/user/1'), fetch('/api/posts?user=1')]); - Network accessline 113
describe('Worker', () => { it('returns 200', async () => { const req = new Request('http://localhost/'); - Network accessline 114
it('returns 200', async () => { const req = new Request('http://localhost/'); const env = { MY_VAR: 'test' }; - Network accessline 115
const req = new Request('http://localhost/'); - Network accessline 116
const env = { MY_VAR: 'test' }; const ctx = { waitUntil: () => {}, passThroughOnException: () => {} }; expect((await worker.fetch(req, env, ctx)).status).toBe(200); - Network accessline 117
const ctx = { waitUntil: () => {}, passThroughOnException: () => {} }; expect((await worker.fetch(req, env, ctx)).status).toBe(200); }); - Network accessline 118
expect((await worker.fetch(req, env, ctx)).status).toBe(200); - Network accessline 181
async run(event: WorkflowEvent<{ userId: string }>, step: WorkflowStep) { const user = await step.do('fetch-user', async () => fetch(`/api/users/${event.payload.userId}`).then(r => r.json()) - Network accessline 182
const user = await step.do('fetch-user', async () => fetch(`/api/users/${event.payload.userId}`).then(r => r.json()) ); - Network accessline 183
fetch(`/api/users/${event.payload.userId}`).then(r => r.json())
skills/.curated/cloudflare-deploy/references/workflows/api.md
- Network accessline 52
// From Worker export default { async fetch(req, env) { const instance = await env.MY_WORKFLOW.create({id: crypto.randomUUID(), params: { userId: 'user123' }}); return Response.json({ id: instance.id }); }}; - Network accessline 53
export default { async fetch(req, env) { const instance = await env.MY_WORKFLOW.create({id: crypto.randomUUID(), params: { userId: 'user123' }}); return Response.json({ id: instance.id }); }}; - Network accessline 75
await step.do('validate', async () => { if (!event.params.paymentMethod) throw new NonRetryableError('Payment method required'); const res = await fetch('https://api.example.com/charge', { method: 'POST' }); - Network accessline 76
if (!event.params.paymentMethod) throw new NonRetryableError('Payment method required'); const res = await fetch('https://api.example.com/charge', { method: 'POST' }); if (res.status === 401) throw new NonRetryableError('Invalid credent - Network accessline 77
const res = await fetch('https://api.example.com/charge', { method: 'POST' }); - Network accessline 86
// Idempotency await step.do('charge', async () => { const sub = await fetch(`https://api/subscriptions/${id}`).then(r => r.json()); - Network accessline 87
await step.do('charge', async () => { const sub = await fetch(`https://api/subscriptions/${id}`).then(r => r.json()); if (sub.charged) return sub; // Already done - Network accessline 88
const sub = await fetch(`https://api/subscriptions/${id}`).then(r => r.json()); - Network accessline 89
if (sub.charged) return sub; // Already done return await fetch(`https://api/subscriptions/${id}`, {method: 'POST', body: JSON.stringify({ amount: 10.0 })}).then(r => r.json()); }); - Network accessline 90
return await fetch(`https://api/subscriptions/${id}`, {method: 'POST', body: JSON.stringify({ amount: 10.0 })}).then(r => r.json()); - Network accessline 175
[Credential-related source omitted] - Network accessline 176
[Credential-related source omitted] - Network accessline 178
[Credential-related source omitted] - Network accessline 179
[Credential-related source omitted] - Network accessline 181
[Credential-related source omitted] - Network accessline 182
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/workflows/configuration.md
- Network accessline 40
timeout: '30 minutes' // Per-attempt timeout (default: 10min) }, async () => { const res = await fetch('https://api.example.com/data'); - Network accessline 41
}, async () => { const res = await fetch('https://api.example.com/data'); if (!res.ok) throw new Error('Failed'); - Network accessline 42
const res = await fetch('https://api.example.com/data'); - Access to secretsline 141
[Credential-related source omitted]
skills/.curated/cloudflare-deploy/references/workflows/gotchas.md
- Network accessline 89
- [Official Docs](https://developers.cloudflare.com/workflows/) - Network accessline 90
- [Get Started Guide](https://developers.cloudflare.com/workflows/get-started/guide/) - Network accessline 91
- [Workers API](https://developers.cloudflare.com/workflows/build/workers-api/) - Network accessline 92
- [REST API](https://developers.cloudflare.com/api/resources/workflows/) - Network accessline 93
- [Examples](https://developers.cloudflare.com/workflows/examples/) - Network accessline 94
- [Limits](https://developers.cloudflare.com/workflows/reference/limits/) - Network accessline 95
- [Pricing](https://developers.cloudflare.com/workflows/reference/pricing/)
skills/.curated/cloudflare-deploy/references/workflows/patterns.md
- Network accessline 38
async run(event, step) { const rawData = await step.do('extract', {retries: { limit: 10, delay: '30s', backoff: 'exponential' }}, async () => { const res = await fetch(event.params.sourceUrl); - Network accessline 39
const rawData = await step.do('extract', {retries: { limit: 10, delay: '30s', backoff: 'exponential' }}, async () => { const res = await fetch(event.params.sourceUrl); if (!res.ok) throw new Error('Fetch failed'); - Network accessline 40
const res = await fetch(event.params.sourceUrl);
skills/.curated/cloudflare-deploy/references/wrangler/api.md
- Network accessline 28
it("responds with 200", async () => { const response = await worker.fetch("http://example.com"); - Network accessline 29
const response = await worker.fetch("http://example.com"); - Access to secretsline 71
[Credential-related source omitted] - Network accessline 82
// Platform APIs await caches.default.put("https://example.com", new Response("cached")); - Network accessline 83
await caches.default.put("https://example.com", new Response("cached")); - Network accessline 165
const response = await api.fetch("http://example.com/api/login"); - Network accessline 166
// API Worker calls AUTH Worker via env.AUTH.fetch()
skills/.curated/cloudflare-deploy/references/wrangler/auth.md
skills/.curated/cloudflare-deploy/references/wrangler/configuration.md
- Access to secretsline 15
[Credential-related source omitted] - Network accessline 59
// Variables { "vars": { "API_URL": "https://api.example.com" } } - Network accessline 60
{ "vars": { "API_URL": "https://api.example.com" } } - Network accessline 127
export default { async fetch(request, env) { - Network accessline 128
async fetch(request, env) { - Network accessline 129
// Try serving static asset first const asset = await env.ASSETS.fetch(request); if (asset.status !== 404) return asset; - Network accessline 130
const asset = await env.ASSETS.fetch(request);
skills/.curated/cloudflare-deploy/references/wrangler/gotchas.md
- Network accessline 111
**Cause:** Mock function not returning Response **Solution:** Always return Response, use `fetch(req)` for passthrough: - Network accessline 112
**Solution:** Always return Response, use `fetch(req)` for passthrough: - Network accessline 117
return new Response("mocked"); } return fetch(req); // Required for non-mocked requests - Network accessline 118
} return fetch(req); // Required for non-mocked requests } - Network accessline 119
return fetch(req); // Required for non-mocked requests - Dangerous shell operationline 166
rm -rf .wrangler/state # Clear local state - Network accessline 186
- Docs: https://developers.cloudflare.com/workers/wrangler/ - Network accessline 187
- Config: https://developers.cloudflare.com/workers/wrangler/configuration/ - Network accessline 188
- Commands: https://developers.cloudflare.com/workers/wrangler/commands/ - Network accessline 189
- Examples: https://github.com/cloudflare/workers-sdk/tree/main/templates - Network accessline 190
- Discord: https://discord.gg/cloudflaredev
skills/.curated/cloudflare-deploy/references/wrangler/patterns.md
- Network accessline 89
it("creates user", async () => { const response = await worker.fetch("http://example.com/api/users", { - Network accessline 90
const response = await worker.fetch("http://example.com/api/users", { - Network accessline 116
it("fetches users", async () => { const response = await SELF.fetch("https://example.com/api/users"); - Network accessline 117
const response = await SELF.fetch("https://example.com/api/users"); - Network accessline 136
// Test API calling AUTH const response = await apiWorker.fetch("http://example.com/api/protected"); - Network accessline 137
const response = await apiWorker.fetch("http://example.com/api/protected"); - Network accessline 152
}); } return fetch(req); // Pass through other requests - Network accessline 153
} return fetch(req); // Pass through other requests } - Network accessline 154
return fetch(req); // Pass through other requests - Network accessline 158
// Test Worker that calls external API const response = await worker.fetch("http://example.com/proxy"); - Network accessline 159
const response = await worker.fetch("http://example.com/proxy"); - Network accessline 179
export default { async fetch(request: Request, env: Env): Promise<Response> { - Network accessline 180
async fetch(request: Request, env: Env): Promise<Response> { - Access to secretsline 183
[Credential-related source omitted] - Network accessline 193
export default { async fetch(request, env) { - Network accessline 194
async fetch(request, env) { - Network accessline 197
return Response.json({ data: "from API" }); } return env.ASSETS.fetch(request); // Static assets - Network accessline 198
} return env.ASSETS.fetch(request); // Static assets } - Network accessline 199
return env.ASSETS.fetch(request); // Static assets
skills/.curated/cloudflare-deploy/references/zaraz/README.md
skills/.curated/cloudflare-deploy/references/zaraz/patterns.md
skills/.curated/define-goal/LICENSE.txt
skills/.curated/figma-code-connect-components/LICENSE.TXT
- Network accessline 1
Use of these Figma skills and related files ("Materials") is governed by the Figma Developer Terms (available at https://www.figma.com/legal/developer-terms/). By accessing, downloading, or using these Materials — including through automate
skills/.curated/figma-code-connect-components/SKILL.md
- Network accessline 21
- Figma MCP server must be connected and accessible - User must provide a Figma URL with node ID: `https://figma.com/design/:fileKey/:fileName?node-id=1-2` - Network accessline 21
- Figma MCP server must be connected and accessible - User must provide a Figma URL with node ID: `https://figma.com/design/:fileKey/:fileName?node-id=1-2` - Network accessline 21
- Figma MCP server must be connected and accessible - User must provide a Figma URL with node ID: `https://figma.com/design/:fileKey/:fileName?node-id=1-2` - Network accessline 22
- User must provide a Figma URL with node ID: `https://figma.com/design/:fileKey/:fileName?node-id=1-2` - Network accessline 22
- User must provide a Figma URL with node ID: `https://figma.com/design/:fileKey/:fileName?node-id=1-2` - Network accessline 22
- User must provide a Figma URL with node ID: `https://figma.com/design/:fileKey/:fileName?node-id=1-2` - Network accessline 59
- URL format: `https://figma.com/design/:fileKey/:fileName?node-id=1-2` - Network accessline 59
- URL format: `https://figma.com/design/:fileKey/:fileName?node-id=1-2` - Network accessline 59
- URL format: `https://figma.com/design/:fileKey/:fileName?node-id=1-2` - Network accessline 179
User says: "Connect this Figma button to my code: https://figma.com/design/kL9xQn2VwM8pYrTb4ZcHjF/DesignSystem?node-id=42-15" - Network accessline 179
User says: "Connect this Figma button to my code: https://figma.com/design/kL9xQn2VwM8pYrTb4ZcHjF/DesignSystem?node-id=42-15" - Network accessline 179
User says: "Connect this Figma button to my code: https://figma.com/design/kL9xQn2VwM8pYrTb4ZcHjF/DesignSystem?node-id=42-15" - Network accessline 190
I found a match: - [Button](src/components/Button.tsx): Button at nodeId [42:15](https://figma.com/design/kL9xQn2VwM8pYrTb4ZcHjF/DesignSystem?node-id=42-15) - Network accessline 190
I found a match: - [Button](src/components/Button.tsx): Button at nodeId [42:15](https://figma.com/design/kL9xQn2VwM8pYrTb4ZcHjF/DesignSystem?node-id=42-15) - Network accessline 190
I found a match: - [Button](src/components/Button.tsx): Button at nodeId [42:15](https://figma.com/design/kL9xQn2VwM8pYrTb4ZcHjF/DesignSystem?node-id=42-15) - Network accessline 191
- [Button](src/components/Button.tsx): Button at nodeId [42:15](https://figma.com/design/kL9xQn2VwM8pYrTb4ZcHjF/DesignSystem?node-id=42-15) - Network accessline 191
- [Button](src/components/Button.tsx): Button at nodeId [42:15](https://figma.com/design/kL9xQn2VwM8pYrTb4ZcHjF/DesignSystem?node-id=42-15) - Network accessline 191
- [Button](src/components/Button.tsx): Button at nodeId [42:15](https://figma.com/design/kL9xQn2VwM8pYrTb4ZcHjF/DesignSystem?node-id=42-15) - Network accessline 204
User says: "Connect components in this frame: https://figma.com/design/pR8mNv5KqXzGwY2JtCfL4D/Components?node-id=10-50" - Network accessline 204
User says: "Connect components in this frame: https://figma.com/design/pR8mNv5KqXzGwY2JtCfL4D/Components?node-id=10-50" - Network accessline 204
User says: "Connect components in this frame: https://figma.com/design/pR8mNv5KqXzGwY2JtCfL4D/Components?node-id=10-50" - Network accessline 217
The following components match the design: - [ProductCard](src/components/ProductCard.tsx): ProductCard at nodeId [10:51](https://figma.com/design/pR8mNv5KqXzGwY2JtCfL4D/Components?node-id=10-51) - Network accessline 217
The following components match the design: - [ProductCard](src/components/ProductCard.tsx): ProductCard at nodeId [10:51](https://figma.com/design/pR8mNv5KqXzGwY2JtCfL4D/Components?node-id=10-51) - Network accessline 217
The following components match the design: - [ProductCard](src/components/ProductCard.tsx): ProductCard at nodeId [10:51](https://figma.com/design/pR8mNv5KqXzGwY2JtCfL4D/Components?node-id=10-51) - Network accessline 218
- [ProductCard](src/components/ProductCard.tsx): ProductCard at nodeId [10:51](https://figma.com/design/pR8mNv5KqXzGwY2JtCfL4D/Components?node-id=10-51) - Network accessline 218
- [ProductCard](src/components/ProductCard.tsx): ProductCard at nodeId [10:51](https://figma.com/design/pR8mNv5KqXzGwY2JtCfL4D/Components?node-id=10-51) - Network accessline 218
- [ProductCard](src/components/ProductCard.tsx): ProductCard at nodeId [10:51](https://figma.com/design/pR8mNv5KqXzGwY2JtCfL4D/Components?node-id=10-51) - Network accessline 219
- [Badge](src/components/Badge.tsx): Badge at nodeId [10:52](https://figma.com/design/pR8mNv5KqXzGwY2JtCfL4D/Components?node-id=10-52) - Network accessline 219
- [Badge](src/components/Badge.tsx): Badge at nodeId [10:52](https://figma.com/design/pR8mNv5KqXzGwY2JtCfL4D/Components?node-id=10-52) - Network accessline 219
- [Badge](src/components/Badge.tsx): Badge at nodeId [10:52](https://figma.com/design/pR8mNv5KqXzGwY2JtCfL4D/Components?node-id=10-52) - Network accessline 233
User says: "Connect this icon: https://figma.com/design/8yJDMeWDyBz71EnMOSuUiw/Icons?node-id=5-20" - Network accessline 233
User says: "Connect this icon: https://figma.com/design/8yJDMeWDyBz71EnMOSuUiw/Icons?node-id=5-20" - Network accessline 233
User says: "Connect this icon: https://figma.com/design/8yJDMeWDyBz71EnMOSuUiw/Icons?node-id=5-20" - Network accessline 326
**Cause:** The Figma URL format is incorrect or missing the `node-id` parameter. **Solution:** Verify the URL follows the required format: `https://figma.com/design/:fileKey/:fileName?node-id=1-2`. The `node-id` parameter is required. Also - Network accessline 326
**Cause:** The Figma URL format is incorrect or missing the `node-id` parameter. **Solution:** Verify the URL follows the required format: `https://figma.com/design/:fileKey/:fileName?node-id=1-2`. The `node-id` parameter is required. Also - Network accessline 326
**Cause:** The Figma URL format is incorrect or missing the `node-id` parameter. **Solution:** Verify the URL follows the required format: `https://figma.com/design/:fileKey/:fileName?node-id=1-2`. The `node-id` parameter is required. Also - Network accessline 327
**Solution:** Verify the URL follows the required format: `https://figma.com/design/:fileKey/:fileName?node-id=1-2`. The `node-id` parameter is required. Also ensure you convert `1-2` to `1:2` when calling tools. - Network accessline 327
**Solution:** Verify the URL follows the required format: `https://figma.com/design/:fileKey/:fileName?node-id=1-2`. The `node-id` parameter is required. Also ensure you convert `1-2` to `1:2` when calling tools. - Network accessline 327
**Solution:** Verify the URL follows the required format: `https://figma.com/design/:fileKey/:fileName?node-id=1-2`. The `node-id` parameter is required. Also ensure you convert `1-2` to `1:2` when calling tools. - Network accessline 348
- [Code Connect Documentation](https://help.figma.com/hc/en-us/articles/23920389749655-Code-Connect) - Network accessline 348
- [Code Connect Documentation](https://help.figma.com/hc/en-us/articles/23920389749655-Code-Connect) - Network accessline 348
- [Code Connect Documentation](https://help.figma.com/hc/en-us/articles/23920389749655-Code-Connect) - Network accessline 349
- [Figma MCP Server Tools and Prompts](https://developers.figma.com/docs/figma-mcp-server/tools-and-prompts/) - Network accessline 349
- [Figma MCP Server Tools and Prompts](https://developers.figma.com/docs/figma-mcp-server/tools-and-prompts/) - Network accessline 349
- [Figma MCP Server Tools and Prompts](https://developers.figma.com/docs/figma-mcp-server/tools-and-prompts/)
skills/.curated/figma-code-connect-components/agents/openai.yaml
skills/.curated/figma-code-connect-components/assets/figma-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
skills/.curated/figma-code-connect-components/assets/icon.svg
skills/.curated/figma-code-connect-components/scripts/normalize_node_id.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/.curated/figma-create-design-system-rules/LICENSE.TXT
- Network accessline 1
Use of these Figma skills and related files ("Materials") is governed by the Figma Developer Terms (available at https://www.figma.com/legal/developer-terms/). By accessing, downloading, or using these Materials — including through automate
skills/.curated/figma-create-design-system-rules/SKILL.md
- Network accessline 536
- [Figma MCP Server Documentation](https://developers.figma.com/docs/figma-mcp-server/) - Network accessline 536
- [Figma MCP Server Documentation](https://developers.figma.com/docs/figma-mcp-server/) - Network accessline 537
- [Figma Variables and Design Tokens](https://help.figma.com/hc/en-us/articles/15339657135383-Guide-to-variables-in-Figma) - Network accessline 537
- [Figma Variables and Design Tokens](https://help.figma.com/hc/en-us/articles/15339657135383-Guide-to-variables-in-Figma)
skills/.curated/figma-create-design-system-rules/agents/openai.yaml
skills/.curated/figma-create-design-system-rules/assets/figma-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
skills/.curated/figma-create-design-system-rules/assets/icon.svg
skills/.curated/figma-create-design-system-rules/scripts/check_agents_md.sh
- Executable scriptline 1
#!/usr/bin/env bash
skills/.curated/figma-create-new-file/LICENSE.TXT
- Network accessline 1
Use of these Figma skills and related files ("Materials") is governed by the Figma Developer Terms (available at https://www.figma.com/legal/developer-terms/). By accessing, downloading, or using these Materials — including through automate
skills/.curated/figma-create-new-file/agents/openai.yaml
skills/.curated/figma-create-new-file/assets/figma-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
skills/.curated/figma-create-new-file/assets/icon.svg
skills/.curated/figma-generate-design/LICENSE.TXT
- Network accessline 1
Use of these Figma skills and related files ("Materials") is governed by the Figma Developer Terms (available at https://www.figma.com/legal/developer-terms/). By accessing, downloading, or using these Materials — including through automate
skills/.curated/figma-generate-design/agents/openai.yaml
skills/.curated/figma-generate-design/assets/figma-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
skills/.curated/figma-generate-design/assets/icon.svg
skills/.curated/figma-generate-library/LICENSE.TXT
- Network accessline 1
Use of these Figma skills and related files ("Materials") is governed by the Figma Developer Terms (available at https://www.figma.com/legal/developer-terms/). By accessing, downloading, or using these Materials — including through automate
skills/.curated/figma-generate-library/agents/openai.yaml
skills/.curated/figma-generate-library/assets/figma-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
skills/.curated/figma-generate-library/assets/icon.svg
skills/.curated/figma-generate-library/references/component-creation.md
- Network accessline 536
// Create a simple icon component from SVG const svgNode = figma.createNodeFromSvg( '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">' + - Network accessline 537
const svgNode = figma.createNodeFromSvg( '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">' + '<path d="M9 18l6-6-6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" - Network accessline 538
'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">' + - Network accessline 672
cs.documentationLinks = [ { uri: 'https://your-storybook.com/button' } - Network accessline 673
{ uri: 'https://your-storybook.com/button' } - Network accessline 968
const cs = await figma.getNodeByIdAsync(CS_ID); cs.description = 'Buttons allow users to take actions and make choices with a single tap.'; cs.documentationLinks = [{ uri: 'https://your-storybook.com/button' }]; - Network accessline 970
cs.documentationLinks = [{ uri: 'https://your-storybook.com/button' }];
skills/.curated/figma-generate-library/scripts/bindVariablesToComponent.js
- Executable scriptline 1
Executable file
skills/.curated/figma-generate-library/scripts/cleanupOrphans.js
- Executable scriptline 1
Executable file
skills/.curated/figma-generate-library/scripts/createComponentWithVariants.js
- Executable scriptline 1
Executable file
skills/.curated/figma-generate-library/scripts/createDocumentationPage.js
- Executable scriptline 1
Executable file
skills/.curated/figma-generate-library/scripts/createSemanticTokens.js
- Executable scriptline 1
Executable file
skills/.curated/figma-generate-library/scripts/createVariableCollection.js
- Executable scriptline 1
Executable file
skills/.curated/figma-generate-library/scripts/inspectFileStructure.js
- Executable scriptline 1
Executable file
skills/.curated/figma-generate-library/scripts/rehydrateState.js
- Executable scriptline 1
Executable file
skills/.curated/figma-generate-library/scripts/validateCreation.js
- Executable scriptline 1
Executable file
skills/.curated/figma-implement-design/LICENSE.txt
- Network accessline 1
Use of these Figma skills and related files ("Materials") is governed by the Figma Developer Terms (available at https://www.figma.com/legal/developer-terms/). By accessing, downloading, or using these Materials — including through automate
skills/.curated/figma-implement-design/SKILL.md
- Network accessline 22
- Figma MCP server must be connected and accessible - User must provide a Figma URL in the format: `https://figma.com/design/:fileKey/:fileName?node-id=1-2` - Network accessline 22
- Figma MCP server must be connected and accessible - User must provide a Figma URL in the format: `https://figma.com/design/:fileKey/:fileName?node-id=1-2` - Network accessline 22
- Figma MCP server must be connected and accessible - User must provide a Figma URL in the format: `https://figma.com/design/:fileKey/:fileName?node-id=1-2` - Network accessline 23
- User must provide a Figma URL in the format: `https://figma.com/design/:fileKey/:fileName?node-id=1-2` - Network accessline 23
- User must provide a Figma URL in the format: `https://figma.com/design/:fileKey/:fileName?node-id=1-2` - Network accessline 23
- User must provide a Figma URL in the format: `https://figma.com/design/:fileKey/:fileName?node-id=1-2` - Network accessline 39
**URL format:** `https://figma.com/design/:fileKey/:fileName?node-id=1-2` - Network accessline 39
**URL format:** `https://figma.com/design/:fileKey/:fileName?node-id=1-2` - Network accessline 39
**URL format:** `https://figma.com/design/:fileKey/:fileName?node-id=1-2` - Network accessline 50
- URL: `https://figma.com/design/kL9xQn2VwM8pYrTb4ZcHjF/DesignSystem?node-id=42-15` - Network accessline 50
- URL: `https://figma.com/design/kL9xQn2VwM8pYrTb4ZcHjF/DesignSystem?node-id=42-15` - Network accessline 50
- URL: `https://figma.com/design/kL9xQn2VwM8pYrTb4ZcHjF/DesignSystem?node-id=42-15` - Network accessline 167
User says: "Implement this Figma button component: https://figma.com/design/kL9xQn2VwM8pYrTb4ZcHjF/DesignSystem?node-id=42-15" - Network accessline 167
User says: "Implement this Figma button component: https://figma.com/design/kL9xQn2VwM8pYrTb4ZcHjF/DesignSystem?node-id=42-15" - Network accessline 167
User says: "Implement this Figma button component: https://figma.com/design/kL9xQn2VwM8pYrTb4ZcHjF/DesignSystem?node-id=42-15" - Network accessline 184
User says: "Build this dashboard: https://figma.com/design/pR8mNv5KqXzGwY2JtCfL4D/Dashboard?node-id=10-5" - Network accessline 184
User says: "Build this dashboard: https://figma.com/design/pR8mNv5KqXzGwY2JtCfL4D/Dashboard?node-id=10-5" - Network accessline 184
User says: "Build this dashboard: https://figma.com/design/pR8mNv5KqXzGwY2JtCfL4D/Dashboard?node-id=10-5" - Network accessline 256
- [Figma MCP Server Documentation](https://developers.figma.com/docs/figma-mcp-server/) - Network accessline 256
- [Figma MCP Server Documentation](https://developers.figma.com/docs/figma-mcp-server/) - Network accessline 256
- [Figma MCP Server Documentation](https://developers.figma.com/docs/figma-mcp-server/) - Network accessline 257
- [Figma MCP Server Tools and Prompts](https://developers.figma.com/docs/figma-mcp-server/tools-and-prompts/) - Network accessline 257
- [Figma MCP Server Tools and Prompts](https://developers.figma.com/docs/figma-mcp-server/tools-and-prompts/) - Network accessline 257
- [Figma MCP Server Tools and Prompts](https://developers.figma.com/docs/figma-mcp-server/tools-and-prompts/) - Network accessline 258
- [Figma Variables and Design Tokens](https://help.figma.com/hc/en-us/articles/15339657135383-Guide-to-variables-in-Figma) - Network accessline 258
- [Figma Variables and Design Tokens](https://help.figma.com/hc/en-us/articles/15339657135383-Guide-to-variables-in-Figma) - Network accessline 258
- [Figma Variables and Design Tokens](https://help.figma.com/hc/en-us/articles/15339657135383-Guide-to-variables-in-Figma)
skills/.curated/figma-implement-design/agents/openai.yaml
skills/.curated/figma-implement-design/assets/figma-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
skills/.curated/figma-implement-design/assets/icon.svg
skills/.curated/figma-use/LICENSE.TXT
- Network accessline 1
Use of these Figma skills and related files ("Materials") is governed by the Figma Developer Terms (available at https://www.figma.com/legal/developer-terms/). By accessing, downloading, or using these Materials — including through automate
skills/.curated/figma-use/agents/openai.yaml
skills/.curated/figma-use/assets/figma-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
skills/.curated/figma-use/assets/icon.svg
skills/.curated/figma-use/references/api-reference.md
- Network accessline 243
// Documentation links — array of {uri, label} shown as clickable links componentSet.documentationLinks = [ { uri: "https://example.com/docs", label: "Component Docs" } - Network accessline 244
componentSet.documentationLinks = [ { uri: "https://example.com/docs", label: "Component Docs" } ] - Network accessline 245
{ uri: "https://example.com/docs", label: "Component Docs" } - Network accessline 247
// ⚠<U+FE0F> uri MUST be a valid URL (https://...) — relative paths will throw
skills/.curated/figma-use/references/plugin-api-patterns.md
- Network accessline 115
const svgString = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
skills/.curated/figma-use/references/plugin-api-standalone.d.ts
- Network accessline 1
// https://raw.githubusercontent.com/figma/plugin-typings/refs/heads/master/plugin-api-standalone.d.ts - Executable scriptline 1
Executable file - Network accessline 7
*/ /** * @see https://developers.figma.com/docs/plugins/api/properties/figma-on - Network accessline 8
/** * @see https://developers.figma.com/docs/plugins/api/properties/figma-on */ - Network accessline 9
* @see https://developers.figma.com/docs/plugins/api/properties/figma-on - Network accessline 20
| 'timerdone' /** * @see https://developers.figma.com/docs/plugins/api/figma - Network accessline 21
/** * @see https://developers.figma.com/docs/plugins/api/figma */ - Network accessline 22
* @see https://developers.figma.com/docs/plugins/api/figma - Network accessline 28
readonly apiVersion: '1.0.0' /** * The currently executing command from the `manifest.json` file. It is the command string in the `ManifestMenuItem` (more details in the [manifest guide](https://developers.figma.com/docs/plugins/manife - Network accessline 29
/** * The currently executing command from the `manifest.json` file. It is the command string in the `ManifestMenuItem` (more details in the [manifest guide](https://developers.figma.com/docs/plugins/manifest)). If the plugin does not ha - Network accessline 30
* The currently executing command from the `manifest.json` file. It is the command string in the `ManifestMenuItem` (more details in the [manifest guide](https://developers.figma.com/docs/plugins/manifest)). If the plugin does not have any - Network accessline 32
readonly command: string /** * The current editor type this plugin is running in. See also [Setting editor type](https://developers.figma.com/docs/plugins/setting-editor-type). - Network accessline 33
/** * The current editor type this plugin is running in. See also [Setting editor type](https://developers.figma.com/docs/plugins/setting-editor-type). */ - Network accessline 34
* The current editor type this plugin is running in. See also [Setting editor type](https://developers.figma.com/docs/plugins/setting-editor-type). - Network accessline 42
* - `inspect` - The plugin is running in the Inspect panel in Dev Mode. * - `codegen` - The plugin is running in the Code section of the Inspect panel in Dev Mode. * - `linkpreview` - The plugin is generating a link preview for a [Dev - Network accessline 43
* - `codegen` - The plugin is running in the Code section of the Inspect panel in Dev Mode. * - `linkpreview` - The plugin is generating a link preview for a [Dev resource](https://help.figma.com/hc/en-us/articles/15023124644247#Add_exte - Network accessline 44
* - `linkpreview` - The plugin is generating a link preview for a [Dev resource](https://help.figma.com/hc/en-us/articles/15023124644247#Add_external_links_and_resources_for_developers) in Dev Mode. - Network accessline 81
/** * The file key of the current file this plugin is running on. * **Only [private plugins](https://help.figma.com/hc/en-us/articles/4404228629655-Create-private-organization-plugins) and Figma-owned resources (such as the Jira and A - Network accessline 82
* The file key of the current file this plugin is running on. * **Only [private plugins](https://help.figma.com/hc/en-us/articles/4404228629655-Create-private-organization-plugins) and Figma-owned resources (such as the Jira and Asana wi - Network accessline 83
* **Only [private plugins](https://help.figma.com/hc/en-us/articles/4404228629655-Create-private-organization-plugins) and Figma-owned resources (such as the Jira and Asana widgets) have access to this.** - Network accessline 120
* This property contains methods used to read, set, and modify the built in FigJam timer. * * Read more in the [timer section](https://developers.figma.com/docs/plugins/api/figma-timer). - Network accessline 121
* * Read more in the [timer section](https://developers.figma.com/docs/plugins/api/figma-timer). */ - Network accessline 122
* Read more in the [timer section](https://developers.figma.com/docs/plugins/api/figma-timer). - Network accessline 126
* This property contains methods used to read and set the viewport, the user-visible area of the current page. * * Read more in the [viewport section](https://developers.figma.com/docs/plugins/api/figma-viewport). - Network accessline 127
* * Read more in the [viewport section](https://developers.figma.com/docs/plugins/api/figma-viewport). */ - Network accessline 128
* Read more in the [viewport section](https://developers.figma.com/docs/plugins/api/figma-viewport). - Network accessline 152
* This property contains methods used to integrate with the Dev Mode codegen functionality. * * Read more in the [codegen section](https://developers.figma.com/docs/plugins/api/figma-codegen). - Network accessline 153
* * Read more in the [codegen section](https://developers.figma.com/docs/plugins/api/figma-codegen). */ - Network accessline 154
* Read more in the [codegen section](https://developers.figma.com/docs/plugins/api/figma-codegen). - Network accessline 158
* This property contains methods used to integrate with the Figma for VS Code extension. If `undefined`, the plugin is not running in VS Code. * * Read more in [Dev Mode plugins in Visual Studio Code](https://developers.figma.com/docs - Network accessline 159
* * Read more in [Dev Mode plugins in Visual Studio Code](https://developers.figma.com/docs/plugins/working-in-dev-mode#dev-mode-plugins-in-visual-studio-code) */ - Network accessline 160
* Read more in [Dev Mode plugins in Visual Studio Code](https://developers.figma.com/docs/plugins/working-in-dev-mode#dev-mode-plugins-in-visual-studio-code) - Network accessline 162
readonly vscode?: VSCodeAPI /** * Caution: This is a private API only available to [Figma partners](https://www.figma.com/partners/) - Network accessline 163
/** * Caution: This is a private API only available to [Figma partners](https://www.figma.com/partners/) */ - Network accessline 164
* Caution: This is a private API only available to [Figma partners](https://www.figma.com/partners/) - Network accessline 349
* @remarks * * In the VS Code Extension, this API is required to open a url in the browser. Read more in [Dev Mode plugins in Visual Studio Code](https://developers.figma.com/docs/plugins/working-in-dev-mode#dev-mode-plugins-in-visual - Network accessline 350
* * In the VS Code Extension, this API is required to open a url in the browser. Read more in [Dev Mode plugins in Visual Studio Code](https://developers.figma.com/docs/plugins/working-in-dev-mode#dev-mode-plugins-in-visual-studio-code). - Network accessline 351
* In the VS Code Extension, this API is required to open a url in the browser. Read more in [Dev Mode plugins in Visual Studio Code](https://developers.figma.com/docs/plugins/working-in-dev-mode#dev-mode-plugins-in-visual-studio-code). - Network accessline 355
* Enables you to render UI to interact with the user, or simply to access browser APIs. This function creates a modal dialog with an `<iframe>` containing the HTML markup in the `html` argument. * * @param html - The HTML to insert in - Network accessline 356
* * @param html - The HTML to insert into the iframe. You can pass in the HTML code as a string here, but this will often be the global value [`__html__`](https://developers.figma.com/docs/plugins/api/global-objects#html). * @param op - Network accessline 357
* @param html - The HTML to insert into the iframe. You can pass in the HTML code as a string here, but this will often be the global value [`__html__`](https://developers.figma.com/docs/plugins/api/global-objects#html). - Network accessline 362
* - `title`: The title of the UI window. Defaults to the plugin name. * - `position`: The position of the UI window. Defaults to the last position of the iframe or the center of the viewport. If specified, expects an X/Y coordinate in th - Network accessline 363
* - `position`: The position of the UI window. Defaults to the last position of the iframe or the center of the viewport. If specified, expects an X/Y coordinate in the canvas space (i.e matches x/y values returned by `<PluginNode>.x` and ` - Network accessline 364
* - `themeColors`: Defaults to `false`. When enabled, CSS variables will be added to the plugin iframe to allow [support for light and dark themes](https://developers.figma.com/docs/plugins/css-variables). - Network accessline 368
* @remarks * * The easiest way to use this API is to load the HTML file defined in the manifest. This enables writing a separate HTML file which can be accessed through the [`__html__`](https://developers.figma.com/docs/plugins/api/gl - Network accessline 369
* * The easiest way to use this API is to load the HTML file defined in the manifest. This enables writing a separate HTML file which can be accessed through the [`__html__`](https://developers.figma.com/docs/plugins/api/global-objects#h - Network accessline 370
* The easiest way to use this API is to load the HTML file defined in the manifest. This enables writing a separate HTML file which can be accessed through the [`__html__`](https://developers.figma.com/docs/plugins/api/global-objects#html) - Network accessline 392
* This property contains methods used to modify and communicate with the UI created via `figma.showUI(...)`. * * Read more in the [UI section](https://developers.figma.com/docs/plugins/api/figma-ui). - Network accessline 393
* * Read more in the [UI section](https://developers.figma.com/docs/plugins/api/figma-ui). */ - Network accessline 394
* Read more in the [UI section](https://developers.figma.com/docs/plugins/api/figma-ui). - Network accessline 398
* This property contains convenience functions for common operations. * * Read more in the [util section](https://developers.figma.com/docs/plugins/api/figma-util). - Network accessline 399
* * Read more in the [util section](https://developers.figma.com/docs/plugins/api/figma-util). */ - Network accessline 400
* Read more in the [util section](https://developers.figma.com/docs/plugins/api/figma-util). - Network accessline 404
* This property contains constants that can be accessed by the plugin API. * * Read more in the [constants section](https://developers.figma.com/docs/plugins/api/figma-constants). - Network accessline 405
* * Read more in the [constants section](https://developers.figma.com/docs/plugins/api/figma-constants). */ - Network accessline 406
* Read more in the [constants section](https://developers.figma.com/docs/plugins/api/figma-constants). - Network accessline 410
* This property contains methods to store persistent data on the user's local machine. * * Read more in the [client storage section](https://developers.figma.com/docs/plugins/api/figma-clientStorage). - Network accessline 411
* * Read more in the [client storage section](https://developers.figma.com/docs/plugins/api/figma-clientStorage). */ - Network accessline 412
* Read more in the [client storage section](https://developers.figma.com/docs/plugins/api/figma-clientStorage). - Network accessline 414
readonly clientStorage: ClientStorageAPI /** * This property contains methods to handle user inputs when a plugin is launched in query mode. See [Accepting Parameters as Input](https://developers.figma.com/docs/plugins/plugin-parameter - Network accessline 415
/** * This property contains methods to handle user inputs when a plugin is launched in query mode. See [Accepting Parameters as Input](https://developers.figma.com/docs/plugins/plugin-parameters) for more details. */ - Network accessline 416
* This property contains methods to handle user inputs when a plugin is launched in query mode. See [Accepting Parameters as Input](https://developers.figma.com/docs/plugins/plugin-parameters) for more details. - Network accessline 582
* | Change | `type` property | Description - Network accessline 583
* |------------------------------------------------------------------|---------------------------|---------------------------------------------------------------------------------------------------------------------------------------------- - Network accessline 584
* | [`CreateChange`](https://developers.figma.com/docs/plugins/api/DocumentChange#createchange) | `'CREATE'` | A node has been created in the document. If a node with nested children is being added to the docume - Network accessline 585
* | [`DeleteChange`](https://developers.figma.com/docs/plugins/api/DocumentChange#deletechange) | `'DELETE'` | A node has been removed from the document. If a node with nested children is being removed from the - Network accessline 586
* | [`PropertyChange`](https://developers.figma.com/docs/plugins/api/DocumentChange#propertychange) | `'PROPERTY_CHANGE'` | A property of a node has changed. - Network accessline 587
* | [`StyleCreateChange`](https://developers.figma.com/docs/plugins/api/DocumentChange#stylecreatechange) | `'STYLE_CREATE'` | A style has been added to the document. - Network accessline 588
* | [`StyleDeleteChange`](https://developers.figma.com/docs/plugins/api/DocumentChange#styledeletechange) | `'STYLE_DELETE'` | A style has been removed from the document. - Network accessline 589
* | [`StylePropertyChange`](https://developers.figma.com/docs/plugins/api/DocumentChange#stylepropertychange) | `'STYLE_PROPERTY_CHANGE'` | A style has had a property changed. - Network accessline 652
* ``` * * For a more involved example see our [plugin samples on GitHub](https://github.com/figma/plugin-samples/tree/master/document-change). - Network accessline 653
* * For a more involved example see our [plugin samples on GitHub](https://github.com/figma/plugin-samples/tree/master/document-change). * - Network accessline 654
* For a more involved example see our [plugin samples on GitHub](https://github.com/figma/plugin-samples/tree/master/document-change). - Network accessline 681
* The `start` property is the index of the first character in the range. The `end` property is the index of the last character in the range. The `suggestions` property is an array of strings that represent the suggestions for the range. The - Network accessline 682
* * For more information read our in depth guide on [text review plugins](https://developers.figma.com/docs/plugins/textreview-plugins). * - Network accessline 683
* For more information read our in depth guide on [text review plugins](https://developers.figma.com/docs/plugins/textreview-plugins). - Network accessline 687
* This event will trigger when objects outside Figma (such as elements from other browser windows, or files from the local filesystem) are dropped onto the canvas. * * It can also be triggered by a special `pluginDrop` message sent fr - Network accessline 688
* * It can also be triggered by a special `pluginDrop` message sent from the UI. See the [Triggering drop events from the UI](https://developers.figma.com/docs/plugins/creating-ui#triggering-drop-events-from-the-ui) section for more deta - Network accessline 689
* It can also be triggered by a special `pluginDrop` message sent from the UI. See the [Triggering drop events from the UI](https://developers.figma.com/docs/plugins/creating-ui#triggering-drop-events-from-the-ui) section for more details. - Network accessline 708
* - The `items` property is an array of `DropItem` objects. You will see multiple objects if a drop contains multiple, non-file data types. If there are no data items, this array will be empty. * - The `files` property is an array of dro - Network accessline 709
* - The `files` property is an array of dropped files represented as `DropFile` objects. If no files are present, this array will be empty. * - The `dropMetadata` property comes from drop events [explicitly triggered by the UI](https://d - Network accessline 710
* - The `dropMetadata` property comes from drop events [explicitly triggered by the UI](https://developers.figma.com/docs/plugins/creating-ui#triggering-drop-events-from-the-ui). - Network accessline 726
* ``` * * See the Icon Drag-and-Drop and PNG Crop examples in the [figma/plugin-samples](https://github.com/figma/plugin-samples) repository for plugins that implement this API. - Network accessline 727
* * See the Icon Drag-and-Drop and PNG Crop examples in the [figma/plugin-samples](https://github.com/figma/plugin-samples) repository for plugins that implement this API. * - Network accessline 728
* See the Icon Drag-and-Drop and PNG Crop examples in the [figma/plugin-samples](https://github.com/figma/plugin-samples) repository for plugins that implement this API. - Network accessline 730
* #### UI Recommendations * * When the plugin registers a drop callback, it should give the user instructions with either text in the plugin UI or [`figma.notify()`](https://developers.figma.com/docs/plugins/api/properties/figma-notif - Network accessline 731
* * When the plugin registers a drop callback, it should give the user instructions with either text in the plugin UI or [`figma.notify()`](https://developers.figma.com/docs/plugins/api/properties/figma-notify) (if the plugin does not sh - Network accessline 732
* When the plugin registers a drop callback, it should give the user instructions with either text in the plugin UI or [`figma.notify()`](https://developers.figma.com/docs/plugins/api/properties/figma-notify) (if the plugin does not show a - Network accessline 733
* * [`figma.notify()`](https://developers.figma.com/docs/plugins/api/properties/figma-notify) can be called with the `timeout` option set to `Infinity` to make the notification show for as long as the plugin is open. * - Network accessline 734
* [`figma.notify()`](https://developers.figma.com/docs/plugins/api/properties/figma-notify) can be called with the `timeout` option set to `Infinity` to make the notification show for as long as the plugin is open. - Network accessline 756
* ``` * * - The `parameters` property is of type [`ParameterValues`](https://developers.figma.com/docs/plugins/api/figma-parameters#parametervalues), and contains the value entered for each parameter. - Network accessline 757
* * - The `parameters` property is of type [`ParameterValues`](https://developers.figma.com/docs/plugins/api/figma-parameters#parametervalues), and contains the value entered for each parameter. * - The `command` argument is the same - Network accessline 758
* - The `parameters` property is of type [`ParameterValues`](https://developers.figma.com/docs/plugins/api/figma-parameters#parametervalues), and contains the value entered for each parameter. - Network accessline 759
* - The `command` argument is the same as [`figma.command`](https://developers.figma.com/docs/plugins/api/figma#command), but provided here again for convenience. - Network accessline 778
* | Change | `type` property | Description | * | --- | --- | --- | * | [`StyleCreateChange`](https://developers.figma.com/docs/plugins/api/StyleChange#stylecreatechange) | `'STYLE_CREATE'` | A style has been added to the document. | - Network accessline 779
* | --- | --- | --- | * | [`StyleCreateChange`](https://developers.figma.com/docs/plugins/api/StyleChange#stylecreatechange) | `'STYLE_CREATE'` | A style has been added to the document. | * | [`StyleDeleteChange`](https://developers.f - Network accessline 780
* | [`StyleCreateChange`](https://developers.figma.com/docs/plugins/api/StyleChange#stylecreatechange) | `'STYLE_CREATE'` | A style has been added to the document. | - Network accessline 781
* | [`StyleDeleteChange`](https://developers.figma.com/docs/plugins/api/StyleChange#styledeletechange) | `'STYLE_DELETE'` | A style has been removed from the document. | - Network accessline 782
* | [`StylePropertyChange`](https://developers.figma.com/docs/plugins/api/StyleChange#stylepropertychange) | `'STYLE_PROPERTY_CHANGE'` | A style has had a property changed. | - Network accessline 886
* ``` * * Note: Your plugin never needs to know what the actual value of `figma.mixed` is, only that it is a unique, constant value that can be compared against. That being said, this value returns an object of type `symbol` which is - Network accessline 887
* * Note: Your plugin never needs to know what the actual value of `figma.mixed` is, only that it is a unique, constant value that can be compared against. That being said, this value returns an object of type `symbol` which is a more ad - Network accessline 888
* Note: Your plugin never needs to know what the actual value of `figma.mixed` is, only that it is a unique, constant value that can be compared against. That being said, this value returns an object of type `symbol` which is a more advance - Network accessline 1018
* @remarks * * By default, parented under `figma.currentPage`. Without setting additional properties, the vector has a bounding box but doesn't have any vertices. There are two ways to assign vertices to a vector node - [`vectorPaths` - Network accessline 1019
* * By default, parented under `figma.currentPage`. Without setting additional properties, the vector has a bounding box but doesn't have any vertices. There are two ways to assign vertices to a vector node - [`vectorPaths`](https://deve - Network accessline 1020
* By default, parented under `figma.currentPage`. Without setting additional properties, the vector has a bounding box but doesn't have any vertices. There are two ways to assign vertices to a vector node - [`vectorPaths`](https://developer - Network accessline 1026
* @remarks * * By default, parented under `figma.currentPage`. Without setting additional properties, the text has no characters. You can assign a string, to the [`characters`](https://developers.figma.com/docs/plugins/api/properties/ - Network accessline 1027
* * By default, parented under `figma.currentPage`. Without setting additional properties, the text has no characters. You can assign a string, to the [`characters`](https://developers.figma.com/docs/plugins/api/properties/TextNode-chara - Network accessline 1028
* By default, parented under `figma.currentPage`. Without setting additional properties, the text has no characters. You can assign a string, to the [`characters`](https://developers.figma.com/docs/plugins/api/properties/TextNode-characters - Network accessline 1349
* const node = await figma.createNodeFromJSXAsync( * <AutoLayout fill="#F00" padding={20}> * <Image src="https://picsum.photos/200" width={200} height={200}/> - Network accessline 1350
* <AutoLayout fill="#F00" padding={20}> * <Image src="https://picsum.photos/200" width={200} height={200}/> * </AutoLayout> - Network accessline 1351
* <Image src="https://picsum.photos/200" width={200} height={200}/> - Network accessline 1585
* You can either pass in a hardcoded font, a font loaded via `listAvailableFontsAsync`, or the font stored on an existing text node. * * Read more about how to work with fonts, when to load them, and how to load them in the [Working w - Network accessline 1586
* * Read more about how to work with fonts, when to load them, and how to load them in the [Working with Text](https://developers.figma.com/docs/plugins/working-with-text) page. * - Network accessline 1587
* Read more about how to work with fonts, when to load them, and how to load them in the [Working with Text](https://developers.figma.com/docs/plugins/working-with-text) page. - Network accessline 1591
* This function only works to load fonts _already accessible in the Figma editor_ available to _plugins_. It does not load fonts from the internet. * * Tip: to load multiple fonts at the same time, you may find [Promise.all](https://d - Network accessline 1592
* * Tip: to load multiple fonts at the same time, you may find [Promise.all](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all) helpful. * - Network accessline 1593
* Tip: to load multiple fonts at the same time, you may find [Promise.all](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all) helpful. * * A common question is whether a plugin needs to be ca - Network accessline 1603
readonly hasMissingFont: boolean /** * Creates a new node from an SVG string. This is equivalent to the SVG import feature in the editor. See the [official documentation on SVG paths](https://www.w3.org/TR/SVG/paths.html) for more deta - Network accessline 1604
/** * Creates a new node from an SVG string. This is equivalent to the SVG import feature in the editor. See the [official documentation on SVG paths](https://www.w3.org/TR/SVG/paths.html) for more details. */ - Network accessline 1605
* Creates a new node from an SVG string. This is equivalent to the SVG import feature in the editor. See the [official documentation on SVG paths](https://www.w3.org/TR/SVG/paths.html) for more details. - Network accessline 1608
/** * Creates an `Image` object from the raw bytes of a file content. Note that `Image` objects **are not nodes**. They are handles to images stored by Figma. Frame backgrounds, or fills of shapes (e.g. a rectangle) may contain images. - Network accessline 1609
* Creates an `Image` object from the raw bytes of a file content. Note that `Image` objects **are not nodes**. They are handles to images stored by Figma. Frame backgrounds, or fills of shapes (e.g. a rectangle) may contain images. * [Ex - Network accessline 1610
* [Example: how to work with images](https://developers.figma.com/docs/plugins/working-with-images). - Network accessline 1624
* figma.createImageAsync( 'https://picsum.photos/200' - Network accessline 1625
figma.createImageAsync( 'https://picsum.photos/200' ).then(async (image: Image) => { - Network accessline 1626
'https://picsum.photos/200' - Network accessline 1678
* (async () => { * // Creates an EmbedNode * const youtubeEmbed = await figma.createLinkPreviewAsync('https://www.youtube.com/watch?v=4G9RHt2OyuY') - Network accessline 1679
* // Creates an EmbedNode * const youtubeEmbed = await figma.createLinkPreviewAsync('https://www.youtube.com/watch?v=4G9RHt2OyuY') * - Network accessline 1680
* const youtubeEmbed = await figma.createLinkPreviewAsync('https://www.youtube.com/watch?v=4G9RHt2OyuY') - Network accessline 1681
* * // Creates a LinkUnfurlNode * const unfurledLink = await figma.createLinkPreviewAsync('https://www.figma.com/community/plugins') - Network accessline 1682
* // Creates a LinkUnfurlNode * const unfurledLink = await figma.createLinkPreviewAsync('https://www.figma.com/community/plugins') * })() - Network accessline 1683
* const unfurledLink = await figma.createLinkPreviewAsync('https://www.figma.com/community/plugins') - Network accessline 2006
} /** * @see https://developers.figma.com/docs/plugins/api/properties/figma-saveversionhistoryasync - Network accessline 2007
/** * @see https://developers.figma.com/docs/plugins/api/properties/figma-saveversionhistoryasync */ - Network accessline 2008
* @see https://developers.figma.com/docs/plugins/api/properties/figma-saveversionhistoryasync - Network accessline 2012
} /** * @see https://developers.figma.com/docs/plugins/api/figma-variables - Network accessline 2013
/** * @see https://developers.figma.com/docs/plugins/api/figma-variables */ - Network accessline 2014
* @see https://developers.figma.com/docs/plugins/api/figma-variables - Network accessline 2183
} /** * @see https://developers.figma.com/docs/plugins/api/figma-annotations - Network accessline 2184
/** * @see https://developers.figma.com/docs/plugins/api/figma-annotations */ - Network accessline 2185
* @see https://developers.figma.com/docs/plugins/api/figma-annotations - Network accessline 2207
} /** * @see https://developers.figma.com/docs/plugins/api/figma-buzz - Network accessline 2208
/** * @see https://developers.figma.com/docs/plugins/api/figma-buzz */ - Network accessline 2209
* @see https://developers.figma.com/docs/plugins/api/figma-buzz - Network accessline 2368
| 'ZOOM_BACKGROUND' /** * @see https://developers.figma.com/docs/plugins/api/figma-teamlibrary - Network accessline 2369
/** * @see https://developers.figma.com/docs/plugins/api/figma-teamlibrary */ - Network accessline 2370
* @see https://developers.figma.com/docs/plugins/api/figma-teamlibrary - Network accessline 2410
} /** * @see https://developers.figma.com/docs/plugins/api/figma-payments - Network accessline 2411
/** * @see https://developers.figma.com/docs/plugins/api/figma-payments */ - Network accessline 2412
* @see https://developers.figma.com/docs/plugins/api/figma-payments - Network accessline 2416
} /** * @see https://developers.figma.com/docs/plugins/api/figma-payments - Network accessline 2417
/** * @see https://developers.figma.com/docs/plugins/api/figma-payments */ - Network accessline 2418
* @see https://developers.figma.com/docs/plugins/api/figma-payments - Network accessline 2473
* 2. During widget rendering. Instead, put calls to this function inside your widget event handlers. * * See [our guide](https://developers.figma.com/docs/plugins/requiring-payment#when-to-call-initiatecheckoutasync) for more informat - Network accessline 2474
* * See [our guide](https://developers.figma.com/docs/plugins/requiring-payment#when-to-call-initiatecheckoutasync) for more information. * - Network accessline 2475
* See [our guide](https://developers.figma.com/docs/plugins/requiring-payment#when-to-call-initiatecheckoutasync) for more information. - Network accessline 2506
}): Promise<void> /** * This is useful for [text review plugins](https://developers.figma.com/docs/plugins/textreview-plugins). Since these - Network accessline 2507
/** * This is useful for [text review plugins](https://developers.figma.com/docs/plugins/textreview-plugins). Since these * plugins can only run in query mode, they cannot call - Network accessline 2508
* This is useful for [text review plugins](https://developers.figma.com/docs/plugins/textreview-plugins). Since these - Network accessline 2522
* identity of the current user on the current plugin or widget. You can * provide its returned value as the `plugin_payment_token` query parameter to * the [payments REST API](https://developers.figma.com/docs/rest-api/payments) endpo - Network accessline 2523
* provide its returned value as the `plugin_payment_token` query parameter to * the [payments REST API](https://developers.figma.com/docs/rest-api/payments) endpoint. */ - Network accessline 2524
* the [payments REST API](https://developers.figma.com/docs/rest-api/payments) endpoint. - Network accessline 2527
} /** * @see https://developers.figma.com/docs/plugins/api/figma-clientStorage - Network accessline 2528
/** * @see https://developers.figma.com/docs/plugins/api/figma-clientStorage */ - Network accessline 2529
* @see https://developers.figma.com/docs/plugins/api/figma-clientStorage - Network accessline 2548
} /** * @see https://developers.figma.com/docs/plugins/api/properties/figma-notify - Network accessline 2549
/** * @see https://developers.figma.com/docs/plugins/api/properties/figma-notify */ - Network accessline 2550
* @see https://developers.figma.com/docs/plugins/api/properties/figma-notify - Network accessline 2560
} /** * @see https://developers.figma.com/docs/plugins/api/properties/figma-notify - Network accessline 2561
/** * @see https://developers.figma.com/docs/plugins/api/properties/figma-notify */ - Network accessline 2562
* @see https://developers.figma.com/docs/plugins/api/properties/figma-notify - Network accessline 2564
type NotifyDequeueReason = 'timeout' | 'dismiss' | 'action_button_click' /** * @see https://developers.figma.com/docs/plugins/api/properties/figma-notify - Network accessline 2565
/** * @see https://developers.figma.com/docs/plugins/api/properties/figma-notify */ - Network accessline 2566
* @see https://developers.figma.com/docs/plugins/api/properties/figma-notify - Network accessline 2570
} /** * @see https://developers.figma.com/docs/plugins/api/properties/figma-showui - Network accessline 2571
/** * @see https://developers.figma.com/docs/plugins/api/properties/figma-showui */ - Network accessline 2572
* @see https://developers.figma.com/docs/plugins/api/properties/figma-showui - Network accessline 2584
} /** * @see https://developers.figma.com/docs/plugins/api/properties/figma-ui-postmessage - Network accessline 2585
/** * @see https://developers.figma.com/docs/plugins/api/properties/figma-ui-postmessage */ - Network accessline 2586
* @see https://developers.figma.com/docs/plugins/api/properties/figma-ui-postmessage - Network accessline 2590
} /** * @see https://developers.figma.com/docs/plugins/api/properties/figma-ui-onmessage - Network accessline 2591
/** * @see https://developers.figma.com/docs/plugins/api/properties/figma-ui-onmessage */ - Network accessline 2592
* @see https://developers.figma.com/docs/plugins/api/properties/figma-ui-onmessage - Network accessline 2596
} /** * @see https://developers.figma.com/docs/plugins/api/properties/figma-ui-onmessage - Network accessline 2597
/** * @see https://developers.figma.com/docs/plugins/api/properties/figma-ui-onmessage */ - Network accessline 2598
* @see https://developers.figma.com/docs/plugins/api/properties/figma-ui-onmessage - Network accessline 2600
type MessageEventHandler = (pluginMessage: any, props: OnMessageProperties) => void /** * @see https://developers.figma.com/docs/plugins/api/figma-ui - Network accessline 2601
/** * @see https://developers.figma.com/docs/plugins/api/figma-ui */ - Network accessline 2602
* @see https://developers.figma.com/docs/plugins/api/figma-ui - Network accessline 2637
* This is similar to saying that it should be possible to send the object over a network if it were necessary. You can send objects, arrays, numbers, strings, booleans, null, undefined, Date objects and Uint8Array objects. However, function - Network accessline 2638
* * These restrictions are the same as the browser's `postMessage`: [click here](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm) for more details. * - Network accessline 2639
* These restrictions are the same as the browser's `postMessage`: [click here](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm) for more details. - Network accessline 2644
* @remarks * * Read more about how to use this API in the [Creating a User Interface](https://developers.figma.com/docs/plugins/creating-ui) tutorial. - Network accessline 2645
* * Read more about how to use this API in the [Creating a User Interface](https://developers.figma.com/docs/plugins/creating-ui) tutorial. */ - Network accessline 2646
* Read more about how to use this API in the [Creating a User Interface](https://developers.figma.com/docs/plugins/creating-ui) tutorial. - Network accessline 2687
} /** * @see https://developers.figma.com/docs/plugins/api/figma-util - Network accessline 2688
/** * @see https://developers.figma.com/docs/plugins/api/figma-util */ - Network accessline 2689
* @see https://developers.figma.com/docs/plugins/api/figma-util - Network accessline 2795
} /** * @see https://developers.figma.com/docs/plugins/api/ColorPalette - Network accessline 2796
/** * @see https://developers.figma.com/docs/plugins/api/ColorPalette */ - Network accessline 2797
* @see https://developers.figma.com/docs/plugins/api/ColorPalette - Network accessline 2805
} /** * @see https://developers.figma.com/docs/plugins/api/figma-constants - Network accessline 2806
/** * @see https://developers.figma.com/docs/plugins/api/figma-constants */ - Network accessline 2807
* @see https://developers.figma.com/docs/plugins/api/figma-constants - Network accessline 2822
} /** * @see https://developers.figma.com/docs/plugins/api/CodegenEvent - Network accessline 2823
/** * @see https://developers.figma.com/docs/plugins/api/CodegenEvent */ - Network accessline 2824
* @see https://developers.figma.com/docs/plugins/api/CodegenEvent - Network accessline 2829
} /** * @see https://developers.figma.com/docs/plugins/api/CodegenPreference - Network accessline 2830
/** * @see https://developers.figma.com/docs/plugins/api/CodegenPreference */ - Network accessline 2831
* @see https://developers.figma.com/docs/plugins/api/CodegenPreference - Network accessline 2837
} /** * @see https://developers.figma.com/docs/plugins/api/CodegenPreferencesEvent - Network accessline 2838
/** * @see https://developers.figma.com/docs/plugins/api/CodegenPreferencesEvent */ - Network accessline 2839
* @see https://developers.figma.com/docs/plugins/api/CodegenPreferencesEvent - Network accessline 2843
} /** * @see https://developers.figma.com/docs/plugins/api/CodegenResult - Network accessline 2844
/** * @see https://developers.figma.com/docs/plugins/api/CodegenResult */ - Network accessline 2845
* @see https://developers.figma.com/docs/plugins/api/CodegenResult - Network accessline 2867
} /** * @see https://developers.figma.com/docs/plugins/api/figma-codegen - Network accessline 2868
/** * @see https://developers.figma.com/docs/plugins/api/figma-codegen */ - Network accessline 2869
* @see https://developers.figma.com/docs/plugins/api/figma-codegen - Network accessline 2882
* operation to generate code. * * Note: `figma.showUI` is not allowed within the generate callback. Instead, if [`figma.showUI`](https://developers.figma.com/docs/plugins/api/properties/figma-showui) is required in the generate callba - Network accessline 2883
* * Note: `figma.showUI` is not allowed within the generate callback. Instead, if [`figma.showUI`](https://developers.figma.com/docs/plugins/api/properties/figma-showui) is required in the generate callback, the `showUI` call should be m - Network accessline 2884
* Note: `figma.showUI` is not allowed within the generate callback. Instead, if [`figma.showUI`](https://developers.figma.com/docs/plugins/api/properties/figma-showui) is required in the generate callback, the `showUI` call should be moved - Network accessline 2957
} /** * @see https://developers.figma.com/docs/plugins/api/DevResource - Network accessline 2958
/** * @see https://developers.figma.com/docs/plugins/api/DevResource */ - Network accessline 2959
* @see https://developers.figma.com/docs/plugins/api/DevResource - Network accessline 2980
} /** * @see https://developers.figma.com/docs/plugins/api/DevResource - Network accessline 2981
/** * @see https://developers.figma.com/docs/plugins/api/DevResource */ - Network accessline 2982
* @see https://developers.figma.com/docs/plugins/api/DevResource - Network accessline 3049
} /** * @see https://developers.figma.com/docs/plugins/api/figma-timer - Network accessline 3050
/** * @see https://developers.figma.com/docs/plugins/api/figma-timer */ - Network accessline 3051
* @see https://developers.figma.com/docs/plugins/api/figma-timer - Network accessline 3082
} /** * @see https://developers.figma.com/docs/plugins/api/figma-viewport - Network accessline 3083
/** * @see https://developers.figma.com/docs/plugins/api/figma-viewport */ - Network accessline 3084
* @see https://developers.figma.com/docs/plugins/api/figma-viewport - Network accessline 3162
} /** * @see https://developers.figma.com/docs/plugins/api/figma-textreview - Network accessline 3163
/** * @see https://developers.figma.com/docs/plugins/api/figma-textreview */ - Network accessline 3164
* @see https://developers.figma.com/docs/plugins/api/figma-textreview - Network accessline 3171
* Note that to prevent spam the promise will be auto rejected if the user cancels the request multiple times in a given plugin run. * *  */ - Network accessline 3173
*  - Network accessline 3184
} /** * @see https://developers.figma.com/docs/plugins/api/figma-parameters - Network accessline 3185
/** * @see https://developers.figma.com/docs/plugins/api/figma-parameters */ - Network accessline 3186
* @see https://developers.figma.com/docs/plugins/api/figma-parameters - Network accessline 3190
} /** * @see https://developers.figma.com/docs/plugins/api/figma-parameters - Network accessline 3191
/** * @see https://developers.figma.com/docs/plugins/api/figma-parameters */ - Network accessline 3192
* @see https://developers.figma.com/docs/plugins/api/figma-parameters - Network accessline 3266
* make the first item in the array passed to `setSuggestions` simply be the string in `query`. * * For a full example of what this can look like, see the [Resizer sample plugin](https://github.com/figma/plugin-samples/blob/master/resi - Network accessline 3267
* * For a full example of what this can look like, see the [Resizer sample plugin](https://github.com/figma/plugin-samples/blob/master/resizer/code.ts) */ - Network accessline 3268
* For a full example of what this can look like, see the [Resizer sample plugin](https://github.com/figma/plugin-samples/blob/master/resizer/code.ts) - Network accessline 3279
} /** * @see https://developers.figma.com/docs/plugins/api/figma-parameters - Network accessline 3280
/** * @see https://developers.figma.com/docs/plugins/api/figma-parameters */ - Network accessline 3281
* @see https://developers.figma.com/docs/plugins/api/figma-parameters - Network accessline 3288
} /** * @see https://developers.figma.com/docs/plugins/api/figma-parameters - Network accessline 3289
/** * @see https://developers.figma.com/docs/plugins/api/figma-parameters */ - Network accessline 3290
* @see https://developers.figma.com/docs/plugins/api/figma-parameters - Network accessline 3305
} /** * @see https://developers.figma.com/docs/plugins/api/properties/figma-on - Network accessline 3306
/** * @see https://developers.figma.com/docs/plugins/api/properties/figma-on */ - Network accessline 3307
* @see https://developers.figma.com/docs/plugins/api/properties/figma-on - Network accessline 3370
} /** * @see https://developers.figma.com/docs/plugins/api/StyleChange - Network accessline 3371
/** * @see https://developers.figma.com/docs/plugins/api/StyleChange */ - Network accessline 3372
* @see https://developers.figma.com/docs/plugins/api/StyleChange - Network accessline 3374
type StyleChange = StyleCreateChange | StyleDeleteChange | StylePropertyChange /** * @see https://developers.figma.com/docs/plugins/api/DocumentChange - Network accessline 3375
/** * @see https://developers.figma.com/docs/plugins/api/DocumentChange */ - Network accessline 3376
* @see https://developers.figma.com/docs/plugins/api/DocumentChange - Network accessline 3387
} /** * @see https://developers.figma.com/docs/plugins/api/DocumentChange - Network accessline 3388
/** * @see https://developers.figma.com/docs/plugins/api/DocumentChange */ - Network accessline 3389
* @see https://developers.figma.com/docs/plugins/api/DocumentChange - Network accessline 3396
} /** * @see https://developers.figma.com/docs/plugins/api/RemovedNode - Network accessline 3397
/** * @see https://developers.figma.com/docs/plugins/api/RemovedNode */ - Network accessline 3398
* @see https://developers.figma.com/docs/plugins/api/RemovedNode - Network accessline 3413
} /** * @see https://developers.figma.com/docs/plugins/api/DocumentChange - Network accessline 3414
/** * @see https://developers.figma.com/docs/plugins/api/DocumentChange */ - Network accessline 3415
* @see https://developers.figma.com/docs/plugins/api/DocumentChange - Network accessline 3422
} /** * @see https://developers.figma.com/docs/plugins/api/DocumentChange - Network accessline 3423
/** * @see https://developers.figma.com/docs/plugins/api/DocumentChange */ - Network accessline 3424
* @see https://developers.figma.com/docs/plugins/api/DocumentChange - Network accessline 3431
} /** * @see https://developers.figma.com/docs/plugins/api/DocumentChange - Network accessline 3432
/** * @see https://developers.figma.com/docs/plugins/api/DocumentChange */ - Network accessline 3433
* @see https://developers.figma.com/docs/plugins/api/DocumentChange - Network accessline 3444
} /** * @see https://developers.figma.com/docs/plugins/api/DocumentChange - Network accessline 3445
/** * @see https://developers.figma.com/docs/plugins/api/DocumentChange */ - Network accessline 3446
* @see https://developers.figma.com/docs/plugins/api/DocumentChange - Network accessline 3453
} /** * @see https://developers.figma.com/docs/plugins/api/DocumentChange - Network accessline 3454
/** * @see https://developers.figma.com/docs/plugins/api/DocumentChange */ - Network accessline 3455
* @see https://developers.figma.com/docs/plugins/api/DocumentChange - Network accessline 3462
} /** * @see https://developers.figma.com/docs/plugins/api/DocumentChange - Network accessline 3463
/** * @see https://developers.figma.com/docs/plugins/api/DocumentChange */ - Network accessline 3464
* @see https://developers.figma.com/docs/plugins/api/DocumentChange - Network accessline 3472
} /** * @see https://developers.figma.com/docs/plugins/api/DocumentChange - Network accessline 3473
/** * @see https://developers.figma.com/docs/plugins/api/DocumentChange */ - Network accessline 3474
* @see https://developers.figma.com/docs/plugins/api/DocumentChange - Network accessline 3485
} /** * @see https://developers.figma.com/docs/plugins/api/DocumentChange - Network accessline 3486
/** * @see https://developers.figma.com/docs/plugins/api/DocumentChange */ - Network accessline 3487
* @see https://developers.figma.com/docs/plugins/api/DocumentChange - Network accessline 3495
| StylePropertyChange /** * @see https://developers.figma.com/docs/plugins/api/NodeChangeProperty - Network accessline 3496
/** * @see https://developers.figma.com/docs/plugins/api/NodeChangeProperty */ - Network accessline 3497
* @see https://developers.figma.com/docs/plugins/api/NodeChangeProperty - Network accessline 3628
} /** * @see https://developers.figma.com/docs/plugins/api/NodeChange - Network accessline 3629
/** * @see https://developers.figma.com/docs/plugins/api/NodeChange */ - Network accessline 3630
* @see https://developers.figma.com/docs/plugins/api/NodeChange - Network accessline 3632
type NodeChange = CreateChange | DeleteChange | PropertyChange /** * @see https://developers.figma.com/docs/plugins/api/StyleChangeProperty - Network accessline 3633
/** * @see https://developers.figma.com/docs/plugins/api/StyleChangeProperty */ - Network accessline 3634
* @see https://developers.figma.com/docs/plugins/api/StyleChangeProperty - Network accessline 3676
} /** * @see https://developers.figma.com/docs/plugins/api/RGB - Network accessline 3677
/** * @see https://developers.figma.com/docs/plugins/api/RGB */ - Network accessline 3678
* @see https://developers.figma.com/docs/plugins/api/RGB - Network accessline 3684
} /** * @see https://developers.figma.com/docs/plugins/api/RGB - Network accessline 3685
/** * @see https://developers.figma.com/docs/plugins/api/RGB */ - Network accessline 3686
* @see https://developers.figma.com/docs/plugins/api/RGB - Network accessline 3693
} /** * @see https://developers.figma.com/docs/plugins/api/FontName - Network accessline 3694
/** * @see https://developers.figma.com/docs/plugins/api/FontName */ - Network accessline 3695
* @see https://developers.figma.com/docs/plugins/api/FontName - Network accessline 3962
} /** * @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 3963
/** * @see https://developers.figma.com/docs/plugins/api/Effect */ - Network accessline 3964
* @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4005
} /** * @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4006
/** * @see https://developers.figma.com/docs/plugins/api/Effect */ - Network accessline 4007
* @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4044
} /** * @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4045
/** * @see https://developers.figma.com/docs/plugins/api/Effect */ - Network accessline 4046
* @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4067
} /** * @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4068
/** * @see https://developers.figma.com/docs/plugins/api/Effect */ - Network accessline 4069
* @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4076
} /** * @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4077
/** * @see https://developers.figma.com/docs/plugins/api/Effect */ - Network accessline 4078
* @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4097
} /** * @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4098
/** * @see https://developers.figma.com/docs/plugins/api/Effect */ - Network accessline 4099
* @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4101
type BlurEffect = BlurEffectNormal | BlurEffectProgressive /** * @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4102
/** * @see https://developers.figma.com/docs/plugins/api/Effect */ - Network accessline 4103
* @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4134
} /** * @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4135
/** * @see https://developers.figma.com/docs/plugins/api/Effect */ - Network accessline 4136
* @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4144
} /** * @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4145
/** * @see https://developers.figma.com/docs/plugins/api/Effect */ - Network accessline 4146
* @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4158
} /** * @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4159
/** * @see https://developers.figma.com/docs/plugins/api/Effect */ - Network accessline 4160
* @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4172
} /** * @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4173
/** * @see https://developers.figma.com/docs/plugins/api/Effect */ - Network accessline 4174
* @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4176
type NoiseEffect = NoiseEffectMonotone | NoiseEffectDuotone | NoiseEffectMultitone /** * @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4177
/** * @see https://developers.figma.com/docs/plugins/api/Effect */ - Network accessline 4178
* @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4205
} /** * @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4206
/** * @see https://developers.figma.com/docs/plugins/api/Effect */ - Network accessline 4207
* @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4246
} /** * @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4247
/** * @see https://developers.figma.com/docs/plugins/api/Effect */ - Network accessline 4248
* @see https://developers.figma.com/docs/plugins/api/Effect - Network accessline 4256
| GlassEffect /** * @see https://developers.figma.com/docs/plugins/api/Constraints - Network accessline 4257
/** * @see https://developers.figma.com/docs/plugins/api/Constraints */ - Network accessline 4258
* @see https://developers.figma.com/docs/plugins/api/Constraints - Network accessline 4260
type ConstraintType = 'MIN' | 'CENTER' | 'MAX' | 'STRETCH' | 'SCALE' /** * @see https://developers.figma.com/docs/plugins/api/Constraints - Network accessline 4261
/** * @see https://developers.figma.com/docs/plugins/api/Constraints */ - Network accessline 4262
* @see https://developers.figma.com/docs/plugins/api/Constraints - Network accessline 4267
} /** * @see https://developers.figma.com/docs/plugins/api/Paint - Network accessline 4268
/** * @see https://developers.figma.com/docs/plugins/api/Paint */ - Network accessline 4269
* @see https://developers.figma.com/docs/plugins/api/Paint - Network accessline 4286
} /** * @see https://developers.figma.com/docs/plugins/api/Paint - Network accessline 4287
/** * @see https://developers.figma.com/docs/plugins/api/Paint */ - Network accessline 4288
* @see https://developers.figma.com/docs/plugins/api/Paint - Network accessline 4298
} /** * @see https://developers.figma.com/docs/plugins/api/Paint - Network accessline 4299
/** * @see https://developers.figma.com/docs/plugins/api/Paint */ - Network accessline 4300
* @see https://developers.figma.com/docs/plugins/api/Paint - Network accessline 4353
} /** * @see https://developers.figma.com/docs/plugins/api/Paint - Network accessline 4354
/** * @see https://developers.figma.com/docs/plugins/api/Paint */ - Network accessline 4355
* @see https://developers.figma.com/docs/plugins/api/Paint - Network accessline 4373
} /** * @see https://developers.figma.com/docs/plugins/api/Paint - Network accessline 4374
/** * @see https://developers.figma.com/docs/plugins/api/Paint */ - Network accessline 4375
* @see https://developers.figma.com/docs/plugins/api/Paint - Network accessline 4409
} /** * @see https://developers.figma.com/docs/plugins/api/Paint - Network accessline 4410
/** * @see https://developers.figma.com/docs/plugins/api/Paint */ - Network accessline 4411
* @see https://developers.figma.com/docs/plugins/api/Paint - Network accessline 4445
} /** * @see https://developers.figma.com/docs/plugins/api/Paint - Network accessline 4446
/** * @see https://developers.figma.com/docs/plugins/api/Paint */ - Network accessline 4447
* @see https://developers.figma.com/docs/plugins/api/Paint - Network accessline 4477
} /** * @see https://developers.figma.com/docs/plugins/api/Paint - Network accessline 4478
/** * @see https://developers.figma.com/docs/plugins/api/Paint */ - Network accessline 4479
* @see https://developers.figma.com/docs/plugins/api/Paint - Network accessline 4485
} /** * @see https://developers.figma.com/docs/plugins/api/LayoutGrid - Network accessline 4486
/** * @see https://developers.figma.com/docs/plugins/api/LayoutGrid */ - Network accessline 4487
* @see https://developers.figma.com/docs/plugins/api/LayoutGrid - Network accessline 4528
} /** * @see https://developers.figma.com/docs/plugins/api/LayoutGrid - Network accessline 4529
/** * @see https://developers.figma.com/docs/plugins/api/LayoutGrid */ - Network accessline 4530
* @see https://developers.figma.com/docs/plugins/api/LayoutGrid - Network accessline 4546
} /** * @see https://developers.figma.com/docs/plugins/api/LayoutGrid - Network accessline 4547
/** * @see https://developers.figma.com/docs/plugins/api/LayoutGrid */ - Network accessline 4548
* @see https://developers.figma.com/docs/plugins/api/LayoutGrid - Network accessline 4550
type LayoutGrid = RowsColsLayoutGrid | GridLayoutGrid /** * @see https://developers.figma.com/docs/plugins/api/ExportSettings - Network accessline 4551
/** * @see https://developers.figma.com/docs/plugins/api/ExportSettings */ - Network accessline 4552
* @see https://developers.figma.com/docs/plugins/api/ExportSettings - Network accessline 4557
} /** * @see https://developers.figma.com/docs/plugins/api/ExportSettings - Network accessline 4558
/** * @see https://developers.figma.com/docs/plugins/api/ExportSettings */ - Network accessline 4559
* @see https://developers.figma.com/docs/plugins/api/ExportSettings - Network accessline 4602
* * - `"DOCUMENT"`: Use the color profile of {@link DocumentNode.documentColorProfile}. * - `"SRGB"`: Use sRGB colors. This was the previous behavior of Figma before [color management](https://help.figma.com/hc/en-us/articles/36003982 - Network accessline 4603
* - `"DOCUMENT"`: Use the color profile of {@link DocumentNode.documentColorProfile}. * - `"SRGB"`: Use sRGB colors. This was the previous behavior of Figma before [color management](https://help.figma.com/hc/en-us/articles/360039825114) - Network accessline 4604
* - `"SRGB"`: Use sRGB colors. This was the previous behavior of Figma before [color management](https://help.figma.com/hc/en-us/articles/360039825114). - Network accessline 4630
} /** * @see https://developers.figma.com/docs/plugins/api/ExportSettings - Network accessline 4631
/** * @see https://developers.figma.com/docs/plugins/api/ExportSettings */ - Network accessline 4632
* @see https://developers.figma.com/docs/plugins/api/ExportSettings - Network accessline 4640
} /** * @see https://developers.figma.com/docs/plugins/api/ExportSettings - Network accessline 4641
/** * @see https://developers.figma.com/docs/plugins/api/ExportSettings */ - Network accessline 4642
* @see https://developers.figma.com/docs/plugins/api/ExportSettings - Network accessline 4649
} /** * @see https://developers.figma.com/docs/plugins/api/ExportSettings - Network accessline 4650
/** * @see https://developers.figma.com/docs/plugins/api/ExportSettings */ - Network accessline 4651
* @see https://developers.figma.com/docs/plugins/api/ExportSettings - Network accessline 4663
} /** * @see https://developers.figma.com/docs/plugins/api/ExportSettings - Network accessline 4664
/** * @see https://developers.figma.com/docs/plugins/api/ExportSettings */ - Network accessline 4665
* @see https://developers.figma.com/docs/plugins/api/ExportSettings - Network accessline 4667
interface ExportSettingsREST { /** * Returns the equivalent REST API response of hitting the endpoint `https://api.figma.com/v1/files/:file_key/nodes?ids=:id`. - Network accessline 4668
/** * Returns the equivalent REST API response of hitting the endpoint `https://api.figma.com/v1/files/:file_key/nodes?ids=:id`. * - Network accessline 4669
* Returns the equivalent REST API response of hitting the endpoint `https://api.figma.com/v1/files/:file_key/nodes?ids=:id`. - Network accessline 4687
* ``` * * For more information on the shape of the output of the 'JSON_REST_V1' format, see the [files](https://developers.figma.com/docs/rest-api/files) documentation. - Network accessline 4688
* * For more information on the shape of the output of the 'JSON_REST_V1' format, see the [files](https://developers.figma.com/docs/rest-api/files) documentation. */ - Network accessline 4689
* For more information on the shape of the output of the 'JSON_REST_V1' format, see the [files](https://developers.figma.com/docs/rest-api/files) documentation. - Network accessline 4692
} /** * @see https://developers.figma.com/docs/plugins/api/ExportSettings - Network accessline 4693
/** * @see https://developers.figma.com/docs/plugins/api/ExportSettings */ - Network accessline 4694
* @see https://developers.figma.com/docs/plugins/api/ExportSettings - Network accessline 4696
type ExportSettings = ExportSettingsImage | ExportSettingsSVG | ExportSettingsPDF /** * @see https://developers.figma.com/docs/plugins/api/properties/VectorPath-windingrule - Network accessline 4697
/** * @see https://developers.figma.com/docs/plugins/api/properties/VectorPath-windingrule */ - Network accessline 4698
* @see https://developers.figma.com/docs/plugins/api/properties/VectorPath-windingrule - Network accessline 4700
type WindingRule = 'NONZERO' | 'EVENODD' /** * @see https://developers.figma.com/docs/plugins/api/VectorNetwork - Network accessline 4701
/** * @see https://developers.figma.com/docs/plugins/api/VectorNetwork */ - Network accessline 4702
* @see https://developers.figma.com/docs/plugins/api/VectorNetwork - Network accessline 4729
} /** * @see https://developers.figma.com/docs/plugins/api/VectorNetwork - Network accessline 4730
/** * @see https://developers.figma.com/docs/plugins/api/VectorNetwork */ - Network accessline 4731
* @see https://developers.figma.com/docs/plugins/api/VectorNetwork - Network accessline 4750
} /** * @see https://developers.figma.com/docs/plugins/api/VectorNetwork - Network accessline 4751
/** * @see https://developers.figma.com/docs/plugins/api/VectorNetwork */ - Network accessline 4752
* @see https://developers.figma.com/docs/plugins/api/VectorNetwork - Network accessline 4771
} /** * @see https://developers.figma.com/docs/plugins/api/VectorNetwork - Network accessline 4772
/** * @see https://developers.figma.com/docs/plugins/api/VectorNetwork */ - Network accessline 4773
* @see https://developers.figma.com/docs/plugins/api/VectorNetwork - Network accessline 4788
} /** * @see https://developers.figma.com/docs/plugins/api/VectorPath - Network accessline 4789
/** * @see https://developers.figma.com/docs/plugins/api/VectorPath */ - Network accessline 4790
* @see https://developers.figma.com/docs/plugins/api/VectorPath - Network accessline 4800
* ``` * * Winding rules work off a concept called the winding number, which tells you for a given point how many times the path winds around that point. This is described in much more detail [here](https://oreillymedia.github.io/Using - Network accessline 4801
* * Winding rules work off a concept called the winding number, which tells you for a given point how many times the path winds around that point. This is described in much more detail [here](https://oreillymedia.github.io/Using_SVG/extr - Network accessline 4802
* Winding rules work off a concept called the winding number, which tells you for a given point how many times the path winds around that point. This is described in much more detail [here](https://oreillymedia.github.io/Using_SVG/extras/ch - Network accessline 4821
} /** * @see https://developers.figma.com/docs/plugins/api/VectorPath - Network accessline 4822
/** * @see https://developers.figma.com/docs/plugins/api/VectorPath */ - Network accessline 4823
* @see https://developers.figma.com/docs/plugins/api/VectorPath - Network accessline 4842
} /** * @see https://developers.figma.com/docs/plugins/api/TextListOptions - Network accessline 4843
/** * @see https://developers.figma.com/docs/plugins/api/TextListOptions */ - Network accessline 4844
* @see https://developers.figma.com/docs/plugins/api/TextListOptions - Network accessline 4869
type MaskType = 'ALPHA' | 'VECTOR' | 'LUMINANCE' /** * @see https://developers.figma.com/docs/plugins/api/FontName - Network accessline 4870
/** * @see https://developers.figma.com/docs/plugins/api/FontName */ - Network accessline 4871
* @see https://developers.figma.com/docs/plugins/api/FontName - Network accessline 4875
} /** * @see https://developers.figma.com/docs/plugins/api/TextStyleOverrides - Network accessline 4876
/** * @see https://developers.figma.com/docs/plugins/api/TextStyleOverrides */ - Network accessline 4877
* @see https://developers.figma.com/docs/plugins/api/TextStyleOverrides - Network accessline 4999
} /** * @see https://developers.figma.com/docs/plugins/api/TextPathStartData - Network accessline 5000
/** * @see https://developers.figma.com/docs/plugins/api/TextPathStartData * - Network accessline 5001
* @see https://developers.figma.com/docs/plugins/api/TextPathStartData - Network accessline 5053
} /** * @see https://developers.figma.com/docs/plugins/api/DevStatus - Network accessline 5054
/** * @see https://developers.figma.com/docs/plugins/api/DevStatus */ - Network accessline 5055
* @see https://developers.figma.com/docs/plugins/api/DevStatus - Network accessline 5060
} | null /** * @see https://developers.figma.com/docs/plugins/api/Action - Network accessline 5061
/** * @see https://developers.figma.com/docs/plugins/api/Action */ - Network accessline 5062
* @see https://developers.figma.com/docs/plugins/api/Action - Network accessline 5123
} /** * @see https://developers.figma.com/docs/plugins/api/Transition - Network accessline 5124
/** * @see https://developers.figma.com/docs/plugins/api/Transition */ - Network accessline 5125
* @see https://developers.figma.com/docs/plugins/api/Transition - Network accessline 5131
} /** * @see https://developers.figma.com/docs/plugins/api/Transition - Network accessline 5132
/** * @see https://developers.figma.com/docs/plugins/api/Transition */ - Network accessline 5133
* @see https://developers.figma.com/docs/plugins/api/Transition - Network accessline 5141
} /** * @see https://developers.figma.com/docs/plugins/api/Transition - Network accessline 5142
/** * @see https://developers.figma.com/docs/plugins/api/Transition */ - Network accessline 5143
* @see https://developers.figma.com/docs/plugins/api/Transition - Network accessline 5174
} /** * @see https://developers.figma.com/docs/plugins/api/Action - Network accessline 5175
/** * @see https://developers.figma.com/docs/plugins/api/Action */ - Network accessline 5176
* @see https://developers.figma.com/docs/plugins/api/Action - Network accessline 5178
type Navigation = 'NAVIGATE' | 'SWAP' | 'OVERLAY' | 'SCROLL_TO' | 'CHANGE_TO' /** * @see https://developers.figma.com/docs/plugins/api/Transition - Network accessline 5179
/** * @see https://developers.figma.com/docs/plugins/api/Transition */ - Network accessline 5180
* @see https://developers.figma.com/docs/plugins/api/Transition - Network accessline 5199
} /** * @see https://developers.figma.com/docs/plugins/api/Transition - Network accessline 5200
/** * @see https://developers.figma.com/docs/plugins/api/Transition */ - Network accessline 5201
* @see https://developers.figma.com/docs/plugins/api/Transition - Network accessline 5215
type OverflowDirection = 'NONE' | 'HORIZONTAL' | 'VERTICAL' | 'BOTH' /** * @see https://developers.figma.com/docs/plugins/api/Overlay - Network accessline 5216
/** * @see https://developers.figma.com/docs/plugins/api/Overlay */ - Network accessline 5217
* @see https://developers.figma.com/docs/plugins/api/Overlay - Network accessline 5227
| 'MANUAL' /** * @see https://developers.figma.com/docs/plugins/api/Overlay - Network accessline 5228
/** * @see https://developers.figma.com/docs/plugins/api/Overlay */ - Network accessline 5229
* @see https://developers.figma.com/docs/plugins/api/Overlay - Network accessline 5238
} /** * @see https://developers.figma.com/docs/plugins/api/Overlay - Network accessline 5239
/** * @see https://developers.figma.com/docs/plugins/api/Overlay */ - Network accessline 5240
* @see https://developers.figma.com/docs/plugins/api/Overlay - Network accessline 5242
type OverlayBackgroundInteraction = 'NONE' | 'CLOSE_ON_CLICK_OUTSIDE' /** * @see https://developers.figma.com/docs/plugins/api/PublishStatus - Network accessline 5243
/** * @see https://developers.figma.com/docs/plugins/api/PublishStatus */ - Network accessline 5244
* @see https://developers.figma.com/docs/plugins/api/PublishStatus - Network accessline 5263
} /** * @see https://developers.figma.com/docs/plugins/api/ConnectorEndpoint - Network accessline 5264
/** * @see https://developers.figma.com/docs/plugins/api/ConnectorEndpoint */ - Network accessline 5265
* @see https://developers.figma.com/docs/plugins/api/ConnectorEndpoint - Network accessline 5270
| ConnectorEndpointPositionAndEndpointNodeId /** * @see https://developers.figma.com/docs/plugins/api/ConnectorStrokeCap - Network accessline 5271
/** * @see https://developers.figma.com/docs/plugins/api/ConnectorStrokeCap */ - Network accessline 5272
* @see https://developers.figma.com/docs/plugins/api/ConnectorStrokeCap - Network accessline 5280
| 'CIRCLE_FILLED' /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 5281
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 5282
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 5351
* Sets state on the node to show a button and description when the node is selected. Clears the button and description when `relaunchData` is `{}`. * * Note: In Figma and Dev Mode, this shows up in the properties panel. In FigJam, thi - Network accessline 5352
* * Note: In Figma and Dev Mode, this shows up in the properties panel. In FigJam, this shows up in the property menu. See [here](https://developers.figma.com/docs/plugins/api/properties/nodes-setrelaunchdata#example-figma-design-ui) for - Network accessline 5353
* Note: In Figma and Dev Mode, this shows up in the properties panel. In FigJam, this shows up in the property menu. See [here](https://developers.figma.com/docs/plugins/api/properties/nodes-setrelaunchdata#example-figma-design-ui) for exam - Network accessline 5361
* ``` * e.g. `data = { myCommand: 'Short description' }` * @param command - The string that will be passed as `figma.command` when the plugin is run after the button is clicked. This command must be present in the [manifest](https://d - Network accessline 5362
* e.g. `data = { myCommand: 'Short description' }` * @param command - The string that will be passed as `figma.command` when the plugin is run after the button is clicked. This command must be present in the [manifest](https://developers - Network accessline 5363
* @param command - The string that will be passed as `figma.command` when the plugin is run after the button is clicked. This command must be present in the [manifest](https://developers.figma.com/docs/plugins/manifest#relaunchbuttons) unde - Network accessline 5366
* @remarks * * Each call to this method sets entirely new relaunch data, removing any relaunch data and associated buttons/descriptions from before. To maintain buttons from a previous call one can store the button information using [ - Network accessline 5367
* * Each call to this method sets entirely new relaunch data, removing any relaunch data and associated buttons/descriptions from before. To maintain buttons from a previous call one can store the button information using [setPluginData] - Network accessline 5368
* Each call to this method sets entirely new relaunch data, removing any relaunch data and associated buttons/descriptions from before. To maintain buttons from a previous call one can store the button information using [setPluginData](http - Network accessline 5369
* * To use this API, the plugin manifest must include a `relaunchButtons` section: see the [manifest guide](https://developers.figma.com/docs/plugins/manifest#relaunchbuttons) for more information. * - Network accessline 5370
* To use this API, the plugin manifest must include a `relaunchButtons` section: see the [manifest guide](https://developers.figma.com/docs/plugins/manifest#relaunchbuttons) for more information. - Network accessline 5405
* * ### Example Figma Design UI *  - Network accessline 5406
* ### Example Figma Design UI *  * - Network accessline 5407
*  - Network accessline 5408
* * ### Example FigJam UI *  - Network accessline 5409
* ### Example FigJam UI *  */ - Network accessline 5410
*  - Network accessline 5420
* Returns true if Figma detects that a node is an asset, otherwise returns false. An asset is is either an icon or a raster image. * * This property is useful if you're building a [plugin for code generation](https://developers.figma. - Network accessline 5421
* * This property is useful if you're building a [plugin for code generation](https://developers.figma.com/docs/plugins/codegen-plugins). * - Network accessline 5422
* This property is useful if you're building a [plugin for code generation](https://developers.figma.com/docs/plugins/codegen-plugins). - Network accessline 5426
readonly isAsset: boolean /** * Resolves to a JSON object of CSS properties of the node. This is the same CSS that Figma shows in the inspect panel and is helpful if you are building a [plugin for code generation](https://developers.fi - Network accessline 5427
/** * Resolves to a JSON object of CSS properties of the node. This is the same CSS that Figma shows in the inspect panel and is helpful if you are building a [plugin for code generation](https://developers.figma.com/docs/plugins/codegen - Network accessline 5428
* Resolves to a JSON object of CSS properties of the node. This is the same CSS that Figma shows in the inspect panel and is helpful if you are building a [plugin for code generation](https://developers.figma.com/docs/plugins/codegen-plugin - Network accessline 5439
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 5440
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 5441
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 5496
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 5497
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 5498
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 5539
/** * * Caution: This is a private API only available to [Figma partners](https://www.figma.com/partners/) - Network accessline 5540
* * Caution: This is a private API only available to [Figma partners](https://www.figma.com/partners/) */ - Network accessline 5541
* Caution: This is a private API only available to [Figma partners](https://www.figma.com/partners/) - Network accessline 5544
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 5545
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 5546
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 5548
interface DevStatusMixin { /** * Whether the node is marked [ready for development](https://help.figma.com/hc/en-us/articles/15023124644247-Guide-to-Dev-Mode#01H8CR3K6V9S02RK503QCX0367) or [completed](https://help.figma.com/hc/en-us/ar - Network accessline 5549
/** * Whether the node is marked [ready for development](https://help.figma.com/hc/en-us/articles/15023124644247-Guide-to-Dev-Mode#01H8CR3K6V9S02RK503QCX0367) or [completed](https://help.figma.com/hc/en-us/articles/15023124644247-Guide-t - Network accessline 5550
* Whether the node is marked [ready for development](https://help.figma.com/hc/en-us/articles/15023124644247-Guide-to-Dev-Mode#01H8CR3K6V9S02RK503QCX0367) or [completed](https://help.figma.com/hc/en-us/articles/15023124644247-Guide-to-Dev-M - Network accessline 5557
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 5558
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 5559
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 5607
| null /** * The variables bound to a particular field on this node. Please see the [Working with Variables](https://developers.figma.com/docs/plugins/working-with-variables) guide for how to get and set variable bindings. - Network accessline 5608
/** * The variables bound to a particular field on this node. Please see the [Working with Variables](https://developers.figma.com/docs/plugins/working-with-variables) guide for how to get and set variable bindings. */ - Network accessline 5609
* The variables bound to a particular field on this node. Please see the [Working with Variables](https://developers.figma.com/docs/plugins/working-with-variables) guide for how to get and set variable bindings. - Network accessline 5624
} /** * Binds the provided `field` on this node to the given variable. Please see the [Working with Variables](https://developers.figma.com/docs/plugins/working-with-variables) guide for how to get and set variable bindings. - Network accessline 5625
/** * Binds the provided `field` on this node to the given variable. Please see the [Working with Variables](https://developers.figma.com/docs/plugins/working-with-variables) guide for how to get and set variable bindings. * - Network accessline 5626
* Binds the provided `field` on this node to the given variable. Please see the [Working with Variables](https://developers.figma.com/docs/plugins/working-with-variables) guide for how to get and set variable bindings. - Network accessline 5633
): void /** * Binds the provided `field` on this node to the given variable. Please see the [Working with Variables](https://developers.figma.com/docs/plugins/working-with-variables) guide for how to get and set variable bindings. - Network accessline 5634
/** * Binds the provided `field` on this node to the given variable. Please see the [Working with Variables](https://developers.figma.com/docs/plugins/working-with-variables) guide for how to get and set variable bindings. * - Network accessline 5635
* Binds the provided `field` on this node to the given variable. Please see the [Working with Variables](https://developers.figma.com/docs/plugins/working-with-variables) guide for how to get and set variable bindings. - Network accessline 5649
* @remarks * * Inferred variables are only returned for a field when it is not using a [bound variable](https://developers.figma.com/docs/plugins/api/node-properties#boundvariables). - Network accessline 5650
* * Inferred variables are only returned for a field when it is not using a [bound variable](https://developers.figma.com/docs/plugins/api/node-properties#boundvariables). * - Network accessline 5651
* Inferred variables are only returned for a field when it is not using a [bound variable](https://developers.figma.com/docs/plugins/api/node-properties#boundvariables). - Network accessline 5673
* @remarks * * The set of resolved modes on a node includes the explicitly set modes on the node, as well as the explicitly set modes on ancestors of the node. By default, nodes [automatically inherit](https://help.figma.com/hc/en-us/ - Network accessline 5674
* * The set of resolved modes on a node includes the explicitly set modes on the node, as well as the explicitly set modes on ancestors of the node. By default, nodes [automatically inherit](https://help.figma.com/hc/en-us/articles/15343 - Network accessline 5675
* The set of resolved modes on a node includes the explicitly set modes on the node, as well as the explicitly set modes on ancestors of the node. By default, nodes [automatically inherit](https://help.figma.com/hc/en-us/articles/1534381606 - Network accessline 5756
type VariableBindableComponentPropertyDefinitionField = 'defaultValue' /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 5757
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 5758
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 5769
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 5770
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 5771
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 5783
* As such, this property cannot be assigned to, and the array cannot be modified directly (it wouldn't do anything). Instead, use {@link ChildrenMixin.appendChild}, {@link ChildrenMixin.insertChild} or {@link BaseNodeMixin.remove}. * - Network accessline 5784
* * Note: If you are curious, the reason why inserting children has to be done via API calls is because our internal representation for the layer tree uses [fractional indexing](https://www.figma.com/blog/multiplayer-editing-in-figma/) a - Network accessline 5785
* Note: If you are curious, the reason why inserting children has to be done via API calls is because our internal representation for the layer tree uses [fractional indexing](https://www.figma.com/blog/multiplayer-editing-in-figma/) and {@ - Network accessline 5862
* Nodes are included in **back-to-front** order. Parents always appear before their children, and children appear in same relative order before their children, and children appear in same relative order as in the {@link ChildrenMixin.childr - Network accessline 5863
* * This traversal method is known as ["pre-order traversal"](https://en.wikipedia.org/wiki/Tree_traversal#Pre-order_(NLR)). * - Network accessline 5864
* This traversal method is known as ["pre-order traversal"](https://en.wikipedia.org/wiki/Tree_traversal#Pre-order_(NLR)). - Network accessline 5873
* Caution: ⚠ Large documents in Figma can have tens of thousands of nodes. Be careful using this function as it could be very slow. * If you only need to search immediate children, it is much faster to call `node.children.filter(callback - Network accessline 5874
* If you only need to search immediate children, it is much faster to call `node.children.filter(callback)` or `node.findChildren(callback)`. * Please refer to our [recommendations](https://developers.figma.com/docs/plugins/accessing-doc - Network accessline 5875
* Please refer to our [recommendations](https://developers.figma.com/docs/plugins/accessing-document#optimizing-traversals) for how to optimize document traversals. - Network accessline 5895
* Caution: ⚠ Large documents in Figma can have tens of thousands of nodes. Be careful using this function as it could be very slow. * If you only need to search immediate children, it is much faster to call `node.children.find(callback)` - Network accessline 5896
* If you only need to search immediate children, it is much faster to call `node.children.find(callback)` or `node.findChild(callback)`. * Please refer to our [recommendations](https://developers.figma.com/docs/plugins/accessing-document - Network accessline 5897
* Please refer to our [recommendations](https://developers.figma.com/docs/plugins/accessing-document#optimizing-traversals) for how to optimize document traversals. - Network accessline 5913
* This is a faster but more limited search compared to {@link ChildrenMixin.findAll}, which lets you search nodes based on any logic you can include in a callback. * * When paired with [`figma.skipInvisibleInstanceChildren = true`](ht - Network accessline 5914
* * When paired with [`figma.skipInvisibleInstanceChildren = true`](https://developers.figma.com/docs/plugins/api/properties/figma-skipinvisibleinstancechildren), this method can be hundreds of times faster in large documents with tens o - Network accessline 5915
* When paired with [`figma.skipInvisibleInstanceChildren = true`](https://developers.figma.com/docs/plugins/api/properties/figma-skipinvisibleinstancechildren), this method can be hundreds of times faster in large documents with tens of tho - Network accessline 5919
* Nodes are included in **back-to-front** order, which is the same order as in {@link ChildrenMixin.findAll}. Parents always appear before their children, and children appear in same relative order before their children, and children appear - Network accessline 5920
* * This traversal method is known as ["pre-order traversal"](https://en.wikipedia.org/wiki/Tree_traversal#Pre-order_(NLR)). * - Network accessline 5921
* This traversal method is known as ["pre-order traversal"](https://en.wikipedia.org/wiki/Tree_traversal#Pre-order_(NLR)). - Network accessline 6019
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 6020
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 6021
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 6032
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 6033
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 6034
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 6131
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 6132
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 6133
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 6266
* This function will not cause its children to resize. Use {@link LayoutMixin.resize} if you need to apply constraints. * * Caution: ⚠<U+FE0F> If this node is a text node with a missing font, the text node will be resized but the text will n - Network accessline 6267
* * Caution: ⚠<U+FE0F> If this node is a text node with a missing font, the text node will be resized but the text will not re-layout until the next time the text node is opened on a machine that _has_ the font. This can cause the text node to - Network accessline 6268
* Caution: ⚠<U+FE0F> If this node is a text node with a missing font, the text node will be resized but the text will not re-layout until the next time the text node is opened on a machine that _has_ the font. This can cause the text node to re-la - Network accessline 6283
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 6284
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 6285
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 6298
* const image = await figma.createNodeFromJSXAsync( * <figma.widget.Image * src="https://picsum.photos/200/300" - Network accessline 6299
* <figma.widget.Image * src="https://picsum.photos/200/300" * width={200} - Network accessline 6300
* src="https://picsum.photos/200/300" - Network accessline 6335
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 6336
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 6337
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 6384
maskType: MaskType /** * Array of effects. See {@link Effect} type. For help on how to change this value, see [Editing Properties](https://developers.figma.com/docs/plugins/editing-properties). - Network accessline 6385
/** * Array of effects. See {@link Effect} type. For help on how to change this value, see [Editing Properties](https://developers.figma.com/docs/plugins/editing-properties). */ - Network accessline 6386
* Array of effects. See {@link Effect} type. For help on how to change this value, see [Editing Properties](https://developers.figma.com/docs/plugins/editing-properties). - Network accessline 6399
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 6400
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 6401
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 6408
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 6409
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 6410
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 6432
declare type HandleMirroring = 'NONE' | 'ANGLE' | 'ANGLE_AND_LENGTH' /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 6433
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 6434
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 6568
counterAxisSizingMode: 'FIXED' | 'AUTO' /** * Applicable only on auto-layout frames. Determines whether strokes are included in [layout calculations](https://help.figma.com/hc/en-us/articles/31289464393751-Use-the-horizontal-and-vertic - Network accessline 6569
/** * Applicable only on auto-layout frames. Determines whether strokes are included in [layout calculations](https://help.figma.com/hc/en-us/articles/31289464393751-Use-the-horizontal-and-vertical-flows-in-auto-layout#01JT9NA4HVT02ZPE7B - Network accessline 6570
* Applicable only on auto-layout frames. Determines whether strokes are included in [layout calculations](https://help.figma.com/hc/en-us/articles/31289464393751-Use-the-horizontal-and-vertical-flows-in-auto-layout#01JT9NA4HVT02ZPE7BA86SFCD - Network accessline 6692
* - In horizontal auto-layout frames, `“MIN”` and `“MAX”` correspond to top and bottom respectively. * - In vertical auto-layout frames, `“MIN”` and `“MAX”` correspond to left and right respectively. * - `"BASELINE"` can only be set o - Network accessline 6693
* - In vertical auto-layout frames, `“MIN”` and `“MAX”` correspond to left and right respectively. * - `"BASELINE"` can only be set on horizontal auto-layout frames, and aligns all children along the [text baseline](https://help.figma.co - Network accessline 6694
* - `"BASELINE"` can only be set on horizontal auto-layout frames, and aligns all children along the [text baseline](https://help.figma.com/hc/en-us/articles/360040451373-Explore-auto-layout-properties#Text_baseline_alignment). - Network accessline 6877
counterAxisSpacing: number | null /** * Applicable only on "HORIZONTAL" or "VERTICAL" auto-layout frames. Determines the [canvas stacking order](https://help.figma.com/hc/en-us/articles/360040451373-Explore-auto-layout-properties#Canva - Network accessline 6878
/** * Applicable only on "HORIZONTAL" or "VERTICAL" auto-layout frames. Determines the [canvas stacking order](https://help.figma.com/hc/en-us/articles/360040451373-Explore-auto-layout-properties#Canvas_stacking_order) of layers in this - Network accessline 6879
* Applicable only on "HORIZONTAL" or "VERTICAL" auto-layout frames. Determines the [canvas stacking order](https://help.figma.com/hc/en-us/articles/360040451373-Explore-auto-layout-properties#Canvas_stacking_order) of layers in this frame. - Network accessline 6918
} /** * @see https://developers.figma.com/docs/plugins/api/GridTrackSize - Network accessline 6919
/** * @see https://developers.figma.com/docs/plugins/api/GridTrackSize */ - Network accessline 6920
* @see https://developers.figma.com/docs/plugins/api/GridTrackSize - Network accessline 6922
interface GridTrackSize { /** * Applicable only on FIXED or FLEX grid tracks. In FIXED tracks, the size of the track in pixels. In FLEX tracks, the fractional unit value (equivalent to the [`fr` unit](https://developer.mozilla.org/en-U - Network accessline 6923
/** * Applicable only on FIXED or FLEX grid tracks. In FIXED tracks, the size of the track in pixels. In FLEX tracks, the fractional unit value (equivalent to the [`fr` unit](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_grid_layo - Network accessline 6924
* Applicable only on FIXED or FLEX grid tracks. In FIXED tracks, the size of the track in pixels. In FLEX tracks, the fractional unit value (equivalent to the [`fr` unit](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_grid_layout/Basi - Network accessline 6927
value?: number /** * The type of the grid track. `FLEX` indicates that the track behaves like the CSS grid [`fr` unit](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_grid_layout/Basic_concepts_of_grid_layout#the_fr_unit). - Network accessline 6928
/** * The type of the grid track. `FLEX` indicates that the track behaves like the CSS grid [`fr` unit](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_grid_layout/Basic_concepts_of_grid_layout#the_fr_unit). * `FIXED` indicates t - Network accessline 6929
* The type of the grid track. `FLEX` indicates that the track behaves like the CSS grid [`fr` unit](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_grid_layout/Basic_concepts_of_grid_layout#the_fr_unit). - Network accessline 6935
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 6936
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 6937
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7060
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7061
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 7062
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7123
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7124
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 7125
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7226
} /** * @see https://developers.figma.com/docs/plugins/api/InferredAutoLayoutResult - Network accessline 7227
/** * @see https://developers.figma.com/docs/plugins/api/InferredAutoLayoutResult */ - Network accessline 7228
* @see https://developers.figma.com/docs/plugins/api/InferredAutoLayoutResult - Network accessline 7230
interface InferredAutoLayoutResult extends AutoLayoutChildrenMixin, AutoLayoutMixin {} /** * @see https://developers.figma.com/docs/plugins/api/DetachedInfo - Network accessline 7231
/** * @see https://developers.figma.com/docs/plugins/api/DetachedInfo */ - Network accessline 7232
* @see https://developers.figma.com/docs/plugins/api/DetachedInfo - Network accessline 7242
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7243
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 7244
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7246
interface MinimalStrokesMixin { /** * The paints used to fill the area of the shape's strokes. For help on how to change this value, see [Editing Properties](https://developers.figma.com/docs/plugins/editing-properties). - Network accessline 7247
/** * The paints used to fill the area of the shape's strokes. For help on how to change this value, see [Editing Properties](https://developers.figma.com/docs/plugins/editing-properties). * - Network accessline 7248
* The paints used to fill the area of the shape's strokes. For help on how to change this value, see [Editing Properties](https://developers.figma.com/docs/plugins/editing-properties). - Network accessline 7306
readonly strokeGeometry: VectorPaths /** * Sets the strokes of the node asynchronously. This is the only way to set pattern strokes on a node, since we need to ensure that the source node of the pattern is loaded first. See [Adding Pat - Network accessline 7307
/** * Sets the strokes of the node asynchronously. This is the only way to set pattern strokes on a node, since we need to ensure that the source node of the pattern is loaded first. See [Adding Pattern Fills and Strokes](https://develop - Network accessline 7308
* Sets the strokes of the node asynchronously. This is the only way to set pattern strokes on a node, since we need to ensure that the source node of the pattern is loaded first. See [Adding Pattern Fills and Strokes](https://developers.fig - Network accessline 7311
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7312
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 7313
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7324
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7325
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 7326
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7328
interface MinimalFillsMixin { /** * The paints used to fill the area of the shape. For help on how to change this value, see [Editing Properties](https://developers.figma.com/docs/plugins/editing-properties). - Network accessline 7329
/** * The paints used to fill the area of the shape. For help on how to change this value, see [Editing Properties](https://developers.figma.com/docs/plugins/editing-properties). * - Network accessline 7330
* The paints used to fill the area of the shape. For help on how to change this value, see [Editing Properties](https://developers.figma.com/docs/plugins/editing-properties). - Network accessline 7336
* Use {@link UtilAPI.solidPaint} to create solid paint fills with CSS color strings. * * Page nodes have a [`backgrounds`](https://developers.figma.com/docs/plugins/api/PageNode#backgrounds) property instead of a `fills` property. - Network accessline 7337
* * Page nodes have a [`backgrounds`](https://developers.figma.com/docs/plugins/api/PageNode#backgrounds) property instead of a `fills` property. * - Network accessline 7338
* Page nodes have a [`backgrounds`](https://developers.figma.com/docs/plugins/api/PageNode#backgrounds) property instead of a `fills` property. - Network accessline 7356
setFillStyleIdAsync(styleId: string): Promise<void> /** * Sets the fills of the node asynchronously. This is the only way to set pattern fills on a node, since we need to ensure that the source node of the pattern is loaded first. See - Network accessline 7357
/** * Sets the fills of the node asynchronously. This is the only way to set pattern fills on a node, since we need to ensure that the source node of the pattern is loaded first. See [Adding Pattern Fills and Strokes](https://developers. - Network accessline 7358
* Sets the fills of the node asynchronously. This is the only way to set pattern fills on a node, since we need to ensure that the source node of the pattern is loaded first. See [Adding Pattern Fills and Strokes](https://developers.figma.c - Network accessline 7361
} /** * @see https://developers.figma.com/docs/plugins/api/VariableWidthStrokeProperties - Network accessline 7362
/** * @see https://developers.figma.com/docs/plugins/api/VariableWidthStrokeProperties */ - Network accessline 7363
* @see https://developers.figma.com/docs/plugins/api/VariableWidthStrokeProperties - Network accessline 7370
} /** * @see https://developers.figma.com/docs/plugins/api/VariableWidthStrokeProperties - Network accessline 7371
/** * @see https://developers.figma.com/docs/plugins/api/VariableWidthStrokeProperties */ - Network accessline 7372
* @see https://developers.figma.com/docs/plugins/api/VariableWidthStrokeProperties - Network accessline 7377
} /** * @see https://developers.figma.com/docs/plugins/api/VariableWidthStrokeProperties - Network accessline 7378
/** * @see https://developers.figma.com/docs/plugins/api/VariableWidthStrokeProperties */ - Network accessline 7379
* @see https://developers.figma.com/docs/plugins/api/VariableWidthStrokeProperties - Network accessline 7386
} /** * @see https://developers.figma.com/docs/plugins/api/VariableWidthStrokeProperties - Network accessline 7387
/** * @see https://developers.figma.com/docs/plugins/api/VariableWidthStrokeProperties */ - Network accessline 7388
* @see https://developers.figma.com/docs/plugins/api/VariableWidthStrokeProperties - Network accessline 7392
| CustomVariableWidthStrokeProperties /** * @see https://developers.figma.com/docs/plugins/api/ComplexStrokeProperties - Network accessline 7393
/** * @see https://developers.figma.com/docs/plugins/api/ComplexStrokeProperties */ - Network accessline 7394
* @see https://developers.figma.com/docs/plugins/api/ComplexStrokeProperties - Network accessline 7401
| BrushStrokeProperties /** * @see https://developers.figma.com/docs/plugins/api/ComplexStrokeProperties - Network accessline 7402
/** * @see https://developers.figma.com/docs/plugins/api/ComplexStrokeProperties */ - Network accessline 7403
* @see https://developers.figma.com/docs/plugins/api/ComplexStrokeProperties - Network accessline 7407
brushType: 'SCATTER' /** * Name of the scatter brush. See the [available brushes](https://developers.figma.com/api/complex-stroke-properties.md#available-brushes) for previews of these brushes. - Network accessline 7408
/** * Name of the scatter brush. See the [available brushes](https://developers.figma.com/api/complex-stroke-properties.md#available-brushes) for previews of these brushes. * Nodes using custom brushes will have this set to 'CUSTOM'. - Network accessline 7409
* Name of the scatter brush. See the [available brushes](https://developers.figma.com/api/complex-stroke-properties.md#available-brushes) for previews of these brushes. - Network accessline 7434
} /** * @see https://developers.figma.com/docs/plugins/api/ComplexStrokeProperties - Network accessline 7435
/** * @see https://developers.figma.com/docs/plugins/api/ComplexStrokeProperties */ - Network accessline 7436
* @see https://developers.figma.com/docs/plugins/api/ComplexStrokeProperties - Network accessline 7440
brushType: 'STRETCH' /** * Name of the stretch brush. See the [available brushes](https://developers.figma.com/api/complex-stroke-properties.md#available-brushes) for previews of these brushes. - Network accessline 7441
/** * Name of the stretch brush. See the [available brushes](https://developers.figma.com/api/complex-stroke-properties.md#available-brushes) for previews of these brushes. * Nodes using custom brushes will have this set to 'CUSTOM'. - Network accessline 7442
* Name of the stretch brush. See the [available brushes](https://developers.figma.com/api/complex-stroke-properties.md#available-brushes) for previews of these brushes. - Network accessline 7464
} /** * @see https://developers.figma.com/docs/plugins/api/ComplexStrokeProperties - Network accessline 7465
/** * @see https://developers.figma.com/docs/plugins/api/ComplexStrokeProperties */ - Network accessline 7466
* @see https://developers.figma.com/docs/plugins/api/ComplexStrokeProperties - Network accessline 7468
type BrushStrokeProperties = StretchBrushProperties | ScatterBrushProperties /** * @see https://developers.figma.com/docs/plugins/api/ComplexStrokeProperties - Network accessline 7469
/** * @see https://developers.figma.com/docs/plugins/api/ComplexStrokeProperties */ - Network accessline 7470
* @see https://developers.figma.com/docs/plugins/api/ComplexStrokeProperties - Network accessline 7481
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7482
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 7483
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7495
strokeCap: StrokeCap | PluginAPI['mixed'] /** * The miter limit on the stroke. This is the same as the [SVG miter limit](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-miterlimit). - Network accessline 7496
/** * The miter limit on the stroke. This is the same as the [SVG miter limit](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-miterlimit). */ - Network accessline 7497
* The miter limit on the stroke. This is the same as the [SVG miter limit](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-miterlimit). - Network accessline 7508
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7509
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 7510
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7533
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7534
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 7535
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7551
* @remarks * * A value of 0 is the default and means that the corner is perfectly circular. A value of 0.6 means the corner matches the iOS 7 "squircle" icon shape. Other values produce various other curves. See [this post](https://ww - Network accessline 7552
* * A value of 0 is the default and means that the corner is perfectly circular. A value of 0.6 means the corner matches the iOS 7 "squircle" icon shape. Other values produce various other curves. See [this post](https://www.figma.com/bl - Network accessline 7553
* A value of 0 is the default and means that the corner is perfectly circular. A value of 0.6 means the corner matches the iOS 7 "squircle" icon shape. Other values produce various other curves. See [this post](https://www.figma.com/blog/de - Network accessline 7556
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7557
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 7558
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7573
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7574
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 7575
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7577
interface ExportMixin { /** * List of export settings stored on the node. For help on how to change this value, see [Editing Properties](https://developers.figma.com/docs/plugins/editing-properties). - Network accessline 7578
/** * List of export settings stored on the node. For help on how to change this value, see [Editing Properties](https://developers.figma.com/docs/plugins/editing-properties). */ - Network accessline 7579
* List of export settings stored on the node. For help on how to change this value, see [Editing Properties](https://developers.figma.com/docs/plugins/editing-properties). - Network accessline 7647
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7648
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 7649
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7700
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7701
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 7702
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7704
interface ReactionMixin { /** * List of [Reactions](https://developers.figma.com/docs/plugins/api/Reaction) on this node, which includes both the method of interaction with this node in a prototype, and the behavior of that interaction - Network accessline 7705
/** * List of [Reactions](https://developers.figma.com/docs/plugins/api/Reaction) on this node, which includes both the method of interaction with this node in a prototype, and the behavior of that interaction. For help on how to change - Network accessline 7706
* List of [Reactions](https://developers.figma.com/docs/plugins/api/Reaction) on this node, which includes both the method of interaction with this node in a prototype, and the behavior of that interaction. For help on how to change this va - Network accessline 7710
* @remarks * * [Prototyping](https://help.figma.com/hc/en-us/articles/360040314193-Guide-to-prototyping-in-Figma) in Figma lets users create connections between nodes that consist of a trigger (click, hover, etc...) and a correspondin - Network accessline 7711
* * [Prototyping](https://help.figma.com/hc/en-us/articles/360040314193-Guide-to-prototyping-in-Figma) in Figma lets users create connections between nodes that consist of a trigger (click, hover, etc...) and a corresponding list of acti - Network accessline 7712
* [Prototyping](https://help.figma.com/hc/en-us/articles/360040314193-Guide-to-prototyping-in-Figma) in Figma lets users create connections between nodes that consist of a trigger (click, hover, etc...) and a corresponding list of actions, - Network accessline 7754
* ``` * * It is also possible to add Advanced Prototyping action types through the Plugin API: [Set Variable](https://help.figma.com/hc/en-us/articles/14506587589399-Use-variables-in-prototypes) and [Conditional](https://help.figma.co - Network accessline 7755
* * It is also possible to add Advanced Prototyping action types through the Plugin API: [Set Variable](https://help.figma.com/hc/en-us/articles/14506587589399-Use-variables-in-prototypes) and [Conditional](https://help.figma.com/hc/en-u - Network accessline 7756
* It is also possible to add Advanced Prototyping action types through the Plugin API: [Set Variable](https://help.figma.com/hc/en-us/articles/14506587589399-Use-variables-in-prototypes) and [Conditional](https://help.figma.com/hc/en-us/art - Network accessline 7865
} /** * @see https://developers.figma.com/docs/plugins/api/DocumentationLink - Network accessline 7866
/** * @see https://developers.figma.com/docs/plugins/api/DocumentationLink */ - Network accessline 7867
* @see https://developers.figma.com/docs/plugins/api/DocumentationLink - Network accessline 7871
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7872
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 7873
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7903
* * ```ts * node.documentationLinks = [{uri: "https://www.figma.com"}] - Network accessline 7904
* ```ts * node.documentationLinks = [{uri: "https://www.figma.com"}] * - Network accessline 7905
* node.documentationLinks = [{uri: "https://www.figma.com"}] - Network accessline 7924
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7925
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 7926
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7935
ExportMixin {} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7936
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 7937
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7962
readonly detachedInfo: DetachedInfo | null /** * Array of {@link LayoutGrid} objects used as layout grids on this node. For help on how to change this value, see [Editing Properties](https://developers.figma.com/docs/plugins/editing-pr - Network accessline 7963
/** * Array of {@link LayoutGrid} objects used as layout grids on this node. For help on how to change this value, see [Editing Properties](https://developers.figma.com/docs/plugins/editing-properties). */ - Network accessline 7964
* Array of {@link LayoutGrid} objects used as layout grids on this node. For help on how to change this value, see [Editing Properties](https://developers.figma.com/docs/plugins/editing-properties). - Network accessline 7980
clipsContent: boolean /** * Array of {@link Guide} used inside the frame. Note that each frame has its own guides, separate from the canvas-wide guides. For help on how to change this value, see [Editing Properties](https://developers. - Network accessline 7981
/** * Array of {@link Guide} used inside the frame. Note that each frame has its own guides, separate from the canvas-wide guides. For help on how to change this value, see [Editing Properties](https://developers.figma.com/docs/plugins/e - Network accessline 7982
* Array of {@link Guide} used inside the frame. Note that each frame has its own guides, separate from the canvas-wide guides. For help on how to change this value, see [Editing Properties](https://developers.figma.com/docs/plugins/editing- - Network accessline 7986
* Returns inferred auto layout properties of a {@link FrameNode} if applicable. Otherwise, returns `null`. * * This is what Figma uses to power Dev Mode’s [code snippets](https://help.figma.com/hc/en-us/articles/15023124644247#Build_f - Network accessline 7987
* * This is what Figma uses to power Dev Mode’s [code snippets](https://help.figma.com/hc/en-us/articles/15023124644247#Build_faster_with_customizable_code_snippets) feature, as it makes sure the generated code is more useful. * - Network accessline 7988
* This is what Figma uses to power Dev Mode’s [code snippets](https://help.figma.com/hc/en-us/articles/15023124644247#Build_faster_with_customizable_code_snippets) feature, as it makes sure the generated code is more useful. - Network accessline 7993
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 7994
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 7995
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 8060
* Annotations on the node. * * Learn more about annotations in the [Help Center](https://help.figma.com/hc/en-us/articles/20774752502935) or see the [Annotation type](https://developers.figma.com/docs/plugins/api/Annotation) for usage - Network accessline 8061
* * Learn more about annotations in the [Help Center](https://help.figma.com/hc/en-us/articles/20774752502935) or see the [Annotation type](https://developers.figma.com/docs/plugins/api/Annotation) for usage examples. * - Network accessline 8062
* Learn more about annotations in the [Help Center](https://help.figma.com/hc/en-us/articles/20774752502935) or see the [Annotation type](https://developers.figma.com/docs/plugins/api/Annotation) for usage examples. - Network accessline 8066
} /** * @see https://developers.figma.com/docs/plugins/api/Measurement - Network accessline 8067
/** * @see https://developers.figma.com/docs/plugins/api/Measurement */ - Network accessline 8068
* @see https://developers.figma.com/docs/plugins/api/Measurement - Network accessline 8082
} /** * @see https://developers.figma.com/docs/plugins/api/MeasurementSide - Network accessline 8083
/** * @see https://developers.figma.com/docs/plugins/api/MeasurementSide */ - Network accessline 8084
* @see https://developers.figma.com/docs/plugins/api/MeasurementSide - Network accessline 8086
type MeasurementSide = 'TOP' | 'RIGHT' | 'BOTTOM' | 'LEFT' /** * @see https://developers.figma.com/docs/plugins/api/MeasurementOffset - Network accessline 8087
/** * @see https://developers.figma.com/docs/plugins/api/MeasurementOffset */ - Network accessline 8088
* @see https://developers.figma.com/docs/plugins/api/MeasurementOffset - Network accessline 8101
* Get all measurements in the current page. * * Learn more about measurements in the [Help Center](https://help.figma.com/hc/en-us/articles/20774752502935). - Network accessline 8102
* * Learn more about measurements in the [Help Center](https://help.figma.com/hc/en-us/articles/20774752502935). */ - Network accessline 8103
* Learn more about measurements in the [Help Center](https://help.figma.com/hc/en-us/articles/20774752502935). - Network accessline 8115
* Measurements can only go on the same axis, i.e. from side `"LEFT"` -> `"LEFT"`, `"LEFT"` -> `"RIGHT"`, `"TOP"` -> `"BOTTOM"` etc. But not `"LEFT"` -> `"TOP"`. * * See the [Measurement type](https://developers.figma.com/docs/plugins/ - Network accessline 8116
* * See the [Measurement type](https://developers.figma.com/docs/plugins/api/Measurement) for usage examples. * - Network accessline 8117
* See the [Measurement type](https://developers.figma.com/docs/plugins/api/Measurement) for usage examples. - Network accessline 8145
* Edit a measurement’s offset. * * See the [Measurement type](https://developers.figma.com/docs/plugins/api/Measurement) for usage examples. - Network accessline 8146
* * See the [Measurement type](https://developers.figma.com/docs/plugins/api/Measurement) for usage examples. * - Network accessline 8147
* See the [Measurement type](https://developers.figma.com/docs/plugins/api/Measurement) for usage examples. - Network accessline 8165
* Delete a measurement. * * See the [Measurement type](https://developers.figma.com/docs/plugins/api/Measurement) for usage examples. - Network accessline 8166
* * See the [Measurement type](https://developers.figma.com/docs/plugins/api/Measurement) for usage examples. * - Network accessline 8167
* See the [Measurement type](https://developers.figma.com/docs/plugins/api/Measurement) for usage examples. - Network accessline 8178
} /** * @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 8179
/** * @see https://developers.figma.com/docs/plugins/api/node-properties */ - Network accessline 8180
* @see https://developers.figma.com/docs/plugins/api/node-properties - Network accessline 8186
* @remarks * * [Variant properties](https://help.figma.com/hc/en-us/articles/5579474826519#h_01G2Q5GF4407ZTN7K8FHM2JREZ) define attributes of variants in a component set. For example, a component set for a button might have variant pr - Network accessline 8187
* * [Variant properties](https://help.figma.com/hc/en-us/articles/5579474826519#h_01G2Q5GF4407ZTN7K8FHM2JREZ) define attributes of variants in a component set. For example, a component set for a button might have variant properties such - Network accessline 8188
* [Variant properties](https://help.figma.com/hc/en-us/articles/5579474826519#h_01G2Q5GF4407ZTN7K8FHM2JREZ) define attributes of variants in a component set. For example, a component set for a button might have variant properties such as `s - Network accessline 8233
* @remarks * * [Component properties-related properties](https://help.figma.com/hc/en-us/articles/5579474826519-Create-and-use-component-properties) define parts of the component people can change by tying them to specific design prop - Network accessline 8234
* * [Component properties-related properties](https://help.figma.com/hc/en-us/articles/5579474826519-Create-and-use-component-properties) define parts of the component people can change by tying them to specific design properties. You ca - Network accessline 8235
* [Component properties-related properties](https://help.figma.com/hc/en-us/articles/5579474826519-Create-and-use-component-properties) define parts of the component people can change by tying them to specific design properties. You can cre - Network accessline 8415
} /** * @see https://developers.figma.com/docs/plugins/api/TextNode - Network accessline 8416
/** * @see https://developers.figma.com/docs/plugins/api/TextNode */ - Network accessline 8417
* @see https://developers.figma.com/docs/plugins/api/TextNode - Network accessline 8439
textCase: TextCase | PluginAPI['mixed'] /** * [OpenType features](https://help.figma.com/hc/en-us/articles/4913951097367) that have been explicitly enabled or disabled. - Network accessline 8440
/** * [OpenType features](https://help.figma.com/hc/en-us/articles/4913951097367) that have been explicitly enabled or disabled. * - Network accessline 8441
* [OpenType features](https://help.figma.com/hc/en-us/articles/4913951097367) that have been explicitly enabled or disabled. - Network accessline 8443
* @remarks * * The **Details** tab in the [Type settings panel](https://help.figma.com/hc/en-us/articles/360039956634-Explore-text-properties#type-settings) shows all the OpenType features that are available for the current font. - Network accessline 8444
* * The **Details** tab in the [Type settings panel](https://help.figma.com/hc/en-us/articles/360039956634-Explore-text-properties#type-settings) shows all the OpenType features that are available for the current font. * - Network accessline 8445
* The **Details** tab in the [Type settings panel](https://help.figma.com/hc/en-us/articles/360039956634-Explore-text-properties#type-settings) shows all the OpenType features that are available for the current font. - Network accessline 8451
* Here are some useful resources for learning about OpenType features: * * - [An ode to OpenType [Figma blog]](https://www.figma.com/blog/opentype-font-features/) - Network accessline 8452
* * - [An ode to OpenType [Figma blog]](https://www.figma.com/blog/opentype-font-features/) * - [OpenType feature tags [Microsoft]](https://learn.microsoft.com/en-us/typography/opentype/spec/featuretags) - Network accessline 8453
* - [An ode to OpenType [Figma blog]](https://www.figma.com/blog/opentype-font-features/) - Network accessline 8454
* - [OpenType feature tags [Microsoft]](https://learn.microsoft.com/en-us/typography/opentype/spec/featuretags) - Network accessline 8455
* - [OpenType font features guide [MDN]](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/OpenType_fonts_guide) - Network accessline 8456
* - [OpenType Features in CSS [Sparanoid]](https://sparanoid.com/lab/opentype-features/) - Network accessline 8657
* @remarks * * This function provides an easy and performant way to get multiple text properties which may have [mixed values](https://developers.figma.com/docs/plugins/working-with-text#mixed-styles), along with which characters thes - Network accessline 8658
* * This function provides an easy and performant way to get multiple text properties which may have [mixed values](https://developers.figma.com/docs/plugins/working-with-text#mixed-styles), along with which characters these values apply - Network accessline 8659
* This function provides an easy and performant way to get multiple text properties which may have [mixed values](https://developers.figma.com/docs/plugins/working-with-text#mixed-styles), along with which characters these values apply to. - Network accessline 8786
} /** * @see https://developers.figma.com/docs/plugins/api/TextNode - Network accessline 8787
/** * @see https://developers.figma.com/docs/plugins/api/TextNode */ - Network accessline 8788
* @see https://developers.figma.com/docs/plugins/api/TextNode - Network accessline 8951
} /** * @see https://developers.figma.com/docs/plugins/api/TextPathNode - Network accessline 8952
/** * @see https://developers.figma.com/docs/plugins/api/TextPathNode */ - Network accessline 8953
* @see https://developers.figma.com/docs/plugins/api/TextPathNode - Network accessline 8955
interface NonResizableTextPathMixin extends BaseNonResizableTextMixin {} /** * @see https://developers.figma.com/docs/plugins/api/TextNode - Network accessline 8956
/** * @see https://developers.figma.com/docs/plugins/api/TextNode */ - Network accessline 8957
* @see https://developers.figma.com/docs/plugins/api/TextNode - Network accessline 9018
* Nodes are included in **back-to-front** order. Parents always appear before their children, and children appear in same relative order before their children, and children appear in same relative order as in the {@link ChildrenMixin.childr - Network accessline 9019
* * This traversal method is known as ["pre-order traversal"](https://en.wikipedia.org/wiki/Tree_traversal#Pre-order_(NLR)). * - Network accessline 9020
* This traversal method is known as ["pre-order traversal"](https://en.wikipedia.org/wiki/Tree_traversal#Pre-order_(NLR)). - Network accessline 9029
* * Caution: ⚠ Large documents in Figma can have tens of thousands of nodes. Be careful using this function as it could be very slow. * Please refer to our [recommendations](https://developers.figma.com/docs/plugins/accessing-document - Network accessline 9030
* Caution: ⚠ Large documents in Figma can have tens of thousands of nodes. Be careful using this function as it could be very slow. * Please refer to our [recommendations](https://developers.figma.com/docs/plugins/accessing-document#opti - Network accessline 9031
* Please refer to our [recommendations](https://developers.figma.com/docs/plugins/accessing-document#optimizing-traversals) for how to optimize document traversals. - Network accessline 9052
* * Caution: ⚠ Large documents in Figma can have tens of thousands of nodes. Be careful using this function as it could be very slow. * Please refer to our [recommendations](https://developers.figma.com/docs/plugins/accessing-document - Network accessline 9053
* Caution: ⚠ Large documents in Figma can have tens of thousands of nodes. Be careful using this function as it could be very slow. * Please refer to our [recommendations](https://developers.figma.com/docs/plugins/accessing-document#opti - Network accessline 9054
* Please refer to our [recommendations](https://developers.figma.com/docs/plugins/accessing-document#optimizing-traversals) for how to optimize document traversals. - Network accessline 9086
* The explicitly set modes for this node. * For `SceneNodes`, represents a subset of {@link SceneNodeMixin.resolvedVariableModes }. * Note that this does not include [workspace and team-default modes](https://help.figma.com/hc/en-us/a - Network accessline 9087
* For `SceneNodes`, represents a subset of {@link SceneNodeMixin.resolvedVariableModes }. * Note that this does not include [workspace and team-default modes](https://help.figma.com/hc/en-us/articles/12611253730071). */ - Network accessline 9088
* Note that this does not include [workspace and team-default modes](https://help.figma.com/hc/en-us/articles/12611253730071). - Network accessline 9248
* | Change | `type` property | Description | * | --- | --- | --- | * | [`CreateChange`](https://developers.figma.com/docs/plugins/api/NodeChange#createchange) | `'CREATE'` | A node has been created in the page. If a node with nested c - Network accessline 9249
* | --- | --- | --- | * | [`CreateChange`](https://developers.figma.com/docs/plugins/api/NodeChange#createchange) | `'CREATE'` | A node has been created in the page. If a node with nested children is being added to the page a `CreateChan - Network accessline 9250
* | [`CreateChange`](https://developers.figma.com/docs/plugins/api/NodeChange#createchange) | `'CREATE'` | A node has been created in the page. If a node with nested children is being added to the page a `CreateChange` will only be made for - Network accessline 9251
* | [`DeleteChange`](https://developers.figma.com/docs/plugins/api/NodeChange#deletechange) | `'DELETE'` | A node has been removed from the page. If a node with nested children is being removed from the page a `DeleteChange` will only be - Network accessline 9252
* | [`PropertyChange`](https://developers.figma.com/docs/plugins/api/NodeChange#propertychange) | `'PROPERTY_CHANGE'` | A property of a node has changed. | - Network accessline 9340
} /** * @see https://developers.figma.com/docs/plugins/api/TransformGroupNode - Network accessline 9341
/** * @see https://developers.figma.com/docs/plugins/api/TransformGroupNode */ - Network accessline 9342
* @see https://developers.figma.com/docs/plugins/api/TransformGroupNode - Network accessline 9560
} /** * @see https://developers.figma.com/docs/plugins/api/TextPathNode - Network accessline 9561
/** * @see https://developers.figma.com/docs/plugins/api/TextPathNode */ - Network accessline 9562
* @see https://developers.figma.com/docs/plugins/api/TextPathNode - Network accessline 9621
} /** * @see https://developers.figma.com/docs/plugins/api/ComponentPropertyType - Network accessline 9622
/** * @see https://developers.figma.com/docs/plugins/api/ComponentPropertyType */ - Network accessline 9623
* @see https://developers.figma.com/docs/plugins/api/ComponentPropertyType - Network accessline 9625
type ComponentPropertyType = 'BOOLEAN' | 'TEXT' | 'INSTANCE_SWAP' | 'VARIANT' /** * @see https://developers.figma.com/docs/plugins/api/InstanceSwapPreferredValue - Network accessline 9626
/** * @see https://developers.figma.com/docs/plugins/api/InstanceSwapPreferredValue */ - Network accessline 9627
* @see https://developers.figma.com/docs/plugins/api/InstanceSwapPreferredValue - Network accessline 9632
} /** * @see https://developers.figma.com/docs/plugins/api/ComponentPropertyOptions - Network accessline 9633
/** * @see https://developers.figma.com/docs/plugins/api/ComponentPropertyOptions */ - Network accessline 9634
* @see https://developers.figma.com/docs/plugins/api/ComponentPropertyOptions - Network accessline 9638
} /** * @see https://developers.figma.com/docs/plugins/api/ComponentPropertyDefinitions - Network accessline 9639
/** * @see https://developers.figma.com/docs/plugins/api/ComponentPropertyDefinitions */ - Network accessline 9640
* @see https://developers.figma.com/docs/plugins/api/ComponentPropertyDefinitions - Network accessline 9674
} /** * @see https://developers.figma.com/docs/plugins/api/ComponentNode - Network accessline 9675
/** * @see https://developers.figma.com/docs/plugins/api/ComponentNode */ - Network accessline 9676
* @see https://developers.figma.com/docs/plugins/api/ComponentNode - Network accessline 9705
} /** * @see https://developers.figma.com/docs/plugins/api/ComponentProperties - Network accessline 9706
/** * @see https://developers.figma.com/docs/plugins/api/ComponentProperties */ - Network accessline 9707
* @see https://developers.figma.com/docs/plugins/api/ComponentProperties - Network accessline 9741
* @remarks * * Learn more about instance swap and override preservation in our <a href="https://help.figma.com/hc/en-us/articles/360039150413-Swap-between-component-instances-in-a-file">help center</a>. If you do not want to preserve - Network accessline 9742
* * Learn more about instance swap and override preservation in our <a href="https://help.figma.com/hc/en-us/articles/360039150413-Swap-between-component-instances-in-a-file">help center</a>. If you do not want to preserve overrides when - Network accessline 9743
* Learn more about instance swap and override preservation in our <a href="https://help.figma.com/hc/en-us/articles/360039150413-Swap-between-component-instances-in-a-file">help center</a>. If you do not want to preserve overrides when swap - Network accessline 9828
authorName: string /** * Indicates whether the sticky note has a [wide rectangular shape](https://help.figma.com/hc/en-us/articles/1500004414322-Sticky-notes-in-FigJam#Size), as opposed to a square shape. - Network accessline 9829
/** * Indicates whether the sticky note has a [wide rectangular shape](https://help.figma.com/hc/en-us/articles/1500004414322-Sticky-notes-in-FigJam#Size), as opposed to a square shape. */ - Network accessline 9830
* Indicates whether the sticky note has a [wide rectangular shape](https://help.figma.com/hc/en-us/articles/1500004414322-Sticky-notes-in-FigJam#Size), as opposed to a square shape. - Network accessline 9858
} /** * @see https://developers.figma.com/docs/plugins/api/TableNode - Network accessline 9859
/** * @see https://developers.figma.com/docs/plugins/api/TableNode */ - Network accessline 9860
* @see https://developers.figma.com/docs/plugins/api/TableNode - Network accessline 9947
} /** * @see https://developers.figma.com/docs/plugins/api/TableCellNode - Network accessline 9948
/** * @see https://developers.figma.com/docs/plugins/api/TableCellNode */ - Network accessline 9949
* @see https://developers.figma.com/docs/plugins/api/TableCellNode
skills/.curated/figma/LICENSE.txt
- Network accessline 1
Use of these Figma skills and related files ("Materials") is governed by the Figma Developer Terms (available at https://www.figma.com/legal/developer-terms/). By accessing, downloading, or using these Materials — including through automate
skills/.curated/figma/agents/openai.yaml
skills/.curated/figma/assets/figma-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
skills/.curated/figma/assets/icon.svg
skills/.curated/figma/references/figma-mcp-config.md
skills/.curated/gh-address-comments/LICENSE.txt
skills/.curated/gh-address-comments/assets/github-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
skills/.curated/gh-address-comments/scripts/fetch_comments.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/.curated/gh-fix-ci/LICENSE.txt
skills/.curated/gh-fix-ci/SKILL.md
- Network accessline 66
Usage examples: - `python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "123"` - `python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "https://github.com/org/repo/pull/123" --json` - Network accessline 67
- `python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "123"` - `python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "https://github.com/org/repo/pull/123" --json` - `python "<path-to-skill>/scripts/inspe - Network accessline 68
- `python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "https://github.com/org/repo/pull/123" --json`
skills/.curated/gh-fix-ci/assets/github-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
skills/.curated/gh-fix-ci/scripts/inspect_pr_checks.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/.curated/hatch-pet/LICENSE.txt
skills/.curated/hatch-pet/SKILL.md
- Network accessline 175
python "$SKILL_DIR/scripts/prepare_pet_run.py" --pet-name "<Name>" --description "<one sentence>" --reference /absolute/path/to/reference.png --output-dir /absolute/path/to/run --pet-notes "<stable pet description>" --bran - Network accessline 182
--brand-name "<optional researched brand name>" \ --brand-brief "<optional compact researched brand cue sentence>" \ --brand-source "https://example.com/source" \ - Network accessline 183
--brand-brief "<optional compact researched brand cue sentence>" \ --brand-source "https://example.com/source" \ --style-preset auto \ - Network accessline 184
--brand-source "https://example.com/source" \ - Dangerous shell operationline 243
rm -f "$SOURCE"
skills/.curated/hatch-pet/scripts/compose_atlas.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/.curated/hatch-pet/scripts/derive_running_left_from_running_right.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/.curated/hatch-pet/scripts/extract_strip_frames.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/.curated/hatch-pet/scripts/inspect_frames.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/.curated/hatch-pet/scripts/make_contact_sheet.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/.curated/hatch-pet/scripts/prepare_pet_run.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/.curated/hatch-pet/scripts/render_animation_previews.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/.curated/hatch-pet/scripts/validate_atlas.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/.curated/jupyter-notebook/LICENSE.txt
skills/.curated/jupyter-notebook/assets/experiment-template.ipynb
- Executable scriptline 1
Executable file
skills/.curated/jupyter-notebook/assets/jupyter-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="21" fill="currentColor" viewBox="0 0 20 21">
skills/.curated/jupyter-notebook/assets/tutorial-template.ipynb
- Executable scriptline 1
Executable file
skills/.curated/jupyter-notebook/scripts/new_notebook.py
- Executable scriptline 1
Executable file
skills/.curated/linear/LICENSE.txt
skills/.curated/linear/SKILL.md
- Network accessline 26
1. Add the Linear MCP: - `codex mcp add linear --url https://mcp.linear.app/mcp` - Network accessline 27
- `codex mcp add linear --url https://mcp.linear.app/mcp` - Network accessline 37
{"mcpServers": {"linear": {"command": "wsl", "args": ["npx", "-y", "mcp-remote", "https://mcp.linear.app/sse", "--transport", "sse-only"]}}} - Access to secretsline 84
[Credential-related source omitted]
skills/.curated/linear/agents/openai.yaml
skills/.curated/linear/assets/linear-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="200" height="200" viewBox="0 0 100 100">
skills/.curated/migrate-to-codex/LICENSE.txt
skills/.curated/migrate-to-codex/references/differences.md
- Network accessline 152
- https://docs.claude.com/en/docs/claude-code/claude_code_docs_map - Network accessline 153
- https://developers.openai.com/codex/config-reference - Network accessline 154
- https://developers.openai.com/codex/mcp - Network accessline 155
- https://developers.openai.com/codex/plugins/ - Network accessline 156
- https://developers.openai.com/codex/plugins/build/ - Network accessline 157
- https://developers.openai.com/codex/skills - Network accessline 158
- https://developers.openai.com/codex/subagents - Network accessline 159
- https://developers.openai.com/codex/hooks - Network accessline 160
- https://code.claude.com/docs/en/skills - Network accessline 161
- https://code.claude.com/docs/en/sub-agents - Network accessline 162
- https://code.claude.com/docs/en/hooks - Network accessline 163
- https://code.claude.com/docs/en/hooks-guide - Network accessline 164
- https://code.claude.com/docs/en/mcp - Network accessline 165
- https://code.claude.com/docs/en/settings - Network accessline 166
- https://code.claude.com/docs/en/plugins - Network accessline 167
- https://code.claude.com/docs/en/plugin-marketplaces
skills/.curated/migrate-to-codex/scripts/cli.py
- Executable scriptline 1
Executable file
skills/.curated/migrate-to-codex/scripts/migrate-to-codex.py
- Executable scriptline 1
Executable file
skills/.curated/migrate-to-codex/scripts/migrate/__init__.py
- Executable scriptline 1
Executable file
skills/.curated/migrate-to-codex/scripts/migrate/agents.py
- Executable scriptline 1
Executable file
skills/.curated/migrate-to-codex/scripts/migrate/codex_config.py
- Executable scriptline 1
Executable file
skills/.curated/migrate-to-codex/scripts/migrate/common.py
- Executable scriptline 1
Executable file
skills/.curated/migrate-to-codex/scripts/migrate/hooks.py
- Executable scriptline 1
Executable file
skills/.curated/migrate-to-codex/scripts/migrate/instructions.py
- Executable scriptline 1
Executable file
skills/.curated/migrate-to-codex/scripts/migrate/mcps.py
- Executable scriptline 1
Executable file
skills/.curated/migrate-to-codex/scripts/migrate/plugins.py
- Executable scriptline 1
Executable file
skills/.curated/migrate-to-codex/scripts/migrate/settings.py
- Executable scriptline 1
Executable file
skills/.curated/migrate-to-codex/scripts/migrate/skills.py
- Executable scriptline 1
Executable file
skills/.curated/migrate-to-codex/scripts/utils/__init__.py
- Executable scriptline 1
Executable file
skills/.curated/migrate-to-codex/scripts/utils/scan.py
- Executable scriptline 1
Executable file
skills/.curated/migrate-to-codex/scripts/utils/util.py
- Executable scriptline 1
Executable file
skills/.curated/netlify-deploy/LICENSE.txt
skills/.curated/netlify-deploy/SKILL.md
- Access to secretsline 36
[Credential-related source omitted] - Access to secretsline 65
[Credential-related source omitted] - Network accessline 68
Tokens can be generated at: https://app.netlify.com/user/applications#personal-access-tokens - Network accessline 86
# If Git-based, extract remote URL # Format: https://github.com/username/repo or git@github.com:username/repo.git - Network accessline 87
# Format: https://github.com/username/repo or git@github.com:username/repo.git - Network accessline 175
# Try Git-based linking first git remote show origin npx netlify link --git-remote-url https://github.com/user/repo - Network accessline 177
npx netlify link --git-remote-url https://github.com/user/repo - Network accessline 240
- Netlify CLI Docs: https://docs.netlify.com/cli/get-started/ - Network accessline 241
- netlify.toml Reference: https://docs.netlify.com/configure-builds/file-based-configuration/
skills/.curated/netlify-deploy/assets/netlify-small.svg
- Network accessline 1
<svg width="16" height="16" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
skills/.curated/netlify-deploy/references/cli-commands.md
skills/.curated/netlify-deploy/references/deployment-patterns.md
- Network accessline 54
1. Check authentication: `npx netlify status` 2. Get Git remote: `git remote show origin` 3. Extract URL (e.g., `https://github.com/user/repo.git`) - Network accessline 55
2. Get Git remote: `git remote show origin` 3. Extract URL (e.g., `https://github.com/user/repo.git`) 4. Link by remote: `npx netlify link --git-remote-url <URL>` - Network accessline 56
3. Extract URL (e.g., `https://github.com/user/repo.git`) - Network accessline 62
git remote show origin # * remote origin # Fetch URL: https://github.com/user/my-app.git - Network accessline 64
# Fetch URL: https://github.com/user/my-app.git - Network accessline 66
npx netlify link --git-remote-url https://github.com/user/my-app.git - Network accessline 85
npx netlify deploy # Draft deploy URL: https://507f1f77bcf86cd799439011-my-app.netlify.app - Network accessline 86
# Draft deploy URL: https://507f1f77bcf86cd799439011-my-app.netlify.app - Access to secretsline 149
[Credential-related source omitted] - Access to secretsline 152
[Credential-related source omitted] - Network accessline 301
- Netlify CLI Documentation: https://docs.netlify.com/cli/get-started/ - Network accessline 302
- Framework Integration Guides: https://docs.netlify.com/frameworks/ - Network accessline 303
- Build Configuration: https://docs.netlify.com/configure-builds/
skills/.curated/netlify-deploy/references/netlify-toml.md
- Network accessline 98
[[redirects]] from = "/api/*" to = "https://api.example.com/:splat" - Network accessline 99
from = "/api/*" to = "https://api.example.com/:splat" status = 200 - Network accessline 100
to = "https://api.example.com/:splat" - Network accessline 174
[plugins.inputs] baseUrl = "https://example.com" - Network accessline 175
baseUrl = "https://example.com" - Network accessline 258
- Full configuration reference: https://docs.netlify.com/configure-builds/file-based-configuration/ - Network accessline 259
- Framework-specific guides: https://docs.netlify.com/frameworks/
skills/.curated/notion-knowledge-capture/SKILL.md
- Network accessline 20
### 0) If any MCP call fails because Notion MCP is not connected, pause and set it up: 1. Add the Notion MCP: - `codex mcp add notion --url https://mcp.notion.com/mcp` - Network accessline 21
1. Add the Notion MCP: - `codex mcp add notion --url https://mcp.notion.com/mcp` 2. Enable remote MCP client: - Network accessline 22
- `codex mcp add notion --url https://mcp.notion.com/mcp`
skills/.curated/notion-knowledge-capture/agents/openai.yaml
skills/.curated/notion-knowledge-capture/assets/notion-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 100 100" aria-hidden="true">
skills/.curated/notion-knowledge-capture/examples/conversation-to-faq.md
- Network accessline 108
"date:Last Reviewed:is_datetime": 0 }, content: "## Short Answer\n\n**Always check the logs first.** Logs contain error messages that point you directly to the problem. Use `pm2 logs`, `docker logs`, or check your application's log file - Network accessline 109
}, content: "## Short Answer\n\n**Always check the logs first.** Logs contain error messages that point you directly to the problem. Use `pm2 logs`, `docker logs`, or check your application's log files.\n\n## Detailed Explanation\n\nLogs - Network accessline 110
content: "## Short Answer\n\n**Always check the logs first.** Logs contain error messages that point you directly to the problem. Use `pm2 logs`, `docker logs`, or check your application's log files.\n\n## Detailed Explanation\n\nLogs are y
skills/.curated/notion-knowledge-capture/examples/how-to-guide.md
skills/.curated/notion-meeting-intelligence/SKILL.md
- Network accessline 20
### 0) If any MCP call fails because Notion MCP is not connected, pause and set it up: 1. Add the Notion MCP: - `codex mcp add notion --url https://mcp.notion.com/mcp` - Network accessline 21
1. Add the Notion MCP: - `codex mcp add notion --url https://mcp.notion.com/mcp` 2. Enable remote MCP client: - Network accessline 22
- `codex mcp add notion --url https://mcp.notion.com/mcp`
skills/.curated/notion-meeting-intelligence/agents/openai.yaml
skills/.curated/notion-meeting-intelligence/assets/notion-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 100 100" aria-hidden="true">
skills/.curated/notion-meeting-intelligence/examples/customer-meeting.md
- Network accessline 21
Notion:notion-fetch (4 pages)
skills/.curated/notion-meeting-intelligence/examples/executive-review.md
- Network accessline 21
Notion:notion-fetch (5 pages)
skills/.curated/notion-meeting-intelligence/examples/sprint-planning.md
- Network accessline 22
Notion:notion-fetch (4 pages)
skills/.curated/notion-research-documentation/SKILL.md
- Network accessline 20
### 0) If any MCP call fails because Notion MCP is not connected, pause and set it up: 1. Add the Notion MCP: - `codex mcp add notion --url https://mcp.notion.com/mcp` - Network accessline 21
1. Add the Notion MCP: - `codex mcp add notion --url https://mcp.notion.com/mcp` 2. Enable remote MCP client: - Network accessline 22
- `codex mcp add notion --url https://mcp.notion.com/mcp`
skills/.curated/notion-research-documentation/agents/openai.yaml
skills/.curated/notion-research-documentation/assets/notion-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 100 100" aria-hidden="true">
skills/.curated/notion-research-documentation/examples/market-research.md
- Network accessline 16
Notion:notion-fetch (3x)
skills/.curated/notion-research-documentation/examples/trip-planning.md
- Network accessline 16
Notion:notion-fetch (3x)
skills/.curated/notion-research-documentation/reference/advanced-search.md
- Network accessline 71
page_url: "https://notion.so/workspace/Page-Title-uuid"
skills/.curated/notion-research-documentation/reference/citations.md
skills/.curated/notion-spec-to-implementation/SKILL.md
- Network accessline 21
### 0) If any MCP call fails because Notion MCP is not connected, pause and set it up: 1. Add the Notion MCP: - `codex mcp add notion --url https://mcp.notion.com/mcp` - Network accessline 22
1. Add the Notion MCP: - `codex mcp add notion --url https://mcp.notion.com/mcp` 2. Enable remote MCP client: - Network accessline 23
- `codex mcp add notion --url https://mcp.notion.com/mcp`
skills/.curated/notion-spec-to-implementation/agents/openai.yaml
skills/.curated/notion-spec-to-implementation/assets/notion-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 100 100" aria-hidden="true">
skills/.curated/notion-spec-to-implementation/evaluations/basic-spec-implementation.json
- Network accessline 18
], "success_criteria": [ "Spec is found using Notion:notion-search before attempting to fetch (or user is asked for URL if not found)", - Network accessline 19
"success_criteria": [ "Spec is found using Notion:notion-search before attempting to fetch (or user is asked for URL if not found)", "Spec is fetched using Notion:notion-fetch with correct URL/ID from search results", - Network accessline 20
"Spec is found using Notion:notion-search before attempting to fetch (or user is asked for URL if not found)",
skills/.curated/notion-spec-to-implementation/evaluations/spec-to-tasks.json
- Network accessline 30
"Task properties match exact schema from fetched database", "Tasks use correct parent (data_source_id: 'collection://...') for database placement", "Uses correct tool names and sequence: Notion:notion-search (2x) → Notion:notion-fet - Network accessline 31
"Tasks use correct parent (data_source_id: 'collection://...') for database placement", "Uses correct tool names and sequence: Notion:notion-search (2x) → Notion:notion-fetch (2x) → Notion:notion-create-pages (Nx)" ] - Network accessline 32
"Uses correct tool names and sequence: Notion:notion-search (2x) → Notion:notion-fetch (2x) → Notion:notion-create-pages (Nx)"
skills/.curated/openai-docs/LICENSE.txt
skills/.curated/openai-docs/SKILL.md
- Network accessline 18
- For API reference, schema, parameter, or required-field questions, use `mcp__openaiDeveloperDocs__get_openapi_spec` when available to verify the API shape alongside the relevant guide or reference page. - Use `mcp__openaiDeveloperDocs__li - Network accessline 19
- Use `mcp__openaiDeveloperDocs__list_openai_docs` only when you need to browse or discover non-Codex pages without a clear query. - For model-selection, "latest model", or default-model questions, fetch `https://developers.openai.com/api/d - Network accessline 20
- For model-selection, "latest model", or default-model questions, fetch `https://developers.openai.com/api/docs/guides/latest-model.md` first. If that is unavailable, load `references/latest-model.md`. - Network accessline 110
1. Run the install command yourself: `codex mcp add openaiDeveloperDocs --url https://developers.openai.com/mcp` - Network accessline 119
2. For Codex self-knowledge requests, follow the Codex self-knowledge source procedure above. 3. For model-selection or upgrade requests, prefer current remote docs over bundled references when the user asks for latest/current/default guida - Network accessline 120
3. For model-selection or upgrade requests, prefer current remote docs over bundled references when the user asks for latest/current/default guidance. - Fetch `https://developers.openai.com/api/docs/guides/latest-model.md`. - Find the - Network accessline 121
- Fetch `https://developers.openai.com/api/docs/guides/latest-model.md`. - Network accessline 138
- `https://developers.openai.com/api/docs/guides/latest-model.md` -> current model-selection and "best/latest/current model" questions. - `scripts/fetch-codex-manual.mjs` -> current Codex manual fetch, verification, local temp cache, and ou - Network accessline 139
- `scripts/fetch-codex-manual.mjs` -> current Codex manual fetch, verification, local temp cache, and outline generation. - `https://developers.openai.com/codex/codex-manual.md` -> current Codex self-knowledge synthesis, including setup, cu - Network accessline 140
- `https://developers.openai.com/codex/codex-manual.md` -> current Codex self-knowledge synthesis, including setup, customization, skills, plugins, MCP, hooks, `AGENTS.md`, automations, and surface behavior; normally access it through the h
skills/.curated/openai-docs/agents/openai.yaml
skills/.curated/openai-docs/assets/openai-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" viewBox="0 0 14 14">
skills/.curated/openai-docs/scripts/fetch-codex-manual.mjs
- Executable scriptline 1
#!/usr/bin/env node - Network accessline 19
const DEFAULT_MANUAL_URL = "https://developers.openai.com/codex/codex-manual.md"; - Network accessline 74
if (!headerBlock) { throw new ManualFetchError("curl did not return HTTP response headers."); - Network accessline 75
throw new ManualFetchError("curl did not return HTTP response headers."); - Network accessline 80
if (!statusMatch) { throw new ManualFetchError( `Could not parse HTTP status from curl response: ${statusLine}` - Network accessline 81
throw new ManualFetchError( `Could not parse HTTP status from curl response: ${statusLine}` ); - Network accessline 82
`Could not parse HTTP status from curl response: ${statusLine}` - Network accessline 156
if (lastError?.code === "ENOENT") { throw new ManualFetchError("curl is unavailable in this environment.", { - Network accessline 157
throw new ManualFetchError("curl is unavailable in this environment.", { - Network accessline 173
return withTimeout( (signal) => fetch(url, { - Network accessline 174
(signal) => fetch(url, { method, - Network accessline 175
fetch(url, {
skills/.curated/openai-docs/scripts/resolve-latest-model-info.js
- Executable scriptline 1
#!/usr/bin/env node - Network accessline 6
const DEFAULT_URL = "https://developers.openai.com/api/docs/guides/latest-model.md"; - Network accessline 7
"https://developers.openai.com/api/docs/guides/latest-model.md"; - Network accessline 8
const DEFAULT_BASE_URL = "https://developers.openai.com"; - Network accessline 39
const response = await fetch(source, {
skills/.curated/pdf/LICENSE.txt
skills/.curated/pdf/SKILL.md
- Dangerous shell operationline 44
sudo apt-get install -y poppler-utils
skills/.curated/playwright-interactive/LICENSE.txt
skills/.curated/playwright-interactive/SKILL.md
- Network accessline 141
var TARGET_URL = "http://127.0.0.1:3000"; - Network accessline 162
var MOBILE_TARGET_URL = typeof TARGET_URL === "string" ? TARGET_URL : "http://127.0.0.1:3000"; - Network accessline 164
: "http://127.0.0.1:3000"; - Network accessline 185
var TARGET_URL = "http://127.0.0.1:3000"; - Network accessline 686
- `Cannot find module 'playwright'`: run the one-time setup in the current workspace and verify the import before using `js_repl`. - Playwright package is installed but the browser executable is missing: run `npx playwright install chromium - Network accessline 687
- Playwright package is installed but the browser executable is missing: run `npx playwright install chromium`. - `page.goto: net::ERR_CONNECTION_REFUSED`: make sure the dev server is still running in a persistent TTY session, recheck the p - Network accessline 688
- `page.goto: net::ERR_CONNECTION_REFUSED`: make sure the dev server is still running in a persistent TTY session, recheck the port, and prefer `http://127.0.0.1:<port>`.
skills/.curated/playwright-interactive/assets/playwright-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
skills/.curated/playwright/LICENSE.txt
skills/.curated/playwright/SKILL.md
- Network accessline 48
"$PWCLI" open https://playwright.dev --headed - Network accessline 74
"$PWCLI" open https://example.com - Network accessline 96
"$PWCLI" open https://example.com/form - Network accessline 107
"$PWCLI" open https://example.com --headed - Network accessline 116
"$PWCLI" tab-new https://example.com
skills/.curated/playwright/assets/playwright-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
skills/.curated/playwright/references/cli.md
- Network accessline 22
pwcli open https://example.com - Dangerous shell operationline 36
pwcli eval "document.title" - Dangerous shell operationline 37
pwcli eval "el => el.textContent" e5 - Network accessline 83
pwcli tab-list pwcli tab-new pwcli tab-new https://example.com/page - Network accessline 84
pwcli tab-new pwcli tab-new https://example.com/page pwcli tab-close - Network accessline 85
pwcli tab-new https://example.com/page - Network accessline 107
pwcli --session todo open https://demo.playwright.dev/todomvc - Network accessline 114
export PLAYWRIGHT_CLI_SESSION=todo pwcli open https://demo.playwright.dev/todomvc - Network accessline 115
pwcli open https://demo.playwright.dev/todomvc
skills/.curated/playwright/references/workflows.md
- Network accessline 10
pwcli open https://example.com - Network accessline 19
pwcli open https://example.com/form --headed - Network accessline 31
pwcli open https://example.com - Dangerous shell operationline 33
pwcli eval "document.title" - Dangerous shell operationline 34
pwcli eval "el => el.textContent" e12 - Network accessline 60
pwcli --session marketing open https://example.com - Network accessline 62
pwcli --session checkout open https://example.com/checkout - Network accessline 68
export PLAYWRIGHT_CLI_SESSION=checkout pwcli open https://example.com/checkout - Network accessline 69
pwcli open https://example.com/checkout
skills/.curated/playwright/scripts/playwright_cli.sh
- Executable scriptline 1
#!/usr/bin/env bash
skills/.curated/render-deploy/LICENSE.txt
skills/.curated/render-deploy/SKILL.md
- Network accessline 109
If not installed, offer to install: - macOS: `brew install render` - Linux/macOS: `curl -fsSL https://raw.githubusercontent.com/render-oss/cli/main/bin/install.sh | sh` - Dangerous shell operationline 111
- Linux/macOS: `curl -fsSL https://raw.githubusercontent.com/render-oss/cli/main/bin/install.sh | sh` - Network accessline 111
- Linux/macOS: `curl -fsSL https://raw.githubusercontent.com/render-oss/cli/main/bin/install.sh | sh` - Network accessline 123
https://dashboard.render.com/u/*/settings#api-keys - Access to secretsline 126
[Credential-related source omitted] - Network accessline 129
"mcpServers": { "render": { "url": "https://mcp.render.com/mcp", - Network accessline 130
"render": { "url": "https://mcp.render.com/mcp", "headers": { - Network accessline 131
"url": "https://mcp.render.com/mcp", - Access to secretsline 133
[Credential-related source omitted] - Network accessline 148
https://dashboard.render.com/u/*/settings#api-keys - Access to secretsline 151
[Credential-related source omitted] - Network accessline 153
[Credential-related source omitted] - Access to secretsline 153
[Credential-related source omitted] - Network accessline 164
https://dashboard.render.com/u/*/settings#api-keys - Access to secretsline 169
[Credential-related source omitted] - Network accessline 174
[Credential-related source omitted] - Access to secretsline 174
[Credential-related source omitted] - Network accessline 201
[Credential-related source omitted] - Network accessline 202
[Credential-related source omitted] - Access to secretsline 202
[Credential-related source omitted] - Access to secretsline 286
[Credential-related source omitted] - Network accessline 339
| SSH Format | HTTPS Format | |------------|--------------| | `git@github.com:user/repo.git` | `https://github.com/user/repo` | - Network accessline 340
|------------|--------------| | `git@github.com:user/repo.git` | `https://github.com/user/repo` | | `git@gitlab.com:user/repo.git` | `https://gitlab.com/user/repo` | - Network accessline 341
| `git@github.com:user/repo.git` | `https://github.com/user/repo` | - Network accessline 342
| `git@gitlab.com:user/repo.git` | `https://gitlab.com/user/repo` | - Network accessline 343
| `git@bitbucket.org:user/repo.git` | `https://bitbucket.org/user/repo` | - Network accessline 349
https://dashboard.render.com/blueprint/new?repo=<REPOSITORY_URL> - Network accessline 354
https://dashboard.render.com/blueprint/new?repo=https://github.com/username/repo-name
skills/.curated/render-deploy/agents/openai.yaml
skills/.curated/render-deploy/assets/go-api.yaml
- Access to secretsline 26
[Credential-related source omitted]
skills/.curated/render-deploy/assets/nextjs-postgres.yaml
skills/.curated/render-deploy/assets/node-express.yaml
- Access to secretsline 24
[Credential-related source omitted]
skills/.curated/render-deploy/assets/render-small.svg
- Network accessline 1
<svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
skills/.curated/render-deploy/assets/static-site.yaml
skills/.curated/render-deploy/references/blueprint-spec.md
- Network accessline 309
value: production - key: API_URL value: https://api.example.com - Network accessline 310
- key: API_URL value: https://api.example.com - key: LOG_LEVEL - Network accessline 311
value: https://api.example.com - Access to secretsline 338
[Credential-related source omitted] - Network accessline 716
- Official Blueprint Specification: https://render.com/docs/blueprint-spec - Network accessline 717
- Render CLI Documentation: https://render.com/docs/cli - Network accessline 718
- Environment Variables Guide: https://render.com/docs/environment-variables
skills/.curated/render-deploy/references/configuration-guide.md
- Network accessline 19
value: info - key: API_URL value: https://api.example.com - Network accessline 21
value: https://api.example.com - Access to secretsline 31
[Credential-related source omitted] - Access to secretsline 174
[Credential-related source omitted] - Access to secretsline 200
[Credential-related source omitted] - Network accessline 235
port ENV.fetch("PORT") { 3000 } - Network accessline 236
bind "tcp://0.0.0.0:#{ENV.fetch('PORT', 3000)}" - Access to secretsline 362
[Credential-related source omitted] - Access to secretsline 371
[Credential-related source omitted] - Network accessline 601
- Service Types: [service-types.md](service-types.md) - Runtimes: [runtimes.md](runtimes.md) - Official Render Docs: https://render.com/docs - Network accessline 603
- Official Render Docs: https://render.com/docs
skills/.curated/render-deploy/references/deployment-details.md
skills/.curated/render-deploy/references/direct-creation.md
- Network accessline 16
name: "my-api", runtime: "node", # or python, go, rust, ruby, elixir, docker repo: "https://github.com/username/repo", - Network accessline 17
runtime: "node", # or python, go, rust, ruby, elixir, docker repo: "https://github.com/username/repo", branch: "main", # optional, defaults to repo default branch - Network accessline 18
repo: "https://github.com/username/repo", - Network accessline 32
create_static_site( name: "my-frontend", repo: "https://github.com/username/repo", - Network accessline 33
name: "my-frontend", repo: "https://github.com/username/repo", branch: "main", - Network accessline 34
repo: "https://github.com/username/repo", - Network accessline 37
publishPath: "dist", # or build, public, out envVars: [ {"key": "VITE_API_URL", "value": "https://api.example.com"} - Network accessline 38
envVars: [ {"key": "VITE_API_URL", "value": "https://api.example.com"} ] - Network accessline 39
{"key": "VITE_API_URL", "value": "https://api.example.com"} - Network accessline 47
name: "daily-cleanup", runtime: "node", repo: "https://github.com/username/repo", - Network accessline 48
runtime: "node", repo: "https://github.com/username/repo", schedule: "0 0 * * *", # Daily at midnight (cron syntax) - Network accessline 49
repo: "https://github.com/username/repo", - Access to secretsline 86
[Credential-related source omitted]
skills/.curated/render-deploy/references/service-types.md
- Network accessline 22
- **Public URL**: Automatically assigned `https://[service-name].onrender.com` - Access to secretsline 99
[Credential-related source omitted] - Network accessline 382
// Use .render-internal.com domain const API_URL = 'http://internal-api.render-internal.com:10000'; - Network accessline 383
const API_URL = 'http://internal-api.render-internal.com:10000';
skills/.curated/screenshot/LICENSE.txt
skills/.curated/screenshot/assets/screenshot-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
skills/.curated/screenshot/scripts/ensure_macos_permissions.sh
- Executable scriptline 1
#!/usr/bin/env bash
skills/.curated/screenshot/scripts/take_screenshot.ps1
- Executable scriptline 1
Executable file
skills/.curated/screenshot/scripts/take_screenshot.py
- Executable scriptline 1
#!/usr/bin/env python3 - Possible obfuscationline 26
b"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01" - Possible obfuscationline 27
b"\x08\x06\x00\x00\x00\x1f\x15\xc4\x89\x00\x00\x00\x0cIDAT\x08\xd7c" - Possible obfuscationline 28
b"\xf8\xff\xff?\x00\x05\xfe\x02\xfeA\xad\x1c\x1c\x00\x00\x00\x00IEND" - Access to secretsline 47
[Credential-related source omitted] - Access to secretsline 63
[Credential-related source omitted] - Access to secretsline 83
[Credential-related source omitted] - Access to secretsline 89
[Credential-related source omitted] - Access to secretsline 231
[Credential-related source omitted]
skills/.curated/security-best-practices/LICENSE.txt
skills/.curated/security-best-practices/references/golang-general-backend-security.md
- Access to secretsline 185
[Credential-related source omitted] - Access to secretsline 188
[Credential-related source omitted] - Access to secretsline 385
[Credential-related source omitted] - Network accessline 591
Required: - MUST set an overall timeout on `http.Client` usage (or equivalent per-request deadlines via context + transport timeouts). - MUST ensure `resp.Body.Close()` is called for all successful requests (typically `defer resp.Body.Close - Network accessline 592
- MUST set an overall timeout on `http.Client` usage (or equivalent per-request deadlines via context + transport timeouts). - MUST ensure `resp.Body.Close()` is called for all successful requests (typically `defer resp.Body.Close()` immedi - Network accessline 602
Detection hints: - Search for `http.Get(`, `http.Post(`, `client := &http.Client{}` without `Timeout`, `client.Do(` and missing closes. - Network accessline 603
- Search for `http.Get(`, `http.Post(`, `client := &http.Client{}` without `Timeout`, `client.Do(` and missing closes. - Network accessline 611
Notes: - The net/http package exposes `DefaultClient` as a zero-valued `http.Client`, which can easily lead to “no timeout” behavior unless configured. - Network accessline 612
- The net/http package exposes `DefaultClient` as a zero-valued `http.Client`, which can easily lead to “no timeout” behavior unless configured. - Network accessline 802
Primary Go documentation: - Go Security Policy — https://go.dev/doc/security/policy - Network accessline 803
- Go Security Policy — https://go.dev/doc/security/policy - Network accessline 804
- Go Release History (security fixes in patch releases) — https://go.dev/doc/devel/release - Network accessline 805
- Go 1.25 Release Notes — https://go.dev/doc/go1.25 - Network accessline 806
- net/http (server timeouts, MaxHeaderBytes, DefaultClient) — https://pkg.go.dev/net/http - Network accessline 807
- html/template (auto-escaping and trusted-template assumptions) — https://pkg.go.dev/html/template - Network accessline 808
- crypto/tls (MinVersion defaults, InsecureSkipVerify warnings) — https://pkg.go.dev/crypto/tls - Network accessline 809
- crypto/rand (secure randomness, token helpers) — https://pkg.go.dev/crypto/rand - Network accessline 810
- crypto/subtle (constant-time comparisons) — https://pkg.go.dev/crypto/subtle - Dangerous shell operationline 811
- os/exec (no shell by default; command execution guidance) — https://pkg.go.dev/os/exec - Network accessline 811
- os/exec (no shell by default; command execution guidance) — https://pkg.go.dev/os/exec - Network accessline 812
- unsafe (bypasses type safety) — https://go.dev/src/unsafe/unsafe.go - Network accessline 813
- net/http/pprof (debug endpoints) — https://pkg.go.dev/net/http/pprof - Network accessline 814
- cmd/go (module authentication via go.sum/checksum DB; env vars like GOINSECURE) — https://pkg.go.dev/cmd/go - Network accessline 815
- Module Mirror and Checksum Database Launched (Go blog) — https://go.dev/blog/module-mirror-launch - Network accessline 816
- govulncheck documentation — https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck - Network accessline 817
- Go Race Detector documentation — https://go.dev/doc/articles/race_detector - Network accessline 818
- bcrypt (password hashing) — https://pkg.go.dev/golang.org/x/crypto/bcrypt - Network accessline 819
- Go vulnerability entry example (multipart resource consumption) — https://pkg.go.dev/vuln/GO-2023-1569 - Network accessline 821
OWASP Cheat Sheet Series (general web security): - Session Management — https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html - Network accessline 822
- Session Management — https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html - Network accessline 823
- CSRF Prevention — https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html - Network accessline 824
- SSRF Prevention — https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html - Network accessline 825
- XSS Prevention — https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html - Network accessline 826
- HTTP Security Response Headers — https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Headers_Cheat_Sheet.html
skills/.curated/security-best-practices/references/javascript-express-web-server-security.md
- Access to secretsline 379
[Credential-related source omitted] - Dangerous shell operationline 787
* `exec(req.query.cmd)` - Dangerous shell operationline 788
* `exec(`convert ${userPath} ...`)` - Dangerous shell operationline 794
* Search for `child_process`, `exec(`, `execSync(`, `spawn(`, `fork(`. - Network accessline 827
* `fetch(req.query.url)` - Network accessline 832
* Search for `fetch(`, `axios(`, `got(`, `request(`, `node-fetch` usage where URL originates from users/DB. - Network accessline 1109
* Express: Production Best Practices — Security: `https://expressjs.com/en/advanced/best-practice-security.html` ([Express][1]) - Network accessline 1110
* Express: Behind Proxies (`trust proxy`): `https://expressjs.com/en/guide/behind-proxies.html` ([Express][2]) - Network accessline 1111
* Express 5.x API Reference (parsers, static, sendFile, redirect, cookies): `https://expressjs.com/en/5x/api.html` ([Express][5]) - Network accessline 1112
* Express: Error Handling: `https://expressjs.com/en/guide/error-handling.html` ([Express][11]) - Network accessline 1116
* express-session docs (cookie flags, secret rotation, fixation mitigation, MemoryStore warning): `https://expressjs.com/en/resources/middleware/session.html` ([Express][1]) - Network accessline 1120
* Node.js — Security Best Practices (DoS, proxy guidance, inspector risks, request smuggling notes): `https://nodejs.org/en/learn/getting-started/security-best-practices` ([Node.js][15]) - Network accessline 1121
* npm Docs — `npm audit`: `https://docs.npmjs.com/cli/v9/commands/npm-audit/` ([npm Docs][16]) - Network accessline 1125
* Session Management: `https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][12]) - Network accessline 1126
* CSRF Prevention: `https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][3]) - Network accessline 1127
* XSS Prevention: `https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][4]) - Network accessline 1128
* Input Validation: `https://cheatsheetseries.owasp.org/cheatsheets/Input_Validation_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][17]) - Network accessline 1129
* SQL Injection Prevention: `https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][6]) - Network accessline 1130
* OS Command Injection Defense: `https://cheatsheetseries.owasp.org/cheatsheets/OS_Command_Injection_Defense_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][14]) - Network accessline 1131
* SSRF Prevention: `https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][7]) - Network accessline 1132
* File Upload: `https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][13]) - Network accessline 1133
* Unvalidated Redirects: `https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][18]) - Network accessline 1134
* HTTP Headers: `https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Headers_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][10]) - Network accessline 1138
* Express package version (npm): `https://www.npmjs.com/package/express` - Network accessline 1139
* Express open redirect advisory (CVE): `https://nvd.nist.gov/vuln/detail/CVE-2024-29041` ([NVD][9]) - Network accessline 1141
[1]: https://expressjs.com/en/advanced/best-practice-security.html "Security Best Practices for Express in Production" - Network accessline 1142
[2]: https://expressjs.com/en/guide/behind-proxies.html "Express behind proxies" - Network accessline 1143
[3]: https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html "Cross-Site Request Forgery Prevention - OWASP Cheat Sheet Series" - Network accessline 1144
[4]: https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html "Cross Site Scripting Prevention - OWASP Cheat Sheet Series" - Network accessline 1145
[5]: https://expressjs.com/en/5x/api.html "Express 5.x - API Reference" - Network accessline 1146
[6]: https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html "SQL Injection Prevention - OWASP Cheat Sheet Series" - Network accessline 1147
[7]: https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html "Server Side Request Forgery Prevention - OWASP Cheat Sheet Series" - Network accessline 1148
[8]: https://cheatsheetseries.owasp.org/cheatsheets/Nodejs_Security_Cheat_Sheet.html "Nodejs Security - OWASP Cheat Sheet Series" - Network accessline 1149
[9]: https://nvd.nist.gov/vuln/detail/cve-2024-29041?utm_source=chatgpt.com "CVE-2024-29041 Detail - NVD" - Network accessline 1150
[10]: https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Headers_Cheat_Sheet.html "HTTP Headers - OWASP Cheat Sheet Series" - Network accessline 1151
[11]: https://expressjs.com/en/guide/error-handling.html "Express error handling" - Network accessline 1152
[12]: https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html "Session Management - OWASP Cheat Sheet Series" - Network accessline 1153
[13]: https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html "File Upload - OWASP Cheat Sheet Series" - Network accessline 1154
[14]: https://cheatsheetseries.owasp.org/cheatsheets/OS_Command_Injection_Defense_Cheat_Sheet.html "OS Command Injection Defense - OWASP Cheat Sheet Series" - Network accessline 1155
[15]: https://nodejs.org/en/learn/getting-started/security-best-practices "Node.js — Security Best Practices" - Network accessline 1156
[16]: https://docs.npmjs.com/cli/v9/commands/npm-audit/ "npm-audit | npm Docs" - Network accessline 1157
[17]: https://cheatsheetseries.owasp.org/cheatsheets/Input_Validation_Cheat_Sheet.html "Input Validation - OWASP Cheat Sheet Series" - Network accessline 1158
[18]: https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html "Unvalidated Redirects and Forwards - OWASP Cheat Sheet Series"
skills/.curated/security-best-practices/references/javascript-general-web-frontend-security.md
- Dangerous shell operationline 219
* `eval()` - Dangerous shell operationline 227
* `eval(userInput)` - Dangerous shell operationline 233
* Search for `eval(`, `new Function`, `setTimeout("`, `setInterval("`. - Dangerous shell operationline 245
* CSP that blocks `eval()`-like APIs by default, and avoid `unsafe-eval`. ([MDN Web Docs][10]) - Network accessline 492
* `const ALLOWED = new Set(["https://app.example.com", "https://accounts.example.com"]);` - Access to secretsline 521
[Credential-related source omitted] - Network accessline 559
* Search HTML for `<script src="https://...">` and `tag manager` snippets. - Network accessline 583
* `<script src="https://cdn.example.com/lib.js"></script>` with no `integrity`. - Network accessline 588
* Search for `<script src="https://` and `<link rel="stylesheet" href="https://` without `integrity=`. - Dangerous shell operationline 645
* `eval(`, `new Function`, `setTimeout("`, `setInterval("` ([MDN Web Docs][10]) - Network accessline 670
* `<script src="https://...">` without `integrity=` - Network accessline 691
* W3C Content Security Policy Level 2 (HTML `<meta>` delivery restrictions; unsupported directives in meta CSP): `https://www.w3.org/TR/CSP2/` ([W3C][3]) - Network accessline 692
* MDN: CSP Guide (strict CSP, nonces/hashes, `unsafe-inline`/`unsafe-eval`, eval blocking): `https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP` ([MDN Web Docs][10]) - Network accessline 693
* MDN: `<meta http-equiv>` (CSP via meta and warning about meta-based security headers): `https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/meta/http-equiv` ([MDN Web Docs][1]) - Network accessline 694
* MDN: `frame-ancestors` (and note it’s not supported in `<meta>`): `https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy/frame-ancestors` ([MDN Web Docs][18]) - Network accessline 698
* OWASP: DOM Based XSS Prevention Cheat Sheet (dangerous sinks + safe patterns like `textContent`): `https://cheatsheetseries.owasp.org/cheatsheets/DOM_based_XSS_Prevention_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][2]) - Network accessline 699
* MDN: `innerHTML` (security considerations): `https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML` ([MDN Web Docs][19]) - Network accessline 700
* MDN: `insertAdjacentHTML` (security considerations): `https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentHTML` ([MDN Web Docs][20]) - Network accessline 701
* MDN: `document.write()` / `document.writeln()` (security considerations): `https://developer.mozilla.org/en-US/docs/Web/API/Document/write` and `https://developer.mozilla.org/en-US/docs/Web/API/Document/writeln` ([MDN Web Docs][13]) - Network accessline 705
* MDN: `javascript:` URLs (execution on navigation; discouraged; references `window.location`): `https://developer.mozilla.org/en-US/docs/Web/URI/Reference/Schemes/javascript` ([MDN Web Docs][4]) - Network accessline 709
* W3C: Trusted Types spec (DOM XSS sinks include `Element.innerHTML` and `Location.href` setters; goals and limitations): `https://www.w3.org/TR/trusted-types/` ([W3C][15]) - Network accessline 710
* MDN: `require-trusted-types-for` directive: `https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy/require-trusted-types-for` ([MDN Web Docs][11]) - Network accessline 711
* MDN: `trusted-types` directive: `https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy/trusted-types` ([MDN Web Docs][16]) - Network accessline 715
* MDN: `window.postMessage` (security guidance: specify targetOrigin; validate origin): `https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage` ([MDN Web Docs][5]) - Network accessline 716
* OWASP: HTML5 Security Cheat Sheet (Web Messaging guidance: explicit origin, strict checks, no `innerHTML`): `https://cheatsheetseries.owasp.org/cheatsheets/HTML5_Security_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][6]) - Network accessline 720
* OWASP: Third Party JavaScript Management Cheat Sheet (risks and mitigations including SRI/mirroring): `https://cheatsheetseries.owasp.org/cheatsheets/Third_Party_Javascript_Management_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][7]) - Network accessline 721
* MDN: Subresource Integrity overview: `https://developer.mozilla.org/en-US/docs/Web/Security/Defenses/Subresource_Integrity` ([MDN Web Docs][12]) - Network accessline 722
* W3C: Subresource Integrity spec: `https://www.w3.org/TR/sri-2/` ([W3C][21]) - Network accessline 726
* OWASP: DOM Clobbering Prevention Cheat Sheet (named property access risk; example attacks involving `location.assign` and `javascript:`): `https://cheatsheetseries.owasp.org/cheatsheets/DOM_Clobbering_Prevention_Cheat_Sheet.html` ([OWASP - Network accessline 728
[1]: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/meta/http-equiv "https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/meta/http-equiv" - Network accessline 729
[2]: https://cheatsheetseries.owasp.org/cheatsheets/DOM_based_XSS_Prevention_Cheat_Sheet.html "https://cheatsheetseries.owasp.org/cheatsheets/DOM_based_XSS_Prevention_Cheat_Sheet.html" - Network accessline 730
[3]: https://www.w3.org/TR/CSP2/ "Content Security Policy Level 2" - Network accessline 731
[4]: https://developer.mozilla.org/en-US/docs/Web/URI/Reference/Schemes/javascript "javascript: URLs - URIs | MDN" - Network accessline 732
[5]: https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage "https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage" - Network accessline 733
[6]: https://cheatsheetseries.owasp.org/cheatsheets/HTML5_Security_Cheat_Sheet.html "https://cheatsheetseries.owasp.org/cheatsheets/HTML5_Security_Cheat_Sheet.html" - Network accessline 734
[7]: https://cheatsheetseries.owasp.org/cheatsheets/Third_Party_Javascript_Management_Cheat_Sheet.html "https://cheatsheetseries.owasp.org/cheatsheets/Third_Party_Javascript_Management_Cheat_Sheet.html" - Network accessline 735
[8]: https://cheatsheetseries.owasp.org/cheatsheets/DOM_Clobbering_Prevention_Cheat_Sheet.html "https://cheatsheetseries.owasp.org/cheatsheets/DOM_Clobbering_Prevention_Cheat_Sheet.html" - Network accessline 736
[9]: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel/noopener "https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel/noopener" - Network accessline 737
[10]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP "https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP" - Network accessline 738
[11]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy/require-trusted-types-for "https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy/require-trusted-types-f - Network accessline 739
[12]: https://developer.mozilla.org/en-US/docs/Web/Security/Defenses/Subresource_Integrity "https://developer.mozilla.org/en-US/docs/Web/Security/Defenses/Subresource_Integrity" - Network accessline 740
[13]: https://developer.mozilla.org/en-US/docs/Web/API/Document/write "https://developer.mozilla.org/en-US/docs/Web/API/Document/write" - Network accessline 741
[14]: https://developer.mozilla.org/en-US/docs/Web/API/Document/writeln "https://developer.mozilla.org/en-US/docs/Web/API/Document/writeln" - Network accessline 742
[15]: https://www.w3.org/TR/trusted-types/ "https://www.w3.org/TR/trusted-types/" - Network accessline 743
[16]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy/trusted-types "https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy/trusted-types" - Network accessline 744
[18]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy/frame-ancestors "https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy/frame-ancestors" - Network accessline 745
[19]: https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML "https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML" - Network accessline 746
[20]: https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentHTML "https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentHTML" - Network accessline 747
[21]: https://www.w3.org/TR/sri-2/ "https://www.w3.org/TR/sri-2/"
skills/.curated/security-best-practices/references/javascript-jquery-web-frontend-security.md
- Network accessline 202
* `<script src="https://…/jquery.min.js"></script>` with no `integrity`. - Network accessline 328
* Without a selector in the URL, content is passed to `.html()` before scripts are removed, which can execute scripts. ([jQuery API][3]) * SHOULD prefer `fetch()`/XHR to retrieve data, then render with safe DOM creation or sanitize explicit - Network accessline 329
* SHOULD prefer `fetch()`/XHR to retrieve data, then render with safe DOM creation or sanitize explicitly. - Network accessline 346
* `fetch()` to retrieve JSON, then render via `.text()` / node construction, or - Network accessline 347
* `fetch()` to retrieve HTML, sanitize it, then inject. - Network accessline 613
* jQuery 4.0.0 release notes (Trusted Types/CSP changes; version info): `https://blog.jquery.com/2026/01/17/jquery-4-0-0/`. ([blog.jquery.com][7]) * Download jQuery (latest version info; CDN + SRI guidance): `https://jquery.com/download/`. - Network accessline 614
* Download jQuery (latest version info; CDN + SRI guidance): `https://jquery.com/download/`. ([jquery.com][8]) - Network accessline 615
* jQuery API: `.html()`: `https://api.jquery.com/html/`. ([jQuery API][21]) - Network accessline 616
* jQuery API: `.text()`: `https://api.jquery.com/text/`. ([jQuery API][14]) - Network accessline 617
* jQuery API: `.append()`: `https://api.jquery.com/append/`. ([jQuery API][22]) - Network accessline 618
* jQuery API: `.load()` (script execution behavior): `https://api.jquery.com/load/`. ([jQuery API][3]) - Network accessline 619
* jQuery API: `jQuery.parseHTML(…, keepScripts)`: `https://api.jquery.com/jQuery.parseHTML/`. ([jQuery API][2]) - Network accessline 620
* jQuery API: `$.ajax()` (`jsonp: false` security note): `https://api.jquery.com/jQuery.ajax/`. ([jQuery API][5]) - Network accessline 621
* jQuery API: `$.getScript()` (executes script): `https://api.jquery.com/jQuery.getScript/`. ([jQuery API][4]) - Network accessline 622
* jQuery API: `jQuery.escapeSelector()`: `https://api.jquery.com/jQuery.escapeSelector/`. ([jQuery API][20]) - Network accessline 626
* NVD CVE-2019-11358 (prototype pollution; jQuery < 3.4.0): `https://nvd.nist.gov/vuln/detail/CVE-2019-11358`. ([NVD][13]) - Network accessline 627
* NVD CVE-2020-11022 (XSS risk in DOM manipulation methods; patched in 3.5.0): `https://nvd.nist.gov/vuln/detail/CVE-2020-11022`. ([NVD][1]) - Network accessline 628
* NVD CVE-2020-11023 (XSS risk involving `<option>`; patched in 3.5.0): `https://nvd.nist.gov/vuln/detail/CVE-2020-11023`. ([NVD][23]) - Network accessline 629
* GitHub Security Advisory GHSA-gxr4-xjj5-5px2 (jQuery htmlPrefilter XSS; patched in 3.5.0): `https://github.com/jquery/jquery/security/advisories/GHSA-gxr4-xjj5-5px2`. ([GitHub][16]) - Network accessline 633
* XSS Prevention: `https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html`. ([OWASP Cheat Sheet Series][24]) - Network accessline 634
* DOM-based XSS Prevention: `https://cheatsheetseries.owasp.org/cheatsheets/DOM_based_XSS_Prevention_Cheat_Sheet.html`. ([OWASP Cheat Sheet Series][25]) - Network accessline 635
* CSRF Prevention: `https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html`. ([OWASP Cheat Sheet Series][19]) - Network accessline 636
* HTTP Security Headers: `https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Headers_Cheat_Sheet.html`. ([OWASP Cheat Sheet Series][12]) - Network accessline 637
* Content Security Policy Cheat Sheet: `https://cheatsheetseries.owasp.org/cheatsheets/Content_Security_Policy_Cheat_Sheet.html`. ([OWASP Cheat Sheet Series][9]) - Network accessline 641
* MDN: Subresource Integrity (SRI): `https://developer.mozilla.org/en-US/docs/Web/Security/Defenses/Subresource_Integrity`. ([MDN Web Docs][26]) - Network accessline 642
* W3C: SRI specification: `https://www.w3.org/TR/sri-2/`. ([W3C][27]) - Network accessline 643
* MDN: CSP guide: `https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP`. ([MDN Web Docs][28]) - Network accessline 644
* MDN: `require-trusted-types-for` directive: `https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy/require-trusted-types-for`. ([MDN Web Docs][11]) - Network accessline 645
* MDN: Trusted Types API: `https://developer.mozilla.org/en-US/docs/Web/API/Trusted_Types_API`. ([MDN Web Docs][29]) - Network accessline 646
* W3C: Trusted Types specification: `https://www.w3.org/TR/trusted-types/`. ([W3C][10]) - Network accessline 647
* MDN: `javascript:` URL scheme warning: `https://developer.mozilla.org/en-US/docs/Web/URI/Reference/Schemes/javascript`. ([MDN Web Docs][6]) - Network accessline 648
* DOMPurify project documentation: `https://github.com/cure53/DOMPurify`. ([GitHub][17]) - Network accessline 650
[1]: https://nvd.nist.gov/vuln/detail/cve-2020-11022?utm_source=chatgpt.com "CVE-2020-11022 Detail - NVD" - Network accessline 651
[2]: https://api.jquery.com/jQuery.parseHTML/?utm_source=chatgpt.com "jQuery.parseHTML()" - Network accessline 652
[3]: https://api.jquery.com/load/?utm_source=chatgpt.com ".load() | jQuery API Documentation" - Network accessline 653
[4]: https://api.jquery.com/jQuery.getScript/?utm_source=chatgpt.com "jQuery.getScript()" - Network accessline 654
[5]: https://api.jquery.com/jQuery.ajax/?utm_source=chatgpt.com "jQuery.ajax()" - Network accessline 655
[6]: https://developer.mozilla.org/en-US/docs/Web/URI/Reference/Schemes/javascript?utm_source=chatgpt.com "javascript: URLs - URIs - MDN Web Docs" [7]: https://blog.jquery.com/2026/01/17/jquery-4-0-0/ "jQuery 4.0.0 | Official jQuery Blog" [ - Network accessline 656
[7]: https://blog.jquery.com/2026/01/17/jquery-4-0-0/ "jQuery 4.0.0 | Official jQuery Blog" [8]: https://jquery.com/download/ "Download jQuery | jQuery" [9]: https://cheatsheetseries.owasp.org/cheatsheets/Content_Security_Policy_Cheat_Sheet - Network accessline 657
[8]: https://jquery.com/download/ "Download jQuery | jQuery" - Network accessline 658
[9]: https://cheatsheetseries.owasp.org/cheatsheets/Content_Security_Policy_Cheat_Sheet.html?utm_source=chatgpt.com "Content Security Policy - OWASP Cheat Sheet Series" - Network accessline 659
[10]: https://www.w3.org/TR/trusted-types/?utm_source=chatgpt.com "Trusted Types" - Network accessline 660
[11]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy/require-trusted-types-for?utm_source=chatgpt.com "Content-Security-Policy: require-trusted-types-for directive" - Network accessline 661
[12]: https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Headers_Cheat_Sheet.html?utm_source=chatgpt.com "HTTP Security Response Headers Cheat Sheet" - Network accessline 662
[13]: https://nvd.nist.gov/vuln/detail/cve-2019-11358?utm_source=chatgpt.com "CVE-2019-11358 Detail - NVD" - Network accessline 663
[14]: https://api.jquery.com/text/?utm_source=chatgpt.com ".text() | jQuery API Documentation" - Network accessline 664
[15]: https://api.jquery.com/val/?utm_source=chatgpt.com ".val() | jQuery API Documentation" - Network accessline 665
[16]: https://github.com/jquery/jquery/security/advisories/GHSA-gxr4-xjj5-5px2 "Potential XSS vulnerability in jQuery.htmlPrefilter and related methods · Advisory · jquery/jquery · GitHub" - Network accessline 666
[17]: https://github.com/cure53/DOMPurify?utm_source=chatgpt.com "DOMPurify - a DOM-only, super-fast, uber-tolerant XSS ..." - Network accessline 667
[18]: https://developer.mozilla.org/en-US/docs/Web/API/HTML_Sanitizer_API?utm_source=chatgpt.com "HTML Sanitizer API - MDN Web Docs" - Network accessline 668
[19]: https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html?utm_source=chatgpt.com "Cross-Site Request Forgery Prevention Cheat Sheet" - Network accessline 669
[20]: https://api.jquery.com/jQuery.escapeSelector/?utm_source=chatgpt.com "jQuery.escapeSelector()" - Network accessline 670
[21]: https://api.jquery.com/html/?utm_source=chatgpt.com ".html() | jQuery API Documentation" - Network accessline 671
[22]: https://api.jquery.com/append/?utm_source=chatgpt.com ".append() | jQuery API Documentation" - Network accessline 672
[23]: https://nvd.nist.gov/vuln/detail/cve-2020-11023?utm_source=chatgpt.com "CVE-2020-11023 Detail - NVD" - Network accessline 673
[24]: https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html?utm_source=chatgpt.com "Cross Site Scripting Prevention - OWASP Cheat Sheet Series" - Network accessline 674
[25]: https://cheatsheetseries.owasp.org/cheatsheets/DOM_based_XSS_Prevention_Cheat_Sheet.html?utm_source=chatgpt.com "DOM based XSS Prevention Cheat Sheet" - Network accessline 675
[26]: https://developer.mozilla.org/en-US/docs/Web/Security/Defenses/Subresource_Integrity?utm_source=chatgpt.com "Subresource Integrity - Security - MDN Web Docs" - Network accessline 676
[27]: https://www.w3.org/TR/sri-2/?utm_source=chatgpt.com "Subresource Integrity" - Network accessline 677
[28]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP?utm_source=chatgpt.com "Content Security Policy (CSP) - HTTP - MDN Web Docs" - Network accessline 678
[29]: https://developer.mozilla.org/en-US/docs/Web/API/Trusted_Types_API?utm_source=chatgpt.com "Trusted Types API - MDN Web Docs"
skills/.curated/security-best-practices/references/javascript-typescript-nextjs-web-server-security.md
- Network accessline 198
IMPORTANT: Any versions older than these minor versions are vulnerable to "react2shell" vulnerability (https://nextjs.org/blog/CVE-2025-66478): - Access to secretsline 228
[Credential-related source omitted] - Access to secretsline 233
[Credential-related source omitted] - Network accessline 715
* MUST treat any server-side `fetch()` to a user-provided URL as high-risk. - Network accessline 726
* `await fetch(req.query.url)` or `await fetch((await request.json()).url)` - Network accessline 731
* Search for `fetch(` in server code and trace where the URL comes from. - Dangerous shell operationline 866
* `exec("convert " + filename)` - Dangerous shell operationline 892
* `eval(req.body.code)` - Dangerous shell operationline 897
* Search for `eval(`, `new Function`, `vm.`, `require(` with non-literals. - Network accessline 977
* Blindly cloning all request headers to an outbound `fetch()` call. - Network accessline 1013
* Use a configured, allowlisted canonical app origin (e.g., `APP_ORIGIN=https://example.com`). - Network accessline 1083
* `fetch(userProvidedUrl)` from Route Handlers / Server Actions - Network accessline 1110
* Next.js Docs: Installation (system requirements / Node version) — `https://nextjs.org/docs/app/getting-started/installation` - Network accessline 1111
* Next.js Docs: Route Handlers — `https://nextjs.org/docs/app/getting-started/route-handlers` - Network accessline 1112
* Next.js Docs: API Routes (Pages Router) — `https://nextjs.org/docs/pages/building-your-application/routing/api-routes` - Network accessline 1113
* Next.js Docs: Environment Variables — `https://nextjs.org/docs/pages/guides/environment-variables` - Network accessline 1114
* Next.js Docs: Data Security — `https://nextjs.org/docs/app/guides/data-security` - Network accessline 1115
* Next.js Docs: Content Security Policy — `https://nextjs.org/docs/app/guides/content-security-policy` - Network accessline 1116
* Next.js Docs: Proxy — `https://nextjs.org/docs/app/getting-started/proxy` - Network accessline 1117
* Next.js Docs: `serverActions.allowedOrigins` and `serverActions.bodySizeLimit` — `https://nextjs.org/docs/app/api-reference/config/next-config-js/serverActions` - Network accessline 1118
* Next.js Docs: `cookies()` — `https://nextjs.org/docs/app/api-reference/functions/cookies` - Network accessline 1119
* Next.js Docs: `headers()` — `https://nextjs.org/docs/app/api-reference/functions/headers` - Network accessline 1120
* Next.js Docs: Self-hosting (reverse proxy guidance) — `https://nextjs.org/docs/pages/guides/self-hosting` - Network accessline 1121
* Next.js Docs: Support policy (supported versions/LTS) — `https://nextjs.org/docs/support-policy` - Network accessline 1125
* Next.js Blog: How to think about security in Next.js — `https://nextjs.org/blog/security-nextjs-server-components-actions` - Network accessline 1126
* GitHub Security Advisory: Next.js DoS via Server Components / Server Actions (CVE-2026-23864) — `https://github.com/advisories/GHSA-fq29-rrrv-cq2m` - Network accessline 1127
* Next.js Blog: Security update (example security advisory context) — `https://nextjs.org/blog/security-update` - Network accessline 1131
* OWASP Cheat Sheet Series (CSRF, Session Management, XSS Prevention, SSRF Prevention, File Upload, HTTP Headers) — `https://cheatsheetseries.owasp.org/` - Network accessline 1133
[1]: https://nextjs.org/docs/app/getting-started/route-handlers "Getting Started: Route Handlers | Next.js" - Network accessline 1134
[2]: https://nextjs.org/docs/app/getting-started/deploying?utm_source=chatgpt.com "Getting Started: Deploying" - Network accessline 1135
[3]: https://nextjs.org/docs/pages/building-your-application/routing/api-routes "Routing: API Routes | Next.js" - Network accessline 1136
[4]: https://nextjs.org/docs/app/api-reference/functions/headers "Functions: headers | Next.js" - Network accessline 1137
[5]: https://nextjs.org/docs/app/api-reference/config/next-config-js/serverActions "next.config.js: serverActions | Next.js" - Network accessline 1138
[6]: https://nextjs.org/blog/security-nextjs-server-components-actions "How to Think About Security in Next.js | Next.js" - Network accessline 1139
[7]: https://nextjs.org/docs/pages/guides/environment-variables "Guides: Environment Variables | Next.js" - Network accessline 1140
[8]: https://nextjs.org/docs/pages/guides/self-hosting?utm_source=chatgpt.com "Guides: Self-Hosting" - Network accessline 1141
[9]: https://nextjs.org/docs/app/api-reference/functions/cookies "Functions: cookies | Next.js" - Network accessline 1142
[10]: https://nextjs.org/blog/next-16?utm_source=chatgpt.com "Next.js 16" - Network accessline 1143
[11]: https://github.com/vercel/next.js/security/advisories/GHSA-9g9p-9gw9-jx7f?utm_source=chatgpt.com "Denial of Service in Image Optimizer · Advisory" - Network accessline 1144
[12]: https://nextjs.org/docs/pages/guides/authentication "Guides: Authentication | Next.js"
skills/.curated/security-best-practices/references/javascript-typescript-react-web-frontend-security.md
- Access to secretsline 155
[Credential-related source omitted] - Network accessline 446
* `<script src="https://cdn.example.com/lib/latest.js"></script>` with no integrity. - Network accessline 564
* `fetch('/api/transfer', { method: 'POST', credentials: 'include' })` with no CSRF token/header, relying only on cookies. - Network accessline 635
* `fetch(userProvidedUrl, { credentials: 'include' })` - Network accessline 641
* Search for `fetch(` / `axios(` where the first argument or `baseURL` is derived from: - Dangerous shell operationline 775
* `window.addEventListener('message', (e) => { eval(e.data) })` - Dangerous shell operationline 884
* `eval(`, `new Function(`, `setTimeout("`, `setInterval("` - Network accessline 922
* React 19 stable announcement — `https://react.dev/blog/2024/12/05/react-19` ([React][23]) - Network accessline 923
* React DOM docs: `dangerouslySetInnerHTML` warning — `https://react.dev/reference/react-dom/components/common#dangerouslysetting-the-inner-html` ([React][12]) - Network accessline 924
* React (legacy) JSX escaping statement — `https://legacy.reactjs.org/docs/introducing-jsx.html` ([React][14]) - Network accessline 928
* Cross Site Scripting Prevention (framework escape hatches; React `dangerouslySetInnerHTML`; URL validation notes) — `https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html` ([OWASP Cheat Sheet Seri - Network accessline 929
* Content Security Policy — `https://cheatsheetseries.owasp.org/cheatsheets/Content_Security_Policy_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][2]) - Network accessline 930
* Cross-Site Request Forgery Prevention — `https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][6]) - Network accessline 931
* HTML5 Security (Web Storage, postMessage, tabnabbing, sandboxed frames) — `https://cheatsheetseries.owasp.org/cheatsheets/HTML5_Security_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][4]) - Network accessline 932
* Third Party JavaScript Management — `https://cheatsheetseries.owasp.org/cheatsheets/Third_Party_Javascript_Management_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][5]) - Network accessline 933
* File Upload — `https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][19]) - Network accessline 934
* NPM Security best practices — `https://cheatsheetseries.owasp.org/cheatsheets/NPM_Security_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][22]) - Network accessline 938
* Trusted Types API — `https://developer.mozilla.org/en-US/docs/Web/API/Trusted_Types_API` ([MDN Web Docs][3]) - Network accessline 939
* W3C Trusted Types spec — `https://www.w3.org/TR/trusted-types/` ([W3C][15]) - Network accessline 940
* Subresource Integrity — `https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity` ([MDN Web Docs][7]) - Network accessline 941
* Clickjacking defenses overview — `https://developer.mozilla.org/en-US/docs/Web/Security/Attacks/Clickjacking` ([MDN Web Docs][8]) - Network accessline 942
* Using Service Workers (HTTPS requirement; proxy-like behavior) — `https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers` ([MDN Web Docs][10]) - Network accessline 943
* Secure contexts (powerful APIs restricted to HTTPS) — `https://developer.mozilla.org/en-US/docs/Web/Security/Defenses/Secure_Contexts` ([MDN Web Docs][18]) - Network accessline 944
* Link `rel` values (noopener/noreferrer) — `https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel` ([MDN Web Docs][17]) - Network accessline 948
* Create React App env variables warning — `https://create-react-app.dev/docs/adding-custom-environment-variables/` ([create-react-app.dev][1]) - Network accessline 949
* Vite env variables security notes — `https://vite.dev/guide/env-and-mode` ([vitejs][11]) - Network accessline 953
* OAuth 2.0 for Browser-Based Apps (token storage discussion) — `https://datatracker.ietf.org/doc/html/draft-ietf-oauth-browser-based-apps` ([IETF Datatracker][16]) - Network accessline 957
* npm audit docs — `https://docs.npmjs.com/cli/v10/commands/npm-audit/` ([npm Docs][20]) - Network accessline 958
* npm ci docs — `https://docs.npmjs.com/cli/v10/commands/npm-ci/` ([npm Docs][21]) - Network accessline 962
* DOMPurify — `https://github.com/cure53/DOMPurify` ([GitHub][13]) - Network accessline 964
[1]: https://create-react-app.dev/docs/adding-custom-environment-variables/ "Adding Custom Environment Variables | Create React App" - Network accessline 965
[2]: https://cheatsheetseries.owasp.org/cheatsheets/Content_Security_Policy_Cheat_Sheet.html "Content Security Policy - OWASP Cheat Sheet Series" - Network accessline 966
[3]: https://developer.mozilla.org/en-US/docs/Web/API/Trusted_Types_API "Trusted Types API - Web APIs | MDN" - Network accessline 967
[4]: https://cheatsheetseries.owasp.org/cheatsheets/HTML5_Security_Cheat_Sheet.html "HTML5 Security - OWASP Cheat Sheet Series" - Network accessline 968
[5]: https://cheatsheetseries.owasp.org/cheatsheets/Third_Party_Javascript_Management_Cheat_Sheet.html "Third Party Javascript Management - OWASP Cheat Sheet Series" - Network accessline 969
[6]: https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html "Cross-Site Request Forgery Prevention - OWASP Cheat Sheet Series" - Network accessline 970
[7]: https://developer.mozilla.org/en-US/docs/Web/Security/Defenses/Subresource_Integrity "Subresource Integrity - Security | MDN" - Network accessline 971
[8]: https://developer.mozilla.org/en-US/docs/Web/Security/Attacks/Clickjacking "Clickjacking - Security | MDN" - Network accessline 972
[9]: https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html "Cross Site Scripting Prevention - OWASP Cheat Sheet Series" - Network accessline 973
[10]: https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers "Using Service Workers - Web APIs | MDN" - Network accessline 974
[11]: https://vite.dev/guide/env-and-mode "Env Variables and Modes | Vite" - Network accessline 975
[12]: https://react.dev/reference/react-dom/components/common "Common components (e.g. <div>) – React" - Network accessline 976
[13]: https://github.com/cure53/DOMPurify "GitHub - cure53/DOMPurify: DOMPurify - a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. DOMPurify works with a secure default, but offers a lot of configurability and h - Network accessline 977
[14]: https://legacy.reactjs.org/docs/introducing-jsx.html "Introducing JSX – React" - Network accessline 978
[15]: https://www.w3.org/TR/trusted-types/ "Trusted Types" - Network accessline 979
[16]: https://datatracker.ietf.org/doc/html/draft-ietf-oauth-browser-based-apps " - Network accessline 983
" [17]: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel "HTML attribute: rel - HTML | MDN" - Network accessline 984
[17]: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel "HTML attribute: rel - HTML | MDN" - Network accessline 985
[18]: https://developer.mozilla.org/en-US/docs/Web/Security/Defenses/Secure_Contexts "Secure contexts - Security | MDN" - Network accessline 986
[19]: https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html "File Upload - OWASP Cheat Sheet Series" - Network accessline 987
[20]: https://docs.npmjs.com/cli/v10/commands/npm-audit "npm-audit | npm Docs" - Network accessline 988
[21]: https://docs.npmjs.com/cli/v10/commands/npm-ci "npm-ci | npm Docs" - Network accessline 989
[22]: https://cheatsheetseries.owasp.org/cheatsheets/NPM_Security_Cheat_Sheet.html "NPM Security - OWASP Cheat Sheet Series" - Network accessline 990
[23]: https://react.dev/blog/2024/12/05/react-19 "React v19 – React"
skills/.curated/security-best-practices/references/javascript-typescript-vue-web-frontend-security.md
- Access to secretsline 186
[Credential-related source omitted] - Access to secretsline 192
[Credential-related source omitted] - Network accessline 503
* `fetch(url, { credentials: 'include', method: 'POST', body: ... })` with no CSRF token/header usage anywhere. - Access to secretsline 533
[Credential-related source omitted] - Network accessline 635
* `<script src="https://cdn.example/...">` with no `integrity`. - Network accessline 640
* Search `index.html` and server templates for `https://` script/style tags. - Access to secretsline 713
[Credential-related source omitted] - Network accessline 753
* Vue Docs: Security — `https://vuejs.org/guide/best-practices/security` ([Vue.js][1]) - Network accessline 754
* Vue Docs: Template Syntax (security warning about in-DOM templates) — `https://vuejs.org/guide/essentials/template-syntax` ([Vue.js][13]) - Network accessline 755
* Vue Docs: Production Deployment — `https://vuejs.org/guide/best-practices/production-deployment` ([Vue.js][3]) - Network accessline 756
* Vue Docs: Feature Flags — `https://link.vuejs.org/feature-flags` ([Vue.js][7]) - Network accessline 760
* Vite Docs: Env Variables and Modes (VITE_* exposure + security notes) — `https://vite.dev/guide/env-and-mode` ([vitejs][2]) - Network accessline 761
* Vite Docs: CLI (`vite preview` not designed for production) — `https://vite.dev/guide/cli` ([vitejs][5]) - Network accessline 762
* Vite Docs: Server Options (`server.host` can listen on public addresses) — `https://vite.dev/config/server-options` ([vitejs][14]) - Network accessline 766
* OWASP Cheat Sheet Series: XSS Prevention — `https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html` ([Vue.js][1]) - Network accessline 767
* OWASP Cheat Sheet Series: CSRF Prevention — `https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][9]) - Network accessline 768
* OWASP Cheat Sheet Series: Authorization — `https://cheatsheetseries.owasp.org/cheatsheets/Authorization_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][8]) - Network accessline 769
* OWASP Cheat Sheet Series: HTTP Headers — `https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Headers_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][4]) - Network accessline 770
* HTML5 Security Cheat Sheet (referenced by Vue) — `https://html5sec.org/` ([Vue.js][1]) - Network accessline 774
* MDN: `rel="noopener"` — `https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel/noopener` ([MDN Web Docs][12]) - Network accessline 775
* MDN: Subresource Integrity — `https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity` ([MDN Web Docs][11]) - Network accessline 776
* web.dev: Trusted Types — `https://web.dev/trusted-types/` ([web.dev][10]) - Network accessline 778
[1]: https://vuejs.org/guide/best-practices/security "https://vuejs.org/guide/best-practices/security" - Network accessline 779
[2]: https://vite.dev/guide/env-and-mode "https://vite.dev/guide/env-and-mode" - Network accessline 780
[3]: https://vuejs.org/guide/best-practices/production-deployment "https://vuejs.org/guide/best-practices/production-deployment" - Network accessline 781
[4]: https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Headers_Cheat_Sheet.html "https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Headers_Cheat_Sheet.html" - Network accessline 782
[5]: https://vite.dev/guide/cli "https://vite.dev/guide/cli" - Network accessline 783
[6]: https://vite.dev/guide/build "https://vite.dev/guide/build" - Network accessline 784
[7]: https://vuejs.org/guide/best-practices/production-deployment?utm_source=chatgpt.com "Production Deployment" - Network accessline 785
[8]: https://cheatsheetseries.owasp.org/cheatsheets/Authorization_Cheat_Sheet.html "https://cheatsheetseries.owasp.org/cheatsheets/Authorization_Cheat_Sheet.html" - Network accessline 786
[9]: https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html "https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html" - Network accessline 787
[10]: https://web.dev/articles/trusted-types "https://web.dev/articles/trusted-types" - Network accessline 788
[11]: https://developer.mozilla.org/en-US/docs/Web/Security/Defenses/Subresource_Integrity?utm_source=chatgpt.com "Subresource Integrity - Security - MDN Web Docs" - Network accessline 789
[12]: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel/noopener "https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel/noopener" - Network accessline 790
[13]: https://vuejs.org/guide/essentials/template-syntax "Template Syntax | Vue.js" - Network accessline 791
[14]: https://vite.dev/config/server-options "https://vite.dev/config/server-options"
skills/.curated/security-best-practices/references/python-django-web-server-security.md
- Access to secretsline 170
[Credential-related source omitted] - Access to secretsline 199
[Credential-related source omitted] - Network accessline 855
- Django Downloads (current stable & supported branches): https://www.djangoproject.com/download/ - Network accessline 856
- Django 6.0 Release Notes: https://docs.djangoproject.com/en/6.0/releases/6.0/ - Network accessline 857
- Django: Deployment checklist (incl. check --deploy, runserver warning, HTTPS/cookies guidance): https://docs.djangoproject.com/en/6.0/howto/deployment/checklist/ - Network accessline 858
- Django: Settings reference (SecurityMiddleware settings, cookies, SECRET_KEY_FALLBACKS, CSP settings): https://docs.djangoproject.com/en/6.0/ref/settings/ - Network accessline 859
- Django: Security in Django (XSS/CSRF/SQLi/clickjacking/HTTPS/host header validation/uploads/CSP): https://docs.djangoproject.com/en/6.0/topics/security/ - Network accessline 860
- Django: CSRF how-to (middleware, csrf_token usage, AJAX header patterns, csrf_exempt cautions): https://docs.djangoproject.com/en/6.0/howto/csrf/ - Network accessline 861
- Django: Performing raw SQL queries (parameterization guidance): https://docs.djangoproject.com/en/6.0/topics/db/sql/ - Network accessline 862
- Django: QuerySet API reference (extra() cautions; “do not quote placeholders” guidance): https://docs.djangoproject.com/en/6.0/ref/models/querysets/ - Network accessline 863
- Django: Template built-ins (autoescape tag): https://docs.djangoproject.com/en/6.0/ref/templates/builtins/ - Network accessline 864
- Django: Template language reference (turning off autoescape & risks): https://docs.djangoproject.com/en/6.0/ref/templates/language/ - Network accessline 865
- Django: Utilities reference (e.g., format_html): https://docs.djangoproject.com/en/6.0/ref/utils/ - Network accessline 871
- OWASP Cheat Sheet Series: Django Security Cheat Sheet: https://cheatsheetseries.owasp.org/cheatsheets/Django_Security_Cheat_Sheet.html - Network accessline 874
[1]: https://docs.djangoproject.com/en/6.0/howto/deployment/checklist/ "https://docs.djangoproject.com/en/6.0/howto/deployment/checklist/" - Network accessline 875
[2]: https://docs.djangoproject.com/en/6.0/topics/security/ "Security in Django | Django documentation | Django" - Network accessline 876
[3]: https://docs.djangoproject.com/en/6.0/ref/settings/ "Settings | Django documentation | Django" - Network accessline 877
[4]: https://docs.djangoproject.com/en/6.0/howto/csrf/ "How to use Django’s CSRF protection | Django documentation | Django" - Network accessline 878
[5]: https://docs.djangoproject.com/en/6.0/ref/templates/builtins/ "https://docs.djangoproject.com/en/6.0/ref/templates/builtins/" - Network accessline 879
[6]: https://docs.djangoproject.com/en/6.0/ref/utils/ "https://docs.djangoproject.com/en/6.0/ref/utils/" - Network accessline 880
[7]: https://docs.djangoproject.com/en/6.0/topics/db/sql/ "https://docs.djangoproject.com/en/6.0/topics/db/sql/" [8]: https://docs.djangoproject.com/en/6.0/ref/models/querysets/ "https://docs.djangoproject.com/en/6.0/ref/models/querysets/" - Network accessline 881
[8]: https://docs.djangoproject.com/en/6.0/ref/models/querysets/ "https://docs.djangoproject.com/en/6.0/ref/models/querysets/" - Network accessline 882
[9]: https://www.djangoproject.com/download/ "Download Django | Django"
skills/.curated/security-best-practices/references/python-fastapi-web-server-security.md
- Access to secretsline 240
[Credential-related source omitted] - Access to secretsline 245
[Credential-related source omitted] - Network accessline 817
* `httpx.get(request.query_params["url"])` - Access to secretsline 921
[Credential-related source omitted] - Network accessline 968
* FastAPI (PyPI metadata, versioning) — `https://pypi.org/project/fastapi/` ([PyPI][1]) - Network accessline 969
* FastAPI docs: Security “First Steps” (Authorization Bearer header conventions) — `https://fastapi.tiangolo.com/tutorial/security/first-steps/` ([FastAPI][11]) - Network accessline 970
* FastAPI reference: Dependencies (`Depends`, `Security`) — `https://fastapi.tiangolo.com/reference/dependencies/` ([FastAPI][7]) - Network accessline 971
* FastAPI reference: APIRouter (router-level dependencies) — `https://fastapi.tiangolo.com/reference/apirouter/` ([FastAPI][28]) - Network accessline 972
* FastAPI docs: WebSockets — `https://fastapi.tiangolo.com/advanced/websockets/` ([FastAPI][27]) - Network accessline 976
* Starlette (PyPI, general capabilities) — `https://pypi.org/project/starlette/` ([PyPI][5]) - Network accessline 977
* Starlette docs: WebSockets — `https://starlette.dev/websockets/` ([Starlette][3]) - Network accessline 978
* Uvicorn (PyPI metadata) — `https://pypi.org/project/uvicorn/` ([PyPI][4]) - Network accessline 979
* Pydantic docs (v2.12.x) — `https://docs.pydantic.dev/latest/` ([Pydantic][29]) - Network accessline 983
* OWASP Cheat Sheet Series: Session Management — `https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][8]) - Network accessline 984
* OWASP Cheat Sheet Series: CSRF Prevention — `https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][2]) - Network accessline 985
* OWASP Cheat Sheet Series: XSS Prevention — `https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][16]) - Network accessline 986
* OWASP Cheat Sheet Series: Mass Assignment — `https://cheatsheetseries.owasp.org/cheatsheets/Mass_Assignment_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][14]) - Network accessline 987
* OWASP API Security Top 10 (2023) — `https://owasp.org/API-Security/editions/2023/en/0x11-t10/` ([OWASP Foundation][13]) - Network accessline 988
* OWASP Cheat Sheet Series: SQL Injection Prevention — `https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][21]) - Network accessline 989
* OWASP Cheat Sheet Series: OS Command Injection Defense — `https://cheatsheetseries.owasp.org/cheatsheets/OS_Command_Injection_Defense_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][22]) - Network accessline 990
* OWASP Cheat Sheet Series: SSRF Prevention — `https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][23]) - Network accessline 991
* OWASP Cheat Sheet Series: File Upload — `https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][20]) - Network accessline 992
* OWASP Cheat Sheet Series: Unvalidated Redirects and Forwards — `https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][24]) - Network accessline 993
* OWASP Cheat Sheet Series: HTTP Security Response Headers — `https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Headers_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][6]) - Network accessline 994
* OWASP Cheat Sheet Series: WebSocket Security — `https://cheatsheetseries.owasp.org/cheatsheets/WebSocket_Security_Cheat_Sheet.html` ([OWASP Cheat Sheet Series][25]) - Network accessline 995
* OWASP WSTG: Testing for Server-Side Template Injection — `https://owasp.org/www-project-web-security-testing-guide/v41/4-Web_Application_Security_Testing/07-Input_Validation_Testing/18-Testing_for_Server_Side_Template_Injection` ([OWASP F - Network accessline 996
* OWASP WSTG: Testing WebSockets — `https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/11-Client-side_Testing/10-Testing_WebSockets` ([OWASP Foundation][26]) - Network accessline 1000
* Jinja: Sandbox — `https://jinja.palletsprojects.com/en/stable/sandbox/` ([jinja.palletsprojects.com][18]) - Network accessline 1004
* CVE-2023-29159 (StaticFiles path traversal; fixed 0.27.0) — `https://advisories.gitlab.com/pkg/pypi/starlette/CVE-2023-29159/` ([advisories.gitlab.com][10]) - Network accessline 1005
* CVE-2024-47874 (multipart/form-data DoS; fixed 0.40.0) — `https://advisories.gitlab.com/pkg/pypi/starlette/CVE-2024-47874/` ([advisories.gitlab.com][9]) - Network accessline 1006
* CVE-2025-62727 (FileResponse Range header DoS; fixed 0.49.1) — `https://advisories.gitlab.com/pkg/pypi/starlette/CVE-2025-62727/` ([advisories.gitlab.com][19]) - Network accessline 1008
[1]: https://pypi.org/project/fastapi/ "https://pypi.org/project/fastapi/" - Network accessline 1009
[2]: https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html "https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html" - Network accessline 1010
[3]: https://starlette.dev/websockets/?utm_source=chatgpt.com "Websockets" - Network accessline 1011
[4]: https://pypi.org/project/uvicorn/ "https://pypi.org/project/uvicorn/" - Network accessline 1012
[5]: https://pypi.org/project/starlette/ "https://pypi.org/project/starlette/" - Network accessline 1013
[6]: https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Headers_Cheat_Sheet.html?utm_source=chatgpt.com "HTTP Security Response Headers Cheat Sheet" - Network accessline 1014
[7]: https://fastapi.tiangolo.com/reference/dependencies/?utm_source=chatgpt.com "Dependencies - Depends() and Security() - FastAPI" - Network accessline 1015
[8]: https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html "https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html" - Network accessline 1016
[9]: https://advisories.gitlab.com/pkg/pypi/starlette/CVE-2024-47874/ "Starlette Denial of service (DoS) via multipart/form-data | GitLab Advisory Database" - Network accessline 1017
[10]: https://advisories.gitlab.com/pkg/pypi/starlette/CVE-2023-29159/ "Starlette has Path Traversal vulnerability in StaticFiles | GitLab Advisory Database" - Network accessline 1018
[11]: https://fastapi.tiangolo.com/tutorial/security/first-steps/?utm_source=chatgpt.com "Security - First Steps - FastAPI" - Network accessline 1019
[12]: https://fastapi.tiangolo.com/tutorial/response-model/ "https://fastapi.tiangolo.com/tutorial/response-model/" - Network accessline 1020
[13]: https://owasp.org/API-Security/editions/2023/en/0x11-t10/ "https://owasp.org/API-Security/editions/2023/en/0x11-t10/" - Network accessline 1021
[14]: https://cheatsheetseries.owasp.org/cheatsheets/Mass_Assignment_Cheat_Sheet.html "https://cheatsheetseries.owasp.org/cheatsheets/Mass_Assignment_Cheat_Sheet.html" - Network accessline 1022
[15]: https://fastapi.tiangolo.com/tutorial/extra-models/ "https://fastapi.tiangolo.com/tutorial/extra-models/" - Network accessline 1023
[16]: https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html "https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html" - Network accessline 1024
[17]: https://owasp.org/www-project-web-security-testing-guide/v41/4-Web_Application_Security_Testing/07-Input_Validation_Testing/18-Testing_for_Server_Side_Template_Injection?utm_source=chatgpt.com "Testing for Server Side Template Injecti - Network accessline 1025
[18]: https://jinja.palletsprojects.com/en/stable/sandbox/?utm_source=chatgpt.com "Sandbox — Jinja Documentation (3.1.x)" - Network accessline 1026
[19]: https://advisories.gitlab.com/pkg/pypi/starlette/CVE-2025-62727/ "Starlette vulnerable to O(n^2) DoS via Range header merging in ``starlette.responses.FileResponse`` | GitLab Advisory Database" - Network accessline 1027
[20]: https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html "https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html" - Network accessline 1028
[21]: https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html "https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html" - Network accessline 1029
[22]: https://cheatsheetseries.owasp.org/cheatsheets/OS_Command_Injection_Defense_Cheat_Sheet.html "https://cheatsheetseries.owasp.org/cheatsheets/OS_Command_Injection_Defense_Cheat_Sheet.html" - Network accessline 1030
[23]: https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html "https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html" - Network accessline 1031
[24]: https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html?utm_source=chatgpt.com "Unvalidated Redirects and Forwards Cheat Sheet" - Network accessline 1032
[25]: https://cheatsheetseries.owasp.org/cheatsheets/WebSocket_Security_Cheat_Sheet.html?utm_source=chatgpt.com "WebSocket Security - OWASP Cheat Sheet Series" - Network accessline 1033
[26]: https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/11-Client-side_Testing/10-Testing_WebSockets?utm_source=chatgpt.com "WSTG - Latest | OWASP Foundation" - Network accessline 1034
[27]: https://fastapi.tiangolo.com/advanced/websockets/?utm_source=chatgpt.com "WebSockets - FastAPI" - Network accessline 1035
[28]: https://fastapi.tiangolo.com/reference/apirouter/?utm_source=chatgpt.com "APIRouter class - FastAPI" - Network accessline 1036
[29]: https://docs.pydantic.dev/latest/ "https://docs.pydantic.dev/latest/"
skills/.curated/security-best-practices/references/python-flask-web-server-security.md
- Network accessline 536
Insecure patterns: - `requests.get(request.args["url"])` - Network accessline 537
- `requests.get(request.args["url"])` - Network accessline 674
Primary framework documentation: - Flask Docs: Deploying to Production — https://flask.palletsprojects.com/en/stable/deploying/ - Network accessline 675
- Flask Docs: Deploying to Production — https://flask.palletsprojects.com/en/stable/deploying/ - Network accessline 676
- Flask Docs: Debugging Application Errors — https://flask.palletsprojects.com/en/stable/debugging/ - Network accessline 677
- Flask Docs: Configuration Handling — https://flask.palletsprojects.com/en/stable/config/ - Network accessline 678
- Flask Docs: Security Considerations — https://flask.palletsprojects.com/en/stable/web-security/ - Network accessline 679
- Flask Docs: Tell Flask it is Behind a Proxy — https://flask.palletsprojects.com/en/stable/deploying/proxy_fix/ - Network accessline 680
- Flask API Docs: Sessions — https://flask.palletsprojects.com/en/stable/api/#sessions - Network accessline 682
Werkzeug documentation & advisories: - Werkzeug Docs: Utilities (send_file / send_from_directory / safe_join / secure_filename / password hashing) — https://werkzeug.palletsprojects.com/en/stable/utils/ - Network accessline 683
- Werkzeug Docs: Utilities (send_file / send_from_directory / safe_join / secure_filename / password hashing) — https://werkzeug.palletsprojects.com/en/stable/utils/ - Network accessline 684
- GitHub Advisory: CVE-2025-66221 (Werkzeug safe_join Windows device names) — https://github.com/advisories/GHSA-hgf8-39gv-g3f2 - Network accessline 686
OWASP Cheat Sheet Series: - Session Management — https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html - Network accessline 687
- Session Management — https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html - Network accessline 688
- CSRF Prevention — https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html - Network accessline 689
- XSS Prevention — https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html - Network accessline 690
- Input Validation — https://cheatsheetseries.owasp.org/cheatsheets/Input_Validation_Cheat_Sheet.html - Network accessline 691
- SQL Injection Prevention — https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html - Network accessline 692
- Injection Prevention — https://cheatsheetseries.owasp.org/cheatsheets/Injection_Prevention_Cheat_Sheet.html - Network accessline 693
- OS Command Injection Defense — https://cheatsheetseries.owasp.org/cheatsheets/OS_Command_Injection_Defense_Cheat_Sheet.html - Network accessline 694
- SSRF Prevention — https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html - Network accessline 695
- File Upload — https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html - Network accessline 696
- Unvalidated Redirects — https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html - Network accessline 697
- HTTP Headers — https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Headers_Cheat_Sheet.html - Network accessline 699
Template safety references: - Jinja: Sandbox (rendering untrusted templates) — https://jinja.palletsprojects.com/en/stable/sandbox/ - Network accessline 700
- Jinja: Sandbox (rendering untrusted templates) — https://jinja.palletsprojects.com/en/stable/sandbox/ - Network accessline 701
- OWASP WSTG: Testing for Server-Side Template Injection — https://owasp.org/www-project-web-security-testing-guide/v41/4-Web_Application_Security_Testing/07-Input_Validation_Testing/18-Testing_for_Server_Side_Template_Injection - Network accessline 702
- PortSwigger Web Security Academy: Server-side template injection — https://portswigger.net/web-security/server-side-template-injection - Network accessline 704
HTTP semantics: - RFC 9110: HTTP Semantics (safe methods) — https://www.rfc-editor.org/rfc/rfc9110 - Network accessline 705
- RFC 9110: HTTP Semantics (safe methods) — https://www.rfc-editor.org/rfc/rfc9110
skills/.curated/security-ownership-map/LICENSE.txt
skills/.curated/security-ownership-map/scripts/build_ownership_map.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/.curated/security-ownership-map/scripts/community_maintainers.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/.curated/security-ownership-map/scripts/query_ownership.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/.curated/security-ownership-map/scripts/run_ownership_map.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/.curated/security-threat-model/LICENSE.txt
skills/.curated/sentry/LICENSE.txt
skills/.curated/sentry/SKILL.md
- Access to secretsline 11
[Credential-related source omitted] - Network accessline 17
If the CLI is not installed, give the user these steps: 1. Install the Sentry CLI: `curl https://cli.sentry.dev/install -fsS | bash` - Dangerous shell operationline 18
1. Install the Sentry CLI: `curl https://cli.sentry.dev/install -fsS | bash` - Network accessline 18
1. Install the Sentry CLI: `curl https://cli.sentry.dev/install -fsS | bash`
skills/.curated/sentry/assets/sentry-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 50 44" fill="currentColor" aria-hidden="true">
skills/.curated/speech/LICENSE.txt
skills/.curated/speech/SKILL.md
- Access to secretsline 3
[Credential-related source omitted] - Access to secretsline 47
[Credential-related source omitted] - Network accessline 49
If the key is missing, give the user these steps: 1. Create an API key in the OpenAI platform UI: https://platform.openai.com/api-keys - Network accessline 50
1. Create an API key in the OpenAI platform UI: https://platform.openai.com/api-keys - Access to secretsline 51
[Credential-related source omitted] - Access to secretsline 64
[Credential-related source omitted]
skills/.curated/speech/assets/speech-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" viewBox="0 0 14 14">
skills/.curated/speech/references/cli.md
skills/.curated/speech/scripts/text_to_speech.py
skills/.curated/transcribe/LICENSE.txt
skills/.curated/transcribe/SKILL.md
skills/.curated/transcribe/assets/transcribe-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 20 20">
skills/.curated/transcribe/scripts/transcribe_diarize.py
skills/.curated/vercel-deploy/assets/vercel-small.svg
- Network accessline 1
<svg width="16" height="16" viewBox="0 0 1155 1155" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
skills/.curated/vercel-deploy/scripts/deploy.sh
- Executable scriptline 1
#!/bin/bash - Network accessline 9
DEPLOY_ENDPOINT="https://codex-deploy-skills.vercel.sh/api/deploy" - Dangerous shell operationline 175
rm -rf "$TEMP_DIR" - Access to secretsline 201
[Credential-related source omitted] - Access to secretsline 204
[Credential-related source omitted] - Network accessline 238
echo "Deploying..." >&2 RESPONSE=$(curl -s -X POST "$DEPLOY_ENDPOINT" -F "file=@$TARBALL" -F "framework=$FRAMEWORK") - Network accessline 239
RESPONSE=$(curl -s -X POST "$DEPLOY_ENDPOINT" -F "file=@$TARBALL" -F "framework=$FRAMEWORK") - Network accessline 265
while [ $ATTEMPT -lt $MAX_ATTEMPTS ]; do HTTP_STATUS=$(curl -s -o /dev/null -w "%{http_code}" "$PREVIEW_URL") - Network accessline 266
HTTP_STATUS=$(curl -s -o /dev/null -w "%{http_code}" "$PREVIEW_URL")
skills/.curated/winui-app/LICENSE.txt
skills/.curated/winui-app/config.yaml
- Network accessline 1
# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2
skills/.curated/winui-app/references/accessibility-input-and-localization.md
- Network accessline 4
tags: accessibility, keyboard, narrator, automation, localization, high-contrast sources: - https://learn.microsoft.com/windows/apps/design/accessibility/accessibility - Network accessline 5
sources: - https://learn.microsoft.com/windows/apps/design/accessibility/accessibility - https://learn.microsoft.com/windows/apps/design/accessibility/keyboard-accessibility - Network accessline 6
- https://learn.microsoft.com/windows/apps/design/accessibility/accessibility - Network accessline 7
- https://learn.microsoft.com/windows/apps/design/accessibility/keyboard-accessibility - Network accessline 8
- https://learn.microsoft.com/windows/apps/design/accessibility/high-contrast-themes - Network accessline 9
- https://learn.microsoft.com/windows/apps/design/globalizing/globalizing-portal - Network accessline 10
- https://github.com/microsoft/WinUI-Gallery
skills/.curated/winui-app/references/build-run-and-launch-verification.md
- Network accessline 4
tags: build, run, launch, verification, packaged, unpackaged, debugging sources: - https://learn.microsoft.com/windows/apps/get-started/start-here - Network accessline 5
sources: - https://learn.microsoft.com/windows/apps/get-started/start-here - https://learn.microsoft.com/windows/apps/windows-app-sdk/deploy-packaged-apps - Network accessline 6
- https://learn.microsoft.com/windows/apps/get-started/start-here - Network accessline 7
- https://learn.microsoft.com/windows/apps/windows-app-sdk/deploy-packaged-apps - Network accessline 8
- https://learn.microsoft.com/windows/apps/windows-app-sdk/deploy-unpackaged-apps
skills/.curated/winui-app/references/community-toolkit-controls-and-helpers.md
- Network accessline 4
tags: communitytoolkit, controls, helpers, animations, settingscontrols sources: - https://github.com/CommunityToolkit/Windows - Network accessline 5
sources: - https://github.com/CommunityToolkit/Windows - https://learn.microsoft.com/dotnet/communitytoolkit/windows/getting-started - Network accessline 6
- https://github.com/CommunityToolkit/Windows - Network accessline 7
- https://learn.microsoft.com/dotnet/communitytoolkit/windows/getting-started
skills/.curated/winui-app/references/controls-layout-and-adaptive-ui.md
- Network accessline 4
tags: controls, layout, adaptive-ui, responsive, forms, lists sources: - https://learn.microsoft.com/windows/apps/design/layout/responsive-design - Network accessline 5
sources: - https://learn.microsoft.com/windows/apps/design/layout/responsive-design - https://learn.microsoft.com/windows/apps/design/basics/navigation-basics - Network accessline 6
- https://learn.microsoft.com/windows/apps/design/layout/responsive-design - Network accessline 7
- https://learn.microsoft.com/windows/apps/design/basics/navigation-basics - Network accessline 8
- https://github.com/microsoft/WinUI-Gallery
skills/.curated/winui-app/references/foundation-environment-audit-and-remediation.md
- Network accessline 4
tags: setup, audit, install, dotnet, visual-studio, windows-sdk, developer-mode sources: - https://learn.microsoft.com/windows/apps/get-started/start-here - Network accessline 5
sources: - https://learn.microsoft.com/windows/apps/get-started/start-here - https://learn.microsoft.com/windows/apps/windows-app-sdk/system-requirements - Network accessline 6
- https://learn.microsoft.com/windows/apps/get-started/start-here - Network accessline 7
- https://learn.microsoft.com/windows/apps/windows-app-sdk/system-requirements - Network accessline 8
- https://learn.microsoft.com/windows/apps/get-started/developer-mode-features-and-debugging - Network accessline 9
- https://learn.microsoft.com/dotnet/core/install/windows
skills/.curated/winui-app/references/foundation-setup-and-project-selection.md
- Network accessline 4
tags: setup, prerequisites, packaged, unpackaged, visual-studio, dotnet sources: - https://learn.microsoft.com/windows/apps/get-started/start-here - Network accessline 5
sources: - https://learn.microsoft.com/windows/apps/get-started/start-here - https://learn.microsoft.com/windows/apps/winui/winui3/ - Network accessline 6
- https://learn.microsoft.com/windows/apps/get-started/start-here - Network accessline 7
- https://learn.microsoft.com/windows/apps/winui/winui3/ - Network accessline 8
- https://learn.microsoft.com/windows/apps/windows-app-sdk/ - Network accessline 9
- https://learn.microsoft.com/windows/apps/windows-app-sdk/system-requirements
skills/.curated/winui-app/references/foundation-template-first-recovery.md
- Network accessline 4
tags: template, recovery, xaml-compiler, msb3073, startup sources: - https://learn.microsoft.com/windows/apps/get-started/start-here - Network accessline 5
sources: - https://learn.microsoft.com/windows/apps/get-started/start-here - https://learn.microsoft.com/windows/apps/windows-app-sdk/deploy-packaged-apps - Network accessline 6
- https://learn.microsoft.com/windows/apps/get-started/start-here - Network accessline 7
- https://learn.microsoft.com/windows/apps/windows-app-sdk/deploy-packaged-apps - Network accessline 8
- https://learn.microsoft.com/windows/apps/windows-app-sdk/deploy-unpackaged-apps - Network accessline 9
- https://github.com/microsoft/WinUI-Gallery
skills/.curated/winui-app/references/foundation-winui-app-structure.md
- Network accessline 4
tags: app-structure, xaml, resources, pages, bindings, csharp sources: - https://github.com/microsoft/WinUI-Gallery - Network accessline 5
sources: - https://github.com/microsoft/WinUI-Gallery - https://learn.microsoft.com/windows/apps/winui/ - Network accessline 6
- https://github.com/microsoft/WinUI-Gallery - Network accessline 7
- https://learn.microsoft.com/windows/apps/winui/
skills/.curated/winui-app/references/motion-animations-and-polish.md
- Network accessline 4
tags: motion, animations, transitions, connected-animation, polish sources: - https://learn.microsoft.com/windows/apps/design/motion/ - Network accessline 5
sources: - https://learn.microsoft.com/windows/apps/design/motion/ - https://github.com/microsoft/WinUI-Gallery - Network accessline 6
- https://learn.microsoft.com/windows/apps/design/motion/ - Network accessline 7
- https://github.com/microsoft/WinUI-Gallery - Network accessline 8
- https://github.com/CommunityToolkit/Windows
skills/.curated/winui-app/references/performance-diagnostics-and-responsiveness.md
- Network accessline 4
tags: performance, responsiveness, ui-thread, wpr, wpa, diagnostics sources: - https://learn.microsoft.com/windows/apps/performance/winui-perf - Network accessline 5
sources: - https://learn.microsoft.com/windows/apps/performance/winui-perf - https://github.com/microsoft/WinUI-Gallery - Network accessline 6
- https://learn.microsoft.com/windows/apps/performance/winui-perf - Network accessline 7
- https://github.com/microsoft/WinUI-Gallery
skills/.curated/winui-app/references/sample-source-map.md
- Network accessline 4
tags: sources, mapping, lookup, gallery, docs, toolkit sources: - https://learn.microsoft.com/windows/apps/get-started/samples - Network accessline 5
sources: - https://learn.microsoft.com/windows/apps/get-started/samples - https://github.com/microsoft/WinUI-Gallery - Network accessline 6
- https://learn.microsoft.com/windows/apps/get-started/samples - Network accessline 7
- https://github.com/microsoft/WinUI-Gallery - Network accessline 8
- https://github.com/microsoft/WindowsAppSDK-Samples - Network accessline 9
- https://github.com/CommunityToolkit/Windows
skills/.curated/winui-app/references/shell-navigation-and-windowing.md
- Network accessline 4
tags: navigationview, titlebar, appwindow, multi-window, shell sources: - https://learn.microsoft.com/windows/apps/design/basics/navigation-basics - Network accessline 5
sources: - https://learn.microsoft.com/windows/apps/design/basics/navigation-basics - https://learn.microsoft.com/windows/apps/design/basics/titlebar-design - Network accessline 6
- https://learn.microsoft.com/windows/apps/design/basics/navigation-basics - Network accessline 7
- https://learn.microsoft.com/windows/apps/design/basics/titlebar-design - Network accessline 8
- https://github.com/microsoft/WinUI-Gallery - Network accessline 9
- https://github.com/microsoft/WindowsAppSDK-Samples/tree/main/Samples/Windowing
skills/.curated/winui-app/references/styling-theming-materials-and-icons.md
- Network accessline 4
tags: styling, theme-resources, mica, acrylic, typography, icons sources: - https://learn.microsoft.com/windows/apps/design/style/mica - Network accessline 5
sources: - https://learn.microsoft.com/windows/apps/design/style/mica - https://learn.microsoft.com/windows/apps/design/style/acrylic - Network accessline 6
- https://learn.microsoft.com/windows/apps/design/style/mica - Network accessline 7
- https://learn.microsoft.com/windows/apps/design/style/acrylic - Network accessline 8
- https://learn.microsoft.com/windows/apps/design/signature-experiences/typography - Network accessline 9
- https://learn.microsoft.com/windows/apps/design/signature-experiences/iconography - Network accessline 10
- https://github.com/microsoft/WinUI-Gallery - Network accessline 11
- https://github.com/microsoft/WindowsAppSDK-Samples/tree/main/Samples/Mica
skills/.curated/winui-app/references/testing-debugging-and-review-checklists.md
- Network accessline 4
tags: testing, debugging, review, hot-reload, live-visual-tree, checklists sources: - https://learn.microsoft.com/windows/apps/get-started/start-here - Network accessline 5
sources: - https://learn.microsoft.com/windows/apps/get-started/start-here - https://learn.microsoft.com/windows/apps/get-started/developer-mode-features-and-debugging - Network accessline 6
- https://learn.microsoft.com/windows/apps/get-started/start-here - Network accessline 7
- https://learn.microsoft.com/windows/apps/get-started/developer-mode-features-and-debugging - Network accessline 8
- https://learn.microsoft.com/windows/apps/performance/winui-perf
skills/.curated/winui-app/references/windows-app-sdk-lifecycle-notifications-and-deployment.md
- Network accessline 4
tags: windows-app-sdk, lifecycle, activation, notifications, deployment, packaged, unpackaged sources: - https://learn.microsoft.com/windows/apps/windows-app-sdk/ - Network accessline 5
sources: - https://learn.microsoft.com/windows/apps/windows-app-sdk/ - https://learn.microsoft.com/windows/apps/windows-app-sdk/deploy-packaged-apps - Network accessline 6
- https://learn.microsoft.com/windows/apps/windows-app-sdk/ - Network accessline 7
- https://learn.microsoft.com/windows/apps/windows-app-sdk/deploy-packaged-apps - Network accessline 8
- https://learn.microsoft.com/windows/apps/windows-app-sdk/deploy-unpackaged-apps - Network accessline 9
- https://github.com/microsoft/WindowsAppSDK-Samples
skills/.curated/yeet/LICENSE.txt
skills/.curated/yeet/assets/yeet-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" viewBox="0 0 14 14">
skills/.system/imagegen/LICENSE.txt
skills/.system/imagegen/SKILL.md
- Access to secretsline 14
[Credential-related source omitted] - Access to secretsline 15
[Credential-related source omitted] - Access to secretsline 26
[Credential-related source omitted] - Access to secretsline 257
[Credential-related source omitted] - Access to secretsline 258
[Credential-related source omitted] - Network accessline 261
If the key is missing, give the user these steps: 1. Create an API key in the OpenAI platform UI: https://platform.openai.com/api-keys - Network accessline 262
1. Create an API key in the OpenAI platform UI: https://platform.openai.com/api-keys - Access to secretsline 263
[Credential-related source omitted]
skills/.system/imagegen/assets/imagegen-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
skills/.system/imagegen/references/cli.md
skills/.system/imagegen/scripts/image_gen.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 63
[Credential-related source omitted] - Access to secretsline 64
[Credential-related source omitted] - Access to secretsline 67
[Credential-related source omitted] - Access to secretsline 69
[Credential-related source omitted] - Possible obfuscationline 256
out_path.write_bytes(base64.b64decode(image_b64)) - Possible obfuscationline 317
raw = base64.b64decode(image_b64)
skills/.system/openai-docs/LICENSE.txt
skills/.system/openai-docs/SKILL.md
- Network accessline 24
- For API reference, schema, parameter, or required-field questions, use `mcp__openaiDeveloperDocs__get_openapi_spec` when available to verify the API shape alongside the relevant guide or reference page. - Use `mcp__openaiDeveloperDocs__li - Network accessline 25
- Use `mcp__openaiDeveloperDocs__list_openai_docs` only when you need to browse or discover non-Codex pages without a clear query. - For model-selection, "latest model", or default-model questions, fetch `https://developers.openai.com/api/d - Network accessline 26
- For model-selection, "latest model", or default-model questions, fetch `https://developers.openai.com/api/docs/guides/latest-model.md` first. If that is unavailable, load `references/latest-model.md`. - Network accessline 116
1. Run the install command yourself: `codex mcp add openaiDeveloperDocs --url https://developers.openai.com/mcp` - Network accessline 125
2. For Codex self-knowledge requests, follow the Codex self-knowledge source procedure above. 3. For model-selection or upgrade requests, prefer current remote docs over bundled references when the user asks for latest/current/default guida - Network accessline 126
3. For model-selection or upgrade requests, prefer current remote docs over bundled references when the user asks for latest/current/default guidance. - Fetch `https://developers.openai.com/api/docs/guides/latest-model.md`. - Find the - Network accessline 127
- Fetch `https://developers.openai.com/api/docs/guides/latest-model.md`. - Network accessline 144
- `https://developers.openai.com/api/docs/guides/latest-model.md` -> current model-selection and "best/latest/current model" questions. - `scripts/fetch-codex-manual.mjs` -> current Codex manual fetch, verification, local temp cache, and ou - Network accessline 145
- `scripts/fetch-codex-manual.mjs` -> current Codex manual fetch, verification, local temp cache, and outline generation. - `https://developers.openai.com/codex/codex-manual.md` -> current Codex self-knowledge synthesis, including setup, cu - Network accessline 146
- `https://developers.openai.com/codex/codex-manual.md` -> current Codex self-knowledge synthesis, including setup, customization, skills, plugins, MCP, hooks, `AGENTS.md`, automations, and surface behavior; normally access it through the h
skills/.system/openai-docs/agents/openai.yaml
skills/.system/openai-docs/assets/openai-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" viewBox="0 0 14 14">
skills/.system/openai-docs/scripts/fetch-codex-manual.mjs
- Executable scriptline 1
#!/usr/bin/env node - Network accessline 19
const DEFAULT_MANUAL_URL = "https://developers.openai.com/codex/codex-manual.md"; - Network accessline 74
if (!headerBlock) { throw new ManualFetchError("curl did not return HTTP response headers."); - Network accessline 75
throw new ManualFetchError("curl did not return HTTP response headers."); - Network accessline 80
if (!statusMatch) { throw new ManualFetchError( `Could not parse HTTP status from curl response: ${statusLine}` - Network accessline 81
throw new ManualFetchError( `Could not parse HTTP status from curl response: ${statusLine}` ); - Network accessline 82
`Could not parse HTTP status from curl response: ${statusLine}` - Network accessline 156
if (lastError?.code === "ENOENT") { throw new ManualFetchError("curl is unavailable in this environment.", { - Network accessline 157
throw new ManualFetchError("curl is unavailable in this environment.", { - Network accessline 173
return withTimeout( (signal) => fetch(url, { - Network accessline 174
(signal) => fetch(url, { method, - Network accessline 175
fetch(url, {
skills/.system/openai-docs/scripts/resolve-latest-model-info.js
- Executable scriptline 1
#!/usr/bin/env node - Network accessline 6
const DEFAULT_URL = "https://developers.openai.com/api/docs/guides/latest-model.md"; - Network accessline 7
"https://developers.openai.com/api/docs/guides/latest-model.md"; - Network accessline 8
const DEFAULT_BASE_URL = "https://developers.openai.com"; - Network accessline 39
const response = await fetch(source, {
skills/.system/plugin-creator/LICENSE.txt
skills/.system/plugin-creator/references/plugin-json-spec.md
- Network accessline 9
"name": "Author Name", "email": "author@example.com", "url": "https://github.com/author" - Network accessline 10
"email": "author@example.com", "url": "https://github.com/author" }, - Network accessline 11
"url": "https://github.com/author" - Network accessline 12
}, "homepage": "https://docs.example.com/plugin", "repository": "https://github.com/author/plugin", - Network accessline 13
"homepage": "https://docs.example.com/plugin", - Network accessline 14
"repository": "https://github.com/author/plugin", - Network accessline 26
"category": "Productivity", "capabilities": ["Interactive", "Write"], "websiteURL": "https://openai.com/", - Network accessline 27
"capabilities": ["Interactive", "Write"], "websiteURL": "https://openai.com/", "privacyPolicyURL": "https://openai.com/policies/row-privacy-policy/", - Network accessline 28
"websiteURL": "https://openai.com/", - Network accessline 29
"privacyPolicyURL": "https://openai.com/policies/row-privacy-policy/", - Network accessline 30
"termsOfServiceURL": "https://openai.com/policies/row-terms-of-use/",
skills/.system/plugin-creator/scripts/create_basic_plugin.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 49
"name": "[TODO: Author Name]", "email": "[TODO: author@example.com]", "url": "[TODO: https://github.com/author]", - Network accessline 50
"email": "[TODO: author@example.com]", "url": "[TODO: https://github.com/author]", }, - Network accessline 51
"url": "[TODO: https://github.com/author]", - Network accessline 52
}, "homepage": "[TODO: https://docs.example.com/plugin]", "repository": "[TODO: https://github.com/author/plugin]", - Network accessline 53
"homepage": "[TODO: https://docs.example.com/plugin]", - Network accessline 54
"repository": "[TODO: https://github.com/author/plugin]", - Network accessline 66
"category": "[TODO: Productivity]", "capabilities": ["[TODO: Interactive]", "[TODO: Write]"], "websiteURL": "[TODO: https://openai.com/]", - Network accessline 67
"capabilities": ["[TODO: Interactive]", "[TODO: Write]"], "websiteURL": "[TODO: https://openai.com/]", "privacyPolicyURL": "[TODO: https://openai.com/policies/row-privacy-policy/]", - Network accessline 68
"websiteURL": "[TODO: https://openai.com/]", - Network accessline 69
"privacyPolicyURL": "[TODO: https://openai.com/policies/row-privacy-policy/]", - Network accessline 70
"termsOfServiceURL": "[TODO: https://openai.com/policies/row-terms-of-use/]",
skills/.system/skill-creator/LICENSE.txt
skills/.system/skill-creator/references/openai_yaml.md
skills/.system/skill-creator/scripts/generate_openai_yaml.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/.system/skill-creator/scripts/init_skill.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/.system/skill-creator/scripts/quick_validate.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/.system/skill-installer/LICENSE.txt
skills/.system/skill-installer/SKILL.md
- Network accessline 10
Helps install skills. By default these are from https://github.com/openai/skills/tree/main/skills/.curated, but users can also provide other locations. - Network accessline 38
- Example (experimental list): `scripts/list-skills.py --path skills/.experimental` - `scripts/install-skill-from-github.py --repo <owner>/<repo> --path <path/to/skill> [<path/to/skill> ...]` - `scripts/install-skill-from-github.py --url ht - Network accessline 39
- `scripts/install-skill-from-github.py --repo <owner>/<repo> --path <path/to/skill> [<path/to/skill> ...]` - `scripts/install-skill-from-github.py --url https://github.com/<owner>/<repo>/tree/<ref>/<path>` - Example (experimental skill): ` - Network accessline 40
- `scripts/install-skill-from-github.py --url https://github.com/<owner>/<repo>/tree/<ref>/<path>` - Network accessline 54
- Curated listing is fetched from `https://github.com/openai/skills/tree/main/skills/.curated` via the GitHub API. If it is unavailable, explain the error and exit. - Private GitHub repos can be accessed via existing git credentials or opti - Network accessline 55
- Private GitHub repos can be accessed via existing git credentials or optional `GITHUB_TOKEN`/`GH_TOKEN` for download. - Git fallback tries HTTPS first, then SSH. - The skills at https://github.com/openai/skills/tree/main/skills/.system ar - Network accessline 56
- Git fallback tries HTTPS first, then SSH. - The skills at https://github.com/openai/skills/tree/main/skills/.system are preinstalled, so no need to help users install those. If they ask, just explain this. If they insist, you can download - Network accessline 57
- The skills at https://github.com/openai/skills/tree/main/skills/.system are preinstalled, so no need to help users install those. If they ask, just explain this. If they insist, you can download and overwrite.
skills/.system/skill-installer/assets/skill-installer-small.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
skills/.system/skill-installer/scripts/github_utils.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 12
[Credential-related source omitted] - Network accessline 13
[Credential-related source omitted] - Network accessline 14
headers["Authorization"] = f"token {token}" req = urllib.request.Request(url, headers=headers) with urllib.request.urlopen(req) as resp: - Network accessline 15
req = urllib.request.Request(url, headers=headers) - Network accessline 16
with urllib.request.urlopen(req) as resp: - Network accessline 20
def github_api_contents_url(repo: str, path: str, ref: str) -> str: return f"https://api.github.com/repos/{repo}/contents/{path}?ref={ref}" - Network accessline 21
return f"https://api.github.com/repos/{repo}/contents/{path}?ref={ref}"
skills/.system/skill-installer/scripts/install-skill-from-github.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 46
[Credential-related source omitted] - Network accessline 80
def _download_repo_zip(owner: str, repo: str, ref: str, dest_dir: str) -> str: zip_url = f"https://codeload.github.com/{owner}/{repo}/zip/{ref}" - Network accessline 81
zip_url = f"https://codeload.github.com/{owner}/{repo}/zip/{ref}" - Network accessline 179
def _build_repo_url(owner: str, repo: str) -> str: return f"https://github.com/{owner}/{repo}.git" - Network accessline 180
return f"https://github.com/{owner}/{repo}.git" - Network accessline 248
parser = argparse.ArgumentParser(description="Install a skill from GitHub.") parser.add_argument("--repo", help="owner/repo") parser.add_argument("--url", help="https://github.com/owner/repo[/tree/ref/path]") - Network accessline 249
parser.add_argument("--repo", help="owner/repo") parser.add_argument("--url", help="https://github.com/owner/repo[/tree/ref/path]") parser.add_argument( - Network accessline 250
parser.add_argument("--url", help="https://github.com/owner/repo[/tree/ref/path]")
skills/.system/skill-installer/scripts/list-skills.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 35
[Credential-related source omitted] - Network accessline 56
raise ListError( "Skills path not found: " f"https://github.com/{repo}/tree/{ref}/{path}" - Network accessline 57
"Skills path not found: " f"https://github.com/{repo}/tree/{ref}/{path}" ) from exc - Network accessline 58
f"https://github.com/{repo}/tree/{ref}/{path}" ) from exc raise ListError(f"Failed to fetch skills: HTTP {exc.code}") from exc
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 500 facts
- Network access in prose of documentationaspnet-core/LICENSE.txt:2Low confidence
- Network access in prose of documentationaspnet-core/LICENSE.txt:4Low confidence
- Network access in prose of documentationaspnet-core/LICENSE.txt:196Low confidence
- Network access in prose of documentationaspnet-core/references/apis-minimal-and-controllers.md:3Low confidence
- Network access in prose of documentationaspnet-core/references/apis-minimal-and-controllers.md:4Low confidence
- Network access in prose of documentationaspnet-core/references/apis-minimal-and-controllers.md:5Low confidence
- Network access in prose of documentationaspnet-core/references/apis-minimal-and-controllers.md:6Low confidence
- Network access in prose of documentationaspnet-core/references/data-state-and-services.md:3Low confidence
- Network access in prose of documentationaspnet-core/references/data-state-and-services.md:4Low confidence
- Network access in prose of documentationaspnet-core/references/data-state-and-services.md:5Low confidence
- Network access in prose of documentationaspnet-core/references/data-state-and-services.md:6Low confidence
- Network access in prose of documentationaspnet-core/references/data-state-and-services.md:7Low confidence
- Network access in prose of documentationaspnet-core/references/program-and-pipeline.md:3Low confidence
- Network access in prose of documentationaspnet-core/references/program-and-pipeline.md:4Low confidence
- Network access in prose of documentationaspnet-core/references/program-and-pipeline.md:5Low confidence
- Network access in prose of documentationaspnet-core/references/program-and-pipeline.md:6Low confidence
- Network access in prose of documentationaspnet-core/references/program-and-pipeline.md:7Low confidence
- Network access in prose of documentationaspnet-core/references/realtime-grpc-and-background-work.md:3Low confidence
- Network access in prose of documentationaspnet-core/references/realtime-grpc-and-background-work.md:4Low confidence
- Network access in prose of documentationaspnet-core/references/realtime-grpc-and-background-work.md:5Low confidence
- Network access in prose of documentationaspnet-core/references/realtime-grpc-and-background-work.md:6Low confidence
- Network access in prose of documentationaspnet-core/references/security-and-identity.md:3Low confidence
- Network access in prose of documentationaspnet-core/references/security-and-identity.md:4Low confidence
- Network access in prose of documentationaspnet-core/references/security-and-identity.md:5Low confidence
- Network access in prose of documentationaspnet-core/references/security-and-identity.md:6Low confidence
- Network access in prose of documentationaspnet-core/references/source-map.md:7Low confidence
- Network access in prose of documentationaspnet-core/references/source-map.md:8Low confidence
- Network access in prose of documentationaspnet-core/references/source-map.md:9Low confidence
- Network access in prose of documentationaspnet-core/references/stack-selection.md:3Low confidence
- Network access in prose of documentationaspnet-core/references/stack-selection.md:4Low confidence
- Network access in prose of documentationaspnet-core/references/stack-selection.md:5Low confidence
- Network access in prose of documentationaspnet-core/references/stack-selection.md:6Low confidence
- Network access in prose of documentationaspnet-core/references/stack-selection.md:7Low confidence
- Network access in prose of documentationaspnet-core/references/stack-selection.md:8Low confidence
- Network access in prose of documentationaspnet-core/references/stack-selection.md:9Low confidence
- Network access in prose of documentationaspnet-core/references/testing-performance-and-operations.md:3Low confidence
- Network access in prose of documentationaspnet-core/references/testing-performance-and-operations.md:4Low confidence
- Network access in prose of documentationaspnet-core/references/testing-performance-and-operations.md:5Low confidence
- Network access in prose of documentationaspnet-core/references/testing-performance-and-operations.md:6Low confidence
- Network access in prose of documentationaspnet-core/references/testing-performance-and-operations.md:7Low confidence
- Network access in prose of documentationaspnet-core/references/ui-blazor.md:3Low confidence
- Network access in prose of documentationaspnet-core/references/ui-blazor.md:4Low confidence
- Network access in prose of documentationaspnet-core/references/ui-blazor.md:5Low confidence
- Network access in prose of documentationaspnet-core/references/ui-blazor.md:6Low confidence
- Network access in prose of documentationaspnet-core/references/ui-mvc.md:3Low confidence
- Network access in prose of documentationaspnet-core/references/ui-mvc.md:4Low confidence
- Network access in prose of documentationaspnet-core/references/ui-mvc.md:5Low confidence
- Network access in prose of documentationaspnet-core/references/ui-mvc.md:6Low confidence
- Network access in prose of documentationaspnet-core/references/ui-razor-pages.md:3Low confidence
- Network access in prose of documentationaspnet-core/references/ui-razor-pages.md:4Low confidence
and 450 more
Only the first 500 facts are listed.
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md skills/.curated/aspnet-core/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md skills/.curated/aspnet-core/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/.curated/aspnet-core/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/.curated/aspnet-core/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/.curated/aspnet-core/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/.curated/aspnet-core/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/openai-skills/)