๐Ÿ“ฆ

oil-ui

v0.15.5 ์ฝ˜ํ…์ธ  ๋ฆฌ๋น„์ „ r2 ๋†’์€ ์œ„ํ—˜ โšก ์Šคํฌ๋ฆฝํŠธ ํฌํ•จโš™๏ธ ์™ธ๋ถ€ ๋ช…๋ น์–ด๐ŸŒ ๋„คํŠธ์›Œํฌ ์ ‘๊ทผ๐Ÿ“ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ ‘๊ทผ๐Ÿ”‘ ํ™˜๊ฒฝ ๋ณ€์ˆ˜

Explore and Refine Interface Designs

Interface projects often need clear visual direction before implementation. Oil UI guides design exploration, preview comparison, and evidence-based refinement.

์ง€์›: Claude Codex Code(CC)
Maintain this Skill? Claim it โš ๏ธ 38 ๋‚˜์จ

๋‚ด ์—์ด์ „ํŠธ๋กœ ์„ค์น˜

์ด ์š”์ฒญ์„ ์—์ด์ „ํŠธ์— ๋ณต์‚ฌํ•˜์„ธ์š”. ๊ณต์‹ Skill ํŽ˜์ด์ง€์™€ ๋งค๋‹ˆํŽ˜์ŠคํŠธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์—์ด์ „ํŠธ ์š”์ฒญ
Review the Skillstore skill "oil-ui" from https://skillstore.io/skills/oil-oil-oil-ui.md and its manifest at https://skillstore.io/api/skills/oil-oil-oil-ui/manifest. Verify the artifact. Stop and obtain explicit user consent before installing or changing files.

์—์ด์ „ํŠธ๋Š” ๊ณ„์†ํ•ด์„œ ๊ณ„ํš์„ ํ‘œ์‹œํ•˜๊ณ  ๋ณด์•ˆ ์ •์ฑ…์—์„œ ์š”๊ตฌํ•˜๋Š” ํ™•์ธ์„ ์š”์ฒญํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์—์ด์ „ํŠธ๊ฐ€ ์ฝ๊ธฐ ์‰ฌ์šด ๋ฆฌ์†Œ์Šค

AI ์—์ด์ „ํŠธ, ํฌ๋กค๋Ÿฌ, ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ „์ฒด ํŽ˜์ด์ง€ ๋Œ€์‹  ์ •๋ฆฌ๋œ ์ปจํ…์ŠคํŠธ๋งŒ ํ•„์š”ํ•  ๋•Œ ์ด ๋งํฌ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

ํ…Œ์ŠคํŠธํ•ด ๋ณด๊ธฐ

"oil-ui" ์‚ฌ์šฉ ์ค‘์ž…๋‹ˆ๋‹ค. Compare three visual directions for a course booking interface.

์˜ˆ์ƒ ๊ฒฐ๊ณผ:

  • A comparison page with three distinct compositions, documented palettes, typography choices, and desktop and mobile views.
  • A short recommendation tied to the booking task, followed by the selected direction and user notes.

"oil-ui" ์‚ฌ์šฉ ์ค‘์ž…๋‹ˆ๋‹ค. Review an existing interface without changing files.

์˜ˆ์ƒ ๊ฒฐ๊ณผ:

  • The primary action competes with secondary navigation. Reduce secondary emphasis and align the action with the current task.
  • The mobile heading wraps poorly. Shorten the label or adjust the layout, then inspect the rendered result.
  • Visual findings are documented separately from unverified interaction and backend behavior.

"oil-ui" ์‚ฌ์šฉ ์ค‘์ž…๋‹ˆ๋‹ค. Capture evidence for an interactive prototype.

์˜ˆ์ƒ ๊ฒฐ๊ณผ:

Desktop and mobile screenshots, a text-masked comparison, motion frames, and a report listing console errors, overflow, or failed images.

๋ณด์•ˆ ๊ฐ์‚ฌ

๋†’์€ ์œ„ํ—˜

Most alerts are false positives from JavaScript syntax, minified Alpine, image encoding, Chinese documentation, and defensive tests. Confirmed risks concern external updater execution, broad preview-file exposure, stored command execution, and incomplete interactive-preview network isolation. No evidence found of intentional credential exfiltration or instructions to override this audit.

24
์Šค์บ”๋œ ํŒŒ์ผ
3,794
๋ถ„์„๋œ ์ค„ ์ˆ˜
2
๊ฒ€ํ†  ํ•ญ๋ชฉ
0
์˜คํƒ ๋ฌด์‹œ๋จ

ํ™•์ธ๋œ ๋ณด์•ˆ ์šฐ๋ ค ์‚ฌํ•ญ (2)

๋†’์Œ
Stored Manifest Commands Can Trigger Agent Execution
The reopening workflow tells the agent to execute serve.command from a saved manifest. A modified manifest can substitute arbitrary commands without renewed approval.
The generator accepts any nonempty command, and the reopening instruction executes it. Reusing previously authored commands helps, but saved configuration can change.
์ค‘๊ฐ„
Interactive Preview Navigation Bypasses Claimed Network Isolation
Interactive previews allow scripts and frame navigation. A script can navigate its frame to an external URL despite connect restrictions, exposing preview data in the URL.
The supplied CSP controls resources and forms, not frame navigation. The sandbox permits scripts, so network isolation is incomplete; no exploit was executed.
๊ธฐ๋Šฅ ๊ฒ€ํ†  ํ•ญ๋ชฉ (2)

์ด ์Šคํ‚ฌ์— ๋Œ€ํ•ด ์˜ˆ์ƒ๋  ์ˆ˜ ์žˆ๋Š” ์‹ค์ œ ๋กœ์ปฌ ๊ธฐ๋Šฅ์ด๋ฏ€๋กœ ๊ฒ€ํ† ๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ, ํ™•์ธ๋œ ์•…์˜์  ๋™์ž‘์œผ๋กœ๋Š” ์ง‘๊ณ„๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋†’์Œ
Python subprocess.run
result = subprocess.run([npx, "-y", CLI, "update", name, "--path", str(ROOT), "--json"], env=env,
Explicit --update executes an external npx CLI with user privileges and Oil authorization. Commit pinning and consent reduce, but do not eliminate, supply-chain risk.
์ค‘๊ฐ„
Synchronous file operations
res.end(readFileSync(local));
The server returns any regular file under its preview root without a public-asset allowlist. Page scripts can read unrelated private files within that root.

์œ„ํ—˜ ์š”์ธ

โšก ์Šคํฌ๋ฆฝํŠธ ํฌํ•จ (5)
โš™๏ธ ์™ธ๋ถ€ ๋ช…๋ น์–ด (50)
assets/style-explorer.html:144 assets/style-explorer.html:145 assets/style-explorer.html:147 assets/style-explorer.html:154 assets/style-explorer.html:189 assets/style-explorer.html:195-218 assets/style-explorer.html:218 assets/style-explorer.html:230-232 assets/style-explorer.html:232-233 assets/style-explorer.html:233-254 assets/style-explorer.html:254-270 assets/style-explorer.html:270 assets/style-explorer.html:272-286 assets/style-explorer.html:286-298 assets/style-explorer.html:298-308 assets/style-explorer.html:308-314 assets/style-explorer.html:314-324 assets/style-explorer.html:324-329 assets/style-explorer.html:329 assets/style-explorer.html:143 assets/style-explorer.html:174 assets/style-explorer.html:192 assets/style-explorer.html:193 assets/style-explorer.html:196 assets/style-explorer.html:197 assets/style-explorer.html:220 assets/style-explorer.html:237 assets/style-explorer.html:240 assets/style-explorer.html:248 assets/style-explorer.html:249 assets/style-explorer.html:252 assets/style-explorer.html:256 assets/style-explorer.html:257 assets/style-explorer.html:258 assets/style-explorer.html:260 assets/style-explorer.html:264 assets/style-explorer.html:275 assets/style-explorer.html:280 assets/style-explorer.html:282 assets/style-explorer.html:283 assets/style-explorer.html:285 assets/style-explorer.html:286 assets/style-explorer.html:287 assets/style-explorer.html:298 assets/style-explorer.html:308 assets/style-explorer.html:314 assets/style-explorer.html:315 assets/style-explorer.html:316 assets/style-explorer.html:321 assets/style-explorer.html:322
๐ŸŒ ๋„คํŠธ์›Œํฌ ์ ‘๊ทผ (50)
๐Ÿ“ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ ‘๊ทผ (44)
๐Ÿ”‘ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ (34)
์ด ๋ณด๊ณ ์„œ ๊ณต์œ  ๋ฐ ์ธ์šฉ

๋ฒ„์ „์ด ์ง€์ •๋œ ํ‰๊ฐ€ ๋ณด๊ณ ์„œ, ์ค‘๋ฆฝ ๋ฐฐ์ง€, ์ž„๋ฒ ๋“œ ์นด๋“œ ๋ฐ ์ธ์šฉ์„ ๊ณต์œ ํ•˜์„ธ์š”. Skillstore๋Š” ๊ทผ๊ฑฐ๋ฅผ ๋ณด๊ณ ํ•˜์ง€๋งŒ ์ด Skill์˜ ์•ˆ์ „ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฒ„์ „๋ณ„ ๋ณด๊ณ ์„œ ์—ด๊ธฐ
๋ณด์•ˆ ํ‰๊ฐ€

๋ณด๊ณ ์„œ ๋งํฌ ๋ณต์‚ฌ

https://skillstore.io/skills/oil-oil-oil-ui/audits/2?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_report

Markdown ๋ฐฐ์ง€

[![Skillstore security assessment](https://skillstore.io/badges/skills/oil-oil-oil-ui/security.svg)](https://skillstore.io/skills/oil-oil-oil-ui?utm_source=security_passport_badge)

HTML ๋ฐฐ์ง€

<a href="https://skillstore.io/skills/oil-oil-oil-ui?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/oil-oil-oil-ui/security.svg" alt="Skillstore security assessment" loading="lazy"></a>

์ž„๋ฒ ๋“œ ์นด๋“œ

<iframe src="https://skillstore.io/embed/skills/oil-oil-oil-ui.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>
ํ•™์ˆ  ์ธ์šฉ (APA ยท BibTeX ยท CFF)

APA ์ธ์šฉ

oil-oil. (2026). oil-ui security audit report (audit version 2) [Author version 0.15.5]. Skillstore. https://skillstore.io/skills/oil-oil-oil-ui/audits/2

BibTeX ์ธ์šฉ

@techreport{oil-oil-oil-oil-oil-ui-2026, author = {oil-oil}, title = {oil-ui security audit report (audit version 2)}, institution = {Skillstore}, year = {2026}, number = {2}, url = {https://skillstore.io/skills/oil-oil-oil-ui/audits/2}, note = {Author version 0.15.5} }

CITATION.cff

cff-version: 1.2.0 message: "If you use this Skill, cite its author and this versioned security audit report." title: "oil-ui security audit report (audit version 2)" version: "0.15.5" type: report authors: - name: "oil-oil" date-released: "2026-10-05" url: "https://skillstore.io/skills/oil-oil-oil-ui/audits/2" identifiers: - type: other value: "skillstore:oil-oil-oil-ui:audit:2" description: "Skillstore immutable audit report identifier"

Skillstore ์ ์ˆ˜

์ด ์ ์ˆ˜์˜ ์ด์œ  ์ฆ๊ฑฐ ์‹ ๋ขฐ๋„: ์ค‘๊ฐ„
95
์•„ํ‚คํ…์ฒ˜
100
์œ ์ง€๋ณด์ˆ˜์„ฑ
87
์ฝ˜ํ…์ธ 
65
์ปค๋ฎค๋‹ˆํ‹ฐ
91
์‚ฌ์–‘ ์ค€์ˆ˜

๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฒƒ

Choose a Product Direction

Compare distinct interface directions before selecting typography, imagery, and composition for implementation.

Refine an Existing Interface

Improve hierarchy and spacing while preserving established brand assets, components, and project conventions.

Review a Proposed Experience

Inspect desktop and mobile evidence, record visible problems, and prioritize changes without modifying project files.

์ด ํ”„๋กฌํ”„ํŠธ๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”

Review One Screen
Review this screen for hierarchy, spacing, typography, and readability. Keep files unchanged and distinguish visible defects from style preferences.
Compare Design Directions
Explore three distinct directions for this product. Keep the audience, content, and main action consistent, then create a comparison page.
Recreate a Reference
Recreate this reference at its documented viewport. Add a mobile layout and label assumptions where the reference does not show behavior.
Refine and Verify a Workflow
Refine this workflow using existing components. Capture key states and motion evidence, request an independent visual review, and report remaining gaps.

๋ชจ๋ฒ” ์‚ฌ๋ก€

  • Define the audience, main action, actual content, target viewport, and deliverable before exploring directions.
  • Inspect actual-size desktop and mobile renders; record unverified behavior and keep screenshots tied to the current version.
  • Use trusted candidates in a dedicated preview directory, approve saved commands, and authorize updates separately.

ํ”ผํ•˜๊ธฐ

  • Treating a static screenshot or scaled preview as proof of working interaction or mobile reflow.
  • Executing stored manifest commands or external updates without reviewing their source and scope.
  • Previewing untrusted scripts beside private files or claiming interactive previews cannot make external requests.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

Which assistants can use this skill?
The workflow supports Claude, Codex, and Claude Code. Optional generation and capture depend on the host environment.
Does it produce working interfaces?
It can guide implementation and prototypes, but business logic and comprehensive code correctness remain outside its stated scope.
Can comparison pages work offline?
Embedded static HTML and image candidates are portable. Live candidates need a local server; interactive scripts do not guarantee complete network isolation.
What does screenshot capture require?
The bundled tool needs Node.js 22+ and Chrome, Chromium, or Edge. Video assembly additionally needs ffmpeg.
Does it update automatically?
Default checks only read public version information. Explicit --update approval runs a pinned external CLI that can replace the installation.
Can it review an interface without editing files?
Yes. Review-only requests remain read-only, and independent visual review requires an isolated reviewer that can inspect images.

๊ฐœ๋ฐœ์ž ์„ธ๋ถ€ ์ •๋ณด

์ž‘์„ฑ์ž

oil-oil

๋ผ์ด์„ ์Šค

MIT

์ž‘์„ฑ์ž ๋ฒ„์ „

v0.15.5

Skillstore ๋ฆฌ๋น„์ „

r2

์ฐธ์กฐ

47f59dc55cb81458b6e112128ee16cf32ef77f31

์œ ์ง€๋ณด์ˆ˜ ์ตœ์‹ ์„ฑ

2026. 10. 6.

์‚ฌ์šฉ๋Ÿ‰

10 ๋‹ค์šด๋กœ๋“œ ยท 0 ์กฐํšŒ

ํŒŒ์ผ ๊ตฌ์กฐ

๐Ÿ“„ .gitignore

๐Ÿ“ assets/

๐Ÿ“ readme/

๐Ÿ“„ hero.webp

๐Ÿ“„ proof-mona-lisa.webp

๐Ÿ“„ proof-van-gogh.webp

๐Ÿ“„ showcase.webp

๐Ÿ“„ style-explorer.html

๐Ÿ“ vendor/

๐Ÿ“„ alpine.min.js

๐Ÿ“„ LICENSE

๐Ÿ“„ README.en.md

๐Ÿ“„ README.md

๐Ÿ“ references/

๐Ÿ“„ design-direction.md

๐Ÿ“„ imagery.md

๐Ÿ“„ layout-and-viewport.md

๐Ÿ“„ media.md

๐Ÿ“„ motion.md

๐Ÿ“„ style-explorer.md

๐Ÿ“„ tools.md

๐Ÿ“„ visual-language.md

๐Ÿ“„ visual-review.md

๐Ÿ“ scripts/

๐Ÿ“„ build_explorer.py

๐Ÿ“„ check_update.py

๐Ÿ“„ check_update.sh

๐Ÿ“„ recommend_once.py

๐Ÿ“„ shoot.mjs

๐Ÿ“„ SKILL.md

๐Ÿ“ tests/

๐Ÿ“„ test_build_explorer.py

๐Ÿ“„ test_check_update.py

๐Ÿ“„ test_shoot.py