AI-powered adeno-associated virus (AAV) vector design for gene therapy including capsid engineering, promoter selection, and tropism optimization.
日本語の概要は準備中です。原文の説明を表示しています。
Configure Netlify projects via netlify.toml and the _headers/_redirects files — covering build settings and deploy contexts alongside environment variables/scopes and the Secrets Controller plus redirect/rewrite/proxy and custom-header rules. Use when setting a build command or publish directory, adding redirect or rewrite or proxy rules, configuring custom headers or basic auth, setting or scoping environment variables and secrets, wiring up a monorepo or SPA fallback, or skipping unnecessary builds. Reach for this whenever you touch netlify.toml or ask "why is my env var undefined in a function" or "how do I redirect this path".
インストールする前に、エージェントに与えられる指示の中身を確認できます。
netlify.toml lives at the repo root (or set base/package directory for monorepos). Settings in netlify.toml override the Netlify UI on conflict. _headers and _redirects are extensionless plain-text files in the publish directory, processed before netlify.toml rules.
netlify.toml are NOT available to functions or edge functions at runtime — reading them there returns undefined. Vars declared in netlify.toml only get the Builds and Post processing scopes. Set runtime vars in the UI or with netlify env:set.VITE_, NEXT_PUBLIC_, PUBLIC_, …) — they are inlined into the client bundle. --secret does not protect them..env is not read by the Netlify build system — import variables into Netlify first (netlify env:import). The CLI reads .env only for local builds.netlify.toml (key = "$VAR") is unsupported — except signed proxy redirects. Use a build plugin or sed in the build command.[[redirects]] and [[headers]] are global — NOT context-aware, cannot be scoped to branches/contexts. Workaround: per-context build command copies a custom file into the publish directory.307 is unsupported — use 302.netlify.toml — core structure[build]
base = "project/" # base directory
publish = "build-output/" # relative to base, default /
command = "npm run build" # runs in Bash shell
[build.environment]
NODE_VERSION = "18"
[context.production] # production branch deploy
command = "make publish"
environment = { NODE_VERSION = "14.15.3" }
[context.deploy-preview] # PR/MR previews
publish = "dist/"
[context.branch-deploy] # non-production branches
command = "echo branch"
[context.dev.environment] # local dev env vars ONLY
NODE_ENV = "development"
[context.staging] # a specific branch name
command = "echo staging"
[context."feat/branch"] # quote branches with special chars
command = "echo special"
Context precedence (least → most specific): UI settings < base context-aware key < [context.production|deploy-preview|branch-deploy|dev] < [context.branchname]. Only [build] and [[plugins]] are context-aware. All paths are absolute relative to the base directory (root / default).
Config file search order: package directory → base directory → root.
[functions]
directory = "functions/" # default: YOUR_BASE_DIR/netlify/functions
node_bundler = "esbuild" # prefer esbuild; zisi is the JS default
external_node_modules = ["package-1"]
included_files = ["files/*.md", "!files/skip.md"]
[functions."api_*"] # glob filter; values CONCATENATE across matches
external_node_modules = ["package-2"]
esbuild = smaller/faster artifacts; TypeScript functions always use esbuild.external_node_modules applies only with esbuild. included_files: * wildcard, ! excludes; paths absolute to base.Set runtime/scoped vars via CLI/UI/API (not netlify.toml):
netlify env:set MY_KEY value --secret # --secret marks an env var secret
netlify env:import .env # site-level, all scopes, all contexts
netlify env:list --plain --context production > .env
netlify env:unset MY_KEY
Keep any .env snapshot gitignored — never commit it.
Types: site vars (one site) vs shared vars (whole team; Pro/Enterprise; Team Owners only).
Scopes (Pro/Enterprise; default = all): Builds, Functions (also Edge Functions + On-demand Builders), Runtime (forms, signed proxy redirects), Post processing (snippet injection). Vars from netlify.toml are locked to Builds + Post processing.
Scope precedence is independent per scope: a site variable scoped only to Builds does NOT shadow a shared variable for the Functions scope — the shared value still applies there. Site beats shared only within the scopes the site variable actually carries.
Deploy-context values: Production, Deploy Previews, Branch deploys (override per-branch with a Branch value, wildcard suffix release/*), Preview server, Local development.
Overrides: netlify.toml vars override same-key UI/CLI/API vars. Site var beats shared var per its scopes/contexts.
Limits: keys ≤ 255 chars, alphanumeric + underscore, first char a letter (KEY1 ok; 1KEY/_KEY1 invalid). Values ≤ 5,000 chars (functions within AWS limits). Reserved read-only names can't be overridden.
Settable in netlify.toml [build.environment]: NODE_VERSION, NODE_ENV, NPM_VERSION, NPM_FLAGS, NPM_TOKEN, YARN_VERSION, PNPM_FLAGS, BUN_VERSION, RUBY_VERSION, PHP_VERSION, PYTHON_VERSION, GO_VERSION, HUGO_VERSION, NETLIFY_USE_YARN, CI, etc.
Set in UI/CLI only (NOT netlify.toml, which is read after clone): AWS_LAMBDA_JS_RUNTIME, GIT_LFS_ENABLED, GIT_LFS_FETCH_INCLUDE, NETLIFY_BUILD_DEBUG.
Read-only build metadata (examples): NETLIFY, BUILD_ID, CONTEXT (production/deploy-preview/branch-deploy/dev), BRANCH, HEAD, COMMIT_REF, CACHED_COMMIT_REF, PULL_REQUEST, REVIEW_ID, URL, DEPLOY_URL, DEPLOY_PRIME_URL, DEPLOY_ID, SITE_NAME, SITE_ID, ACCOUNT_ID.
Access: Bash $VAR_NAME in build/ignore commands; process.env.VAR_NAME in Node scripts and plugins. Scope must include Builds.
[build]
command = "sed -i \"s|HEADER_PLACEHOLDER|${PROD_API_LOCATION}|g\" netlify.toml && yarn build"
Substitution only reaches [[headers]]/[[redirects]] (read after build); NOT available to build plugins. Alternatively mutate netlifyConfig in a local build plugin.
_redirects (one rule per line) or [[redirects]]. Rules process top-down; first match wins. _redirects/file rules run before netlify.toml.
/home / 301
/my-redirect / 302
/store id=:id /blog/:id 301
/news/* /blog/:splat
/* /index.html 200 # SPA fallback
[[redirects]]
from = "/old-path"
to = "/new-path"
status = 302 # default 301
force = true # default false; shadow an existing URL
query = { id = ":id" }
conditions = { Language = ["en"], Country = ["US"], Role = ["admin"] }
[redirects.headers]
X-From = "Netlify"
! in _redirects or force = true in toml.*) only at the end of a path segment (/jobs/*.html won't work). Can't exclude a path from a splat — order a more specific rule first.id=:id matches URLs with only id and no other params. List optional-param variants most-general-last.Country=au,nz). Country = ISO 3166-1 alpha-2; Language = browser/locale codes, matches the FIRST Accept-Language entry. nf_country/nf_lang cookies override.307 unsupported → use 302._redirects + netlify.toml can fail the deploy if too large — consider Edge Functions./api/* https://api.example.com/:splat 200
/netlify-site/* https://my-other-site.netlify.app/:splat 200
[[redirects]]
from = "/search"
to = "https://api.mysearch.com"
status = 200
force = true
headers = { X-From = "Netlify" }
<base>..netlify.app subdomain. Rewrites into a separate password-protected site are not allowed.netlify.toml only)[[redirects]]
from = "/search"
to = "https://api.mysearch.com"
status = 200
force = true
signed = "API_SIGNATURE_TOKEN_PLACEHOLDER"
Must be in netlify.toml; env var scope must include Runtime; not supported proxying Netlify→Netlify. Netlify sends the JWS as HMAC HS256 in the x-nf-sign header. (This is the one place $VAR-style env injection is allowed.)
/*
X-Frame-Options: DENY
cache-control: max-age=0
cache-control: no-cache # multi-value collapses comma-joined
[[headers]]
for = "/*"
[headers.values]
X-Frame-Options = "DENY"
Basic-Auth = "someuser:somepassword anotheruser:anotherpassword"
cache-control = '''
max-age=0,
no-cache,
no-store'''
Content-Length, Content-Encoding, Location (use redirects), Set-Cookie (may be overridden), Server, Date, Age, Connection, Transfer-Encoding, etc.*.netlify.app (Public Suffix List) — needs a custom domain.Mark a var secret via --secret (CLI), is_secret: true (API), or the UI. Enforced, non-customizable policy:
post processing scope.dev context value is unmasked and exempt.SECRETS_SCAN_SMART_DETECTION_OMIT_VALUES (comma-separated), then redeploy.Sensitive variable policy (public repos only): untrusted deploys (unrecognized authors) default to Require approval; alternatives are Deploy without sensitive variables or Deploy without restrictions. Not available for GitHub Enterprise Server / GitLab self-managed (treated as private).
[build]
ignore = "git diff --quiet $CACHED_COMMIT_REF $COMMIT_REF packages/blog"
0 = no changes, build stops; exit 1 = changed, build continues.package.json deps unavailable. Referenced file paths must start with ./.Node.js variant:
// ignore_build.js — build only non-debug branches
process.exitCode = process.env.BRANCH.includes("debug") ? 0 : 1
[build]
command = "npm run build"
publish = "dist" # varies by framework
[[redirects]]
from = "/*"
to = "/index.html"
status = 200 # required for pushState routing to avoid 404s
Hashed/code-split filenames + atomic deploys can break asset refs (Uncaught SyntaxError: Unexpected token) — disable hashed filenames, use permalinks, or a service worker.
Recommended: set the site's subdirectory as the package directory (keep netlify.toml there), leave base directory at repo root /, declare deps at the subdirectory level.
netlify.toml. Base directory can be set in root-level netlify.toml ([build] base) and overrides the UI./frontend + plugin at /frontend/packages/my-app/plugins → specify /packages/my-app/plugins/....ignore command. CLI: --filter <site>. Netlify caches all node_modules regardless of where deps are declared.[[plugins]]
package = "@netlify/plugin-lighthouse"
[plugins.inputs]
breeds = ["pomeranian"]
[[integrations]] # extensions; install on team first
name = "abc-performance-extension"
[integrations.config]
output_path = "reports/perf.html"
[dev] # Netlify Dev — NOT run in Bash; no `environment` key here
command = "yarn start"
targetPort = 3000 # if command + targetPort both set, framework must be "#custom"
port = 8888
publish = "dist"
[dev.https]
certFile = "cert.pem"
keyFile = "key.pem"
[dev] has no environment property — set local env vars in [context.dev.environment] instead. framework values: #auto (default), #static, #custom.
For Deploy-to-Netlify buttons use [template] / [template.environment].
Post-processing pretty URLs:
[build.processing.html]
pretty_urls = true
<!-- TOML syntax reference: https://toml.io/en/ · Netlify config docs: https://docs.netlify.com/build/configure-builds/file-based-configuration.md -->
<!-- system: agent-context/config/system.md — human-owned, merged by ctx-gen; edit system.md, not this section -->
These are org conventions, not docs facts — merged into the rendered skill by ctx-gen and never generated. Owned by the skills maintainer.
netlify.toml are NOT available to functions or edge
functions at runtime — reading them there returns undefined. Set
runtime vars in the UI or with netlify env:set, not netlify.toml.VITE_, NEXT_PUBLIC_,
PUBLIC_, ...) — they are inlined into the client bundle; --secret
does not protect them.netlify env:list --plain > .env),
keep .env gitignored — never commit it.netlify with PowerShell Get-Command before invoking it; use the
installed .cmd or .ps1 shim when PowerShell does not resolve the bare name.This skill is written to stay usable across GitHub Copilot, Claude Code, and Codex.
$CODEX_HOME/skills/netlify-config and restart Codex after major changes.Preferred MCP Server: None required
netlify-config outside its documented task boundary.Before claiming the netlify-config workflow succeeded:
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
AI-powered adeno-associated virus (AAV) vector design for gene therapy including capsid engineering, promoter selection, and tropism optimization.
日本語の概要は準備中です。原文の説明を表示しています。
Improve the clarity and voice of AI-assisted academic writing (papers, theses, rebuttals) and
日本語の概要は準備中です。原文の説明を表示しています。
12-agent academic paper writing pipeline. 11 modes (full/plan/outline/revision/revision-coach/abstract/lit-review/format-convert/citation-check/disclosure/rebuttal-audit). 6 paper types, 5 citation formats, bilingual abstracts, LaTeX/DOCX-via-Pandoc/PDF output. Style Calibration + Writing Quality Check + Anti-Patterns with IRON RULE markers. Triggers: write paper, academic paper, guide my paper, parse reviews, audit my rebuttal, check my response draft, AI disclosure, 寫論文, 學術論文, 引導我寫論文, 審查意見, 評估回覆, 논문 작성, 초록 작성, 논문 수정, 논문 계획을 도와줘, 심사 의견 반영, 답변서 점검, AI 사용 고지.
日本語の概要は準備中です。原文の説明を表示しています。
Systematic writing framework for philosophy and interdisciplinary academic papers from optimized outline to submission-ready manuscript. Use when users want to: (1) write a paper from a detailed outline, (2) ensure quality control during writing, (3) maintain consistency across chapters, (4) prepare a submission-ready manuscript, or (5) systematically execute a planned paper. Triggered by phrases like 'write the paper from this outline,' 'compose the full manuscript,' 'execute the outline,' or when users have completed strategic planning (academic-paper-strategist skill) and are ready to write. Takes optimized outline as input; outputs complete manuscript with iterative quality checks.
日本語の概要は準備中です。原文の説明を表示しています。
Multi-perspective academic paper review with dynamic reviewer personas. Runs a 5-seat, role-separated review panel (Journal-Fit Reviewer + 3 peer-review roles + Devil's Advocate) with field-specific expertise; role separation is not a claim of independent error processes. Supports full review, re-review (verification), quick assessment, methodology focus, Socratic guided, and calibration modes. Triggers on: review paper, peer review, manuscript review, referee report, review my paper, critique paper, simulate review, editorial review, calibrate reviewer, reviewer calibration, measure reviewer accuracy, 審查論文, 論文審查, 模擬審查, 同儕審查, 幫我審這篇, 以審查人角度評估, 審查者校準, 논문 심사, 동료 심사, 모의 심사, 심사자 관점에서 평가, 심사자 보정.
日本語の概要は準備中です。原文の説明を表示しています。
Systematic strategic planning framework for philosophy and interdisciplinary academic papers targeting preprint platforms (PhilArchive, arXiv, PhilSci-Archive). Use when users want to: (1) plan a paper on a specific topic, (2) identify research gaps and assess originality, (3) develop optimized paper outlines, (4) prepare for preprint submission, or (5) understand platform requirements and writing standards. Triggered by phrases like 'plan a paper on,' 'help me design a paper about,' 'identify research gaps in,' 'is this idea original,' or when users need structured research planning. The skill guides through three phases: Platform Analysis (identifying target venue and studying sample papers), Theoretical Framework (AI-driven literature search and gap identification), and Outline Optimization (structured design with reviewer-perspective self-assessment). Each phase includes quality evaluation standards and validation checkpoints.
日本語の概要は準備中です。原文の説明を表示しています。