MCPInstall

ln-773-cors-configurator

Configures CORS policy for development and production environments. Use when setting up cross-origin access for APIs.

Installs
386
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-773-cors-configurator
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads ln-773-cors-configurator automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

ln-773-cors-configurator

Type: L3 Worker Category: 7XX Project Bootstrap

Configures Cross-Origin Resource Sharing (CORS) policy with security-first approach.


Overview

AspectDetails
InputContext Store from ln-770
OutputCORS configuration with environment-specific policies
Stacks.NET (ASP.NET Core CORS), Python (FastAPI CORSMiddleware)

Phase 1: Receive Context

Accept Context Store from coordinator.

Required Context:

  • STACK: .NET or Python
  • PROJECT_ROOT: Project directory path
  • ENVIRONMENT: Development or Production

Idempotency Check:

  • .NET: Grep for AddCors or UseCors
  • Python: Grep for CORSMiddleware
  • If found: Return { "status": "skipped" }

Phase 2: Analyze Project Structure

Determine frontend configuration.

Detection Steps:

  1. Check for frontend in same repository (/frontend, /client, /web)
  2. Read .env or appsettings.json for CORS_ORIGINS
  3. Identify common frontend ports (3000, 5173, 4200)

Detected Frontend Origins:

FrameworkDefault PortOrigin
React (CRA)3000http://localhost:3000
Vite5173http://localhost:5173
Angular4200http://localhost:4200
Next.js3000http://localhost:3000

Phase 3: Decision Points

Q1: Allowed Origins

EnvironmentStrategy
DevelopmentAllow localhost origins (configurable)
ProductionExplicit origins from environment variables only

Security Warning: Never use * (wildcard) with credentials.

Q2: Allowed Methods

MethodDefaultNotes
GET✓ YesRead operations
POST✓ YesCreate operations
PUT✓ YesUpdate operations
DELETE✓ YesDelete operations
PATCHOptionalPartial updates
OPTIONS✓ YesPreflight requests (automatic)

Q3: Credentials Support

ScenarioAllowCredentialsNotes
Cookie-based auth✓ YesRequired for cookies
JWT in header✗ NoNot needed
OAuth2DependsCheck documentation

Warning: AllowCredentials = true prohibits * origin.

Q4: Preflight Cache Duration

EnvironmentMaxAgeRationale
Development0Immediate config changes
Production86400 (24h)Reduce preflight requests

Phase 4: Generate Configuration

.NET Output Files

FilePurpose
Extensions/CorsExtensions.csCORS service registration
appsettings.json (update)Origins configuration
appsettings.Development.json (update)Dev origins

Generation Process:

  1. Use MCP ref for current ASP.NET Core CORS API
  2. Generate CorsExtensions with:
    • Development policy (permissive)
    • Production policy (restrictive)
    • Environment-based policy selection
  3. Update appsettings with CORS:Origins

Registration Code:

builder.Services.AddCorsPolicy(builder.Configuration);
// ...
app.UseCors(builder.Environment.IsDevelopment() ? "Development" : "Production");

Python Output Files

FilePurpose
middleware/cors_config.pyCORS middleware configuration
.env (update)CORS_ORIGINS variable

Generation Process:

  1. Use MCP ref for FastAPI CORSMiddleware
  2. Generate cors_config.py with:
    • Origin parsing from environment
    • Method and header configuration
    • Credentials handling
  3. Update .env with CORS_ORIGINS

Registration Code:

from middleware.cors_config import configure_cors
configure_cors(app)

Phase 5: Validate

Validation Steps:

  1. Syntax check:

    • .NET: dotnet build --no-restore
    • Python: python -m py_compile middleware/cors_config.py
  2. CORS test:

    # Test preflight request
    curl -X OPTIONS http://localhost:5000/api/test \
      -H "Origin: http://localhost:3000" \
      -H "Access-Control-Request-Method: POST" \
      -v
    
  3. Verify headers:

    • Access-Control-Allow-Origin: Should match request origin
    • Access-Control-Allow-Methods: Should list allowed methods
    • Access-Control-Allow-Credentials: true (if enabled)
    • Access-Control-Max-Age: Cache duration

Security Checklist

Before completing, verify:

  • No wildcard * origin in production
  • Explicit allowed methods (not AllowAnyMethod in prod)
  • Credentials only if needed
  • Origins from environment variables in production
  • Preflight caching enabled in production

Return to Coordinator

{
  "status": "success",
  "files_created": [
    "Extensions/CorsExtensions.cs"
  ],
  "packages_added": [],
  "registration_code": "builder.Services.AddCorsPolicy(configuration);",
  "message": "Configured CORS with Development and Production policies"
}

Reference Links


Critical Rules

  • Never use wildcard * origin with credentials — security violation per CORS spec
  • Production origins from environment variables only — no hardcoded URLs in code
  • Separate Development and Production policies — permissive locally, restrictive in production
  • Idempotent — if AddCors/UseCors or CORSMiddleware exists, return status: "skipped"
  • Enable preflight caching in Production — MaxAge 86400 (24h) to reduce OPTIONS requests

Definition of Done

  • Context Store received (stack, project root, environment)
  • Frontend origins detected (port/framework auto-detection)
  • User decisions collected (origins, methods, credentials, cache duration)
  • CORS configuration generated with environment-specific policies
  • Security checklist verified (no wildcard + credentials, explicit methods, env-based origins)
  • Syntax validated (dotnet build or py_compile)
  • Structured JSON response returned to ln-770 coordinator

Version: 2.0.0 Last Updated: 2026-01-10

FAQ

What does the ln-773-cors-configurator skill do?

Configures CORS policy for development and production environments. Use when setting up cross-origin access for APIs.

How do I install ln-773-cors-configurator?

Run npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-773-cors-configurator in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/ln-773-cors-configurator/ (personal) or .claude/skills/ln-773-cors-configurator/ (project).

Which AI agents can use ln-773-cors-configurator?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is ln-773-cors-configurator safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains ln-773-cors-configurator?

It is published by levnikolaevich in levnikolaevich/claude-code-skills. It has 386 recorded installs.

More from levnikolaevich/claude-code-skills

View all →

ln-100-documents-pipeline

levnikolaevich/claude-code-skills

Creates complete project documentation system (project docs, reference, tasks, tests). Use when bootstrapping docs from scratch or regenerating all.

Docs & Writing479 installs

ln-620-codebase-auditor

levnikolaevich/claude-code-skills

Open the skill to read its SKILL.md instructions.

ln-775-api-docs-generator

levnikolaevich/claude-code-skills

Configures Swagger/OpenAPI documentation for backend APIs. Use when adding interactive API docs to a project.

Backend & APIs432 installs

ln-624-code-quality-auditor

levnikolaevich/claude-code-skills

Checks cyclomatic complexity, nesting, long methods, god classes, O(n2), N+1 queries, constants management. Use when auditing code quality.

413 installs

ln-782-test-runner

levnikolaevich/claude-code-skills

Executes all test suites and reports results with coverage. Use when verifying that test infrastructure works after bootstrap.

Testing & QA412 installs

ln-634-test-coverage-auditor

levnikolaevich/claude-code-skills

Open the skill to read its SKILL.md instructions.

Testing & QA401 installs

Popular other skills

View category →

hyperframes-cli

heygen-com/hyperframes

The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.

1.3M installs

triage

mattpocock/skills

Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.

1M installs

ask-matt

mattpocock/skills

Ask which skill or flow fits your situation. A router over the skills in this repo.

778.4K installs

to-questionnaire

mattpocock/skills

Turn a decision you can't fully answer into a questionnaire for someone else to fill in.

508.9K installs

wait-what

mattpocock/skills

Stop. That last message did not land: re-pitch it.

459.7K installs

loop-me

mattpocock/skills

Grill me about specs for the workflows I want to build, within this workspace.

447.9K installs