theme-education-lms
Education / LMS application palette: variants, pages, entities, and flows for building a varied learning app. Use when theme_preset is education_lms.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Education / LMS application palette: variants, pages, entities, and flows for building a varied learning app. Use when theme_preset is education_lms.
用 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-education_lms |
| description | Education / LMS application palette: variants, pages, entities, and flows for building a varied learning app. Use when theme_preset is education_lms. |
Apps where students submit work and instructors grade it. The org hierarchy (student → instructor → admin), ownership of grades/submissions, and deadline rules are exactly where access and logic exploits live.
Honor any hint in theme_free_text / custom_prompt; otherwise pick one.
Most exploits run as student.
Size the subset to endpoint_count. Candidates: dashboard, course catalog,
course/class home, module/lesson viewer, assignment detail, submit work, my
grades, grade detail, feedback thread, roster (instructor), grading queue
(instructor), gradebook (instructor), quiz/attempt, certificate, transcript,
profile/settings, notifications, admin courses, admin enrollment.
Quiz / certification (variant):
Marketplace (variant):
Seed several students under ≥2 courses/instructors so cross-student 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/courses, GET /api/courses/{id}, POST /api/courses/{id}/enroll, GET /api/courses/{id}/rosterGET /api/assignments/{id}, POST /api/assignments, GET /api/courses/{id}/assignmentsPOST /api/assignments/{id}/submissions, GET /api/submissions/{id}, GET /api/submissions/{id}/download?file=GET /api/grades/{id}, POST /api/submissions/{id}/grade, GET /api/courses/{id}/gradebookGET /api/quizzes/{id}, POST /api/quizzes/{id}/attempts, POST /api/attempts/{id}/submitGET /api/certificates/{id}, POST /api/courses/{id}/purchaseGET /api/admin/courses, POST /api/admin/enrollments, POST /api/admin/users/{id}/roleGET /api/submissions/{id}, /api/grades/{id} — read a classmate's submission or grade.submitted_at), exceed quiz max_attempts, change max_points, self-grade, regrade abuse.file= parameter.Pick ONE variant and a coherent subset — a quiz/certification app and a
gradebook diverge sharply. Size to endpoint_count; let theme_free_text /
custom_prompt bias the variant and naming. Vary subjects, term structure, and
grading scales so two LMS labs feel like different institutions.