theme-hr-portal
HR / workforce application palette: variants, pages, entities, and flows for building a varied HR app. Use when theme_preset is hr_portal.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
HR / workforce application palette: variants, pages, entities, and flows for building a varied HR app. Use when theme_preset is hr_portal.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
This skill should be used when the user asks to query Logfire logs, inspect Logfire traces, fetch SQL trace data, get spans for a trace, inspect LLM spans, inspect tool calls, or check token usage from Logfire. Also use it to triage an ARENA spawn run — diagnose why a run failed, timed out, or took too long, get per-stage turns/cost/tokens, or compare a prod trace to a local one.
This skill should be used when the user asks to spawn or generate an ARENA lab from a spec, run a spec through the pipeline, run several specs in parallel, bring up / start up a generated lab's Docker container for inspection, or find and run a finished run's image.
Add a single supporting (non-vulnerable) feature to a working ARENA skeleton app — a catalog, detail page, profile, order history, cart, etc. Triggered when the prompt contains "add-supporting-feature", "ARENA supporting feature", or a Feature block whose vuln is "none". Builds a real, reachable, working page wired into the shared nav. No vulnerability, no solution writeup.
Add a single vulnerable feature to a working ARENA skeleton app. Triggered when the prompt contains "add-vuln-feature", "ARENA feature writer", or a Feature block. Implements the feature and writes a human-readable solution writeup. A usability judge then browser-drives the feature and an exploit verifier independently reproduces the vulnerability against the running lab.
Styling for the build-capable SPA stacks (react-express, vue-fastapi): Tailwind CSS (+ shadcn/ui on React) themed per-run through CSS-variable design tokens. Invoke on these stacks to give each lab a distinctive, coherent, believable-product look that is different every run.
Styling for the server-rendered / no-build stacks (php, vanilla-flask): a token-driven CSS sheet themed per-run by editing one `:root` variable block. Invoke on these stacks to give each lab a distinctive, coherent, believable look — different every run — without a build step.
| name | theme-hr_portal |
| description | HR / workforce application palette: variants, pages, entities, and flows for building a varied HR app. Use when theme_preset is hr_portal. |
Internal apps where employees manage their own info and managers/HR act on others. The org hierarchy (employee → manager → HR/admin) and ownership of payroll/PII are where privilege and access exploits live.
Honor any hint in theme_free_text / custom_prompt; otherwise pick one.
Most exploits run as user.
Size the subset to endpoint_count. Candidates: dashboard/overview, my profile,
payslips, tax documents, PTO request & balance, my documents, org directory,
team view (manager), approvals (manager), profile/settings, notifications,
candidates / applications / interview notes (ATS), benefits enrollment / plans
(payroll & benefits), review cycle / goals / feedback (performance), timesheets /
clock in-out / shifts (time & attendance), admin employees, admin payroll.
Recruiting / ATS (variant):
Payroll & benefits (variant):
Performance reviews (variant):
Time & attendance (variant):
Seed several employees under ≥2 managers so cross-report access is testable.
Endpoints are a shared surface, not owned 1:1 by a feature (a single feature often spans several, and an endpoint can back multiple features). Pick a coherent subset alongside the pages above. Grouped by area:
GET /api/employees/{id}, PUT /api/employees/{id}, GET /api/directoryGET /api/employees/{id}/payslips, GET /api/payslips/{id}, GET /api/payslips/{id}/downloadGET /api/pto, POST /api/pto, POST /api/pto/{id}/approveGET /api/documents, GET /api/documents/{id}/download?file=GET/POST /api/job-reqs, GET/POST /api/candidates, GET/POST /api/applications, POST /api/applications/{id}/stage, GET/POST /api/interviewsGET /api/benefit-plans, GET/POST /api/enrollments, GET /api/tax-forms/{id}GET/POST /api/goals, GET/POST /api/reviews, GET/POST /api/feedbackPOST /api/clock, GET/POST /api/timesheets, POST /api/timesheets/{id}/approve, GET/POST /api/shifts/api/admin/employees, /api/admin/payroll, POST /api/admin/employees/{id}/roleGET /api/employees/{id}/payslips, /api/employees/{id} salary — read another employee's payroll/PII.file= parameter.Pick ONE variant and a coherent subset — an ATS and a payroll app diverge
sharply. Size to endpoint_count; let theme_free_text / custom_prompt bias
the variant and naming. Vary departments, hierarchy depth, and document types so
two HR labs feel like different companies.