static-export
Use when the user works on demo personas, localStorage persistence, or GitHub Pages static-export behaviour.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when the user works on demo personas, localStorage persistence, or GitHub Pages static-export behaviour.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when the user adds or modifies a Next.js API route under ui/src/app/api/.
Use when the user works on EHDS articles, DSP protocol, DCP credentials, ODRL policies, or the audit trail.
Use when the user works on the force-directed graph explorer, layer colours, persona views, or node filtering.
Use when the user works on authentication, Keycloak configuration, OIDC, roles, or JWT claims.
Use when the user adds nodes, relationships, constraints, or indexes to the Neo4j knowledge graph, or edits any *.cypher file.
Use when the user adds E2E tests, Playwright specs, or journey coverage.
| name | static-export |
| description | Use when the user works on demo personas, localStorage persistence, or GitHub Pages static-export behaviour. |
Sources: ui/src/lib/use-demo-persona.ts, ui/src/lib/auth.ts (DEMO_PERSONAS),
.claude/rules/code-style.md (static export guards), CLAUDE.md gotcha #3.
IS_STATIC = process.env.NEXT_PUBLIC_STATIC_EXPORT === "true" as a module-top
constant; in static mode fetchApi() serves /mock/*.json for GET and a
synthetic { ok: true } for mutations.useDemoPersona() unconditionally (hooks rule).ui/src/components/Navigation.tsx nav groups.patient_profile_patient1.json for ?patientId=P1).ui/__tests__/e2e/journeys/19-static-github-pages.spec.ts
via the setPersona(page, username) localStorage helper — never mock
next-auth/react in E2E (.claude/rules/testing.md).Page works in BOTH modes: live (API route) and static (mock fixture). If it only works in one, the task is not done.